Inline script:
EPAutoLabel.process(issue);
Error Generated:
2017-05-03 09:05:05,852 ERROR [workflow.ScriptWorkflowFunction]:
*************************************************************************************
2017-05-03 09:05:05,864 ERROR [workflow.ScriptWorkflowFunction]: Script function failed on issue: NFRP-47, actionId: 181, file: <inline script>
groovy.lang.MissingPropertyException: No such property: EPAutoLabel for class: Script130
at Script130.run(Script130.groovy:1)
/var/atlassian/application-data/jira/scripts/EPAutoLabel.groovy:
//
// EPAutoLabel.groovy
//
// v1.0.0 2017-04-10 rconner Initial release
//
import com.atlassian.jira.bc.issue.label.LabelService
import com.atlassian.jira.bc.issue.label.LabelService.AddLabelValidationResult
import com.atlassian.jira.component.ComponentAccessor
public class EPAutoLabel
{
static List<String> process(com.atlassian.jira.issue.Issue issue)
{
def matchPerformance = ["web page", "response time", "CSS", "performance", "Javascript"];
def matchReliability = ["synchronous", "web tier", "load balancer"];
def matchSecurity = ["authentication", "password", "encryption", "security", "secure"];
def matchSupportability = ["customer service", "error message"];
List<String> listAddLabels = new ArrayList<String>();
def description = issue.getDescription();
matchPerformance.any {String match ->
if (description.contains(match))
{
listAddLabels.add("NFR-Performance");
return true;
}
}
matchReliability.any {String match ->
if (description.contains(match))
{
listAddLabels.add("NFR-Reliability");
return true;
}
}
matchSecurity.any {String match ->
if (description.contains(match))
{
listAddLabels.add("NFR-Security");
return true;
}
}
matchSupportability.any {String match ->
if (description.contains(match))
{
listAddLabels.add("NFR-Supportability");
return true;
}
}
if (! listAddLabels.isEmpty())
{
def authenticationContext = ComponentAccessor.getJiraAuthenticationContext()
def user = authenticationContext.getLoggedInUser()
def labelService = ComponentAccessor.getComponent(LabelService)
listAddLabels.each {String labelName ->
AddLabelValidationResult validationResult = labelService.validateAddLabel(user, issue.id, labelName)
if (!validationResult.errorCollection.hasAnyErrors())
{
labelService.addLabel(user, validationResult, false)
}
}
}
return listAddLabels;
}
}