update custom field of issue with predefined values

Hi,

i got an issue custom field (selectable values:   A, B, C ord D) --> only one selectable.

 

  1. How can i read possible values with JRJC?
  2. How do i set such a value?

6 answers

This widget could not be displayed.
This widget could not be displayed.

thanks, i think you mean this one:

 

for (Map.Entry<String, CimFieldInfo> entry : issueType.getFields().entrySet()) {
			final CimFieldInfo fieldInfo = entry.getValue();
			final String fieldCustomType = fieldInfo.getSchema().getCustom();
			final String fieldType = fieldInfo.getSchema().getType();
			final String fieldId = fieldInfo.getId();

			if ("project".equals(fieldId) || "issuetype".equals(fieldId)) {
				// this field was already set by IssueInputBuilder constructor - skip it
				continue;
			}

			log.log(MessageFormat.format("\t* [{0}] {1}\n\t\t| schema: {2}\n\t\t| required: {3}", fieldId, fieldInfo
					.getName(), fieldInfo.getSchema(), fieldInfo.isRequired()));

			// choose value for this field
			Object value = null;
			final Iterable<Object> allowedValues = fieldInfo.getAllowedValues();
			if (allowedValues != null) {
				log.log("\t\t| field only accepts those values:");
				for (Object val : allowedValues) {
					log.log("\t\t\t* " + val);
				}

 

 

but how do i get all possible values for a special field? (i know the field id)

it's higher up in the same method. issueType.getFields().entrySet() - gives map of all the field types. Values are of CimFieldInfo type, you can call getAllowedValues() method to get available values.

This widget could not be displayed.

If you know the field ID, then pull an issue from that project using GET REST for issue. In the expand parameter specify 'editmeta'. JIRA will give you all the possible values for all select fields and even cascade fields.

This widget could not be displayed.

thanks a lot. It works - specially for CustomFields with a SingleVersionPicker too.

 

But how do i get only Versions, which are not archived?

This widget could not be displayed.

For this you have parse the versions object.

Inside the versions object there will be a value called as 'archived'. If it is set to true then it is an archived version. Else it is not archived.

This widget could not be displayed.

hi is it possible to get all possible values of a custom field without iterating through all projects?

just like this:

CimProject p = new CimProject("MYKEY");

...

 

Suggest an answer

Log in or Sign up to answer
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted Wednesday in Teamwork

What teamwork quotes inspire you?

Hey everyone! My name is Natalie and I'm an editor of the Atlassian Blog and I've got a question for you: What's your favorite quote about teamwork?  We've compiled a list here, along with...

194 views 18 7
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you