I'm currently working on a backend integration that creates Jira issues using the Jira REST API v2, specifically the /rest/api/2/issue and /rest/api/2/issue/bulk endpoints.
I'm able to successfully create issues and populate several custom fields without any problems (e.g., customfield_10201, customfield_10220, customfield_10500, etc.).
However, I'm facing an issue specifically with the custom field 10107, which in our instance corresponds to the Team field.
When I try to send the value for customfield_10107, Jira responds with an error indicating that the operation must be a string, or that the provided payload is invalid for this field.
The same structure works perfectly for other custom fields of type single select / option field.
Sending the field as { "id": "xxxx" }
Sending the field as { "value": "..." }
{ "name": "..." }How can I correctly populate customfield_10107 through the REST API?
Is this field part of some internal/Team-managed functionality that doesn't allow writing via REST API?
Is this field restricted by schema, permissions, or internal Jira Product Discovery / Advanced Roadmaps mappings?
I am creating issues from a backend service using Python (FastAPI).
All other custom fields work normally using the same logic.
Only customfield_10107 fails consistently.
This field is mapped to a "Team" field, used in our organization.
I suspect it may be a special type of field managed by Jira Align / Advanced Roadmaps / Teams management.
If anyone has experience with this specific field type, or knows whether Team fields can be set via REST API, I would really appreciate some guidance.
Thanks in advance!
From what I can tell - you are correct that the "Team" field is a special type. Its not a string or an ID ... its a Team
What I don't know is whether that means its what the REST Documentation is calling a "plan only team" (though I suspect it is).
Check this documentation.
And also note that every REST API Reference page in Atlassian has Postman and Swagger links at the top oif the page. You should be able to find the right payload to create with there assuming the documentaion I am point you to isn't helpful
Hello @Raul Aguirre
Welcome to the Atlassian community.
Your post tags indicate that you are using Data Center. Can you confirm for us that is accurate and you are not using Jira Cloud? If you click on the Help icon in Jira (near your avatar) and select About Jira what information do you get for the version of Jira. If you are using Jira DC then you should see a number like 9.12.17 (for example). If you are using Jira Cloud there will not be a version number.
Are you a Jira Administrator for this environment?
How did you determine that 10107 is the correct ID for the field? It is possible to have multiple fields with the same name in Jira (both DC and Cloud), so it is important to ascertain if you have the correct field ID.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Additionally, I see that your post tags indicate you are using Data Center, but the API endpoint references you provided are for Jira Cloud rather than Data Center.
Can you confirm for use whether you are using Jira Cloud or Jira Data Center?
If you are using Jira Data Center, what version are you using?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Trudy Claspill, thank you for the follow-up.
Yes, we are using Jira Data Center, version 9.12.28.
Regarding the API endpoints: we are using the Jira REST API v2 endpoints (mainly /rest/api/2/issue and /rest/api/2/issue/bulk), which are the standard ones available for Jira Data Center. None of the endpoints we are calling are from Jira Cloud.
About the field ID: I confirmed that customfield_10107 is the correct ID for the Team field by querying this endpoint:
GET https://----/rest/api/2/field/
The response included this:
{
"id": "customfield_10107",
"name": "Team",
"custom": true,
"orderable": true,
"navigable": true,
"searchable": true,
"clauseNames": ["cf[10107]", "Team"],
"schema": {
"type": "any",
"custom": "com.atlassian.teams:rm-teams-custom-field-team",
"customId": 10107
}
}
So yes, customfield_10107 is definitely the Team field.
Let me know if you need any additional details about how the field is configured or used.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you for that additional information.
Can you show us examples of the payload that you are providing with the API calls to show use how you are trying to set the field using id or any other attributes?
Is the Team that you are trying to specify one that was created through the Advanced Roadmaps feature? Is it a Shared Team or a plan-only Team?
When you tried to set the field using "id", how did you obtain the ID for the Team?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Trudy Claspill
I am using this payload, validated with Pydantic to standardize the custom field names:
{
"issues": [
{
"projectKey": "...",
"title": "Title test",
"description": "Description test",
"acceptanceCriteria": [
"ac1 test",
"ac2 test",
"ac3 test"
],
"assignee": "...",
"reporter": "...",
"parentInk": "...",
"requirementType": "...",
"releaseTarget": "...",
"application": "....",
"component": "...",
"team": "...",
"sprint": 1234
}
]
}
Regarding the Team field, I am unsure about the expected format. I have tried sending both ID and string, but Jira returns an error saying that the value must be a string — even when I already send it as a string. So regardless of the format I use, the field is not accepted.
The "schema" for the Team field is:
"schema": {
"type": "any",
"custom": "com.atlassian.teams:rm-teams-custom-field-team",
"customId": 10107
}
The prefix com.atlassian.teams indicates that this is not a regular Jira field, but a special field managed by the Teams/Advanced Roadmaps module. This suggests that the field could correspond to either a Shared Team or a plan-only Team, and Jira expects it to follow the internal format used by Advanced Roadmaps rather than a simple ID or string.
However, I do not know how to confirm this for sure. Would you know how I can verify this to be certain?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
As a disclaimer, I am using Jira Cloud and not Data Center. With that out of the way...
Team is one of those fields where you set it in the JSON with an ID, but do not name the attribute. For example:
"customfield_10107": "abc-123-456-def"
Kind regards,
Bill
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Bill Sheboy, thank you for the follow-up.
I just tried it, passing either the name or the ID.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Just to confirm, neither value worked when you tried it?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, the error message is the same for both inputs:
{
"issues": [],
"errors": [
{
"status": 400,
"elementErrors": {
"errorMessages": [],
"errors": {
"customfield_10107": "operation must be string"
}
},
"failedElementNumber": 0
}
]
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Assuming the field is on the edit issue view, have you checked the editmeta data to learn what it shows for updating the field?
https://docs.atlassian.com/software/jira/docs/api/REST/9.13.0/#api/2/issue-getEditIssueMeta
If that does not help, I am out of ideas on this one.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.