gpt4 book ai didi

azure-devops - VSTS 创建新的工作项

转载 作者:行者123 更新时间:2023-12-04 17:08:26 25 4
gpt4 key购买 nike

我正在使用 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);

但是我怎样才能创建一个新的 WorkItem 并上传它呢?

最佳答案

你很接近。您需要调用 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;

关于azure-devops - VSTS 创建新的工作项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34810018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com