I'm trying to edit a few custom fields on a custiom issue type. I have an array of keys for issues, I've queried for the issues, now how in the world do modify the values of the custom fields I'm targeting?
I'm a complete newbe here, so please be gentile :)
Thanks,
Ryan
Hi Ryan, here's a simplified example:
//get custom field FieldManager fieldManager = ComponentManager.getInstance().getFieldManager(); String field = "customfield_10000"; CustomField myCustomField = fieldManager.getCustomField(field); //read value Object val = myCustomField.getCustomFieldType().getValueFromIssue(myCustomField, issue); String customFieldValue = val == null ? "" : val.toString(); //write data to custom field ArrayList<String> customFieldNewContent = new ArrayList<String>(); customFieldNewContent.add("new value"); this.persister.updateValues(fieldStart, issue.getId(), PersistenceFieldType.TYPE_LIMITED_TEXT, customFieldNewContent);
Good luck!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Oh! one more thing, what is the persister reference...
I don't see a type declaration, and I didnt have any luck looking for Persisters...
this.persister.updateValues(fieldStart, issue.getId(), PersistenceFieldType.TYPE_LIMITED_TEXT, customFieldNewContent);
thanks again :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Mea culpa, you need to add the persister to your constructor, here's a snippet from my code:
public class IssueUpdatedListener implements InitializingBean, DisposableBean { private static final Logger log = LoggerFactory.getLogger(IssueUpdatedListener.class); private final EventPublisher eventPublisher; private final CustomFieldValuePersister persister; /** * Constructor. * @param eventPublisher injected {@code EventPublisher} implementation. */ public IssueUpdatedListener(EventPublisher eventPublisher,CustomFieldValuePersister persister) { this.eventPublisher = eventPublisher; this.persister = persister; // <==== this is what you need }
Also, be sure to have the following imports:
import com.atlassian.jira.issue.customfields.persistence.CustomFieldValuePersister; import com.atlassian.jira.issue.customfields.persistence.PersistenceFieldType; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.issue.fields.FieldManager;
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
And what is fieldStart? It doesn't have any declaration as well.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For those who are searching for answer that is up to date in 2017.
Answer is HERE.
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.