ブロードキャストメッセージAPI
- 
target_access_levelsGitLab 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"
