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

YouTrack 開発者ポータルヘルプ

課題タグを操作する

このページでは、YouTrack でタグを操作するためのサンプルリクエストを示しています。

要約

タグエンドポイントを使用して、YouTrack からタグを読み取り、タグを作成および更新し、タグを削除します。

許可

タグを使用した操作は、次の権限でカバーされます: タグの作成または保存された検索、タグの削除または保存された検索、タグの編集または保存された検索、タグの共有、保存された検索、アジャイルボード。

対応する操作を実行するために必要なこれらの権限に加えて、タグの visibleFor および updateableBy 属性に注意を払う必要があります。デフォルトでは、タグはこれらのパラメーターを所有者に設定して作成されます。タグを共有するには、ユーザーはタグの共有、保存された検索、アジャイルボードの権限を持っているだけでなく、これらの属性を正しく設定する必要があります。

ステップバイステップ

以下のセクションでは、YouTrack REST API を使用して課題タグを読み取り、作成、更新、削除する方法を示します。

タグの GET リクエスト

GET リクエストを使用して、タグを読み取ったり、タグの詳細を調べたり、タグに関連付けられた課題やユーザーを検索したりできます。

タグのリストを取得する

現在のユーザーに表示されているすべてのタグを取得します。これには、ユーザーが作成したタグと、ユーザーと共有されているタグが含まれます。

サンプルリクエスト

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -X GET \ 'https://example.youtrack.cloud/api/tags?fields=id,name,owner(id,name),visibleFor(id,name),updateableBy(id,name),issues(id,idReadable,summary),untagOnResolve&$top=2&$skip=0' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'
応答例

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

[ { "issues": [], "untagOnResolve": false, "owner": { "name": "John Doe", "id": "1-2", "$type": "User" }, "visibleFor": null, "updateableBy": null, "name": "Star", "id": "6-1", "$type": "IssueTag" }, { "issues": [ { "summary": "Example for Get all tags visible to current user", "idReadable": "RAP-1", "id": "2-60", "$type": "Issue" }, { "summary": "Example for Get specific issue tag", "idReadable": "RAP-2", "id": "2-62", "$type": "Issue" } ], "untagOnResolve": false, "owner": { "name": "John Doe", "id": "1-2", "$type": "User" }, "visibleFor": { "name": "All Users", "id": "3-0", "$type": "UserGroup" }, "updateableBy": { "name": "All Users", "id": "3-0", "$type": "UserGroup" }, "name": "GET", "id": "6-4", "$type": "IssueTag" } ]

特定のタグを取得する

タグ ID を使用して、特定のタグの詳細情報をリクエストしてください。

サンプルリクエスト

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -L -X GET 'https://example.youtrack.cloud/api/tags/6-4?fields=id,name,owner(login,name),visibleFor(name,id),issues(idReadable,summary)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'
応答例

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

{ "issues": [ { "idReadable": "SP-45", "summary": "REST API lets you create issues!", "$type": "Issue" }, { "idReadable": "RAP-2", "summary": "Example for Get specific issue tag", "$type": "Issue" }, { "idReadable": "RAP-4", "summary": "New issue with new tag", "$type": "Issue" } ], "owner": { "login": "john.doe", "name": "John Doe", "$type": "User" }, "visibleFor": { "name": "All Users", "id": "3-0", "$type": "UserGroup" }, "name": "GET", "id": "6-4", "$type": "IssueTag" }

特定のタグが付いた課題の一覧を読む

特定のタグが付いたすべての課題を取得するには、以下を使用します。

サンプルリクエスト

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -X GET \ 'https://example.youtrack.cloud/api/tags/6-4/issues?fields=id,idReadable,summary&$top=2' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'
応答例

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

[ { "idReadable": "SP-45", "summary": "REST API lets you create issues!", "id": "2-50", "$type": "Issue" }, { "idReadable": "RAP-2", "summary": "Example for Get specific issue tag", "id": "2-62", "$type": "Issue" }, { "idReadable": "RAP-4", "summary": "New issue with new tag", "id": "2-66", "$type": "Issue" } ]

他のリソースを通じて既存のタグを読む

課題やユーザーのリソースからタグデータを読み取ることもできます。

特定の課題のタグを読む

特定の課題に付随するタグのリストを取得するには、以下のいずれかのリクエストを使用します。

GET /api/issues/{issueID}?fields=tags()
GET /api/issues/{issueID}/tags?{fields}&{$top}&{$skip}
Sample Request

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -X GET 'https://example.youtrack.cloud/api/issues/2-60?fields=tags(id,name)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'
Sample Response

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

{ "tags":[ { "name":"GET", "id":"6-4", "$type":"IssueTag" }, { "name":"issueTags resource", "id":"6-6", "$type":"IssueTag" }, { "name":"must have", "id":"6-7", "$type":"IssueTag" } ], "$type":"Issue" }
ユーザーに属するタグを読む

ユーザーに属するタグのリストを取得するには、以下を使用します。

GET /api/users/{userID}?fields=tags()
Sample Request

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -L -X GET 'https://example.youtrack.cloud/api/users/1-2?fields=tags(id,name,owner(name)),name,login' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'
Sample Response

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

{ "tags":[ { "owner":{ "name":"John Doe", "$type":"User" }, "name":"Star", "id":"6-1", "$type":"IssueTag" }, { "owner":{ "name":"John Doe", "$type":"User" }, "name":"GET", "id":"6-4", "$type":"IssueTag" }, { "owner":{ "name":"John Doe", "$type":"User" }, "name":"issueTags resource", "id":"6-6", "$type":"IssueTag" } ], "login": "john.doe", "name": "John Doe", "$type":"User" }

タグの POST リクエスト

タグの作成、タグ属性の更新、課題作成時のタグの追加には、POST リクエストを使用します。

新規タグを作成する

新しいタグを作成するには、/api/tags エンドポイントへの POST リクエストを使用します。タグを作成するには、少なくとも name 属性を指定する必要があります。

サンプルリクエスト

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -X POST \ 'https://example.youtrack.cloud/api/tags?fields=id,name,owner(id,name),visibleFor(id,name),updateableBy(id,name),issues(id),untagOnResolve' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json' \ -d '{ "name":"Regression" }'
応答例

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

{ "issues":[], "untagOnResolve":false, "owner":{ "name":"John Doe", "id":"1-2", "$type":"User" }, "visibleFor":null, "updateableBy":null, "name":"Regression", "id":"6-11", "$type":"IssueTag" }
  • タグの所有者とは、リクエストの送信に使用される永久トークンを持つユーザーのことです。

  • デフォルトでは、visibleFor と updateableBy は null に設定されています。これは、タグの所有者のみがタグを表示および更新できることを意味します。

特定のタグを更新する

特定のタグを更新するには、たとえば共有したり、複数の課題に添付したりするには、以下を使用します。

POST /api/tags/{tagID}?{fields}
サンプルリクエスト

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -X POST \ 'https://example.youtrack.cloud/api/tags/6-11?fields=id,name,visibleFor(id),issues(id)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -d '{ "issues":[{"id":"2-60"}], "visibleFor":{ "id":"3-0", "$type":"UserGroup" } }'

タグを共有するユーザーとグループを選択するには、以下の URI を使用してください。

  • GET /youtrack/api/groups?fields=id,name

  • GET /youtrack/api/users?fields=id,name

  • GET /youtrack/api/issues?fields=id,summary&query=project:+RAP

応答例

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

{ "issues":[ { "id":"2-60", "$type":"Issue" } ], "visibleFor":{"id":"3-0","$type":"UserGroup"}, "name":"Regression", "id":"6-11", "$type":"IssueTag" }

新しい課題を作成してタグ付けする

新しい課題を作成し、既存のタグを付けるには、/api/issues エンドポイントに POST リクエストを送信し、リクエストペイロードに少なくとも以下の属性を含めてください。

  • project : 課題を作成するプロジェクトの ID または名前。

  • summary : 課題の概要。

  • tags : 課題に追加する 1 つ以上のタグ。

サンプルリクエスト

以下のリクエストは、この操作を行うための API 呼び出しを示しています。

curl -X POST \ 'https://example.youtrack.cloud/api/issues?fields=id,summary,tags(id,name)' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>' \ -H 'Content-Type: application/json' \ -d '{ “project": { “id":"0-2" }, “summary": “New issue with existing tag", “tags": [ { “id": “6-11" } ] }'
  • プロジェクト ID を取得するには、プロジェクト ID を取得するを参照してください。

  • タグ ID を取得するには、クエリパラメーターを指定して GET tags リクエストを使用します。

    GET /youtrack/api/tags?fields=id&query={tag name}
応答例

リクエストが成功した場合、レスポンスには以下のサンプルと同様のデータが含まれます。

{ "summary":"New issue with existing tag", "tags":[ { "name":"Regression", "id":"6-11", "$type":"IssueTag" } ], "id":"2-66", "$type":"Issue" }

DELETE タグのリクエスト

YouTrack からタグを削除するには、DELETE リクエストを使用します。

タグを削除するには

  1. 特定のタグエンドポイントに DELETE リクエストを送信します。

    /api/tags/{tagID}
    curl -X DELETE 'https://example.youtrack.cloud/api/tags/6-14' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'
  2. タグがシステムから削除されたことを確認するには、削除されたタグと同じ URI に GET リクエストを送信します。

    curl -X GET 'https://example.youtrack.cloud/api/tags/6-14' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer <YouTrack_token>'

これに対し、サーバーは応答本文に以下のエラーを返します。

{ "error":"Not Found", "error_description":"Entity with id 6-14 not found" }
2026 年 10 月 02 日