방송 메시지 API
target_access_levels
GitLab 14.8에서 도입됨 플래그와 함께role_targeted_broadcast_messages
라는 이름으로. 기본값으로 비활성화되어 있습니다.color
매개변수 GitLab 15.6에서 제거됨.
방송 메시지 API는 방송 메시지에서 작동합니다.
GET 요청은 인증이 필요하지 않습니다. 모든 다른 방송 메시지 API 엔드포인트는 관리자를 통해서만 접근할 수 있습니다. 비 GET 요청에 대한:
- 게스트는
401 Unauthorized
를 반환합니다. - 일반 사용자는
403 Forbidden
을 반환합니다.
모든 방송 메시지 가져오기
모든 방송 메시지를 나열합니다.
GET /broadcast_messages
예시 요청:
curl "https://gitlab.example.com/api/v4/broadcast_messages"
예시 응답:
[
{
"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 |
정수 | 예 | 검색할 방송 메시지의 ID. |
예시 요청:
curl "https://gitlab.example.com/api/v4/broadcast_messages/1"
예시 응답:
{
"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
}
방송 메시지 생성
새로운 방송 메시지를 생성합니다.
POST /broadcast_messages
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
message |
문자열 | 예 | 표시할 메시지. |
starts_at |
날짜시간 | 아니오 | 시작 시간 (기본값: 현재 UTC 시간). ISO 8601 형식으로 예상 (2019-03-15T08:00:00Z ) |
ends_at |
날짜시간 | 아니오 | 종료 시간 (기본값: 현재 시간에서 1시간 후 UTC). ISO 8601 형식으로 예상 (2019-03-15T08:00:00Z ) |
font |
문자열 | 아니오 | 전경 색상 헥스 코드. |
target_access_levels |
정수 배열 | 아니오 | 방송 메시지의 대상 접근 수준(역할). |
target_path |
문자열 | 아니오 | 방송 메시지의 대상 경로. |
broadcast_type |
문자열 | 아니오 | 표시 유형 (기본값: 배너) |
dismissable |
부울 | 아니오 | 사용자가 메시지를 닫을 수 있습니까? |
target_access_levels
는 Gitlab::Access
모듈에서 정의됩니다.
다음 수준이 유효합니다:
- 게스트 (
10
) - 리포터 (
20
) - 개발자 (
30
) - 유지 관리 (
40
) - 소유자 (
50
)
예시 요청:
curl --data "message=배포 진행 중&target_access_levels[]=10&target_access_levels[]=30" \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/broadcast_messages"
예시 응답:
{
"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
}
방송 메시지 업데이트
기존 방송 메시지를 업데이트합니다.
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 |
문자열 | 아니오 | 전경색 헥스 코드입니다. |
target_access_levels |
정수 배열 | 아니오 | 방송 메시지의 대상 접근 수준(역할)입니다. |
target_path |
문자열 | 아니오 | 방송 메시지의 대상 경로입니다. |
broadcast_type |
문자열 | 아니오 | 모양 유형(기본값은 배너) |
dismissable |
부울 | 아니오 | 사용자가 메시지를 닫을 수 있습니까? |
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 |
정수 | 예 | 삭제할 방송 메시지의 ID입니다. |
예시 요청:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/broadcast_messages/1"