...
These specific classes were not initially added, are available since JEMH 3.3.38
Info | ||
---|---|---|
Due to issues highlighted on the following page,https://thepluginpeople.atlassian.net/wiki/spaces/JEMH/pages/3974856709/Using+Java+17#Classnotfound-exception-when-using-%E2%80%9Cjava.type%E2%80%9D. It means that if you are using Java 17 with Nashorn installed within
|
Code Block |
---|
//create regexp pattern to extract external id
var pattern = Java.type("java.util.regex.Pattern").compile("Case\\s#:\\s([0-9]+)");
var matcher = pattern.matcher(body);
var foundExternalId = "";
//if able to extract issue key, set variable
if (matcher.find()) {
var group = matcher.group(1);
if (group) {
foundExternalId = group;
}
}
var issueWithExternalId = "";
if (foundExternalId) {
print("external ID extracted: "+foundExternalId);
//get the user to run the JQL query as
var user = userManager.getUserByName("admin");
var filter = Java.type("com.atlassian.jira.web.bean.PagerFilter").getUnlimitedFilter();
var builder = Java.type("com.atlassian.jira.jql.builder.JqlQueryBuilder").newBuilder();
//construct the JQL query
var query = builder.where().field("External ID").like(foundExternalId).buildQuery();
//get list of issues (could be empty)
var results = searchService.search(user, query, filter).getIssues();
//get first issue if exists and add via issueKey directive
if (results.size()>0) {
var issue = results[0];
issueWithExternalId = issue.getKey();
print("Found issue using JQL "+query+" : "+issueWithExternalId);
} else {
print("No issues match using JQL: "+query);
}
}
if (!issueWithExternalId.isEmpty()) {
resultMap.put("issueKey",issueWithExternalId)
} else if (!foundExternalId.isEmpty()) {
resultMap.put("External ID",foundExternalId);
} |
Jira 8.0.0
Do note that getIssues() method is no longer supported on Jira 8.x.x and will trigger a ScriptException. The corresponding method has been renamed to getResults() and it can be used as follows:
...