How to set a specific value of the Tempo Account Custom field on the target issue during the cloning postfunction

Jacob Rasmussen March 28, 2017

When a specific transition is executed I have a Postfunction, that will Clone the isse to a different Project, change issuetype and link the issue to the original one. For that I am using the Scriptrunner Postfunction, "Clones an issue and Links"  - This work as intended..

During the cloning, I also need to set a specific Account for the Target issue.

The "Set Custom Field" example (See image) provided in the post function does not work as I am trying to set a string Value in a Custom field that accepts an Account Object. Therefore I need to create an Account object before.

My programming skills are far from sufficient, so I'm hoping that someone can help me writing the script to add to the Additional issue action section.

 Postfunction_CloneAndUpdateAccountOnTargetIssue.PNG 

3 answers

1 accepted

2 votes
Answer accepted
Jacob Rasmussen April 10, 2017

It proved to be too hard, for me to find out how to create the account Object. The Tempo helpdesk does not support custom scripting and could not help me creating the needed Account Object.

I decided to go for the workaround, suggested by Adaptavist service des, to get teh Value of the customfield from another issue that hold the desired value in the custom field.

With my limited progamming skills i managed to put the following together, which does the trick...

import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.MutableIssue; 

IssueManager issueManager = ComponentAccessor.getIssueManager();
CustomField customField_name = customFieldManager.getCustomFieldObjectByName( "Account" ); // CustomfieldName
def issue_x = issueManager.getIssueObject("UD-3483") // Issue ID from which to inherit value from
def value = issue_x.getCustomFieldValue(customField_name) //Retrieves value from defined custom field from specified issue
issue.setCustomFieldValue(customField_name, value) //Writes retrieved customfield value in to target issue
3 votes
JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
March 28, 2017

The tempo guys would need to explain how you retrieve an Account object. The closest I could find is https://answers.atlassian.com/questions/36114783

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events