加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – 使用ASP.NET WebAPI消费Atlassian Webhook?

发布时间:2020-12-16 09:54:36 所属栏目:asp.Net 来源:网络整理
导读:我的任务是编写一个服务,接受来自JIRA发送的Atlassian Webhook的HTTP POST数据.我想在4.0 .NET框架中使用WebAPI来使用该服务,我想知道如何做到这一点.我发现这个资源揭示了POST数据的格式: JIRA Webhooks Overview. 我认为我可以编写一个WebAPI“Post”方法
我的任务是编写一个服务,接受来自JIRA发送的Atlassian Webhook的HTTP POST数据.我想在4.0 .NET框架中使用WebAPI来使用该服务,我想知道如何做到这一点.我发现这个资源揭示了POST数据的格式: JIRA Webhooks Overview.

我认为我可以编写一个WebAPI“Post”方法,将输入作为Dictionary< string,object>接受,但我希望映射到定义良好的对象而不是goo的Dictionary.

我看到有一个名为Atlassian.SDK的NuGet包,它包含“用于与Atlassian JIRA交互的实用程序”.但是,看起来API更倾向于阅读JIRA票据,创建和更新它们.

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

解决方法

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

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

>我在Requestb.in中设置了一个临时请求容器(http://requestb.in/1g9lg8y1)
>我使用Web API创建了一个新的ASP.NET MVC应用程序,当我在浏览器中启动它时,它可以在http:// localhost:18177 /上访问
>我在Jira中设置了两个指向这些地址的webhook

>我在Jira中创建了一个新问题,在Requestb.in页面中,我将整个JSON内容复制到raw body部分的剪贴板中.
>重点在于:我从这个JSON内容创建了自定义类. (您可以使用任何您想要的工具执行此操作,例如JSON2Sharp),我个人使用Visual Studio的Web Essentials扩展来完成此操作. (编辑 – >粘贴特殊 – >粘贴JSON作为类)
>我将根重命名为JiraWebhookObject,并将ValuesController的Post方法的签名修改为

public void Post([FromBody]JiraWebhookObject value)

>最后我修改了问题的摘要.由于更新了webhook,我在Web API Controller中获得了强类型结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读