グループラベルAPI
GitLab 11.8 で導入されました。
このAPIはグループラベルの管理をサポートします。ユーザーはグループラベルの一覧、作成、更新、削除ができます。さらに、ユーザーはグループラベルを購読したり、購読を解除したりすることができます。
GitLab 12.7 でレスポンス JSON に
description_html
- が追加されました。グループラベルの一覧
指定されたグループのすべてのラベルを取得します。
GET /groups/:id/labels
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証されたユーザーが所有するグループのID またはURL エンコードされたパス。 |
with_counts | boolean | いいえ | イシューやマージリクエストの数を含めるかどうか。デフォルトはfalse 。(GitLab 12.2 で導入)
|
include_ancestor_groups | boolean | いいえ | 祖先グループを含めます。デフォルトはtrue です。 |
include_descendant_groups | boolean | いいえ | 子孫グループを含めます。デフォルトはfalse 。 GitLab 13.6 で導入。 |
only_group_labels | boolean | いいえ | グループラベルのみを含めるかプロジェクトラベルも含めるかを切り替えます。デフォルトはtrue 。 GitLab 13.6 で導入。 |
search | 文字列です。 | いいえ | ラベルをフィルタリングするキーワード。GitLab 13.6 で導入。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels?with_counts=true"
応答例
[
{
"id": 7,
"name": "bug",
"color": "#FF0000",
"text_color" : "#FFFFFF",
"description": null,
"description_html": null,
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
},
{
"id": 4,
"name": "feature",
"color": "#228B22",
"text_color" : "#FFFFFF",
"description": null,
"description_html": null,
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
]
グループラベルの取得
指定されたグループの単一のラベルを取得します。
GET /groups/:id/labels/:label_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | 認証されたユーザーが所有するグループのID またはURL エンコードされたパス。 |
label_id | 整数または文字列。 | yes | グループのラベルのIDまたはタイトル。 |
include_ancestor_groups | boolean | いいえ | 祖先グループを含めます。デフォルトはtrue です。 |
include_descendant_groups | boolean | いいえ | 子孫グループを含めます。デフォルトはfalse 。 GitLab 13.6 で導入。 |
only_group_labels | boolean | いいえ | グループラベルのみを含めるかプロジェクトラベルも含めるかを切り替えます。デフォルトはtrue 。 GitLab 13.6 で導入。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/bug"
応答例
{
"id": 7,
"name": "bug",
"color": "#FF0000",
"text_color" : "#FFFFFF",
"description": null,
"description_html": null,
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
新しいグループラベルの作成
指定されたグループに新しいグループラベルを作成します。
POST /groups/:id/labels
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
name | 文字列です。 | yes | ラベルの名前 |
color | 文字列です。 | yes | ラベルの色を、先頭の’#’記号付きの6桁の16進数表記(例えば#FFAABB)またはCSSカラー名のいずれかで指定します。 |
description | 文字列です。 | いいえ | ラベルの説明、 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"name": "Feature Proposal", "color": "#FFA500", "description": "Describes new ideas" }' \
"https://gitlab.example.com/api/v4/groups/5/labels"
応答例
{
"id": 9,
"name": "Feature Proposal",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "Describes new ideas",
"description_html": "Describes new ideas",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
グループラベルの更新
既存のグループラベルを更新します。グループラベルを更新するには、少なくとも1つのパラメータが必要です。
PUT /groups/:id/labels/:label_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列。 | yes | グループのラベルのIDまたはタイトル。 |
new_name | 文字列です。 | いいえ | ラベルの新しい名前 |
color | 文字列です。 | いいえ | ラベルの色を、先頭の’#’記号付きの6桁の16進数表記(例えば#FFAABB)またはCSSカラー名のいずれかで指定します。 |
description | 文字列です。 | いいえ | ラベルの説明。 |
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"new_name": "Feature Idea" }' "https://gitlab.example.com/api/v4/groups/5/labels/Feature%20Proposal"
応答例
{
"id": 9,
"name": "Feature Idea",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "Describes new ideas",
"description_html": "Describes new ideas",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}
パラメータに
name
を含む古いエンドポイントPUT /groups/:id/labels
はまだ利用可能ですが、非推奨です。グループラベルの削除
指定した名前のグループラベルを削除します。
DELETE /groups/:id/labels/:label_id
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列。 | yes | グループのラベルのIDまたはタイトル。 |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/bug"
パラメータに
name
を含む古いエンドポイントDELETE /groups/:id/labels
はまだ利用可能ですが、非推奨です。グループラベルの購読
認証済みユーザーをグループラベルに登録し、通知を受け取ります。ユーザーがすでにそのラベルを購読している場合は、ステータスコード304
が返されます。
POST /groups/:id/labels/:label_id/subscribe
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列。 | yes | グループのラベルのIDまたはタイトル。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/9/subscribe"
応答例
{
"id": 9,
"name": "Feature Idea",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "Describes new ideas",
"description_html": "Describes new ideas",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": true
}
グループラベルからの退会
認証済みユーザがグループラベルからの通知を受け取らないようにします。ユーザーがそのラベルを購読していない場合は、ステータスコード304
が返されます。
POST /groups/:id/labels/:label_id/unsubscribe
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数または文字列。 | yes | 認証ユーザーが所有するグループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列。 | yes | グループのラベルのIDまたはタイトル。 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/9/unsubscribe"
応答例
{
"id": 9,
"name": "Feature Idea",
"color": "#FFA500",
"text_color" : "#FFFFFF",
"description": "Describes new ideas",
"description_html": "Describes new ideas",
"open_issues_count": 0,
"closed_issues_count": 0,
"open_merge_requests_count": 0,
"subscribed": false
}