Hi Community!
After my question was ignored (https://community.atlassian.com/t5/Portfolio-for-Jira-questions/How-to-display-the-team-field-from-the-portfolio-plugin-in-a-pie/qaq-p/902737). I decided to customize this solution by copying the fields.
Now I need to use this script in a listener script Runner (Events = issueUpdate):
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.rm.teams.core.team.data.DefaultTeam
MutableIssue issue = issue
//Получаем поля\значения ("Команда"\"Team_Tempo_filed")
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def CFportfolioTeam = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Team")
def select_singlechoice_field = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Команда")
def team_value = issue.getCustomFieldValue (CFportfolioTeam)
def grp =(DefaultTeam) issue.getCustomFieldValue(CFportfolioTeam)
def teamPortfolio = grp.getDescription().getTitle()
// Получаем значение опций каждой команды из Customfield "Команда"
def fieldConfig1 = select_singlechoice_field.getRelevantConfig(issue)
def Options_1 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PO" }
def fieldConfig2 = select_singlechoice_field.getRelevantConfig(issue)
def Options_2 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "MT" }
def fieldConfig3 = select_singlechoice_field.getRelevantConfig(issue)
def Options_3 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "ORM-Tomsk" }
def fieldConfig4 = select_singlechoice_field.getRelevantConfig(issue)
def Options_4 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "UAdmin" }
def fieldConfig5 = select_singlechoice_field.getRelevantConfig(issue)
def Options_5 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "UI" }
def fieldConfig6 = select_singlechoice_field.getRelevantConfig(issue)
def Options_6 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT" }
def fieldConfig7 = select_singlechoice_field.getRelevantConfig(issue)
def Options_7 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT_1" }
def fieldConfig8 = select_singlechoice_field.getRelevantConfig(issue)
def Options_8 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT_2" }
def fieldConfig9 = select_singlechoice_field.getRelevantConfig(issue)
def Options_9 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT_AR" }
//Присваиваем значение полей исходя из условий
if (teamPortfolio == "Core-PO")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_1)
}
else if (teamPortfolio == "Core-ORM-MT")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_2)
}
else if (teamPortfolio == "Core-ORM-Tomsk")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_3)
}
else if (teamPortfolio == "Core-ORM-UAdmin")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_4)
}
else if (teamPortfolio == "Core-UI")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_5)
}
else if (teamPortfolio == "Core-PDT")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_6)
}
else if (teamPortfolio == "Core-PDT-1")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_7)
}
else if (teamPortfolio == "Core-PDT-2")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_8)
}
else if (teamPortfolio == "Core-PDT-AR")
{
issue.setCustomFieldValue(select_singlechoice_field, Options_9)
}
But after insert in listener it's script don't work. The log does not contain errors, the script does not work :(
I tried change my script like so:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.rm.teams.core.team.data.DefaultTeam
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
def issue = event.issue as Issue
//Получаем поля\значения ("Команда"\"Team_Tempo_filed")
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def CFportfolioTeam = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Team")
def select_singlechoice_field = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Команда")
def team_value = issue.getCustomFieldValue (CFportfolioTeam)
def grp =(DefaultTeam) issue.getCustomFieldValue(CFportfolioTeam)
def teamPortfolio = grp.getDescription().getTitle()
// Получаем значение опций каждой команды из Customfield "Команда"
def fieldConfig1 = select_singlechoice_field.getRelevantConfig(issue)
def Options_1 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PO" }
def fieldConfig2 = select_singlechoice_field.getRelevantConfig(issue)
def Options_2 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "MT" }
def fieldConfig3 = select_singlechoice_field.getRelevantConfig(issue)
def Options_3 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "ORM-Tomsk" }
def fieldConfig4 = select_singlechoice_field.getRelevantConfig(issue)
def Options_4 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "UAdmin" }
def fieldConfig5 = select_singlechoice_field.getRelevantConfig(issue)
def Options_5 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "UI" }
def fieldConfig6 = select_singlechoice_field.getRelevantConfig(issue)
def Options_6 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT" }
def fieldConfig7 = select_singlechoice_field.getRelevantConfig(issue)
def Options_7 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT_1" }
def fieldConfig8 = select_singlechoice_field.getRelevantConfig(issue)
def Options_8 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT_2" }
def fieldConfig9 = select_singlechoice_field.getRelevantConfig(issue)
def Options_9 = ComponentAccessor.optionsManager.getOptions(fieldConfig1)?.find { it.toString() == "PDT_AR" }
def changeHolder = new DefaultIssueChangeHolder()
//Присваиваем значение полей исходя из условий
if (teamPortfolio == "Core-PO")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_1),changeHolder)
}
else if (teamPortfolio == "Core-ORM-MT")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_2),changeHolder)
}
else if (teamPortfolio == "Core-ORM-Tomsk")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_3),changeHolder)
}
else if (teamPortfolio == "Core-ORM-UAdmin")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_4),changeHolder)
}
else if (teamPortfolio == "Core-UI")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_5),changeHolder)
}
else if (teamPortfolio == "Core-PDT")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_6),changeHolder)
}
else if (teamPortfolio == "Core-PDT-1")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_7),changeHolder)
}
else if (teamPortfolio == "Core-PDT-2")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_8),changeHolder)
}
else if (teamPortfolio == "Core-PDT-AR")
{
select_singlechoice_field.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(select_singlechoice_field), Options_9),changeHolder)
}
But it did not help...
What i do incorrect?
Help please make the script working!
Jira version: 7.3.7
ScriptRunner version: 5.4.12
Can @Thanos Batagiannis [Adaptavist], @JamieA or some of the other Adaptavist guys please help solve the problem?
You could put in some log points to pinpoint down where the script is failing.
log.debug("Point 1")
... Some code ...
log.debug("Point 2")
... Some more code ...
log.debug("Point 3")
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
history: "Has not run yet"
It does not start :(
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Are you sure you are tying into the correct events? It sounds like you tied into issue updated. Do you want issue created as well? If you are not triggering the event it won't run.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I did a bit of searching and it looks like the com.atlassian.rm.teams.core.team.data.DefaultTeam import is/was related to Portfolio. However, I have Software and Portfolio on my system and it cannot resolve the import on my system. It errors on that line for me. Does it not error in your system?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Davin Studer
I want to create a listener who will listen to Update issue.
I need this package (DefaultTeam) because we need take value in plugin field.
I have no mistakes:
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Alexander!
I don't think anyone is actively ignoring you, but these are pretty specific questions about specific plugins and apps. Remember for plugins, you can also directly contact the vender of that plugin for support.
Support contacts are found on the Marketplace page of that plugin.
https://marketplace.atlassian.com/apps/6820/scriptrunner-for-jira?hosting=cloud&tab=support
That said, I hope some Community memebers, way more knowledgeable about Scriptrunner, can help you out with your questions soon.
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.
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.