gpt4 book ai didi

c# - 使用 TFS WIQL 获取用户故事的变更集 ID?

转载 作者:行者123 更新时间:2023-11-30 17:00:20 26 4
gpt4 key购买 nike

检索分配给我的用户故事

WorkItemStore _WorkItemStore = (WorkItemStore) __ProjectCollection.GetService(typeof(WorkItemStore));                      
String _Query = @"SELECT [System.Id] FROM WorkItems where [Assigned to] = @Me AND [Work Item Type] = 'User Story'";
WorkItemCollection _Collection = _WorkItemStore.Query(_Query);

用户故事可以将任务或错误工作项类型分配给它作为子项。然后错误/任务有链接到它们的变更集。

我是否可以检索这些变更集的列表,这些变更集附加到作为这些用户故事的子项的任务/错误?

最佳答案

我添加了这个答案作为替代方案,但我仍然很想知道是否有可能通过 WIQL 查询获得同样的结果。

我编写的递归函数,用于检索与任何子工作项关联的用户故事的所有变更集。

public List<Changeset> Query(int id, List<Changeset> associatedChangesets)
{
WorkItemStore _WorkItemStore = (WorkItemStore) __ProjectCollection.GetService(typeof(WorkItemStore));
WorkItem _WorkItem = _WorkItemStore.GetWorkItem(id);

List<Changeset> _AssociatedChangesets;

if (associatedChangesets == null)
{
_AssociatedChangesets = new List<Changeset>();
}
else
{
_AssociatedChangesets = associatedChangesets;
}

foreach (Link _Link in _WorkItem.Links)
{
RelatedLink _RelatedLink = null;
ExternalLink _ExternalLink = null;

if(_Link is RelatedLink)
{
_RelatedLink = (RelatedLink)_Link;
}
else if(_Link is ExternalLink)
{
_ExternalLink = (ExternalLink)_Link;
}

if (_ExternalLink != null)
{
ArtifactId _Artifact = LinkingUtilities.DecodeUri(_ExternalLink.LinkedArtifactUri);
if (String.Equals(_Artifact.ArtifactType, "Changeset", StringComparison.Ordinal))
{
_AssociatedChangesets.Add(__VersionControl.ArtifactProvider.GetChangeset(new Uri(_ExternalLink.LinkedArtifactUri)));
}
}

if (_RelatedLink != null)
{
if (String.Equals(_RelatedLink.LinkTypeEnd.Name, "Child", StringComparison.Ordinal))
{
associatedChangesets = Query(_RelatedLink.RelatedWorkItemId, _AssociatedChangesets);
}
}
}
return associatedChangesets;
}

关于c# - 使用 TFS WIQL 获取用户故事的变更集 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22359399/

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