如何从VSTS Web挂钩读取事件数据信息

时间:2018-11-20 11:12:14

标签: c# azure-devops

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

现在,我遇到的问题是,如何创建一个事件侦听器,以侦听Web钩子并读取该信息。如果您有一个有关如何通过Web挂钩创建事件侦听器的示例,有人可以帮我吗?

谢谢, 维努

1 个答案:

答案 0 :(得分:0)

我用github webhooks实现了类似的功能。我在azure中使用过asp.net网络api,因为在.netcore中它仍是预发行版。您可以寻找它githubwebhookrepo 还有一个vsts的nuget包。我认为应该差不多。 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