User Tools

Site Tools


script_fields

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
script_fields [2017/06/01 13:56]
pawel
script_fields [2019/07/11 09:28] (current)
root
Line 17: Line 17:
 return tickets.join(', ') return tickets.join(', ')
 </code> </code>
 +
 +==== Set Summary ====
 +
 +<code java>
 +import com.atlassian.jira.issue.Issue;
 +import com.atlassian.jira.issue.IssueManager;
 +import com.atlassian.jira.issue.MutableIssue;
 +import com.atlassian.jira.component.ComponentAccessor;
 + 
 +void setSummary(String key,String newSummary) {
 +IssueManager im = ComponentAccessor.getIssueManager();
 +        MutableIssue issue = im.getIssueObject(key);
 +        issue.setSummary(newSummary);
 +        issue.store();
 +}
 + 
 +setSummary("CD-4","Insert your Summary");
 +</code>
 +
 +
 +==== Drop Down Values based on Transitions ====
 +Create this as an initialiser.
 +<code java>
 +import com.atlassian.jira.component.ComponentAccessor
 +import static com.atlassian.jira.issue.IssueFieldConstants.*
 +
 +def customFieldManager = ComponentAccessor.getCustomFieldManager()
 +def optionsManager = ComponentAccessor.getOptionsManager()    
 +
 +def formField = getFieldByName("FIELD_NAME") // *name* of your custom field
 +def customField = customFieldManager.getCustomFieldObject(formField.getFieldId())
 +def config = customField.getRelevantConfig(getIssueContext())
 +def options = optionsManager.getOptions(config)
 +
 +// Set the values inside the select list field 
 +def noneMap = ["-1": "None"]
 +
 +
 +if (getActionName() == "Need More Info") {
 +    def optionsMap = noneMap + options.findAll {
 +        it.value in ["OPTION 1", "OPTION 2", "OPTION 3"] // list of options you want to show
 +    }.collectEntries {
 +        [
 +            (it.optionId.toString()) : it.value
 +        ]
 +    } 
 +    formField.setFieldOptions(optionsMap)
 +} else if (getActionName() == "Resolved") {
 +    def optionsMap = noneMap + options.findAll {
 +        it.value in ["OPTION 1", "OPTION 3"] // list of options you want to show
 +    }.collectEntries {
 +        [
 +            (it.optionId.toString()) : it.value
 +        ]
 +    } 
 +    formField.setFieldOptions(optionsMap)
 +} else if (getActionName() == "Close") {
 +    def optionsMap = noneMap + options.findAll {
 +        it.value in ["OPTION 4", "OPTION 5"] // list of options you want to show
 +    }.collectEntries {
 +        [
 +            (it.optionId.toString()) : it.value
 +        ]
 +    } 
 +    formField.setFieldOptions(optionsMap)
 +} else {
 +    def optionsMap = noneMap + options.findAll {
 +        it.value in ["OPTION 3"] // list of options you want to show
 +    }.collectEntries {
 +        [
 +            (it.optionId.toString()) : it.value
 +        ]
 +    } 
 +    formField.setFieldOptions(optionsMap)    
 +}
 +
 +</code>
 +References: 
 +[[https://gist.github.com/jechlin/d9b8e778041c02e04270|GitHub Link]]
 +[[https://community.atlassian.com/t5/Adaptavist-questions/Scriptrunner-behaviour-Setting-select-list-options-None-is-not/qaq-p/934238|Atlassian Community Link]]
 +
 +
script_fields.1496339775.txt.gz ยท Last modified: 2017/06/01 13:56 by pawel