Verified 2026-09 against learn.microsoft.com/azure/devops/boards (work item field index, process templates) and the Azure DevOps MCP server tool schemas.
Work item types per process
| Level | Agile | Scrum | CMMI | Basic |
|---|---|---|---|---|
| Portfolio | Epic → Feature | Epic → Feature | Epic → Feature | Epic |
| Requirement | User Story | Product Backlog Item | Requirement | Issue |
| Defect | Bug (backlog or task level, per team setting) | Bug | Bug | — (use Issue) |
| Task | Task | Task | Task | Task |
| Size field | Story Points Microsoft.VSTS.Scheduling.StoryPoints |
Effort Microsoft.VSTS.Scheduling.Effort |
Size Microsoft.VSTS.Scheduling.Size |
— |
Detect the process by reading the parent's type or the project's work item types; never assume "User Story".
Common field reference names
| Field | Reference name | Type |
|---|---|---|
| Title | System.Title |
string, 255 chars |
| Description | System.Description |
large text (HTML or Markdown) |
| Acceptance Criteria | Microsoft.VSTS.Common.AcceptanceCriteria |
large text (HTML or Markdown); not on Task or Basic Issue |
| Repro Steps | Microsoft.VSTS.TCM.ReproSteps |
large text (HTML or Markdown); Bug only |
| Priority | Microsoft.VSTS.Common.Priority |
integer 1–4 |
| Tags | System.Tags |
tag1; tag2 |
| Area Path | System.AreaPath |
tree path |
| Iteration Path | System.IterationPath |
tree path |
| State | System.State |
per process (New/Active/Resolved/Closed in Agile; New/Approved/Committed/Done in Scrum) |
| Assigned To | System.AssignedTo |
identity |
Links
- Parent / Child (
System.LinkTypes.Hierarchy-Reverse/-Forward): Feature ↔ Story, Story ↔ Task. Creating a child through the parent sets both ends. - Related (
System.LinkTypes.Related): same-level items that inform each other. - Predecessor / Successor (
System.LinkTypes.Dependency-Reverse/-Forward): ordering constraints. - Artifact links: branch, commit, pull request and build links appear under Development; commits and PRs that mention the ID create them automatically.
Large-text fields: HTML or Markdown
System.Description, Microsoft.VSTS.Common.AcceptanceCriteria and Microsoft.VSTS.TCM.ReproSteps are large-text fields. They are HTML by default; Azure Boards (Services, since 2025) also renders them as Markdown once a field is switched, and the switch is permanent for that field on that work item.
Say which format you are writing. REST API — set the value and the format in the same patch document:
[
{ "op": "add", "path": "/fields/System.Description", "value": "As a warehouse operator, I want to export an order's picking list as CSV, so that I can print it for the floor team." },
{ "op": "add", "path": "/multilineFieldsFormat/System.Description", "value": "Markdown" }
]
Azure DevOps MCP server — wit_work_item_write takes format per field ("Html" or "Markdown"); add_child defaults its items[].format to Markdown:
{ "action": "create", "workItemType": "User Story",
"fields": [
{ "name": "System.Title", "value": "Export picking list as CSV" },
{ "name": "Microsoft.VSTS.Common.AcceptanceCriteria",
"value": "- Given order 1002 with 4 lines, when I choose \"Export CSV\", then `picking-1002.csv` downloads with a header row and 4 data rows.",
"format": "Markdown" }
] }
When you write HTML instead (the safe default for an existing item that has always been HTML), keep it minimal — p, ul, ol, li, strong, code, a — and escape <, > and & in the text (<orderId>):
<ul>
<li>Given order 1002 with 4 lines, when I choose "Export CSV", then <code>picking-1002.csv</code> downloads with a header row and 4 data rows.</li>
<li>Given an order with no lines, when I choose "Export CSV", then the message "Nothing to export" appears and no file downloads.</li>
</ul>
Markdown sent to a field still in HTML mode renders as a single line; HTML sent to a field switched to Markdown shows the tags.