ブロードキャストメッセージAPI
-
target_access_levels
GitLab 14.8 で導入されたrole_targeted_broadcast_messages
というフラグ。デフォルトでは無効になっています。 -
color
パラメータはGitLab 15.6で削除されました。
ブロードキャストメッセージAPIはブロードキャストメッセージをオペレーションします。
GitLab 12.8では、GETリクエストは認証を必要としません。その他のブロードキャストメッセージAPIエンドポイントは、管理者のみがアクセスできます。GET以外のリクエスト
- ゲストによるGET以外のリクエストは、
401 Unauthorized
。 - 一般ユーザーの結果は
403 Forbidden
。
すべてのブロードキャスト・メッセージを取得
すべてのブロードキャスト・メッセージを一覧表示します。
GET /broadcast_messages
リクエストの例
curl "https://gitlab.example.com/api/v4/broadcast_messages"
応答例
[
{
"message":"Example broadcast message",
"starts_at":"2016-08-24T23:21:16.078Z",
"ends_at":"2016-08-26T23:21:16.080Z",
"font":"#FFFFFF",
"id":1,
"active": false,
"target_access_levels": [10,30],
"target_path": "*/welcome",
"broadcast_type": "banner",
"dismissable": false
}
]
特定のブロードキャストメッセージを取得
特定のブロードキャスト・メッセージを取得します。
GET /broadcast_messages/:id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 取得するブロードキャストメッセージのID。 |
リクエストの例
curl "https://gitlab.example.com/api/v4/broadcast_messages/1"
応答例
{
"message":"Deploy in progress",
"starts_at":"2016-08-24T23:21:16.078Z",
"ends_at":"2016-08-26T23:21:16.080Z",
"font":"#FFFFFF",
"id":1,
"active":false,
"target_access_levels": [10,30],
"target_path": "*/welcome",
"broadcast_type": "banner",
"dismissable": false
}
ブロードキャストメッセージの作成
新しいブロードキャスト・メッセージを作成します。
POST /broadcast_messages
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
message | 文字列です。 | yes | 表示するメッセージ |
starts_at | datetime | いいえ | 開始時刻(デフォルトはUTCの現在時刻)。ISO 8601形式で指定 (2019-03-15T08:00:00Z ) |
ends_at | datetime | いいえ | 終了時刻(デフォルトはUTCの現在時刻から1時間)。ISO 8601形式で指定 (2019-03-15T08:00:00Z ) |
font | 文字列です。 | いいえ | 前景色の16進コード。 |
target_access_levels | 整数の配列 | いいえ | ブロードキャストメッセージの対象アクセスレベル(ロール)。 |
target_path | 文字列です。 | いいえ | ブロードキャスト・メッセージのターゲット・パス。 |
broadcast_type | 文字列です。 | いいえ | アピアランスタイプ(デフォルトはバナー) |
dismissable | boolean | いいえ | ユーザーはメッセージを拒否できますか? |
target_access_levels
はGitlab::Access
モジュールで定義されています。以下のレベルが有効です:
- ゲスト (
10
) - レポーター (
20
) - 開発者 (
30
) - メンテナー (
40
) - オーナー (
50
)
リクエストの例
curl --data "message=Deploy in progress&target_access_levels[]=10&target_access_levels[]=30" \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/broadcast_messages"
応答例
{
"message":"Deploy in progress",
"starts_at":"2016-08-26T00:41:35.060Z",
"ends_at":"2016-08-26T01:41:35.060Z",
"font":"#FFFFFF",
"id":1,
"active": true,
"target_access_levels": [10,30],
"target_path": "*/welcome",
"broadcast_type": "notification",
"dismissable": false
}
ブロードキャストメッセージの更新
既存のブロードキャストメッセージを更新します。
PUT /broadcast_messages/:id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 更新するブロードキャストメッセージのID。 |
message | 文字列です。 | いいえ | 表示するメッセージ |
starts_at | datetime | いいえ | 開始時刻(UTC).ISO 8601 フォーマットで指定 (2019-03-15T08:00:00Z ) |
ends_at | datetime | いいえ | 終了時刻(UTC).ISO 8601 フォーマット (2019-03-15T08:00:00Z ) で指定します。 |
font | 文字列です。 | いいえ | 前景色の16進コード。 |
target_access_levels | 整数の配列 | いいえ | ブロードキャストメッセージの対象アクセスレベル(ロール)。 |
target_path | 文字列です。 | いいえ | ブロードキャスト・メッセージのターゲット・パス。 |
broadcast_type | 文字列です。 | いいえ | アピアランスタイプ(デフォルトはバナー) |
dismissable | boolean | いいえ | ユーザーはメッセージを拒否できますか? |
target_access_levels
はGitlab::Access
モジュールで定義されています。以下のレベルが有効です:
- ゲスト (
10
) - レポーター (
20
) - 開発者 (
30
) - メンテナー (
40
) - オーナー (
50
)
リクエストの例
curl --request PUT --data "message=Update message" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/broadcast_messages/1"
応答例
{
"message":"Update message",
"starts_at":"2016-08-26T00:41:35.060Z",
"ends_at":"2016-08-26T01:41:35.060Z",
"font":"#FFFFFF",
"id":1,
"active": true,
"target_access_levels": [10,30],
"target_path": "*/welcome",
"broadcast_type": "notification",
"dismissable": false
}
ブロードキャストメッセージの削除
放送メッセージを削除します。
DELETE /broadcast_messages/:id
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 削除するブロードキャストメッセージのID。 |
リクエストの例
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/broadcast_messages/1"