ブロードキャストメッセージ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_atdatetimeいいえ開始時刻(デフォルトはUTCの現在時刻)。ISO 8601形式で指定 (2019-03-15T08:00:00Z)
ends_atdatetimeいいえ終了時刻(デフォルトはUTCの現在時刻から1時間)。ISO 8601形式で指定 (2019-03-15T08:00:00Z)
font文字列です。いいえ前景色の16進コード。
target_access_levels整数の配列いいえブロードキャストメッセージの対象アクセスレベル(ロール)。
target_path文字列です。いいえブロードキャスト・メッセージのターゲット・パス。
broadcast_type文字列です。いいえアピアランスタイプ(デフォルトはバナー)
dismissablebooleanいいえユーザーはメッセージを拒否できますか?

target_access_levelsGitlab::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_atdatetimeいいえ開始時刻(UTC).ISO 8601 フォーマットで指定 (2019-03-15T08:00:00Z)
ends_atdatetimeいいえ終了時刻(UTC).ISO 8601 フォーマット (2019-03-15T08:00:00Z) で指定します。
font文字列です。いいえ前景色の16進コード。
target_access_levels整数の配列いいえブロードキャストメッセージの対象アクセスレベル(ロール)。
target_path文字列です。いいえブロードキャスト・メッセージのターゲット・パス。
broadcast_type文字列です。いいえアピアランスタイプ(デフォルトはバナー)
dismissablebooleanいいえユーザーはメッセージを拒否できますか?

target_access_levelsGitlab::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"