I need to make a transition (Open > Backlog) and change a custom field "time" depending on the value of the custom field "module".
Example that works with Script Runner:
def cfsat = customFieldManager.getCustomFieldObjects (issue) .find {it.name == 'Module'}
def module = issue.getCustomFieldValue (cfsat)
def time = ''
switch (module) {
case 'Satelite - AUD': A: {
time = 'timeaud'
break
}
case 'Satelite - Conector': B: {
time = 'timeconector'
break
}
case 'Satelite - Consulta': C: {
time = 'timeconsulta'
break
}
}
But Script Runner is now paid to work with Jira 7. So, I installed Automation JIRA plugin but it does not make the conditions: switch, if..else, etc.
Some help to make a transition (Open > Backlog) and change custom field (time) depending on the value of another custom field (modulo) ?
Thanks.
Hi Chander Inguva,
I already have a solution with Script Runner (example above) in Jira 6.3.15. But it is no longer free.
I need a free solution for Jira 7. Any help?
Hi SITEC,
Currently I have only tested against Script Runner
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.*;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.util.IssueChangeHolder
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder;
import com.atlassian.jira.issue.ModifiedValue as ModifiedValue;
//Managers
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
IssueManager issueManager = ComponentAccessor.getIssueManager();
//UserManager userManager = ComponentAccessor.getUserManager();
IssueFactory issueFactory = ComponentAccessor.getIssueFactory();
//User user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();
//SubTaskManager subTaskManager = ComponentAccessor.getSubTaskManager();
//IssueLinkManager issueLinkManager = ComponentAccessor.getIssueLinkManager();
//IssueLinkTypeManager issueLinkTypeManager = (IssueLinkTypeManager)ComponentAccessor.getComponentOfType(IssueLinkTypeManager.class)
MutableIssue mIssue = issueFactory.getIssue();
Issue issue = issueManager.getIssueObject("SRT-8");
def source = customFieldManager.getCustomFieldObject("customfield_14700");
//return tgtField;
sourceValue = issue.getCustomFieldValue(source)
//return sourceValue;
if (sourceValue*.value.contains("Satelite"))
{
def tgtField = customFieldManager.getCustomFieldObject("customfield_14701");
def changeHolder = new DefaultIssueChangeHolder();
tgtField.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(tgtField), "some new value"),changeHolder);
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.