이슈 링크 API
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
이 API를 사용하여 이슈 링크를 관리합니다. 지정한 이슈에 연결된 이슈를 모두 나열하며, 관계 생성 일시 오름차순으로 정렬합니다. 지정한 이슈 링크의 상세 정보를 조회합니다. 두 이슈 사이에 양방향 관계를 생성합니다. 지정한 이슈 링크를 삭제하여 양방향 관계를 제거합니다.
이 API를 사용하여 이슈 링크를 관리합니다.
모든 이슈 링크 나열#
지정한 이슈에 연결된 이슈를 모두 나열하며, 관계 생성 일시 오름차순으로 정렬합니다. 이슈는 사용자 권한에 따라 필터링됩니다.
GET /projects/:id/issues/:issue_iid/links
매개변수:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
issue_iid |
integer | 예 | 프로젝트 이슈의 내부 ID |
[
{
"id" : 84,
"iid" : 14,
"issue_link_id": 1,
"project_id" : 4,
"created_at" : "2016-01-07T12:44:33.959Z",
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"labels" : [
"bug"
],
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"milestone" : null,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://example.com/example/example/issues/14",
"confidential": false,
"weight": null,
"link_type": "relates_to",
"link_created_at": "2016-01-07T12:44:33.959Z",
"link_updated_at": "2016-01-07T12:44:33.959Z"
}
]
이슈 링크 조회#
히스토리
id응답 속성이 GitLab 18.9에서 도입되었습니다.
지정한 이슈 링크의 상세 정보를 조회합니다.
GET /projects/:id/issues/:issue_iid/links/:issue_link_id
지원되는 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
issue_iid |
integer | 예 | 프로젝트 이슈의 내부 ID 입니다. |
issue_link_id |
integer or string | 예 | 이슈 관계의 ID 입니다. |
응답 본문 속성:
| 속성 | 유형 | 설명 |
|---|---|---|
id |
integer | 이슈 링크의 ID 입니다. |
source_issue |
object | 관계의 소스 이슈 상세 정보입니다. |
target_issue |
object | 관계의 타깃 이슈 상세 정보입니다. |
link_type |
string | 관계의 유형입니다. 가능한 값은 relates_to, blocks, is_blocked_by 입니다. |
요청 예시:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/84/issues/14/links/1"
응답 예시:
{
"id": 1,
"source_issue" : {
"id" : 83,
"iid" : 11,
"project_id" : 4,
"created_at" : "2016-01-07T12:44:33.959Z",
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"labels" : [
"bug"
],
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://example.com/example/example/issues/11",
"confidential": false,
"weight": null
},
"target_issue" : {
"id" : 84,
"iid" : 14,
"project_id" : 4,
"created_at" : "2016-01-07T12:44:33.959Z",
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"labels" : [
"bug"
],
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://example.com/example/example/issues/14",
"confidential": false,
"weight": null
},
"link_type": "relates_to"
}
이슈 링크 생성#
히스토리
id응답 속성이 GitLab 18.9에서 도입되었습니다.
두 이슈 사이에 양방향 관계를 생성합니다. 요청이 성공하려면 사용자가 두 이슈를 모두 업데이트할 수 있어야 합니다.
POST /projects/:id/issues/:issue_iid/links
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
issue_iid |
integer | 예 | 프로젝트 이슈의 내부 ID |
target_project_id |
integer or string | 예 | 타깃 프로젝트의 ID 또는 URL 인코딩된 경로 |
target_issue_iid |
integer or string | 예 | 타깃 프로젝트 이슈의 내부 ID |
link_type |
string | 아니요 | 관계의 유형(relates_to, blocks, is_blocked_by)이며, 기본값은 relates_to 입니다. |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/4/issues/1/links?target_project_id=5&target_issue_iid=1"
응답 예시:
{
"id": 1,
"source_issue" : {
"id" : 83,
"iid" : 11,
"project_id" : 4,
"created_at" : "2016-01-07T12:44:33.959Z",
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"labels" : [
"bug"
],
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://example.com/example/example/issues/11",
"confidential": false,
"weight": null
},
"target_issue" : {
"id" : 84,
"iid" : 14,
"project_id" : 4,
"created_at" : "2016-01-07T12:44:33.959Z",
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"labels" : [
"bug"
],
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://example.com/example/example/issues/14",
"confidential": false,
"weight": null
},
"link_type": "relates_to"
}
이슈 링크 삭제#
히스토리
id응답 속성이 GitLab 18.9에서 도입되었습니다.
지정한 이슈 링크를 삭제하여 양방향 관계를 제거합니다.
DELETE /projects/:id/issues/:issue_iid/links/:issue_link_id
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로 |
issue_iid |
integer | 예 | 프로젝트 이슈의 내부 ID |
issue_link_id |
integer or string | 예 | 이슈 관계의 ID |
link_type |
string | 아니요 | 관계의 유형(relates_to, blocks, is_blocked_by)이며, 기본값은 relates_to 입니다 |
{
"id": 1,
"source_issue" : {
"id" : 83,
"iid" : 11,
"project_id" : 4,
"created_at" : "2016-01-07T12:44:33.959Z",
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"labels" : [
"bug"
],
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://example.com/example/example/issues/11",
"confidential": false,
"weight": null
},
"target_issue" : {
"id" : 84,
"iid" : 14,
"project_id" : 4,
"created_at" : "2016-01-07T12:44:33.959Z",
"title" : "Issues with auth",
"state" : "opened",
"assignees" : [],
"assignee" : null,
"labels" : [
"bug"
],
"author" : {
"name" : "Alexandra Bashirian",
"avatar_url" : null,
"state" : "active",
"web_url" : "https://gitlab.example.com/eileen.lowe",
"id" : 18,
"username" : "eileen.lowe"
},
"description" : null,
"updated_at" : "2016-01-07T12:44:33.959Z",
"milestone" : null,
"subscribed" : true,
"user_notes_count": 0,
"due_date": null,
"web_url": "http://example.com/example/example/issues/14",
"confidential": false,
"weight": null
},
"link_type": "relates_to"
}