Developer Portal for YouTrack and Hub Help

Project Custom Fields

This resource lets you access and configure custom fields in the specific project.

Resource

/api/admin/projects/{projectID}/customFields

Returned entity

ProjectCustomField. For the description of the entity attributes, see Supported Fields section.

Supported methods

ProjectCustomField attributes

Represents settings for custom fields in a particular project.

Related Resources

Below you can find the list of resources that let you work with this entity.

Attributes

This table describes attributes of the ProjectCustomField entity.

  • To receive an attribute in the response from the server, specify it explicitly in the fields request parameter.

  • To update an attribute, provide it in the body of a POST request.

Field

Type

Description

id

String

The ID of the project custom field. Read-only.

field

CustomField

The custom field in the project. Read-only. Can be null.

project

Project

The project where the custom field belongs. Read-only. Can be null.

canBeEmpty

Boolean

If true, the custom field can have empty value, otherwise false.

emptyFieldText

String

The text that is shown as a placeholder when the custom field has an empty value. Can be null.

ordinal

Int

The position number of this field on the list of project custom fields.

isPublic

Boolean

If true, the basic Read Issue and Update Issue permissions are sufficient to access this field. If false, the Read Issue Private Fields and Update Issue Private Fields permissions are required.

hasRunningJob

Boolean

If true, there is a background job running for this field. In this case, some field operations may be temporary inaccessible. Read-only.

condition

CustomFieldCondition

The condition for showing the custom field. Can be null.

Read a List of ProjectCustomFields

Read the list of custom fields that are attached to a specific project.

Request syntax

GET /api/admin/projects/{projectID}/customFields?{fields}&{$top}&{$skip}

Request parameters

Parameter

Type

Description

fields

String

A list of ProjectCustomField attributes that should be returned in the response. If no field is specified, only the entityID is returned.

$skip

Int

Optional. Lets you set a number of returned entities to skip before returning the first one.

$top

Int

Optional. Lets you specify the maximum number of entries that are returned in the response. If you don't set the $top value, the server limits the maximum number of returned entries.

The server returns a maximum of 42 entries for most resources that return collections. For more information, see Pagination.

Sample

Sample request

https://example.youtrack.cloud/api/admin/projects/0-0/customFields?$top=5&fields=id,field(name,fieldType($type)),project(shortName),canBeEmpty,isPublic

Sample response body

[ { "field": { "fieldType": { "$type": "FieldType" }, "name": "Subsystem", "$type": "CustomField" }, "project": { "shortName": "NP", "$type": "Project" }, "canBeEmpty": true, "isPublic": true, "id": "82-8", "$type": "OwnedProjectCustomField" }, { "field": { "fieldType": { "$type": "FieldType" }, "name": "Priority", "$type": "CustomField" }, "project": { "shortName": "NP", "$type": "Project" }, "canBeEmpty": true, "isPublic": true, "id": "82-9", "$type": "EnumProjectCustomField" }, { "field": { "fieldType": { "$type": "FieldType" }, "name": "Type", "$type": "CustomField" }, "project": { "shortName": "NP", "$type": "Project" }, "canBeEmpty": false, "isPublic": true, "id": "82-10", "$type": "EnumProjectCustomField" }, { "field": { "fieldType": { "$type": "FieldType" }, "name": "State", "$type": "CustomField" }, "project": { "shortName": "NP", "$type": "Project" }, "canBeEmpty": false, "isPublic": true, "id": "82-11", "$type": "StateProjectCustomField" }, { "field": { "fieldType": { "$type": "FieldType" }, "name": "Fix versions", "$type": "CustomField" }, "project": { "shortName": "NP", "$type": "Project" }, "canBeEmpty": true, "isPublic": true, "id": "82-12", "$type": "VersionProjectCustomField" }, { "field": { "fieldType": { "$type": "FieldType" }, "name": "Assignee", "$type": "CustomField" }, "project": { "shortName": "NP", "$type": "Project" }, "canBeEmpty": true, "isPublic": true, "id": "84-111", "$type": "UserProjectCustomField" } ]

Add a New ProjectCustomField

Attach the custom field to the project.

Required fields: field (id) – the database ID of the CustomField prototype that you're attaching to the project, $type – the type of the ProjectCustomField that YouTrack will create as the result of this request. For the mapping between the prototype field type and the ProjectCustomField $type, see Type Mapping for Custom Fields.

Required permissions

Requires permissions: Update Project

Request syntax

POST /api/admin/projects/{projectID}/customFields?{fields}

Request parameters

Parameter

Type

Description

fields

String

A list of ProjectCustomField attributes that should be returned in the response. If no field is specified, only the entityID is returned.

Sample

Sample request

https://example.youtrack.cloud/api/admin/projects/81-1/customFields?fields=field(fieldType(valueType,id),name,id)

Sample request body

{ "field": { "name": "Last message related emails", "id": "46-21", "$type": "CustomField" }, "$type": "SimpleProjectCustomField" }

Sample response body

{ "field": { "fieldType": { "valueType": "string", "id": "string", "$type": "FieldType" }, "name": "Last message related emails", "id": "46-21", "$type": "CustomField" }, "$type": "SimpleProjectCustomField" }
Last modified: 15 March 2024