# Issue Boards API

> 原文：[https://docs.gitlab.com/ee/api/boards.html](https://docs.gitlab.com/ee/api/boards.html)

*   [Project Board](#project-board)
*   [Single board](#single-board)
*   [Create a board](#create-a-board-starter)
*   [Update a board](#update-a-board-starter)
*   [Delete a board](#delete-a-board-starter)
*   [List board lists](#list-board-lists)
*   [Single board list](#single-board-list)
*   [New board list](#new-board-list)
*   [Edit board list](#edit-board-list)
*   [Delete a board list](#delete-a-board-list)

# Issue Boards API[](#issue-boards-api "Permalink")

对板的每个 API 调用都必须经过验证.

如果用户不是项目成员，并且该项目是私有项目，则对该项目的`GET`请求将导致`404`状态代码.

## Project Board[](#project-board "Permalink")

列出给定项目中的发行板.

```
GET /projects/:id/boards 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards" 
```

响应示例：

```
[  {  "id"  :  1,  "project":  {  "id":  5,  "name":  "Diaspora Project Site",  "name_with_namespace":  "Diaspora / Diaspora Project Site",  "path":  "diaspora-project-site",  "path_with_namespace":  "diaspora/diaspora-project-site",  "http_url_to_repo":  "http://example.com/diaspora/diaspora-project-site.git",  "web_url":  "http://example.com/diaspora/diaspora-project-site"  },  "milestone":  {  "id":  12,  "title":  "10.0"  },  "lists"  :  [  {  "id"  :  1,  "label"  :  {  "name"  :  "Testing",  "color"  :  "#F0AD4E",  "description"  :  null  },  "position"  :  1,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  },  {  "id"  :  2,  "label"  :  {  "name"  :  "Ready",  "color"  :  "#FF0000",  "description"  :  null  },  "position"  :  2,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  },  {  "id"  :  3,  "label"  :  {  "name"  :  "Production",  "color"  :  "#FF5F00",  "description"  :  null  },  "position"  :  3,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  }  ]  }  ] 
```

## Single board[](#single-board "Permalink")

拿一块板.

```
GET /projects/:id/boards/:board_id 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1" 
```

响应示例：

```
 {  "id":  1,  "name":  "project issue board",  "project":  {  "id":  5,  "name":  "Diaspora Project Site",  "name_with_namespace":  "Diaspora / Diaspora Project Site",  "path":  "diaspora-project-site",  "path_with_namespace":  "diaspora/diaspora-project-site",  "http_url_to_repo":  "http://example.com/diaspora/diaspora-project-site.git",  "web_url":  "http://example.com/diaspora/diaspora-project-site"  },  "milestone":  {  "id":  12,  "title":  "10.0"  },  "lists"  :  [  {  "id"  :  1,  "label"  :  {  "name"  :  "Testing",  "color"  :  "#F0AD4E",  "description"  :  null  },  "position"  :  1,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  },  {  "id"  :  2,  "label"  :  {  "name"  :  "Ready",  "color"  :  "#FF0000",  "description"  :  null  },  "position"  :  2,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  },  {  "id"  :  3,  "label"  :  {  "name"  :  "Production",  "color"  :  "#FF5F00",  "description"  :  null  },  "position"  :  3,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  }  ]  } 
```

## Create a board[](#create-a-board-starter "Permalink")

创建一个木板.

```
POST /projects/:id/boards 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `name` | string | yes | 新板的名称 |

```
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards?name=newboard" 
```

响应示例：

```
 {  "id":  1,  "project":  {  "id":  5,  "name":  "Diaspora Project Site",  "name_with_namespace":  "Diaspora / Diaspora Project Site",  "path":  "diaspora-project-site",  "path_with_namespace":  "diaspora/diaspora-project-site",  "http_url_to_repo":  "http://example.com/diaspora/diaspora-project-site.git",  "web_url":  "http://example.com/diaspora/diaspora-project-site"  },  "name":  "newboard",  "milestone":  {  "id":  12  "title":  "10.0"  },  "lists"  :  [  {  "id"  :  1,  "label"  :  {  "name"  :  "Testing",  "color"  :  "#F0AD4E",  "description"  :  null  },  "position"  :  1,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  },  {  "id"  :  2,  "label"  :  {  "name"  :  "Ready",  "color"  :  "#FF0000",  "description"  :  null  },  "position"  :  2,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  },  {  "id"  :  3,  "label"  :  {  "name"  :  "Production",  "color"  :  "#FF5F00",  "description"  :  null  },  "position"  :  3,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  }  ]  } 
```

## Update a board[](#update-a-board-starter "Permalink")

[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5954) in [GitLab Starter](https://about.gitlab.com/pricing/) 11.1.

更新板.

```
PUT /projects/:id/boards/:board_id 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |
| `name` | string | no | 董事会的新名称 |
| `assignee_id` | integer | no | 董事会受让人的范围应为 |
| `milestone_id` | integer | no | 董事会应达到的里程碑 |
| `labels` | string | no | 以逗号分隔的标签名称列表，该范围应适用于板 |
| `weight` | integer | no | 重量范围从 0 到 9，该板的范围应为 |

```
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1?name=new_name&milestone_id=43&assignee_id=1&labels=Doing&weight=4" 
```

响应示例：

```
 {  "id":  1,  "project":  {  "id":  5,  "name":  "Diaspora Project Site",  "name_with_namespace":  "Diaspora / Diaspora Project Site",  "path":  "diaspora-project-site",  "path_with_namespace":  "diaspora/diaspora-project-site",  "created_at":  "2018-07-03T05:48:49.982Z",  "default_branch":  null,  "tag_list":  [],  "ssh_url_to_repo":  "ssh://user@example.com/diaspora/diaspora-project-site.git",  "http_url_to_repo":  "http://example.com/diaspora/diaspora-project-site.git",  "web_url":  "http://example.com/diaspora/diaspora-project-site",  "readme_url":  null,  "avatar_url":  null,  "star_count":  0,  "forks_count":  0,  "last_activity_at":  "2018-07-03T05:48:49.982Z"  },  "lists":  [],  "name":  "new_name",  "group":  null,  "milestone":  {  "id":  43,  "iid":  1,  "project_id":  15,  "title":  "Milestone 1",  "description":  "Milestone 1 desc",  "state":  "active",  "created_at":  "2018-07-03T06:36:42.618Z",  "updated_at":  "2018-07-03T06:36:42.618Z",  "due_date":  null,  "start_date":  null,  "web_url":  "http://example.com/root/board1/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":  10,  "name":  "Doing",  "color":  "#5CB85C",  "description":  null  }],  "weight":  4  } 
```

## Delete a board[](#delete-a-board-starter "Permalink")

删除板.

```
DELETE /projects/:id/boards/:board_id 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |

```
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1" 
```

## List board lists[](#list-board-lists "Permalink")

获取董事会名单的清单. 不包括`open`和`closed`列表

```
GET /projects/:id/boards/:board_id/lists 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists" 
```

响应示例：

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

## Single board list[](#single-board-list "Permalink")

获取单板列表.

```
GET /projects/:id/boards/:board_id/lists/:list_id 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |
| `list_id` | integer | yes | 单板编号 |

```
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1" 
```

响应示例：

```
{  "id"  :  1,  "label"  :  {  "name"  :  "Testing",  "color"  :  "#F0AD4E",  "description"  :  null  },  "position"  :  1,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  } 
```

## New board list[](#new-board-list "Permalink")

创建一个新的发行委员会列表.

```
POST /projects/:id/boards/:board_id/lists 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |
| `label_id` | integer | no | 标签的 ID |
| `assignee_id` | integer | no | 用户的 ID |
| `milestone_id` | integer | no | 里程碑的 ID |

**注意：**标签，受让人和里程碑参数是互斥的，也就是说，请求中仅接受其中一个. 查看[发行委员会文档](../user/project/issue_board.html#summary-of-features-per-tier) ，以获取有关每种列表类型所需许可证的更多信息.

```
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists?label_id=5" 
```

响应示例：

```
{  "id"  :  1,  "label"  :  {  "name"  :  "Testing",  "color"  :  "#F0AD4E",  "description"  :  null  },  "position"  :  1,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  } 
```

## Edit board list[](#edit-board-list "Permalink")

更新现有的发行委员会列表. 此调用用于更改列表位置.

```
PUT /projects/:id/boards/:board_id/lists/:list_id 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |
| `list_id` | integer | yes | 单板编号 |
| `position` | integer | yes | The position of the list |

```
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1?position=2" 
```

响应示例：

```
{  "id"  :  1,  "label"  :  {  "name"  :  "Testing",  "color"  :  "#F0AD4E",  "description"  :  null  },  "position"  :  1,  "max_issue_count":  0,  "max_issue_weight":  0,  "limit_metric":  null  } 
```

## Delete a board list[](#delete-a-board-list "Permalink")

仅适用于管理员和项目所有者. 删除相关的单板列表.

```
DELETE /projects/:id/boards/:board_id/lists/:list_id 
```

| Attribute | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer/string | yes | 经过身份验证的用户拥有[的项目](README.html#namespaced-path-encoding)的 ID 或[URL 编码路径](README.html#namespaced-path-encoding) |
| `board_id` | integer | yes | 单板编号 |
| `list_id` | integer | yes | 单板编号 |

```
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/boards/1/lists/1" 
```