我正在使用MVC应用程序,它将发送电子邮件至JIRA,并提供在JIRA中创建第号所需的信息。如何使用ASP.Net MVC应用程序中的webhooks从JIRA中检索信息?
这是成功的,但下一步是检索页面中的信息。目前,我正在显示通过从数据库中检索发送的信息。
问题是我还需要检索KEY和状态的问题。这不能只是输入,因为用户不会知道它们是什么,它必须在JIRA中完成。
本来我是打算使用API来从JIRA获得信息,但由于JIRA网站不在线托管的API不符合访问控制 - 允许 - 头”头。
我被告知,我将不得不使用网络挂接来获取信息,但我不知道如何去了解这一点。
我知道,我必须先注册该我做的通过的JIRA管理UI网络挂接我所知道的是如何以m为单位检索信息y应用程序使用webhooks,我知道webhooks必须有友好名称为webhook创建,的URL其中回拨应发送。
网络挂接的范围和事件张贴到URL,可以是“所有事件”或一组特定的事件。
我也知道,如果添加到创建问题工作流程转换中,Post函数Web挂钩不会触发。我们建议您将web钩子配置为从issue_created事件触发。
因此,如何能我成功地检索这些信息,我目前正在此:
Public Function Webhook() As ActionResult
Dim status As String = "Status"
If Request("secret") <> status Then
Response.StatusCode = 403
Return Content("Invalid status secret")
End If
If Request("event") = "incoming_messages" Then
Dim Key As String = Request("Key")
Dim jiraStatus As String = Request("status")
Dim reply As Dictionary(Of String, Object) = New Dictionary(Of String, Object)()
reply("content") = "Thanks for your submission!"
Dim result As Dictionary(Of String, Object) = New Dictionary(Of String, Object)()
result("messages") = New Object() {reply}
Return Json(result)
Else
Response.StatusCode = 400
Return Content("Unknown event")
End If
Return View()
End Function
但我敢肯定,我做错了,做什么步骤我需要遵循正确地做到这一点?
更新
应该在哪里我的网络挂接网址大火目前,我把它发送到RequestB.in测试这是工作,但我应该在哪里火它来获取我的MVC应用程序的信息?是否应该向MVC应用程序开火,如果是的话应该在哪里开火。
我该如何处理目前在我的MVC应用程序中的Json有效载荷,我试图反序列化它,但是我之前没有这样做,并且不确定如何将Json有效载荷与应用程序连接起来。这是我到目前为止已经试过:
Request.InputStream.Position = 0
Request.InputStream.Seek(0, SeekOrigin.Begin)
Using reader = New StreamReader(Request.InputStream)
Dim jiraJson = reader.ReadToEnd()
Dim contentType As String = Request.ContentType
Dim body = JsonConvert.DeserializeObject(jiraJson)
Try
Select Case DirectCast(body.key, String)
Case ""
Return Json(jiraJson)
Case Else
Return Json(jiraJson)
End Select
Catch ex As Exception
End Try
End Using
Return View()
我不清楚该怎么在switch语句位置,并且如何返回JSON,然后显示它,我该怎么办呢?
好的 - 可以肯定的是,您指的是internal.company.com链接还是RequestBin链接?作为一个例子,前者就是我编造的东西。 – X3074861X
好吧,很酷,只是想确定。如果您有任何其他问题,请告诉我。 – X3074861X
我不确定如何处理ProcessWebhook中的JSON,我试图反序列化JSON,以及webhook URL应该在哪里触发,以便应用程序可以检索信息。我现在不会如何将这些东西连接在一起。 –