在 .net core 中为 Azure DevOps 创建 WebHook

Create a WebHook for AzureDevOps in .netcore

我正在尝试为我们的团队创建自定义 WebHook。当构建成功完成时,应调用此 WebHook。

我使用的步骤如下:

首先 我创建了一个 REST Api 这将是我的 WebHook,它看起来像这样:

[ApiController]
[Route("[controller]")]
public class WebHookController : ControllerBase
{
    private readonly ILogger<WebHookController> _logger;

    public WebHookController(ILogger<WebHookController> logger)
    {
        _logger = logger;
    }

    // POST: /webhook
    [HttpPost]
    public async Task<IActionResult> Post() // Which object should my endpoint expect from AzureDevOps?
    {
        try
        {
             // Some logic here based on projectId   
        }
        catch (Exception ex)
        {
            _logger.LogError($"WebHookController: Post:  {ex}");
        }

        return BadRequest();
    }
}

第二 我会在某个地方托管这个 API 然后在 AzureDevOps 中注册这个 WebHook,如下所示:

我的问题:

Post 方法中,AzureDevOps 发送了什么对象?

我们提供一个按钮测试,您可以运行它来获取 Azure devops 发送的 JSON 是什么:

在运行进行测试后,我们的系统会运行一个虚拟管道发送一个请求。


如果尝试使用 Test 按钮,无需将有效的 URL 值输入 URL 空白。只要保持它不为空,因为它是必需的参数。

点击测试后,将选项卡更改为请求,您将看到您想要的内容: