@azure-devops/mcp 2.9.0-nightly.20260809 → 2.9.0-nightly.20260810
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/work-items.js +23 -2
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/tools/work-items.js
CHANGED
|
@@ -342,11 +342,24 @@ function configureWorkItemTools(server, tokenProvider, connectionProvider, userA
|
|
|
342
342
|
});
|
|
343
343
|
// --- wit_backlog ------------------------------------------------------------
|
|
344
344
|
server.tool(WORKITEM_TOOLS.wit_backlog, "Retrieve backlog data for a project and team. Use the action parameter to specify the operation.", {
|
|
345
|
-
action: z
|
|
345
|
+
action: z
|
|
346
|
+
.enum(["list", "list_work_items", "reorder"])
|
|
347
|
+
.describe("The action to perform. Options: list (list backlog levels for a team), list_work_items (list work items in a specific backlog level), reorder (move work items to a new position in a backlog or iteration)."),
|
|
346
348
|
project: z.string().optional().describe("The name or ID of the Azure DevOps project. Reuse from prior context if already known. If not provided, a project selection prompt will be shown."),
|
|
347
349
|
team: z.string().optional().describe("The name or ID of the Azure DevOps team. Reuse from prior context if already known. If not provided, a team selection prompt will be shown."),
|
|
348
350
|
backlogId: z.string().optional().describe("The ID of the backlog category to retrieve work items from. Required for: list_work_items."),
|
|
349
|
-
|
|
351
|
+
ids: z.array(z.coerce.number().int().min(1)).min(1).optional().describe("The IDs of the work items to reorder. Required for: reorder."),
|
|
352
|
+
previousId: z.coerce
|
|
353
|
+
.number()
|
|
354
|
+
.int()
|
|
355
|
+
.min(0)
|
|
356
|
+
.optional()
|
|
357
|
+
.describe("The ID of the work item that should be before the reordered items. Use 0 to specify the beginning of the list. Optional for: reorder."),
|
|
358
|
+
nextId: z.coerce.number().int().min(0).optional().describe("The ID of the work item that should be after the reordered items. Use 0 to specify the end of the list. Optional for: reorder."),
|
|
359
|
+
parentId: z.coerce.number().int().min(0).optional().describe("The parent ID for all work items involved in the operation. Use 0 to indicate the items have no parent. Optional for: reorder."),
|
|
360
|
+
iterationPath: z.string().optional().describe("The iteration path for the reorder operation. Used when reordering items in an iteration backlog. Optional for: reorder."),
|
|
361
|
+
iterationId: z.string().optional().describe("The iteration ID. When provided, reorder items in that iteration instead of the team backlog. Used for: reorder."),
|
|
362
|
+
}, async ({ action, project, team, backlogId, ids, previousId, nextId, parentId, iterationPath, iterationId }) => {
|
|
350
363
|
try {
|
|
351
364
|
const connection = await connectionProvider();
|
|
352
365
|
let resolvedProject = project;
|
|
@@ -377,6 +390,13 @@ function configureWorkItemTools(server, tokenProvider, connectionProvider, userA
|
|
|
377
390
|
const workItems = await workApi.getBacklogLevelWorkItems(teamContext, backlogId);
|
|
378
391
|
return { content: [{ type: "text", text: JSON.stringify(workItems, null, 2) }] };
|
|
379
392
|
}
|
|
393
|
+
if (action === "reorder") {
|
|
394
|
+
if (!ids?.length)
|
|
395
|
+
return { content: [{ type: "text", text: "ids is required for reorder" }], isError: true };
|
|
396
|
+
const operation = { ids, previousId, nextId, parentId, iterationPath };
|
|
397
|
+
const reorderedItems = iterationId ? await workApi.reorderIterationWorkItems(operation, teamContext, iterationId) : await workApi.reorderBacklogWorkItems(operation, teamContext);
|
|
398
|
+
return { content: [{ type: "text", text: JSON.stringify(reorderedItems, null, 2) }] };
|
|
399
|
+
}
|
|
380
400
|
return { content: [{ type: "text", text: `Unknown action: ${action}` }], isError: true };
|
|
381
401
|
}
|
|
382
402
|
catch (error) {
|
|
@@ -384,6 +404,7 @@ function configureWorkItemTools(server, tokenProvider, connectionProvider, userA
|
|
|
384
404
|
const msgs = {
|
|
385
405
|
list: `Error listing backlogs: ${errorMessage}`,
|
|
386
406
|
list_work_items: `Error listing backlog work items: ${errorMessage}`,
|
|
407
|
+
reorder: `Error reordering backlog work items: ${errorMessage}`,
|
|
387
408
|
};
|
|
388
409
|
return { content: [{ type: "text", text: msgs[action] ?? `Error: ${errorMessage}` }], isError: true };
|
|
389
410
|
}
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const packageVersion = "2.9.0-nightly.
|
|
1
|
+
export const packageVersion = "2.9.0-nightly.20260810";
|