繁体   English   中英

JIRA webhook的JSON Payload并不总是输入SQL数据库

[英]JSON Payload from JIRA webhook does not always enter into SQL database

由于JIRA中的IssueTypePriority字段, 在MVC VB.net中从JIRA Webhook实现Json Paylaods时遇到了一些麻烦。 JSON有效负载成功进入的唯一时间是IssueType = Bugpriority = major时

我认为问题出在这两个字段的ID不匹配。 我发现,当优先级为大时,其ID为3。当IssueType为Bug时,其ID为1。我认为,因为在我公司的JIRA应用程序中只有某些选项可以从这两个字段中选择,例如,Priority字段不能选择致命作为选项,这样就永远不会选择ID。

所以我的问题是如何在我的应用程序中正确匹配这两个字段。 目前,在我的表格中,优先级表格如下:

ID ----- Name
2 ------ Critical
3 ------ Major
4 ------ Minor

IssueType表如下:

ID ----- Name
1 ------ Bug
2 ------ Query

我正在像这样反序列化Json:

 Dim r As System.IO.StreamReader = New System.IO.StreamReader(HttpContext.Request.InputStream)
 Dim json As String = r.ReadToEnd()
 Dim iss As object = JsonConvert.DeserializeObject(Of object )(json)
System.Diagnostics.Trace.TraceError(json )

然后我像这样使用实体框架将数据读入数据库:

 Dim newIssue As New IssueResultTable
 newIssue.issueKey = issue.issue.key
 newIssue.status = issue.issue.fields.status.name
 newIssue.IssueType = issue.issue.fields.issuetype.id
 newIssue.Priority = issue.issue.fields.priority.id

 Using db As New GartanIssueTrackerEntities
 db.IssueResultTables.Add(newIssue)
 db.SaveChanges()
 End Using
 Catch ex As Exception

 End Try

然后,我在“视图”中显示此信息,但该信息仅适用于上述示例。 排序数据库中这些字段的正确方法是什么? 还是可以是任何顺序,还是必须与JIRA字段完全相同,JIRA字段还包括JIRA中的所有字段,而不仅仅是我的应用程序使用的字段?例如,我是否必须向表中添加Fatal作为ID 1?

我的说法是正确的,原因是JIRA应用程序和SQL数据库中的ID和列不匹配。

使用RequestBin,我可以将Webhook触发到RequestBin,在这里我将检查Json Payload。 一旦检查了数据,就必须更改列并添加其他列,以便我的应用程序可以成功获取所需的所有数据。

如果要成功检索,您要使用的Jira中的ID必须与数据库中的ID匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM