Tip |
---|
You might find Smart Checklist integration with ScripRunner useful for updating checklists using automated scripts. Below you can find the example of adding a checklist to a Jira Issue by means of updating Issue Property with the key |
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
ScriptRunner for Jirais an all-in-one admin app. Automate DevOps workflows, actions with Built-in Scripts, improve the development workflow with Hooks. Automate the behaviour of the Smart Checklist as well. |
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
RequiresChecklists Custom Field→ "Checklists" Custom Field set up |
...
3.4. Choose Run Script (Run arbitrary code on transition):
...
3.5. Add a Script Code:
...
Code Block | ||
---|---|---|
| ||
//package com.adaptavist.sr.cloud.samples.events def issueKey = issue.key def newSummary = 'Updated by a script' def cfName = 'Environment' //get custom field of "seelct" type def customFields = get('/rest/api/2/field') .asObject(List) .body .findAll { (it as Map).custom } as List<Map> def cfEnvironmentId = customFields.find { it.name == cfName }?.id def cfEnvironment = issue.fields[cfEnvironmentId] //get custom field def environment = cfEnvironment['value'] as String def propertyKey = 'com.railsware.SmartChecklist.checklist' def propertyValue //compare field values if (environment == 'Production') { propertyValue = '"- ToDo List\\n+ Checked\\nx Skipped\\n~ In Progress\\n# Another ToDo List\\n- Unchecked\\n> Quote line 1 https://rw.rw\\n> Quote line 2\\n> Quote line 3\\n"' }else if (environment == 'Staging') { propertyValue = '"- Uno\\n+ Dos\\nx Tres\\n~ Quatro\\n"' } logger.info('property' + environment) def result = put('/rest/api/2/issue/' + issueKey + '/properties/' + propertyKey) .header('Content-Type', 'application/json') .body(propertyValue) .asString() if (result.status == 204) { return 'Success' } else { return "${result.status}: ${result.body}" } |
...