changedInput schema / properties / request / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "continuationToken": {
- "type": "string"
- },
- "step": {
- "const": "read",
- "type": "string"
- },
- "ticketId": {
- "exclusiveMinimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "step",
- "ticketId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "language": {
- "enum": [
- "fr",
- "en"
- ],
- "type": "string"
- },
- "step": {
- "const": "prepare",
- "type": "string"
- },
- "tasks": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "description": {
- "description": "Final task description in Azure HTML: scope, completion criteria, dependencies and estimate assumptions",
- "maxLength": 30000,
- "minLength": 1,
- "type": "string"
- },
- "estimatedHours": {
- "description": "Required effort estimate in hours, not a promised completion date",
- "exclusiveMinimum": 0,
- "maximum": 100000,
- "type": "number"
- },
- "title": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "title",
- "description",
- "estimatedHours"
- ],
- "type": "object"
- },
- "maxItems": 50,
- "minItems": 1,
- "type": "array"
- },
- "ticketId": {
- "exclusiveMinimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "step",
- "ticketId",
- "language",
- "tasks"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "draftId": {
- "format": "uuid",
- "type": "string"
- },
- "step": {
- "const": "view_draft",
- "type": "string"
- }
- },
- "required": [
- "step",
- "draftId"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "draftId": {
- "$ref": "#/properties/request/anyOf/2/properties/draftId"
- },
- "step": {
- "const": "publish",
- "type": "string"
- }
- },
- "required": [
- "step",
- "draftId"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "query": {
+ "description": "Azure: WIQL (supports @project, @Me). Jira: JQL, e.g. \"assignee = currentUser() AND statusCategory != Done\". GitHub: issue search, e.g. \"is:open assignee:@me label:bug\" (repo:GITHUB_REPO is added when no repo/org is named)",
+ "maxLength": 4000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "queryId": {
+ "description": "Azure saved query GUID (from its URL) or Jira filter id",
+ "pattern": "^[\\w-]{1,64}$",
+ "type": "string"
+ },
+ "step": {
+ "const": "search",
+ "type": "string"
+ },
+ "tracker": {
+ "description": "Ticket tracker; inferred from the id, else azure (TICKET_TRACKER)",
+ "enum": [
+ "azure",
+ "jira",
+ "github"
+ ],
+ "type": "string"
+ },
+ "wiql": {
+ "description": "Same as query, for Azure",
+ "maxLength": 4000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "step"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "continuationToken": {
+ "type": "string"
+ },
+ "full": {
+ "default": false,
+ "description": "Every raw field instead of the reviewer-relevant ones",
+ "type": "boolean"
+ },
+ "step": {
+ "const": "read",
+ "type": "string"
+ },
+ "ticketId": {
+ "anyOf": [
+ {
+ "exclusiveMinimum": 0,
+ "type": "integer"
+ },
+ {
+ "pattern": "^(?:[A-Za-z][A-Za-z0-9_]+-\\d+|(?:[\\w.-]+\\/[\\w.-]+)?#\\d+|\\d+)$",
+ "type": "string"
+ }
+ ],
+ "description": "Azure work item id (42), Jira key (PROJ-123) or GitHub issue (owner/repo#45, or #45 with GITHUB_REPO)"
+ },
+ "tracker": {
+ "$ref": "#/properties/request/anyOf/0/properties/tracker"
+ }
+ },
+ "required": [
+ "step",
+ "ticketId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "approval": {
+ "default": "default",
+ "description": "Where the user approves. default = conversation (REVIEW_APPROVAL). conversation: you show the preview and relay the user's reply with step=approve. in-chat: an MCP form. browser: a local page. terminal: co-dev-review approve. auto: form, then browser, then terminal",
+ "enum": [
+ "default",
+ "conversation",
+ "in-chat",
+ "browser",
+ "terminal",
+ "auto"
+ ],
+ "type": "string"
+ },
+ "language": {
+ "enum": [
+ "fr",
+ "en"
+ ],
+ "type": "string"
+ },
+ "step": {
+ "const": "prepare",
+ "type": "string"
+ },
+ "tasks": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "assignedTo": {
+ "description": "Azure: email or unique name; Jira Cloud: accountId (Server: user name); GitHub: login. Defaults to AZURE_DEVOPS_ASSIGNEE, JIRA_ASSIGNEE or GITHUB_ASSIGNEE",
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "description": {
+ "description": "Final task description in the tracker's format (Azure DevOps HTML, Jira wiki markup, GitHub Markdown): scope, completion criteria, dependencies and estimate assumptions",
+ "maxLength": 30000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "estimatedHours": {
+ "description": "Required effort estimate in hours, not a promised completion date. Azure: Original Estimate and Remaining Work; Jira: Original Estimate; GitHub: written in the body.",
+ "exclusiveMinimum": 0,
+ "maximum": 100000,
+ "type": "number"
+ },
+ "title": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "description",
+ "estimatedHours"
+ ],
+ "type": "object"
+ },
+ "maxItems": 50,
+ "minItems": 1,
+ "type": "array"
+ },
+ "ticketId": {
+ "$ref": "#/properties/request/anyOf/1/properties/ticketId"
+ },
+ "tracker": {
+ "$ref": "#/properties/request/anyOf/0/properties/tracker"
+ }
+ },
+ "required": [
+ "step",
+ "ticketId",
+ "language",
+ "tasks"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "approval": {
+ "$ref": "#/properties/request/anyOf/2/properties/approval"
+ },
+ "draftId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "step": {
+ "const": "request_approval",
+ "type": "string"
+ }
+ },
+ "required": [
+ "step",
+ "draftId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "draftId": {
+ "$ref": "#/properties/request/anyOf/3/properties/draftId"
+ },
+ "publish": {
+ "default": true,
+ "description": "false only when the user asked to approve without posting now",
+ "type": "boolean"
+ },
+ "selectedIds": {
+ "description": "Exactly the item ids the user approved in their reply, e.g. [\"R1\",\"R3\"]",
+ "items": {
+ "pattern": "^[RT]\\d{1,3}$",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "minItems": 1,
+ "type": "array"
+ },
+ "step": {
+ "const": "approve",
+ "type": "string"
+ },
+ "userWords": {
+ "description": "The user's approving reply, quoted verbatim; it is stored with the approval",
+ "maxLength": 500,
+ "minLength": 2,
+ "type": "string"
+ }
+ },
+ "required": [
+ "step",
+ "draftId",
+ "selectedIds",
+ "userWords"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "draftId": {
+ "$ref": "#/properties/request/anyOf/3/properties/draftId"
+ },
+ "itemId": {
+ "pattern": "^[RT]\\d{1,3}$",
+ "type": "string"
+ },
+ "step": {
+ "const": "revise",
+ "type": "string"
+ },
+ "text": {
+ "description": "The reworded comment (Markdown) or task description (Azure HTML) the user asked for",
+ "maxLength": 30000,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "step",
+ "draftId",
+ "itemId",
+ "text"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "draftId": {
+ "$ref": "#/properties/request/anyOf/3/properties/draftId"
+ },
+ "step": {
+ "const": "view_draft",
+ "type": "string"
+ }
+ },
+ "required": [
+ "step",
+ "draftId"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "draftId": {
+ "$ref": "#/properties/request/anyOf/3/properties/draftId"
+ },
+ "step": {
+ "const": "publish",
+ "type": "string"
+ }
+ },
+ "required": [
+ "step",
+ "draftId"
+ ],
+ "type": "object"
+ }
+]