セットに値を追加する
REST API を使用して、特定のプロジェクトのカスタムフィールドの値のセットに新しい値を追加します。REST API では、カスタムフィールドの値のセットを表すエンティティはバンドルと呼ばれます。
要約
必要なすべてのエンティティ ID を取得したら、このエンドポイントに POST リクエストを送信して、バンドルに新しい値を追加できます。
ステップバイステップ
セットに値を追加したいプロジェクトの ID を取得します。手順については、プロジェクト ID を取得するを参照してください。この例では、エンティティ ID が
81-0のプロジェクトTest Projectを使用します。取得したプロジェクト ID を使用して、対象プロジェクトにアタッチされているすべてのカスタムフィールドのリストを取得します。
curl -X GET 'https://example.youtrack.cloud/api/admin/projects/81-0/customFields?fields=id,field(name)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json'fieldsリクエストパラメーターでは、各カスタムフィールドのIDおよびname属性を返すようにサーバーに指示します。このリクエストへの応答で、サーバーは次のデータを返します。
[ { "field": { "name": "Subsystem", "$type": "CustomField" }, "id": "82-0", "$type": "OwnedProjectCustomField" }, { "field": { "name": "Type", "$type": "CustomField" }, "id": "82-2", "$type": "EnumProjectCustomField" }, { "field": { "name": "State", "$type": "CustomField" }, "id": "82-3", "$type": "StateProjectCustomField" }, { "field": { "name": "Fix versions", "$type": "CustomField" }, "id": "82-4", "$type": "VersionProjectCustomField" } ]ターゲットカスタムフィールドの
IDを見つけます。この例では、エンティティ ID82-4のフィールドFix versionsを使用します。最終的な POST リクエストの URL を作成するには、ターゲットフィールドタイプの属性を確認する必要があります。以前に取得したすべてのプロジェクトカスタムフィールドのリストを使用して、応答でフィールドタイプを見つけることができます。
この場合、フィールド
Fix versionsは VersionProjectCustomField タイプです。フィールドバンドルを更新するため、bundle属性が必要です。エンティティとしてのバンドルには、バンドルタイプに応じて確認できる独自の属性があります。
この場合、
VersionProjectCustomFieldのバンドルは VersionBundle です。値のセットを更新するため、values属性が必要です。完全なリクエスト URL を作成します。
/api/admin/projects/81-0/customFields/82-4/bundle/values?fields=id,namefields要求パラメーターでは、追加する値のIDおよびnameを返すようにサーバーに指示します。POST リクエストの本文を作成するには、追加する要素の属性を確認する必要があります。この場合、
VersionBundleには値としてVersionBundleElementsの配列が含まれているため、もう 1 つのVersionBundleElementを配列に追加する必要があります。設定する必要がある唯一の属性は、新しい値の名前です。{ "name": "V.2.0", "$type": "VersionBundleElement" }各リクエストには必ず
$typeパラメーターを含める必要があることに注意してください。POST リクエストにおける$typeの詳細については、ドキュメントを参照してください。POST 要求を使用して、ターゲットカスタムフィールドのバンドルに新しい値を追加します。
curl -X POST 'https://example.youtrack.cloud/api/admin/projects/81-0/customFields/82-4/bundle/values?fields=id,name' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json' \ -d '{"name": "V.2.0", "$type": "VersionBundleElement"}'リクエストが成功すると、次の応答が返されます。
{ "name":"V.2.0", "id":"103-433", "$type":"VersionBundleElement" }付加価値の
ID、name、typeが含まれています。
その結果、Test Project プロジェクトの Fix versions フィールドの値セット(バンドル)に新しい要素を追加しました。
同様の手順に従って、他のフィールドタイプの値セットに新しい値を追加することもできます: BuildBundle、EnumBundle、OwnedBundle、StateBundle。