グループラベルAPI
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIは、group labelsの管理をサポートします。これにより、ユーザーはgroup labelsを一覧表示、作成、更新、削除できます。さらに、ユーザーはgroup labelsをサブスクライブおよびサブスクライブ解除できます。
Group labelsの一覧表示
特定のグループのすべてのラベルを取得します。
GET /groups/:id/labels| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス。 |
with_counts | ブール値 | いいえ | イシューとマージリクエストの数を表示するかどうか。falseがデフォルトです。 |
include_ancestor_groups | ブール値 | いいえ | 祖先グループを含めます。trueがデフォルトです。 |
include_descendant_groups | ブール値 | いいえ | 子孫グループを含めます。falseがデフォルトです。 |
only_group_labels | ブール値 | いいえ | group labelsのみを含めるか、プロジェクトラベルも表示するかを切り替えます。trueがデフォルトです。 |
search | 文字列 | いいえ | ラベルをフィルターするキーワード。 |
archived | ブール値 | いいえ | ラベルがアーカイブされているかどうか。設定されていない場合は、すべてのラベルを返します。:labels_archive機能フラグを有効にする必要があります。 |
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,
"archived": 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,
"archived": false
}
]単一のグループラベルを取得
特定のグループの単一のラベルを取得します。
GET /groups/:id/labels/:label_id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス。 |
label_id | 整数または文字列 | はい | グループのラベルのIDまたはタイトル。 |
include_ancestor_groups | ブール値 | いいえ | 祖先グループを含めます。trueがデフォルトです。 |
include_descendant_groups | ブール値 | いいえ | 子孫グループを含めます。falseがデフォルトです。 |
only_group_labels | ブール値 | いいえ | group labelsのみを含めるか、プロジェクトラベルも表示するかを切り替えます。trueがデフォルトです。 |
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,
"archived": false
}新しいグループラベルを作成
特定のグループに新しいgroup labelを作成します。
POST /groups/:id/labels| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス |
name | 文字列 | はい | ラベルの名前 |
color | 文字列 | はい | ラベルの色。先頭が「#」記号の6桁の16進数表記(#FFAABBなど)か、CSSカラー名のいずれかで指定。 |
description | 文字列 | いいえ | ラベルの説明 |
archived | ブール値 | いいえ | ラベルがアーカイブされているかどうか。labels_archive機能フラグを有効にする必要があります。 |
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,
"archived": false
}グループラベルを更新
既存のgroup labelを更新します。少なくとも1つのパラメータは、group labelを更新するために必要です。
PUT /groups/:id/labels/:label_id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列 | はい | グループのラベルのIDまたはタイトル。 |
new_name | 文字列 | いいえ | ラベルの新しい名前 |
color | 文字列 | いいえ | ラベルの色。先頭が「#」記号の6桁の16進数表記(#FFAABBなど)か、CSSカラー名のいずれかで指定。 |
description | 文字列 | いいえ | ラベルの説明。 |
archived | ブール値 | いいえ | ラベルがアーカイブされているかどうか。labels_archive機能フラグを有効にする必要があります。 |
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,
"archived": false
}古いエンドポイントPUT /groups/:id/labels(パラメータにnameがある)はまだ使用できますが、非推奨です。
グループラベルを削除
指定された名前でgroup labelを削除します。
DELETE /groups/:id/labels/:label_id| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列 | はい | グループのラベルのIDまたはタイトル。 |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/labels/bug"古いエンドポイントDELETE /groups/:id/labels(パラメータにnameがある)はまだ使用できますが、非推奨です。
Group labelをサブスクライブする
認証済みユーザーが通知を受信できるように、グループラベルをサブスクライブします。ユーザーがすでにラベルをサブスクライブしている場合、ステータスコード304が返されます。
POST /groups/:id/labels/:label_id/subscribe| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列 | はい | グループのラベルの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,
"archived": false
}Group labelのサブスクライブを解除する
通知を受信しないようにするため、認証済みユーザーをグループラベルからサブスクライブ解除します。ユーザーがラベルをサブスクライブしていない場合、ステータスコード304が返されます。
POST /groups/:id/labels/:label_id/unsubscribe| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | グループのIDまたはURLエンコードされたパス |
label_id | 整数または文字列 | はい | グループのラベルの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,
"archived": false
}