gpt4 book ai didi

asp.net-web-api - 使用 Atlassian Webhook 与 ASP.NET WebAPI?

转载 作者:行者123 更新时间:2023-12-02 13:34:34 28 4
gpt4 key购买 nike

我的任务是编写一个服务,该服务将接受来自 JIRA 发送的 Atlassian Webhook 的 HTTP POST 数据。我想在 4.0 .NET 框架中使用 WebAPI 使用该服务,我想知道如何做到这一点。我发现这个资源揭示了 POST 数据的格式:JIRA Webhooks Overview .

我认为我可以编写一个 WebAPI“Post”方法,该方法接受输入 Dictionary<string, object> ,但我希望映射到一个定义明确的对象,而不是一个粘性字典。

我看到有一个名为 Atlassian.SDK 的 NuGet 包,它“包含与 Atlassian JIRA 交互的实用程序”。然而,该 API 似乎更适合读取 JIRA 票证、创建和更新它们。

Atlassian.SDK NuGet 包是否允许以强类型方式使用 Webhook 发送的 HTTP POST,而不是使用 .NET 字典解析 JSON 数据?

最佳答案

据我所知,Atlassian.SDK 不支持 Webhook 场景。正如您所写,它通过 Linq to Jira 扩展和类支持 REST API 调用(查询和更新问题)。

但是,我认为您不应该使用 .NET Dictionary 手动解析 JSON。我已经做了一些非常简单的步骤来在 ApiController 中生成强类型的 Webhook 结果。

  1. 我在Requestb.in中设置了一个临时请求容器(http://requestb.in/1g9lg8y1)

  2. 我使用 Web API 创建了一个新的 ASP.NET MVC 应用程序,当我在浏览器中启动它时,可以通过 http://localhost:18177/ 访问它

  3. 我在 Jira 中设置了 2 个 webhook 指向这些地址 Webhooks in Jira

  4. 我在 Jira 中创建了一个新问题,并在 Requestb.in 页面中将整个 JSON 内容复制到原始正文部分中的剪贴板中。

  5. 要点在这里:我从这个 JSON 内容创建了自定义类。 (您可以使用任何您想要的工具来完成此操作,例如 JSON2Sharp ),我个人是使用 Visual Studio 的 Web Essentials 扩展来完成此操作。 (编辑 -> 选择性粘贴 -> 将 JSON 粘贴为类)

  6. 我将根重命名为 JiraWebhookObject,并将 ValuesController 的 Post 方法的签名修改为

    public void Post([FromBody]JiraWebhookObject value)
  7. 最后我修改了问题的摘要。由于更新了 Webhook,我在 Web API Controller 中获得了强类型结果。 Strongly-typed webhook

关于asp.net-web-api - 使用 Atlassian Webhook 与 ASP.NET WebAPI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25247128/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com