Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用TFS C#API获取工作项链接_C#_Azure Devops_Tfs Sdk - Fatal编程技术网

使用TFS C#API获取工作项链接

使用TFS C#API获取工作项链接,c#,azure-devops,tfs-sdk,C#,Azure Devops,Tfs Sdk,我不熟悉TFS API,我正在使用C代码,如中所述: 我设法在我的TFS测试服务器上运行代码,并很容易得到查询结果。然而,当我试图获取工作项链接详细信息时,我找不到正确的方法。 在代码执行期间,当我进入1个对象时,我看到Links属性设置为null,而TFS中的'real'工作项作为链接WI作为父项。知道我如何循环通过WI链接并获取链接的WI详细信息吗? 非常感谢:-)您必须在GetWorkItemAsync中设置expand属性: GetWorkItemAsync(Id,expand:Wor

我不熟悉TFS API,我正在使用C代码,如中所述:

我设法在我的TFS测试服务器上运行代码,并很容易得到查询结果。然而,当我试图获取工作项链接详细信息时,我找不到正确的方法。 在代码执行期间,当我进入1个对象时,我看到Links属性设置为null,而TFS中的'real'工作项作为链接WI作为父项。知道我如何循环通过WI链接并获取链接的WI详细信息吗?
非常感谢:-)

您必须在GetWorkItemAsync中设置expand属性:

GetWorkItemAsync(Id,expand:WorkItemExpand.Relations)。结果

您可以在关系列表中找到所有链接。链接不包含id,但您可以从链接URL提取id。父类型是Rel成员中的System.LinkTypes.Hierarchy Reverse值。关系列表的示例:

var wi = GetWorkItemWithRelations(wiId);

if (wi.Relations != null)
    {
        foreach (var wiLink in wi.Relations)
        Console.WriteLine("{0,-40}: {1}", wiLink.Rel, ExtractWiIdFromUrl(wiLink.Url));
    }

static int ExtractWiIdFromUrl(string Url)
{
    int id = -1;

    string splitStr = "_apis/wit/workItems/";

    if (Url.Contains(splitStr))
    {
        string [] strarr = Url.Split(new string[] { splitStr }, StringSplitOptions.RemoveEmptyEntries);

        if (strarr.Length == 2 && int.TryParse(strarr[1], out id))
                return id;
    }

    return id;
}

您可以在此处找到其他链接类型:

发布您收到的响应您使用Rest API还是SOAP?我使用Rest APICan您与我共享的文档链接阅读如何循环链接并访问链接WI?或任何一般文件?再次感谢@UziYona所有链接都包含在WorkItem类的WorkItemRelationship列表中。这是我的调查,也许他们会对你有用:,再次感谢你,亚历山大!。然而,当我循环通过关系时,我确实得到了lonks,但我没有得到链接类型。我得到以下关系(链接?)示例:serverdetails/_API/wit/workItems/894和894是链接的工作项,但我找不到获得链接类型的方法(例如父项)。有什么想法吗?@UziYona我已经用代码示例更新了我的答案。@UziYona接受作为答案,告诉所有成员您的问题已经解决: