Sometimes it can be useful to add a new Work Item to our Team Project programmatically, maybe in response of a certain event and so on.
The new "WIT REST API v1.0 (preview 2)" (released on September 4) exposed by Visual Studio Online allow us to do it.
When you create a work item, you can provide values for any of the work item fields.
To use them, you have to send a HTTP PATCH request to:
https://your_account.visualstudio.com/defaultcollection/team_project_name/_apis/wit/workitems/$work_item_type_name?api-version=1.0-preview.2
The request body has to be set using this format:
[
{
"op": "add",
"path": { string }
"value": { string or int, depending on the field }
},
{
"op": "add",
"path": "/relations/-",
"value":
{
"rel": { string },
"url": { string },
"attributes":
{
{ name/value pairs }
}
}
}
]
An example request could be:
https://myAccount.visualstudio.com/defaultcollection/myProject/_apis/wit/workitems/$task?api-version=1.0-preview.2
[
{
"op": "add",
"path": "/fields/System.Title",
"value": "Change blog title height"
}
]
This request produces a response like this one, in which you'll find all the informations related to newly created Work Item:
{
"id": 88,
"rev": 1,
"fields": {
"System.AreaPath": "myProject",
"System.TeamProject": "myProject",
"System.IterationPath": "myProject",
"System.WorkItemType": "Task",
"System.State": "To Do",
"System.Reason": "New task",
"System.CreatedDate": "2014-09-30T10:25:12.943Z",
"System.CreatedBy": "Davide Benvegnu",
"System.ChangedDate": "2014-09-30T10:25:12.943Z",
"System.ChangedBy": "Davide Benvegnu,
"System.Title": "Change blog title height"
},
"_links": {
"self": {
"href": "https://myAccount.visualstudio.com/DefaultCollection/_apis/wit/workItems/88"
},
"workItemUpdates": {
"href": "https://myAccount.visualstudio.com/DefaultCollection/_apis/wit/workItems/88/updates"
},
"workItemRevisions": {
"href": "https://myAccount.visualstudio.com/DefaultCollection/_apis/wit/workItems/88/revisions"
},
"workItemHistory": {
"href": "https://myAccount.visualstudio.com/DefaultCollection/_apis/wit/workItems/88/history"
},
"html": {
"href": "https://myAccount.visualstudio.com/web/wi.aspx?pcguid=0fa87894-6f48-4458-957d-3438b6bb9343&id=88"
},
"workItemType": {
"href": "https://myAccount.visualstudio.com/DefaultCollection/c4637008-2068-4b3f-828d-a214e2ba5210/_apis/wit/workItemTypes/Task"
},
"fields": {
"href": "https://myAccount.visualstudio.com/DefaultCollection/_apis/wit/fields"
}
},
"url": "https://myAccount.visualstudio.com/DefaultCollection/_apis/wit/workItems/88"
}

