I am trying to do the following:
I have the following script set up on the create transition post-function (via Script Runner):
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
customFieldManager = ComponentManager.getInstance().getCustomFieldManager()
customField = customFieldManager.getCustomFieldObjectByName(“Member ID”)
customField1 = customFieldManager.getCustomFieldObjectByName(“Member First Name”)
customField2 = customFieldManager.getCustomFieldObjectByName(“Member Last Name”)
memberid = issue.getCustomFieldValue(customField)
memberfname = issue.getCustomFieldValue(customField1)
memberlname = issue.getCustomFieldValue(customField1)
Issue issue = issue;
issue.summary = memberid + “: “ + memberfname + " " + memberlname;
but no matter what I do I can't get it to work. It keeps just creating the issue with the default Summary that I put into the description of the Summary field on the particular field configuration in question.
Anyone have suggestions on what I'm doing wrong/how I can get this to work? Your help would be much appreciated! Thanks!
-> answered.
Hi Sara, my problem is quite similiar to your's - still coding and testing. https://answers.atlassian.com/questions/12266549/custom-script-runner-script---not-working-at-all
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Andrey, the summary field is present on the edit screen. I am new to Groovy and don't know how to incorporate the API you referenced - how would you go about writing what I'm trying to do?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It will look like this: import com.atlassian.crowd.embedded.api.User import com.atlassian.jira.bc.issue.IssueService import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.event.type.EventDispatchOption if (issue != null) { org.apache.log4j.Category LOGGER = log; User curUser = ComponentAccessor.getJiraAuthenticationContext().getUser().getDirectoryUser(); IssueService issueService = ComponentAccessor.getIssueService(); issueInputParameters = issueService.newIssueInputParameters(); issueInputParameters.setSummary("Your new summary"); IssueService.UpdateValidationResult updateValidationResult = issueService.validateUpdate(curUser, issue.getId(), issueInputParameters); if (updateValidationResult.isValid()) { IssueService.IssueResult updateResult = issueService.update(curUser, updateValidationResult, EventDispatchOption.DO_NOT_DISPATCH, false); if (updateResult.isValid()) { LOGGER.info("Updated issue " + String.valueOf(issue)); } else { LOGGER.error("Error validating updateResult"); Map<String, String> errors = updateResult.getErrorCollection().getErrors(); for (Map.Entry<String, String> entry : errors.entrySet()) { LOGGER.error(entry.getValue()); } } } else { LOGGER.error("Error validating updateValidationResult"); Map<String, String> errors = updateValidationResult.getErrorCollection().getErrors(); for (Map.Entry<String, String> entry : errors.entrySet()) { LOGGER.error(entry.getValue()); } } }
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Since this is impossible to read...
import com.atlassian.crowd.embedded.api.User import com.atlassian.jira.bc.issue.IssueService import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.event.type.EventDispatchOption if (issue != null) { org.apache.log4j.Category LOGGER = log; User curUser ComponentAccessor.getJiraAuthenticationContext().getUser().getDirectoryUser(); IssueService issueService = ComponentAccessor.getIssueService(); issueInputParameters = issueService.newIssueInputParameters(); issueInputParameters.setSummary("Your new summary"); IssueService.UpdateValidationResult updateValidationResult = issueService.validateUpdate(curUser, issue.getId(), issueInputParameters); if (updateValidationResult.isValid()) { IssueService.IssueResult updateResult = issueService.update(curUser, updateValidationResult, EventDispatchOption.DO_NOT_DISPATCH, false); if (updateResult.isValid()) { LOGGER.info("Updated issue " + String.valueOf(issue)); } else { LOGGER.error("Error validating updateResult"); Map < String, String > errors = updateResult.getErrorCollection().getErrors(); for (Map.Entry < String, String > entry: errors.entrySet()) { LOGGER.error(entry.getValue()); } } } else { LOGGER.error("Error validating updateValidationResult"); Map < String, String > errors = updateValidationResult.getErrorCollection().getErrors(); for (Map.Entry < String, String > entry: errors.entrySet()) { LOGGER.error(entry.getValue()); } } }
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello.
I am using this API in my groovy scripts to update issues in post functions. You also have to keep in mind that summary field should be present on edit issue screen for this to work.
p.s. don't forget to call post function after step "Creates the issue originally"
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.