Sql query to get active workflows from all projects in Jira

We need to get a list active workflows with groovy scripts in their post-function

This is required to as their paths have to be modified as they will need to be moved to under - <jira home>/scripts.

Currently they are in different path & they are creating lot of warning in atlassian-jira.log as below

/secure/CommentAssignIssue.jspa [c.o.scriptrunner.runner.ScriptRunnerImpl] Add a script root for this path

To resolve this, we are required to update active workflows post-functions & move to above mentioned path.

So, we need to get list of only active workflows from all projects in Jira

Below query returns both active & inactive. Not sure if anyway to filter to retrieve active ones

select * from jiraworkflows where DESCRIPTOR like '%.groovy<%';

Any clues, appreciated.

3 answers

This will return all workflows associated with projects, and therefore active.

I wrote this for MS SQL, so you may need to adjust for your DB:

SELECT p.id AS project_id, p.pname AS project_name, p.lead AS project_lead, ws.name AS workflow_scheme,--, pc.cname AS category
wse.workflow AS workflow_scheme_associated_workflow
FROM jirauser.project p 
LEFT OUTER JOIN jirauser.nodeassociation na ON na.source_node_id = p.id AND na.sink_node_entity = 'WorkflowScheme'
JOIN jirauser.workflowscheme ws ON ws.id = na.sink_node_id
JOIN jirauser.workflowschemeentity wse ON wse.scheme = ws.id
JOIN jirauser.jiraworkflows jw ON jw.workflowname = wse.workflow
JOIN jirauser.nodeassociation nas ON p.ID = nas.SOURCE_NODE_ID AND nas.ASSOCIATION_TYPE = 'ProjectCategory'
--Find by project category
--JOIN jirauser.projectcategory pc ON nas.SINK_NODE_ID = pc.ID
WHERE DESCRIPTOR like '%.groovy%'
ORDER BY p.pname
1 vote

The script registry (Builtin Scripts -> Script Registry) will show you all the workflows where you are using scripts.

But you don't have to move them, you could just do what the log message suggests, which is to add a new root. 

You do this by adding a system property to your startup files:

-Dplugin.script.roots=/path/to/root

(or c:/path/to/root for windows)

 

0 vote

You have to do it the hard way - read the workflow schemes to see if it is any of them, then read the projects to see if the workflow scheme is in use.

I would take a different approach.  Do some housekeeping, deleting all inactive workflow schemes and workflows from the "inactive" section in the UI.   Then your existing SQL will work fine because you know they're all active.

Suggest an answer

Log in or Join to answer
Community showcase
Emilee Spencer
Published yesterday in Marketplace Apps

Marketplace Spotlight: DeepAffects

Hello Atlassian Community! My name is Emilee, and I’m a Product Marketing Manager for the Marketplace team. Starting with this post, I'm kicking off a monthly series of Spotlights to highlight Ma...

37 views 0 3
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot