llms.txt : 機械可読形式のドキュメント索引。このページの Markdown バージョンも利用可能です。

YouTrack 開発者ポータルヘルプ

カスタムフィールドの値セットを置き換える

REST API を使用して、特定のプロジェクト内のカスタムフィールドで使用可能な値のセットを置き換えます。REST API では、カスタムフィールドの値のセットはバンドルエンティティによって表されます。

この操作は、プロジェクトのカスタムフィールドに割り当てられている値のセットを置き換えます。元のセット内の値は編集されません。フィールドにすでに割り当てられている値のセットに値を追加するには、セットに値を追加するを参照してください。

公開 REST API エンドポイントの詳細については、プロジェクトのカスタムフィールドを参照してください。

要約

必要なエンティティ ID を取得したら、このエンドポイントに POST リクエストを送信して、セットを置き換えてください。

/api/admin/projects/{projectID}/customFields/{fieldID}?fields={fields}

リクエスト本文において、bundle 属性に、置換セットの id と $type を含むオブジェクトを設定します。

ステップバイステップ

  1. カスタムフィールドの値セットを置き換えるプロジェクトの ID を取得します。手順については、プロジェクト ID を取得するを参照してください。この例では、エンティティ ID が 0-121 のプロジェクト Sample Project を使用します。

  2. 対象プロジェクトにアタッチされているカスタムフィールドのリストを取得します。プロジェクトのカスタムフィールドを参照してください。

    curl -X GET 'https://example.youtrack.cloud/api/admin/projects/0-121/customFields?fields=id,field(name,fieldType(valueType)),bundle(id,name,$type)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json'

    このようなリクエストに対して、サーバーからは以下の内容を含むレスポンスが返されます。

    [ { "bundle": { "name": "Default Priorities", "id": "86-125", "$type": "EnumBundle" }, "field": { "name": "Priority", "fieldType": { "valueType": "enum", "$type": "FieldType" }, "$type": "CustomField" }, "id": "105-1088", "$type": "EnumProjectCustomField" }, { "bundle": { "name": "Types", "id": "85-12", "$type": "EnumBundle" }, "field": { "name": "Type", "fieldType": { "valueType": "enum", "$type": "FieldType" }, "$type": "CustomField" }, "id": "105-1089", "$type": "EnumProjectCustomField" } ]

    レスポンスの中で、置換したい値のセットを持つフィールドを探します。この例では、エンティティ ID が 105-1088 である Priority フィールドを使用します。

  3. 対象フィールドの値セットに対応する現在の API エンティティタイプを確認してください。置換後の値セットも、同じ API エンティティタイプである必要があります。

    フィールド値の型

    値のセット API エンティティ

    enum

    EnumBundle

    state

    StateBundle

    version

    VersionBundle

    ownedField

    OwnedBundle

    build

    BuildBundle

    user

    UserBundle

  4. フィールドタイプで使用可能な値セットのリストを取得します。列挙型フィールドの場合は、列挙型値セットのエンドポイントを使用してください。列挙型バンドルを参照してください。

    curl -X GET 'https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/enum?fields=id,name,values(id,name)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json'

    そのようなリクエストの場合、次のボディを使用してサーバーからレスポンスを取得します。

    [ { "values": [ { "name": "Show-stopper", "id": "67-0", "$type": "EnumBundleElement" }, { "name": "Critical", "id": "67-1", "$type": "EnumBundleElement" } ], "name": "Default Priorities", "id": "86-125", "$type": "EnumBundle" }, { "values": [ { "name": "Major", "id": "67-2", "$type": "EnumBundleElement" }, { "name": "Normal", "id": "67-3", "$type": "EnumBundleElement" } ], "name": "Priorities", "id": "86-126", "$type": "EnumBundle" } ]

    レスポンス内で置換セットを探します。この例では、エンティティ ID が 86-126 である EnumBundle エンティティで表されるセットを使用します。

  5. 対象プロジェクトのカスタムフィールドの設定を、POST リクエストに置き換えます。

    curl -X POST 'https://example.youtrack.cloud/api/admin/projects/0-121/customFields/105-1088?fields=id,field(name),bundle(id,name,values(id,name),$type),hasRunningJob' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json' \ -d '{"bundle": {"id": "86-126", "$type": "EnumBundle"}}'

    リクエストが成功した場合、レスポンスには、プロジェクトカスタムフィールドと、それに現在関連付けられているセットが含まれます。

    { "bundle": { "name": "Priorities", "id": "86-126", "values": [ { "name": "Major", "id": "67-2", "$type": "EnumBundleElement" }, { "name": "Normal", "id": "67-3", "$type": "EnumBundleElement" } ], "$type": "EnumBundle" }, "field": { "name": "Priority", "$type": "CustomField" }, "hasRunningJob": false, "id": "105-1088", "$type": "EnumProjectCustomField" }
  6. オプション。置換後にプロジェクトのカスタムフィールドを確認してください。

    curl -X GET 'https://example.youtrack.cloud/api/admin/projects/0-121/customFields/105-1088?fields=id,field(name),bundle(id,name,$type),hasRunningJob' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json'

    そのようなリクエストの場合、次のボディを使用してサーバーからレスポンスを取得します。

    { "bundle": { "name": "Priorities", "id": "86-126", "$type": "EnumBundle" }, "field": { "name": "Priority", "$type": "CustomField" }, "hasRunningJob": false, "id": "105-1088", "$type": "EnumProjectCustomField" }

    hasRunningJob が true である場合は、そのフィールドのバックグラウンド処理が完了するまで、このフィールドへの変更は行わないでください。

その結果、プロジェクト内の対象となるカスタムフィールドは、置換された値セットを使用するようになります。

2026 年 10 月 02 日