首页 > 解决方案 > 在 .netcore 中为 AzureDevOps 创建一个 WebHook

问题描述

我正在尝试为我们的团队创建一个自定义 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 发送什么对象?

标签: c#asp.net-core.net-coreazure-devopswebhooks

解决方案


我们提供一键测试,您可以运行它来获取 Azure devops 发送的 JSON:

在此处输入图像描述

使用 Test 运行后,我们的系统将运行一个虚拟管道来发送请求。


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

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

在此处输入图像描述


推荐阅读