我正在使用VSTS REST API,我正在尝试创建一个新的WorkItem.但我只能从VSTS获取现有的WorkItem并更新WorkItem.
var listDoNotUpdate = new List<string>();
listDoNotUpdate.Add("System.BoardColumn");
listDoNotUpdate.Add("System.BoardColumnDone");
var wi = await this.Client.GetWorkItemAsync(4000);
wi.Fields["System.Title"] = "Test";
wi.Fields["System.Description"] = "Test";
wi.Fields["Microsoft.VSTS.Common.AcceptanceCriteria"] = "Test";
var doc = new JsonPatchDocument();
foreach (var field in wi.Fields)
{
if (!listDoNotUpdate.Contains(field.Key))
{
doc.Add(new JsonPatchOperation
{
Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Replace,
Path = string.Concat("/fields/", field.Key),
Value = field.Value
});
}
}
await this.Client.UpdateWorkItemAsync(doc, 4000);
Run Code Online (Sandbox Code Playgroud)
但是,我如何创建一个新的WorkItem并上传它?
小智 5
你很亲密 您需要调用UpdateWorkItemTemplateAsync,而不是调用UpdateWorkItemAsync.
var collectionUri = "https://{account}.visualstudio.com";
var teamProjectName = "{project}";
var workItemType = "{workItemType}";
var client = new WorkItemTrackingHttpClient(new Uri(collectionUri), new VssClientCredentials());
var document = new JsonPatchDocument();
document.Add(
new JsonPatchOperation()
{
Path = "/fields/System.Title",
Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add,
Value = "Title"
});
var wi = client.UpdateWorkItemTemplateAsync(
document,
teamProjectName,
workItemType).Result;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2943 次 |
| 最近记录: |