Developer Portal for YouTrack and Hub Help

500 Server Error When Updating a Custom Field

This article examines an error that might occur when you update a custom field in an issue using YouTrack REST API.

You can face this error while making requests to different endpoints. This topic describes the most common scenario when you can receive this error message.

Error Message

<class 'requests.exceptions.HTTPError'> - 500 Server Error: Internal Server Error for url: https://example.myjetbrains.com/youtrack/api/issues/YT-6966 error: server_error error_description: class jetbrains.charisma.customfields.complex.state. StateProjectCustomFieldMegaProxy cannot be cast to class jetbrains.charisma.persistence. customfields.IssueCustomField (jetbrains.charisma.customfields.complex.state. StateProjectCustomFieldMegaProxy and jetbrains.charisma.persistence.customfields. IssueCustomField are in unnamed module of loader org.eclipse.jetty.webapp. WebAppClassLoader @7ec9161f)

Request Details

Here are the details about a sample request that might result in this error.

Attribute

Value

Request method

POST

Endpoint

/api/issues/issueID

Request body

{ "customFields":[ { "name": "State", "$type": "StateProjectCustomField", "value": { "name": "Open" } } ] }

HTTP response code

500

Troubleshooting

Here are some possible causes and suggestions on how to overcome this error and update the custom field in the issue.

Cause

Your request tried to update a custom field in an issue, but the request body referred to a custom field in a project.

Solution

Pass the corresponding issue custom field type in the request body.

The error message indicates that in this particular request, YouTrack expects an entity of the IssueCustomField type instead of StateProjectCustomField. Since IssueCustomField is an abstract ancestor for all custom fields in issues, you need to use a type of one of its descendants in the request body. In our case, it's StateIssueCustomField.

Here's the updated request body:

{ "customFields":[ { "name": "State", "$type": "StateIssueCustomField", "value": { "name": "Open" } } ] }

For details about custom field hierarchy in the YouTrack REST API, see Custom Fields in REST API.

Last modified: 23 April 2024