Hi,
I found alot of information already but i can not get things to work. What I am trying to achieve is that when the Urgency of impact is changed, the priority is seat to the proper value. When a user saves the issue, priority should be stored as well.
I created a scripted field and I can show the desired values in this field. And it behaves exactly how I want it to behave. Next step is to check if I can update the priority as well just as described. When this works the scripted field will be hidden for regular users.
I am aware that I can use a post script as well, but this is not always going to update the priority just like the standaard automation in JIRA servicedesk. So that always can cause wrong interpretations.
The code I am using is shown below. Am I missing something? Is it possible?
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.IssueInputParametersImpl import com.atlassian.jira.issue.customfields.option.Option import com.atlassian.jira.issue.MutableIssue // This is a two dimensional map to represent the matrix // Keys along left is urgency and second dimension keys is the impact def priorityMatrix = [ Cosmetisch: ["0..1 Gebruikers": "5", "2..5 Gebruikers": "5", "5+ Gebruikers": "4"], Hinderlijk: ["0..1 Gebruikers": "5", "2..5 Gebruikers": "4", "5+ Gebruikers": "3"], Blokkerend: ["0..1 Gebruikers": "4", "2..5 Gebruikers": "3", "5+ Gebruikers": "7"], ] def customFieldManager = ComponentAccessor.getCustomFieldManager() def constantsManager = ComponentAccessor.getConstantsManager() def issueService = ComponentAccessor.getIssueService() def user = ComponentAccessor.getJiraAuthenticationContext().getUser() //def issue = issue as Issue def urgencyField = customFieldManager.getCustomFieldObjectByName("Urgency") def impactField = customFieldManager.getCustomFieldObjectByName("Impact") def urgency = issue.getCustomFieldValue(urgencyField) as Option def impact = issue.getCustomFieldValue(impactField) as Option String priorityName = priorityMatrix[urgency.value][impact.value] String issuetype = issue.issueTypeObject.name def MutableIssue mutableIssue = (MutableIssue) issue if (issuetype == "Incident") { return priorityName mutableIssue.setPriorityId(priorityName) }
Thanks, I will look into that.
Meanwhile i will post this question tot the proper forum (adaptavist).
Hi,
You can try to call the store() method after setting the priority, but it's recommended to use the issueservice as described here:
Hope it helps
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
i think that you need to move the return statment to the bottom of the code too
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.