The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Hi Team,
We have a single select field ( T-Shirt Size) and based on the size selected 'Story point' Field must be updated automatically.
if it S then it should be 1, M is 2 and L is 3 and so on. Can this be done using Script Runner.
Please do let us know.
Hi @M Vijay Kumar ,
I would suggest to use behaviours, it would make things visual for your users. Make story points read only, and use this script for the select list (update the ids) :
import com.atlassian.jira.component.ComponentAccessor
int selectListId = 12503
def selectList = getFieldById("customfield_" + selectListId)
def selectListValue = selectList.getValue()
int storyPointsId = 10002
def storyPoints = getFieldById("customfield_" + storyPointsId)
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def storyPointsValue
switch(selectListValue){
case "S": storyPointsValue = 1; break;
case "M": storyPointsValue = 2; break;
case "L": storyPointsValue = 3; break;
default: storyPointsValue = underlyingIssue?.getCustomFieldValue(customFieldManager.getCustomFieldObject(storyPointsId))
}
storyPoints.setFormValue(storyPointsValue)
Antoine
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @M Vijay Kumar ,
Yes you can
1. If you want only during creation you can go with script runner post-function
2. if you want even during Edit action as well you can consider scriptrunner listener for "Issue created and Issue Updated" events.
below snippet may help you, BTW I haven't tested you may need to correct something
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
def changeHolder = new DefaultIssueChangeHolder();
def tShirt = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("T-Shirt Size")
def story = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("Story Point")
def myIssue = event.issue
String size = myIssue.getCustomFieldValue(tShirt) as String
def point = null
if(size){
if(size == "S"){
point = 1
}else if(size == "M"){
point = 2
}else{
point = 3
}
}
if(point){
story.updateValue(null, myIssue, new ModifiedValue(myIssue.getCustomFieldValue(story),point), changeHolder)
}
BR,
Leo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello everyone, Hope everyone is safe! A few months ago we posted an article sharing all the new articles and documentation that we, the AMER Jira Service Management team created. As mentioned ...
Connect with like-minded Atlassian users at free events near you!
Find an eventConnect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.
Host an eventYou're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.