Degraded performance Customers may experience intermittent errors using Community search. Our platform vendor is investigating.
It's not the same without you
Join the community to find out what other Atlassian users are discussing, debating and creating.
Hello All,
I tried searching this solution and have yet to come across one,.
Currently what im trying to do is on create transition of a NON Epic issue, i create an EPIC case if a tick box is checked.
I would like to link this issue to the newly created EPIC but is not sure how to get the new EPIC issue key when its created.
Here is the code i have so far:
package IssueCreation import com.atlassian.jira.bc.issue.IssueService import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.IssueInputParameters import com.atlassian.jira.issue.index.IssueIndexManager import com.atlassian.jira.user.ApplicationUser import com.atlassian.jira.user.util.UserManager import com.atlassian.jira.util.ErrorCollection import com.atlassian.jira.issue.MutableIssue import com.atlassian.jira.issue.CustomFieldManager MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject('TEST-462') CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager() IssueService issueService = ComponentAccessor.getIssueService(); IssueInputParameters inputParameters = issueService.newIssueInputParameters(); UserManager userManager = ComponentAccessor.getUserManager(); def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() String firstName = issue.getCustomFieldValue(customFieldManager.getCustomFieldObject(10004)); String lastName = issue.getCustomFieldValue(customFieldManager.getCustomFieldObject(10005)); String caseVal = issue.getCustomFieldValue(customFieldManager.getCustomFieldObject(13013)); if (caseVal == "[Raise New]") { inputParameters .setProjectId(11700) // Case .setIssueTypeId("12301") // Epic .setReporterId(currentUser.name) .setSummary("TEST CASE") .setAssigneeId(currentUser.name) .addCustomFieldValue("customfield_10000", "test ID") .addCustomFieldValue("customfield_13004", "test Case") //.addCustomFieldValue("customfield_13002", issue.key) .addCustomFieldValue("customfield_10004", firstName) .addCustomFieldValue("customfield_10005", lastName) .addCustomFieldValue("customfield_13012", '13712'); IssueService.CreateValidationResult createValidationResult = issueService.validateCreate(currentUser, inputParameters) if(!createValidationResult.isValid()){ ErrorCollection errorCollection = createValidationResult.getErrorCollection(); return errorCollection.toString() } else{ IssueService.IssueResult createResult = issueService.create(currentUser, createValidationResult) IssueIndexManager issueIndexManager = ComponentAccessor.getIssueIndexManager(); issueIndexManager.reIndex(createResult.getIssue()) } }
Many thanks for the help.
Cheers,
Pon
Here is the solution for anyone who needs it:
package IssueCreation import com.atlassian.jira.bc.issue.IssueService import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.IssueInputParameters import com.atlassian.jira.issue.index.IssueIndexManager import com.atlassian.jira.user.ApplicationUser import com.atlassian.jira.user.util.UserManager import com.atlassian.jira.util.ErrorCollection import com.atlassian.jira.issue.MutableIssue import com.atlassian.jira.issue.CustomFieldManager MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject('TEST-462') CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager() IssueService issueService = ComponentAccessor.getIssueService(); IssueInputParameters inputParameters = issueService.newIssueInputParameters(); UserManager userManager = ComponentAccessor.getUserManager(); def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser() String firstName = issue.getCustomFieldValue(customFieldManager.getCustomFieldObject(10004)); String lastName = issue.getCustomFieldValue(customFieldManager.getCustomFieldObject(10005)); String caseVal = issue.getCustomFieldValue(customFieldManager.getCustomFieldObject(13013)); if (caseVal == "[Raise New]") { inputParameters .setProjectId(11700) // Case .setIssueTypeId("12301") .setReporterId(currentUser.name) .setSummary("TEST CASE") .setAssigneeId(currentUser.name) .addCustomFieldValue("customfield_10000", "test ID") .addCustomFieldValue("customfield_13004", "test Case") //.addCustomFieldValue("customfield_13002", issue.key) .addCustomFieldValue("customfield_10004", firstName) .addCustomFieldValue("customfield_10005", lastName) .addCustomFieldValue("customfield_13012", '13712'); IssueService.CreateValidationResult createValidationResult = issueService.validateCreate(currentUser, inputParameters) if(!createValidationResult.isValid()){ ErrorCollection errorCollection = createValidationResult.getErrorCollection(); return errorCollection.toString() } else{ IssueService.IssueResult createResult = issueService.create(currentUser, createValidationResult) IssueIndexManager issueIndexManager = ComponentAccessor.getIssueIndexManager(); issueIndexManager.reIndex(createResult.getIssue()) def newIssue = createResult.getIssue() return newIssue } }
This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.
Read moreAtlas Camp is our developer event which will take place in Barcelona, Spain from the 6th -7th of September . This is a great opportunity to meet other developers and get n...
Connect with like-minded Atlassian users at free events near you!
Find a groupConnect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.
Start an AUGYou're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.