TFS Azure 2017工作项更改事件处理程序-分支关系

TFS Azure 2017工作项更改事件处理程序-分支关系,tfs,azure-devops,branch,tfs-workitem,Tfs,Azure Devops,Branch,Tfs Workitem,我们在tfs中有一个插件。当任何工作项发生更改时,该插件会通知我们。我们可以获得工作项详细信息,如id、变更集列表,如下所示。但我们也需要与工作项相关的分支名称 您能帮助我吗?当工作项目在下面的代码中更改时,有没有办法获取相关的分支名称 谢谢 public EventNotificationStatus ProcessEvent( IVssRequestContext requestContext, NotificationType notificati

我们在tfs中有一个插件。当任何工作项发生更改时,该插件会通知我们。我们可以获得工作项详细信息,如id、变更集列表,如下所示。但我们也需要与工作项相关的分支名称

您能帮助我吗?当工作项目在下面的代码中更改时,有没有办法获取相关的分支名称

谢谢

    public EventNotificationStatus ProcessEvent(
        IVssRequestContext requestContext, 
        NotificationType notificationType, 
        object notificationEventArgs, 
        out int statusCode, 
        out string statusMessage, 
        out ExceptionPropertyCollection properties)
    {
        statusCode = 0;
        properties = null;
        statusMessage = String.Empty;
        

        try
        {
            if (notificationType == NotificationType.Notification && notificationEventArgs is WorkItemChangedEvent)
            {
                WorkItemChangedEvent ev = notificationEventArgs as WorkItemChangedEvent;
                int workItemId = Convert.ToInt32(ev.CoreFields.IntegerFields[0].NewValue);
                
                WriteLog("1WorkItemChangedEventHandler WorkItem " + ev.WorkItemTitle + " - Id " + workItemId.ToString() + " was modified");
                

            }

        }
        catch (Exception)
        {
        }

        return EventNotificationStatus.ActionPermitted;
    }

您可以使用
workItemStore.GetWorkItem(workItemId)
获取所有工作项信息。在此处检查类似问题:

如果使用git,可以尝试以下示例来获取分支引用:

int workitemId = YOUR_ID;

WorkItemStore wiStore = new WorkItemStore("{YOUR_URI}");

WorkItem wi = wiStore.GetWorkItem(workitemId);            

foreach (Link link in wi.Links)
{
    if (link.BaseType == BaseLinkType.ExternalLink)
    {
        var brList = ((ExternalLink)link).LinkedArtifactUri.Split(new string[] { "%2F" }, StringSplitOptions.RemoveEmptyEntries).ToList();

        brList.RemoveAt(0); //remove project and repo giuds
        brList.RemoveAt(0);
        brList[0] = brList[0].Replace("GB", ""); // remove GB prefix

        Console.WriteLine("Branch: {0}", string.Join("/", brList));
    }
}

是的,我使用它,但没有分支机构信息。分行信息在哪里?我们还需要分支名称,如test、master等@Pronto我添加了一个如何获得git分支的示例。