그룹 이슈 보드 API

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

그룹 이슈 보드로의 모든 API 호출은 인증되어야 합니다.

사용자가 그룹의 구성원이 아니고 그룹이 비공개인 경우 GET 요청은 404 상태 코드로 결과됩니다.

그룹의 모든 이슈 보드 목록

지정된 그룹의 이슈 보드를 나열합니다.

GET /groups/:id/boards
속성 유형 필요 여부 설명
id 숫자/문자열 그룹의 ID 또는 URL 인코드된 경로.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards"

예시 응답:

[
  {
    "id": 1,
    "name": "그룹 이슈 보드",
    "group": {
      "id": 5,
      "name": "Documentcloud",
      "web_url": "http://example.com/groups/documentcloud"
    },
    "milestone":   {
      "id": 12,
      "title": "10.0"
    },
    "lists" : [
      {
        "id" : 1,
        "label" : {
          "name" : "테스트 중",
          "color" : "#F0AD4E",
          "description" : null
        },
        "position" : 1
      },
      {
        "id" : 2,
        "label" : {
          "name" : "준비 완료",
          "color" : "#FF0000",
          "description" : null
        },
        "position" : 2
      },
      {
        "id" : 3,
        "label" : {
          "name" : "제작 중",
          "color" : "#FF5F00",
          "description" : null
        },
        "position" : 3
      }
    ]
  }
]

GitLab 프리미엄 또는 얼티밋 사용자는 다른 매개변수를 볼 수 있습니다. 이는 여러 그룹 보드를 가질 수 있는 기능에 따른 것입니다.

예시 응답:

[
  {
    "id": 1,
    "name": "그룹 이슈 보드",
    "group": {
      "id": 5,
      "name": "Documentcloud",
      "web_url": "http://example.com/groups/documentcloud"
    },
    "milestone":   {
      "id": 12,
      "title": "10.0"
    },
    "lists" : [
      {
        "id" : 1,
        "label" : {
          "name" : "테스트 중",
          "color" : "#F0AD4E",
          "description" : null
        },
        "position" : 1
      },
      {
        "id" : 2,
        "label" : {
          "name" : "준비 완료",
          "color" : "#FF0000",
          "description" : null
        },
        "position" : 2
      },
      {
        "id" : 3,
        "label" : {
          "name" : "제작 중",
          "color" : "#FF5F00",
          "description" : null
        },
        "position" : 3
      }
    ]
  }
]

단일 그룹 이슈 보드

단일 그룹 이슈 보드를 가져옵니다.

GET /groups/:id/boards/:board_id
속성 유형 필요 여부 설명
id 숫자/문자열 그룹의 ID 또는 URL 인코드된 경로.
board_id 숫자 보드의 ID.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards/1"

예시 응답:

  {
    "id": 1,
    "name": "그룹 이슈 보드",
    "group": {
      "id": 5,
      "name": "Documentcloud",
      "web_url": "http://example.com/groups/documentcloud"
    },
    "milestone":   {
      "id": 12,
      "title": "10.0"
    },
    "lists" : [
      {
        "id" : 1,
        "label" : {
          "name" : "테스트 중",
          "color" : "#F0AD4E",
          "description" : null
        },
        "position" : 1
      },
      {
        "id" : 2,
        "label" : {
          "name" : "준비 완료",
          "color" : "#FF0000",
          "description" : null
        },
        "position" : 2
      },
      {
        "id" : 3,
        "label" : {
          "name" : "제작 중",
          "color" : "#FF5F00",
          "description" : null
        },
        "position" : 3
      }
    ]
  }

GitLab 프리미엄 또는 얼티밋 사용자는 다른 매개변수를 볼 수 있습니다. 이는 여러 그룹 이슈 보드를 가질 수 있는 기능에 따른 것입니다.

예시 응답:

  {
    "id": 1,
    "name": "그룹 이슈 보드",
    "group": {
      "id": 5,
      "name": "Documentcloud",
      "web_url": "http://example.com/groups/documentcloud"
    },
    "milestone":   {
      "id": 12,
      "title": "10.0"
    },
    "lists" : [
      {
         "id" : 1,
         "label" : {
           "name" : "테스트 중",
           "color" : "#F0AD4E",
           "description" : null
         },
         "position" : 1
      },
      {
         "id" : 2,
         "label" : {
           "name" : "준비 완료",
           "color" : "#FF0000",
           "description" : null
         },
         "position" : 2
       },
       {
         "id" : 3,
         "label" : {
           "name" : "제작 중",
           "color" : "#FF5F00",
           "description" : null
         },
         "position" : 3
       }
    ]
  }

그룹 이슈 보드 생성

Tier: 프리미엄, 얼티밋 Offering: GitLab.com, Self-managed, GitLab Dedicated

그룹 이슈 보드를 생성합니다.

POST /groups/:id/boards
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로입니다.
name string 새 보드의 이름입니다.
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards?name=newboard"

예시 응답:

  {
    "id": 1,
    "name": "newboard",
    "project": null,
    "lists" : [],
    "group": {
      "id": 5,
      "name": "Documentcloud",
      "web_url": "http://example.com/groups/documentcloud"
    },
    "milestone": null,
    "assignee" : null,
    "labels" : [],
    "weight" : null
  }

그룹 이슈 보드 업데이트

그룹 이슈 보드를 업데이트합니다.

PUT /groups/:id/boards/:board_id
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로입니다.
board_id integer 보드의 ID입니다.
name string 아니요 보드의 새 이름입니다.
hide_backlog_list boolean 아니요 Open 목록을 숨 깁니다.
hide_closed_list boolean 아니요 Closed 목록을 숨깁니다.
assignee_id integer 아니요 보드가 범위 지정될 수 있는 담당자입니다. 프리미엄 및 얼티밋 전용입니다.
milestone_id integer 아니요 보드가 범위 지정될 수 있는 마일스톤입니다. 프리미엄 및 얼티밋 전용입니다.
labels string 아니요 보드가 범위 지정되는 라벨 이름의 쉼표로 구분된 목록입니다. 프리미엄 및 얼티밋 전용입니다.
weight integer 아니요 보드가 범위 지정되는 가중치 범위 (0에서 9)입니다. 프리미엄 및 얼티밋 전용입니다.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards/1?name=new_name&milestone_id=44&assignee_id=1&labels=GroupLabel&weight=4"

예시 응답:

  {
    "id": 1,
    "project": null,
    "lists": [],
    "name": "new_name",
    "group": {
      "id": 5,
      "name": "Documentcloud",
      "web_url": "http://example.com/groups/documentcloud"
    },
    "milestone": {
      "id": 44,
      "iid": 1,
      "group_id": 5,
      "title": "Group Milestone",
      "description": "Group Milestone Desc",
      "state": "active",
      "created_at": "2018-07-03T07:15:19.271Z",
      "updated_at": "2018-07-03T07:15:19.271Z",
      "due_date": null,
      "start_date": null,
      "web_url": "http://example.com/groups/documentcloud/-/milestones/1"
    },
    "assignee": {
      "id": 1,
      "name": "Administrator",
      "username": "root",
      "state": "active",
      "avatar_url": "https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
      "web_url": "http://example.com/root"
    },
    "labels": [{
      "id": 11,
      "name": "GroupLabel",
      "color": "#428BCA",
      "description": ""
    }],
    "weight": 4
  }

그룹 이슈 보드 삭제

Tier: 프리미엄, 얼티밋 Offering: GitLab.com, Self-managed, GitLab Dedicated

그룹 이슈 보드를 삭제합니다.

DELETE /groups/:id/boards/:board_id
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로입니다.
board_id integer 보드의 ID입니다.
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards/1"

그룹 이슈 보드 목록 표시

보드의 목록을 가져옵니다. openclosed 목록은 포함되지 않습니다.

GET /groups/:id/boards/:board_id/lists
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로입니다.
board_id integer 보드의 ID입니다.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards/1/lists"

예시 응답:

[
  {
    "id" : 1,
    "label" : {
      "name" : "Testing",
      "color" : "#F0AD4E",
      "description" : null
    },
    "position": 1
  },
  {
    "id" : 2,
    "label" : {
      "name" : "Ready",
      "color" : "#FF0000",
      "description" : null
    },
    "position": 2
  },
  {
    "id" : 3,
    "label" : {
      "name" : "Production",
      "color" : "#FF5F00",
      "description" : null
    },
    "position": 3
  }
]

단일 그룹 이슈 보드 목록

단일 보드 목록을 가져옵니다.

GET /groups/:id/boards/:board_id/lists/:list_id
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로
board_id integer 보드의 ID
list_id integer 보드 목록의 ID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards/1/lists/1"

예시 응답:

{
  "id" : 1,
  "label" : {
    "name" : "Testing",
    "color" : "#F0AD4E",
    "description" : null
  },
  "position" : 1
}

새로운 그룹 이슈 보드 목록

이슈 보드 목록을 생성합니다.

POST /groups/:id/boards/:board_id/lists
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로
board_id integer 보드의 ID
label_id integer 라벨의 ID
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/4/boards/12/lists?milestone_id=7"

예시 응답:

{
  "id": 9,
  "label": null,
  "position": 0,
  "milestone": {
    "id": 7,
    "iid": 3,
    "group_id": 12,
    "title": "마감일이 있는 마일스톤",
    "description": "",
    "state": "active",
    "created_at": "2017-09-03T07:16:28.596Z",
    "updated_at": "2017-09-03T07:16:49.521Z",
    "due_date": null,
    "start_date": null,
    "web_url": "https://gitlab.example.com/groups/issue-reproduce/-/milestones/3"
  }
}

그룹 이슈 보드 목록 편집

기존의 이슈 보드 목록을 업데이트합니다. 이 호출은 목록 위치를 변경하는 데 사용됩니다.

PUT /groups/:id/boards/:board_id/lists/:list_id
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로
board_id integer 보드의 ID
list_id integer 보드 목록의 ID
position integer 목록의 위치
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/group/5/boards/1/lists/1?position=2"

예시 응답:

{
  "id" : 1,
  "label" : {
    "name" : "Testing",
    "color" : "#F0AD4E",
    "description" : null
  },
  "position" : 1
}

그룹 이슈 보드 목록 삭제

관리자 및 그룹 소유자 전용입니다. 해당 보드 목록을 삭제합니다.

DELETE /groups/:id/boards/:board_id/lists/:list_id
속성 유형 필수 설명
id integer/string 그룹의 ID 또는 URL-인코딩된 경로
board_id integer 보드의 ID
list_id integer 보드 목록의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5/boards/1/lists/1"