리소스 상태 이벤트 API
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
- GitLab 13.2에서 도입되었습니다.
리소스 상태 이벤트는 GitLab의 이슈, Merge Request 및 15.4버전부터 시작된 에픽에 발생하는 사건을 추적합니다.
이벤트를 사용하여 설정된 상태, 조작자 및 발생 시간을 추적합니다.
리소스 상태 이벤트 API는 리소스의 초기 상태(“생성” 또는 “열림”)를 추적하지 않습니다. 닫히거나 재개된 리소스의 경우 빈 디렉터리이 반환됩니다.
이슈
프로젝트 이슈 상태 이벤트 디렉터리
특정 이슈에 대한 모든 상태 이벤트 디렉터리을 가져옵니다.
GET /projects/:id/issues/:issue_iid/resource_state_events
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| integer/string | yes | 프로젝트의 ID 또는 URL 인코딩 된 경로 |
issue_iid
| integer | yes | 이슈의 IID |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events"
예시 응답:
[
{
"id": 142,
"user": {
"id": 1,
"name": "관리자",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-20T13:38:20.077Z",
"resource_type": "이슈",
"resource_id": 11,
"state": "열림"
},
{
"id": 143,
"user": {
"id": 1,
"name": "관리자",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "이슈",
"resource_id": 11,
"state": "닫힘"
}
]
단일 이슈 상태 이벤트 가져오기
특정 프로젝트 이슈에 대한 단일 상태 이벤트를 반환합니다.
GET /projects/:id/issues/:issue_iid/resource_state_events/:resource_state_event_id
매개변수:
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| integer/string | yes | 프로젝트의 ID 또는 URL 인코딩 된 경로 |
issue_iid
| integer | yes | 이슈의 IID |
resource_state_event_id
| integer | yes | 상태 이벤트의 ID |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/issues/11/resource_state_events/143"
예시 응답:
{
"id": 143,
"user": {
"id": 1,
"name": "관리자",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "이슈",
"resource_id": 11,
"state": "닫힘"
}
Merge Request
프로젝트 Merge Request 상태 이벤트 디렉터리
단일 Merge Request에 대한 모든 상태 이벤트 디렉터리을 가져옵니다.
GET /projects/:id/merge_requests/:merge_request_iid/resource_state_events
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| integer/string | yes | 프로젝트의 ID 또는 URL 인코딩 된 경로 |
merge_request_iid
| integer | yes | Merge Request의 IID |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events"
예시 응답:
[
{
"id": 142,
"user": {
"id": 1,
"name": "관리자",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-20T13:38:20.077Z",
"resource_type": "Merge Request",
"resource_id": 11,
"state": "열림"
},
{
"id": 143,
"user": {
"id": 1,
"name": "관리자",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "Merge Request",
"resource_id": 11,
"state": "닫힘"
}
]
단일 Merge Request 상태 이벤트 가져오기
특정 프로젝트 Merge Request에 대한 단일 상태 이벤트를 반환합니다.
GET /projects/:id/merge_requests/:merge_request_iid/resource_state_events/:resource_state_event_id
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 프로젝트의 ID 또는 URL 인코딩된 경로 |
merge_request_iid
| integer | yes | Merge Request의 IID |
resource_state_event_id
| integer | yes | 상태 이벤트의 ID |
예제 요청:
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/resource_state_events/120"
예제 응답:
{
"id": 120,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "MergeRequest",
"resource_id": 11,
"state": "closed"
}
에픽
그룹 에픽 상태 이벤트 디렉터리
단일 에픽의 모든 상태 이벤트 디렉터리을 반환합니다.
GET /groups/:id/epics/:epic_id/resource_state_events
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 그룹의 ID 또는 URL 인코딩된 경로. |
epic_id
| integer | yes | 에픽의 ID |
예제 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events"
예제 응답:
[
{
"id": 142,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-20T13:38:20.077Z",
"resource_type": "Epic",
"resource_id": 11,
"state": "opened"
},
{
"id": 143,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "Epic",
"resource_id": 11,
"state": "closed"
}
]
단일 에픽 상태 이벤트 가져오기
특정 그룹 에픽에 대한 단일 상태 이벤트를 반환합니다.
GET /groups/:id/epics/:epic_id/resource_state_events/:resource_state_event_id
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | yes | 그룹의 ID 또는 URL 인코딩된 경로. |
epic_id
| integer | yes | 에픽의 ID |
resource_state_event_id
| integer | yes | 상태 이벤트의 ID |
예제 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/epics/11/resource_state_events/143"
예제 응답:
{
"id": 143,
"user": {
"id": 1,
"name": "Administrator",
"username": "root",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
"web_url": "http://gitlab.example.com/root"
},
"created_at": "2018-08-21T14:38:20.077Z",
"resource_type": "Epic",
"resource_id": 11,
"state": "closed"
}