브로드캐스트 메시지 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 UI에 표시되는 배너 및 알림과 상호작용합니다. GET 요청은 인증이 필요하지 않습니다. 모든 브로드캐스트 메시지를 나열합니다. 지정된 브로드캐스트 메시지를 조회합니다. 브로드캐스트 메시지는 타겟팅 설정에 관계없이 API를 통해 공개적으로 접근 가능합니다.
히스토리
이 API를 사용하여 UI에 표시되는 배너 및 알림과 상호작용합니다. 자세한 내용은 브로드캐스트 메시지를 참조하세요.
GET 요청은 인증이 필요하지 않습니다. 다른 모든 브로드캐스트 메시지 API 엔드포인트는 관리자만 접근할 수 있습니다. 비 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,
"theme": "indigo"
}
]
브로드캐스트 메시지 조회#
지정된 브로드캐스트 메시지를 조회합니다.
GET /broadcast_messages/:id
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 | 예 | 조회할 브로드캐스트 메시지의 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,
"theme": "indigo"
}
브로드캐스트 메시지 생성#
브로드캐스트 메시지는 타겟팅 설정에 관계없이 API를 통해 공개적으로 접근 가능합니다. 민감하거나 기밀 정보를 포함하지 마세요. 특정 그룹이나 프로젝트에 개인 정보를 전달하기 위해 브로드캐스트 메시지를 사용하지 마세요.
브로드캐스트 메시지를 생성합니다.
POST /broadcast_messages
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
message |
문자열 | 예 | 표시할 메시지. |
starts_at |
날짜/시간 | 아니요 | 시작 시간 (기본값은 UTC 현재 시간). ISO 8601 형식(2019-03-15T08:00:00Z)으로 예상됩니다. |
ends_at |
날짜/시간 | 아니요 | 종료 시간 (기본값은 UTC 현재 시간으로부터 1시간). ISO 8601 형식(2019-03-15T08:00:00Z)으로 예상됩니다. |
font |
문자열 | 아니요 | 전경색 16진수 코드. |
target_access_levels |
정수 배열 | 아니요 | 브로드캐스트 메시지의 대상 접근 수준 (역할). |
target_path |
문자열 | 아니요 | 브로드캐스트 메시지의 대상 경로. |
broadcast_type |
문자열 | 아니요 | 표시 유형 (기본값은 banner). |
dismissable |
부울 | 아니요 | 사용자가 메시지를 닫을 수 있는지 여부. |
theme |
문자열 | 아니요 | 브로드캐스트 메시지의 색상 테마 (배너만 해당). |
target_access_levels는 Gitlab::Access 모듈에 정의되어 있습니다. 다음 수준이 유효합니다:
- Guest (
10) - Planner (
15) - Reporter (
20) - Security Manager (
25) - Developer (
30) - Maintainer (
40) - Owner (
50)
theme 옵션은 System::BroadcastMessage 클래스에 정의되어 있습니다. 다음 테마가 유효합니다:
indigo(기본값)light-indigobluelight-bluegreenlight-greenredlight-reddarklight
요청 예시:
curl --data "message=Deploy in progress&target_access_levels[]=10&target_access_levels[]=30&theme=red" \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "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,
"theme": "red"
}
브로드캐스트 메시지 업데이트#
브로드캐스트 메시지는 타겟팅 설정에 관계없이 API를 통해 공개적으로 접근 가능합니다. 민감하거나 기밀 정보를 포함하지 마세요. 특정 그룹이나 프로젝트에 개인 정보를 전달하기 위해 브로드캐스트 메시지를 사용하지 마세요.
지정된 브로드캐스트 메시지를 업데이트합니다.
PUT /broadcast_messages/:id
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 | 예 | 업데이트할 브로드캐스트 메시지의 ID. |
message |
문자열 | 아니요 | 표시할 메시지. |
starts_at |
날짜/시간 | 아니요 | 시작 시간 (UTC). ISO 8601 형식(2019-03-15T08:00:00Z)으로 예상됩니다. |
ends_at |
날짜/시간 | 아니요 | 종료 시간 (UTC). ISO 8601 형식(2019-03-15T08:00:00Z)으로 예상됩니다. |
font |
문자열 | 아니요 | 전경색 16진수 코드. |
target_access_levels |
정수 배열 | 아니요 | 브로드캐스트 메시지의 대상 접근 수준 (역할). |
target_path |
문자열 | 아니요 | 브로드캐스트 메시지의 대상 경로. |
broadcast_type |
문자열 | 아니요 | 표시 유형 (기본값은 banner). |
dismissable |
부울 | 아니요 | 사용자가 메시지를 닫을 수 있는지 여부. |
theme |
문자열 | 아니요 | 브로드캐스트 메시지의 색상 테마 (배너만 해당). |
target_access_levels는 Gitlab::Access 모듈에 정의되어 있습니다. 다음 수준이 유효합니다:
- Guest (
10) - Planner (
15) - Reporter (
20) - Developer (
30) - Maintainer (
40) - Owner (
50)
theme 옵션은 System::BroadcastMessage 클래스에 정의되어 있습니다. 다음 테마가 유효합니다:
indigo(기본값)light-indigobluelight-bluegreenlight-greenredlight-reddarklight
요청 예시:
curl --request PUT \
--data "message=Update message" \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "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,
"theme": "indigo"
}
브로드캐스트 메시지 삭제#
지정된 브로드캐스트 메시지를 삭제합니다.
DELETE /broadcast_messages/:id
파라미터:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 | 예 | 삭제할 브로드캐스트 메시지의 ID. |
요청 예시:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/broadcast_messages/1"
