首页 > 解决方案 > 如何从 VSTS Web 挂钩中读取事件数据信息

问题描述

我们目前正在开发一种集成 service now 和 VSTS 的服务。当在 servicenow 中创建事件时,集成会根据选择的类别在 VSTS 中创建一个工作项。这部分我们能够完成。现在我们需要从 VSTS 工作项(如果有)发送更新到 servicenow 事件。我们创建了一个服务钩子,它在工作项发生更新时捕获工作项事件详细信息。

现在,我遇到的问题是,如何创建一个事件侦听器来侦听网络挂钩并读取该信息。是否有关于如何从 Web 挂钩创建事件侦听器的示例?

标签: c#azure-devops

解决方案


我用 github webhooks 实现了类似的东西。我在 azure 中使用了 asp.net web api,因为在 .netcore 中它仍然是预发布版。可以找githubwebhookrepo 里面 还有一个 nuget 包用于 vsts。我觉得应该差不多。 nuget 您将获得一个包含有效负载 json 的上下文,并且应该有您的事件类型。

public class GitHubWebHookHandler : WebHookHandler

{

    public GitHubWebHookHandler()

    {

        this.Receiver = GitHubWebHookReceiver.ReceiverName;

    }

    public override Task ExecuteAsync(string generator, WebHookHandlerContext context)

    {

        JObject entry = context.GetDataOrDefault<JObject>();

        return Task.FromResult(true);

    }

}

有效载荷信息:https ://docs.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=vsts


推荐阅读