我想让一个监听器在添加/更新/删除任何工作项时触发一个事件。
当前代码
using Microsoft.TeamFoundation.WorkItemTracking.WebApi;
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.Notification;
using Microsoft.VisualStudio.Services.WebApi;
using System;
namespace DevOpsApiTest
{
class Connector
{
public void ConnectToDevOps()
{
try
{
Uri uri = new Uri("https://dev.azure.com/Org");
VssCredentials creds = new VssBasicCredential("Username", "Password");
VssConnection connection = new VssConnection(uri, creds);
WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>();
WorkItem workitem = witClient.GetWorkItemAsync("TestProject", 1).Result;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
当我在DevOps项目上添加/更新/删除工作项时,如何使监听器触发事件?
您可以利用服务挂钩
服务挂钩发布者定义了一组事件。订阅侦听事件并根据事件定义要采取的措施。订阅还以消费者为目标,消费者是事件发生时可以运行自己的操作的外部服务。
您可以开始研究易于使用的web hooks,前提是您可以将上面的代码发布到可公开访问的url上。
Webhooks提供了一种将事件的JSON表示发送到任何服务的方法。所需要的只是一个公共端点(HTTP或HTTPS)。
将在您的项目设置配置,您可以在配置他们三人火灾事件work item created
,work item updated
并work item deleted
分别。
Web挂钩将HTTP请求发送到您指定的端点,并带有包含有关事件信息的json负载。您将不得不修改代码以充当服务器来接受那些请求,而不是成为客户端。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句