针对JIRA问题的SQL查询

针对JIRA问题的SQL查询,sql,database,oracle11g,jira,Sql,Database,Oracle11g,Jira,我必须从JIRA数据库中获取一些数据,并创建一个视图来显示它们 在我们的JIRA中,我们有大约100个项目。我们需要创建一个Oracle视图来可视化以下数据 我们的工作流程具有以下状态 打开 修理 断然的 试验 验证 关闭 拒绝 For a single project, if issues are Delivery-CR, Fault-Bug, Fault-Specification, Fault-Configuration or Fault-Testing we need to create

我必须从JIRA数据库中获取一些数据,并创建一个视图来显示它们

在我们的JIRA中,我们有大约100个项目。我们需要创建一个Oracle视图来可视化以下数据

我们的工作流程具有以下状态 打开 修理 断然的 试验 验证 关闭 拒绝

For a single project, if issues are Delivery-CR, Fault-Bug, Fault-Specification, Fault-Configuration or Fault-Testing we need to create a view to visualize following data.

•   transition date – open to fix
•   transition date – fix to resolved
•   transition date – resolved to test
•   transition date – test to validate
•   Issue type
•   Status 
•   Fix version

Note that Issue type, Status and Fix version are on CHANGEITEM table. I can't find a table to get transaction dates. 

We are using JIRA 6.3.7 and Oracle 11g database
我尝试了以下查询,但没有成功

select created, issueid, ci.oldstring, ci.newstring, ci.oldvalue, ci.newvalue from changegroup inner join changeitem ci on changegroup.ID = ci.groupid where issueid in (select ID from JIRAISSUE where PROJECT in (select ID from PROJECT where PNAME = 'Singapore Exchange Post Trade') and ISSUETYPE in (select ID from ISSUETYPE where PNAME in ('Delivery-CR', 'Fault-Bug', 'Fault-Specification', 'Fault-Configuration', 'Fault-Testing'))) where ci.oldstring in('Open','Fix','Resolved','Test','Validate','Closed','Rejected');

谁能告诉我哪里出了问题。

我想你希望每行有一期

这份报告不是一份容易的报告,JIRA数据库结构中有一些因素会使它变得缓慢

我构建了一个查询,通过重新连接相同的表来连接列,以获得不同的兴趣值。您可以通过重复
chu n
左连接(“更改”)来添加列


一个小时内不是最好的,但你可以先用这个。我想你希望每行有一个问题

这份报告不是一份容易的报告,JIRA数据库结构中有一些因素会使它变得缓慢

我构建了一个查询,通过重新连接相同的表来连接列,以获得不同的兴趣值。您可以通过重复
chu n
左连接(“更改”)来添加列


一个小时内不是最好的,但你可以先用这个。我想你希望每行有一个问题

这份报告不是一份容易的报告,JIRA数据库结构中有一些因素会使它变得缓慢

我构建了一个查询,通过重新连接相同的表来连接列,以获得不同的兴趣值。您可以通过重复
chu n
左连接(“更改”)来添加列


一个小时内不是最好的,但你可以先用这个。我想你希望每行有一个问题

这份报告不是一份容易的报告,JIRA数据库结构中有一些因素会使它变得缓慢

我构建了一个查询,通过重新连接相同的表来连接列,以获得不同的兴趣值。您可以通过重复
chu n
左连接(“更改”)来添加列


一个小时内不是最好的,但你可以先使用它。

我的任务是在Jira中重新创建过渡视图,我认为我的解决方案可能会对你的问题有所帮助

我们正在使用Postgres,所以我想您需要更改年龄函数。 这表现得非常好:

select 
                ci.oldstring        as OldStatus
                , ci.newstring as NewStatus
                , AGE(cg.created, coalesce (LEAD (cg.created, -1) OVER closedTime, ji.created)) AS age 
                , cg.created as TransitionCreated
                , ji.created as IssueCreated
                , proj.pname as ProjectName
                , ji.id as IssueId
                , ji.summary
                , ji.reporter
                , ji.assignee
from jiraissue ji
JOIN project proj on ji.project = proj.id
join changegroup cg ON ji.id= cg.issueId
JOIN changeItem ci 
                on cg.id = ci.groupId 
                and ci.field = 'status'
WINDOW
                closedTime AS (PARTITION BY cg.issueId order by cg.id)
order by cg.issueid, cg.id

我的任务是在Jira中重新创建过渡视图,我认为我的解决方案可能会对您的问题有所帮助

我们正在使用Postgres,所以我想您需要更改年龄函数。 这表现得非常好:

select 
                ci.oldstring        as OldStatus
                , ci.newstring as NewStatus
                , AGE(cg.created, coalesce (LEAD (cg.created, -1) OVER closedTime, ji.created)) AS age 
                , cg.created as TransitionCreated
                , ji.created as IssueCreated
                , proj.pname as ProjectName
                , ji.id as IssueId
                , ji.summary
                , ji.reporter
                , ji.assignee
from jiraissue ji
JOIN project proj on ji.project = proj.id
join changegroup cg ON ji.id= cg.issueId
JOIN changeItem ci 
                on cg.id = ci.groupId 
                and ci.field = 'status'
WINDOW
                closedTime AS (PARTITION BY cg.issueId order by cg.id)
order by cg.issueid, cg.id

我的任务是在Jira中重新创建过渡视图,我认为我的解决方案可能会对您的问题有所帮助

我们正在使用Postgres,所以我想您需要更改年龄函数。 这表现得非常好:

select 
                ci.oldstring        as OldStatus
                , ci.newstring as NewStatus
                , AGE(cg.created, coalesce (LEAD (cg.created, -1) OVER closedTime, ji.created)) AS age 
                , cg.created as TransitionCreated
                , ji.created as IssueCreated
                , proj.pname as ProjectName
                , ji.id as IssueId
                , ji.summary
                , ji.reporter
                , ji.assignee
from jiraissue ji
JOIN project proj on ji.project = proj.id
join changegroup cg ON ji.id= cg.issueId
JOIN changeItem ci 
                on cg.id = ci.groupId 
                and ci.field = 'status'
WINDOW
                closedTime AS (PARTITION BY cg.issueId order by cg.id)
order by cg.issueid, cg.id

我的任务是在Jira中重新创建过渡视图,我认为我的解决方案可能会对您的问题有所帮助

我们正在使用Postgres,所以我想您需要更改年龄函数。 这表现得非常好:

select 
                ci.oldstring        as OldStatus
                , ci.newstring as NewStatus
                , AGE(cg.created, coalesce (LEAD (cg.created, -1) OVER closedTime, ji.created)) AS age 
                , cg.created as TransitionCreated
                , ji.created as IssueCreated
                , proj.pname as ProjectName
                , ji.id as IssueId
                , ji.summary
                , ji.reporter
                , ji.assignee
from jiraissue ji
JOIN project proj on ji.project = proj.id
join changegroup cg ON ji.id= cg.issueId
JOIN changeItem ci 
                on cg.id = ci.groupId 
                and ci.field = 'status'
WINDOW
                closedTime AS (PARTITION BY cg.issueId order by cg.id)
order by cg.issueid, cg.id

但在这里,我们得到了一个密钥的多个记录。如何获取最新的?最新的维度?在CTE的末尾添加一行“order by”。我会更新答案。但这里我们得到了一个密钥的多个记录。如何获取最新的?最新的维度?在CTE的末尾添加一行“order by”。我会更新答案。但这里我们得到了一个密钥的多个记录。如何获取最新的?最新的维度?在CTE的末尾添加一行“order by”。我会更新答案。但这里我们得到了一个密钥的多个记录。如何获取最新的?最新的维度?在CTE的末尾添加一行“order by”。我会更新答案。