@fromsvenwithlove/devops-issues-cli
Version:
AI-powered CLI tool and library for Azure DevOps work item management with Claude agents
207 lines • 5.87 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Azure DevOps Work Item Hierarchy Schema",
"description": "Schema for hierarchical work item creation with nested children structure",
"required": ["metadata", "workItems"],
"properties": {
"metadata": {
"type": "object",
"description": "Global configuration and defaults for all work items",
"required": ["parentId"],
"properties": {
"parentId": {
"type": ["string", "integer"],
"description": "Required ID of existing work item to link as parent for the entire hierarchy"
},
"defaults": {
"type": "object",
"description": "Default field values inherited by all work items",
"properties": {
"assignedTo": {
"type": "string",
"description": "Default assignee (email address, display name, or display name with email)"
},
"tags": {
"type": "string",
"description": "Default tags (semicolon separated)"
}
},
"additionalProperties": true
}
},
"additionalProperties": false
},
"workItems": {
"type": "array",
"description": "Array of top-level work items with optional nested children",
"minItems": 1,
"items": {
"$ref": "#/definitions/workItem"
}
}
},
"definitions": {
"workItem": {
"type": "object",
"description": "A work item with its properties and optional children",
"required": ["type", "title"],
"properties": {
"type": {
"type": "string",
"enum": ["Epic", "Feature", "User Story", "Task", "Bug"],
"description": "Azure DevOps work item type"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Work item title"
},
"description": {
"type": "string",
"description": "Work item description"
},
"acceptanceCriteria": {
"type": "string",
"description": "Acceptance criteria (typically for User Stories)"
},
"reproSteps": {
"type": "string",
"description": "Reproduction steps (typically for Bugs)"
},
"textFormat": {
"type": "string",
"enum": ["text", "html"],
"default": "text",
"description": "Format for text fields (description, acceptanceCriteria, reproSteps). 'text' for plain text, 'html' for HTML markup"
},
"fields": {
"type": "object",
"description": "Additional Azure DevOps fields",
"properties": {
"assignedTo": {
"type": "string",
"description": "Assigned user (email address, display name, or display name with email)"
},
"severity": {
"type": "string",
"enum": ["Critical", "High", "Medium", "Low"],
"description": "Severity level (typically for Bugs)"
},
"tags": {
"type": "string",
"description": "Work item tags (semicolon separated)"
},
"state": {
"type": "string",
"enum": ["New", "Active", "Resolved", "Closed", "Removed"],
"description": "Work item state"
}
},
"additionalProperties": true
},
"children": {
"type": "array",
"description": "Child work items nested under this item",
"items": {
"$ref": "#/definitions/workItem"
}
}
},
"additionalProperties": false,
"allOf": [
{
"if": {
"properties": {
"type": { "const": "Epic" }
}
},
"then": {
"properties": {
"children": {
"items": {
"properties": {
"type": { "enum": ["Feature", "User Story"] }
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "Feature" }
}
},
"then": {
"properties": {
"children": {
"items": {
"properties": {
"type": { "enum": ["User Story"] }
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "User Story" }
}
},
"then": {
"properties": {
"children": {
"items": {
"properties": {
"type": { "enum": ["Task", "Bug"] }
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "Task" }
}
},
"then": {
"properties": {
"children": {
"items": {
"properties": {
"type": { "enum": ["Task"] }
}
}
}
}
}
},
{
"if": {
"properties": {
"type": { "const": "Bug" }
}
},
"then": {
"properties": {
"children": {
"items": {
"properties": {
"type": { "enum": ["Task"] }
}
}
}
}
}
}
]
}
}
}