簡體   English   中英

使用TFS WIQL獲取用戶故事的變更集ID?

[英]Using TFS WIQL to get changeset IDs for a User Story?

檢索分配給我的用戶故事

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);

用戶素材可以將任務或Bug工作項類型指定為子項。 然后,錯誤/任務具有與其相關聯的變更集。

我是否可以檢索附加到作為這些用戶故事的子項的任務/錯誤的這些變更集的列表?

我正在添加這個答案作為替代方案,但是我仍然想知道是否可以通過WIQL查詢實現相同的結果。

我編寫的遞歸函數,用於檢索與任何子工作項關聯的userstory的所有更改集。

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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM