Custom Field ids with restfull API

Martin Cassidy February 6, 2014

I'm writting an application which needs to be able to create tickets using the RESTful API. I'm using the java rest client (version 1.0) to do this. When creating issues, I need to populate two custom fields. At the moment I'm using the custom field id customfield_10021 for example. Am I am able to set the field value by the actual name of the field, or look up the field id by its name in some way. I'm not eager to leave the custom field ids hard coded as I imagine they'll be different on different JIRA instances (we actually have 3 running, a local develoment copy, a test instance and a production instance).

1 answer

1 accepted

4 votes
Answer accepted
Boris Georgiev _Appfire_
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.
February 7, 2014

Hi, here's a sample code for getting field id by name for a project that should help you write your own function:

private String getFieldId(String projectKey, String fieldName) {
		GetCreateIssueMetadataOptions options = new GetCreateIssueMetadataOptionsBuilder()
		.withProjectKeys(projectKey).withExpandedIssueTypesFields().build();
		Iterable<CimProject> metsdata = restClient.getIssueClient().getCreateIssueMetadata(options)
				.claim();
		CimProject cim = metsdata.iterator().next();
		for (CimFieldInfo info : cim.getIssueTypes().iterator().next().getFields().values()) {
			if(info.getName().equals(fieldName)) {
				return info.getId();
			}
		}
		return null;
	}

Martin Cassidy February 9, 2014

Just what I was looking for. Thanks Boris!

Boris Georgiev _Appfire_
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.
February 9, 2014

Would you mark my answer as accepted ?

Thanks!

theepan June 9, 2015

Works, Thanks.

Suggest an answer

Log in or Sign up to answer