Jira Cloud + ScriptRunner
13 May 2017 in TIL
When working with Jira, we wanted the fixVersion
of any ticket to be automatically set based on the fixVersion of it's associated epic. To do this, create a script listener with ScriptRunner that listens to both the Issue Created
and Issue Updated
events with the following contents:
groovy
def epicKey = get('/rest/api/2/issue/' + issue.key).asObject(Map).body['fields']['customfield_10003']if (!epicKey) {return false;}def epicFixVersions = get('/rest/api/2/issue/' + epicKey).asObject(Map).body['fields']['fixVersions']if (epicFixVersions.size() == 0) {return false;}def epicName = epicFixVersions[0]['name']def result = put('/rest/api/2/issue/' + issue.key).header('Content-Type', 'application/json').body([fields:[fixVersions: [[name: epicName]]]]).asString()if (result.status == 204) {return 'Success'} else {return "${result.status}: ${result.body}"}