I want to query jira issues by component in SQL, but i am surprised in the table of "jiraissue" , it is always NULL for the field of component,
What should i do in SQL? because we hope to know many metric by component.
thanks for your help
Hello,
You may use the following query to get the count of issues per components:
SELECT count(ji.id), c.cname FROM jiraissue ji INNER JOIN nodeassociation na ON ji.id = na.source_node_id INNER JOIN component c ON na.sink_node_id = c.id GROUP BY c.cname
I hope it helps! :)
Cheers!
Slight tweak inner join nodeassociation na on ji.id = na.source_node_id and na.sink_node_entity = 'Component'
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Another consistent way (focussing on association_type) would be:
SELECT count(ji.id), c.cname FROM jiraissue ji
INNER JOIN nodeassociation na ON ji.id = na.source_node_id
INNER JOIN component c ON na.sink_node_id = c.id
where na.association_type = 'IssueComponent'
GROUP BY c.cname;
The very first statement above may give wrong results from the nodeassociation table, where id of source and sink nodes match with issue and component id, but the association type does not (e.g. type IssueFixVersion instead of IssueComponent)., so I agree on Xing Xin's suggestion as a necessary supplement.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
What if you don't want a count and want to see the components in your results set from the jiraissue query?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You can use the below query to fetch the components for a particular issue in JIRA
Please specify the valid jira issue key for below query:
note: in my case jira issue key is 'TEST-171'
SELECT
(case when (LENGTH(CM.CNAME)>0) then CM.CNAME else ' ' end) AS COMPONENT
FROM JIRAISSUE JI, Project P, COMPONENT CM, NODEASSOCIATION NA where CM.PROJECT=P.ID AND JI.PROJECT = P.ID AND NA.SOURCE_NODE_ID=JI.ID AND NA.SINK_NODE_ID=CM.ID AND P.PKEY||'-'||JI.ISSUENUM= 'TEST-171'
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Alternatively, this is achievable with SQL for JIRA plugin too:
SELECT COUNT(*) FROM PROJECTCOMPONENTS pc, ISSUECOMPONENTS ic WHERE pc.id=ic.projectcomponentid
The major difference among both approaches would be that they would return the same result for the JIRA administrator whereas for the rest of the users, the SQL for JIRA plugin would return the amount of issues per component and counting only the issues that each user is granted to see in JIRA.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.