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