課題のタグ付けまたはタグ付け解除
YouTrack REST API を使用して、課題タグを追加または削除します。例: この変更を含むビルドが成功したときに、コミットでメンションされている課題にタグを付けることができます。
/api/commands RESTAPI リソースを使用することもできます。詳しくはコマンドを課題に適用するページを参照してください。
要約
課題に特定のタグを追加するには、専用のタグリソースにリクエストを送信してください。これらのリクエストについては、このページで説明しています。
始める前に
課題のタグを更新する前に、タグ付けしたい課題のデータベース ID または人間が読みやすい ID を把握しておいてください。これらの ID の取得方法については、すべての値を含む課題リストを取得するを参照してください。
許可
タグを使用した操作は、タグまたは保存済み検索を作成する、タグまたは保存済み検索を削除する、タグ編集または保存検索、共有タグ、保存された検索、アジャイルボードの権限でカバーされます。
対応する操作を実行するために必要なこれらの権限に加えて、タグの共有設定、つまりタグの readSharingSettings、tagSharingSettings、updateSharingSettings 属性にも注意する必要があります。デフォルトでは、タグはこれらのパラメーターをその所有者に設定して作成されます。タグを共有するには、ユーザーはタグの共有、保存された検索、アジャイルボードの権限を持っている必要があるだけでなく、これらの属性を正しく設定する必要もあります。
ステップバイステップ
以下のセクションでは、課題にタグを追加する方法と、課題からタグを削除する方法を説明します。これらの例では、対象となる課題の ID がすでにわかっていることを前提としています。
課題にタグを付ける
課題にタグを追加するには、タグ ID を取得し、課題タグエンドポイントに POST リクエストを送信します。
課題にタグを付けるには:
現在のユーザーが所有または共有しているすべてのタグのリストを読みます。/api/tags エンドポイントを使用します。
GET /api/tags?{fields}&{$top}&{$skip}ターゲットの課題に追加するタグの名前がわかっている場合は、
query要求パラメーターを使用して、返される結果を絞り込むことができます。GET /api/tags?{fields}&query={tag name}このユースケースでは、
fields要求パラメーターに少なくともidおよびname属性が含まれている必要があります。例:curl -X GET 'https://example.youtrack.cloud/api/tags?fields=id,name' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'それに応じて、サーバーは次のデータを返します。
[ { "name": "Star", "id": "6-1", "$type": "Tag" }, { "name": "To deploy", "id": "6-4", "$type": "Tag" } ]To deployタグを使用してみましょう。そのデータベース ID は6-4です。次に、ターゲットの課題にタグを追加しましょう。そのためには、POST リクエストを /api/issues/{issueID}/tags エンドポイントに送信する必要があり、リクエストペイロードで、課題に追加するタグの ID を指定する必要があります。
ちょっとした注意: データベースまたは人間が読める形式の ID で課題を特定できますが、タグはデータベース ID でしか特定できません。
コミットコメントでメンションされている人間が読める形式の課題 ID が
SP-3967であるとしましょう。次に、この課題にタグを付けるための最小限のサンプルリクエストは次のようになります。curl -X POST 'https://example.youtrack.cloud/api/issues/SP-3967/tags?fields=id,name' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json' \ --data-raw '{"id": “6-4"}'
課題のタグを外す
課題から 1 つ以上(またはすべてのタグ)を削除するには、同じエンドポイント /api/issues/{issueID}/tags?{fields} を使用する必要があります。次のサンプルは、その方法を示しています。
特定のタグを削除する
課題から 1 つの特定のタグを削除するには、この特定のタグの URI への DELETE リクエストを使用します: /api/issues/{issueID}/tags/{tagID} 例:
リクエストが実際にタグを削除したかどうかを確認するには、同じタグの URI に GET リクエストを送信します。
タグが実際に削除された場合は、次のような「見つかりません」という応答が返されるはずです。
課題からすべてのタグを削除する
課題からすべてのタグを削除するなどの一括操作に関しては、課題エンドポイントへの POST リクエストを使用し、リクエストペイロードにタグの空のコレクションを提供する必要があります。例:
このリクエストでは、fields=tags(id,name) パラメーターも提供して、実際にすべてのタグを削除したことを確認しました。リクエストが成功した場合、次のような応答本文が表示されます。
以上です ! ハッピー開発 !