Todos API
Todos API
在 GitLab 8.10 中引入 .
Get a list of todos
返回待办事项列表. 如果未应用任何过滤器,它将返回当前用户的所有待处理的待办事项. 不同的过滤器使用户可以精确地处理请求.
GET /todos 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 action  | 
string | no |  要过滤的动作. 可以assigned , mentioned , build_failed , marked , approval_required , unmergeable或directly_addressed unmergeable .  | 
 author_id  | 
integer | no | 作者的 ID | 
 project_id  | 
integer | no | 项目 ID | 
 group_id  | 
integer | no | 组的 ID | 
 state  | 
string | no |  待办事项的状态. 可以pending或done  | 
 type  | 
string | no |  待办事项的类型. 可以是Issue或MergeRequest | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/todos" 
示例响应:
[  {  "id":  102,  "project":  {  "id":  2,  "name":  "Gitlab Ce",  "name_with_namespace":  "Gitlab Org / Gitlab Ce",  "path":  "gitlab-foss",  "path_with_namespace":  "gitlab-org/gitlab-foss"  },  "author":  {  "name":  "Administrator",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/root"  },  "action_name":  "marked",  "target_type":  "MergeRequest",  "target":  {  "id":  34,  "iid":  7,  "project_id":  2,  "title":  "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.",  "description":  "Et ea et omnis illum cupiditate. Dolor aspernatur tenetur ducimus facilis est nihil. Quo esse cupiditate molestiae illo corrupti qui quidem dolor.",  "state":  "opened",  "created_at":  "2016-06-17T07:49:24.419Z",  "updated_at":  "2016-06-17T07:52:43.484Z",  "target_branch":  "tutorials_git_tricks",  "source_branch":  "DNSBL_docs",  "upvotes":  0,  "downvotes":  0,  "author":  {  "name":  "Maxie Medhurst",  "username":  "craig_rutherford",  "id":  12,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/craig_rutherford"  },  "assignee":  {  "name":  "Administrator",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/root"  },  "source_project_id":  2,  "target_project_id":  2,  "labels":  [],  "work_in_progress":  false,  "milestone":  {  "id":  32,  "iid":  2,  "project_id":  2,  "title":  "v1.0",  "description":  "Assumenda placeat ea voluptatem voluptate qui.",  "state":  "active",  "created_at":  "2016-06-17T07:47:34.163Z",  "updated_at":  "2016-06-17T07:47:34.163Z",  "due_date":  null  },  "merge_when_pipeline_succeeds":  false,  "merge_status":  "cannot_be_merged",  "subscribed":  true,  "user_notes_count":  7  },  "target_url":  "https://gitlab.example.com/gitlab-org/gitlab-foss/-/merge_requests/7",  "body":  "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.",  "state":  "pending",  "created_at":  "2016-06-17T07:52:35.225Z",  "updated_at":  "2016-06-17T07:52:35.225Z"  },  {  "id":  98,  "project":  {  "id":  2,  "name":  "Gitlab Ce",  "name_with_namespace":  "Gitlab Org / Gitlab Ce",  "path":  "gitlab-foss",  "path_with_namespace":  "gitlab-org/gitlab-foss"  },  "author":  {  "name":  "Maxie Medhurst",  "username":  "craig_rutherford",  "id":  12,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/craig_rutherford"  },  "action_name":  "assigned",  "target_type":  "MergeRequest",  "target":  {  "id":  34,  "iid":  7,  "project_id":  2,  "title":  "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.",  "description":  "Et ea et omnis illum cupiditate. Dolor aspernatur tenetur ducimus facilis est nihil. Quo esse cupiditate molestiae illo corrupti qui quidem dolor.",  "state":  "opened",  "created_at":  "2016-06-17T07:49:24.419Z",  "updated_at":  "2016-06-17T07:52:43.484Z",  "target_branch":  "tutorials_git_tricks",  "source_branch":  "DNSBL_docs",  "upvotes":  0,  "downvotes":  0,  "author":  {  "name":  "Maxie Medhurst",  "username":  "craig_rutherford",  "id":  12,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/craig_rutherford"  },  "assignee":  {  "name":  "Administrator",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/root"  },  "source_project_id":  2,  "target_project_id":  2,  "labels":  [],  "work_in_progress":  false,  "milestone":  {  "id":  32,  "iid":  2,  "project_id":  2,  "title":  "v1.0",  "description":  "Assumenda placeat ea voluptatem voluptate qui.",  "state":  "active",  "created_at":  "2016-06-17T07:47:34.163Z",  "updated_at":  "2016-06-17T07:47:34.163Z",  "due_date":  null  },  "merge_when_pipeline_succeeds":  false,  "merge_status":  "cannot_be_merged",  "subscribed":  true,  "user_notes_count":  7  },  "target_url":  "https://gitlab.example.com/gitlab-org/gitlab-foss/-/merge_requests/7",  "body":  "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.",  "state":  "pending",  "created_at":  "2016-06-17T07:49:24.624Z",  "updated_at":  "2016-06-17T07:49:24.624Z"  }  ] 
Mark a todo as done
将其 ID 给当前用户的单个待处理待办事项标记为已完成. 标记为已完成的待办事项在响应中返回.
POST /todos/:id/mark_as_done 
Parameters:
| Attribute | Type | Required | Description | 
|---|---|---|---|
 id  | 
integer | yes | 待办事项编号 | 
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/todos/130/mark_as_done" 
示例响应:
{  "id":  102,  "project":  {  "id":  2,  "name":  "Gitlab Ce",  "name_with_namespace":  "Gitlab Org / Gitlab Ce",  "path":  "gitlab-foss",  "path_with_namespace":  "gitlab-org/gitlab-foss"  },  "author":  {  "name":  "Administrator",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/root"  },  "action_name":  "marked",  "target_type":  "MergeRequest",  "target":  {  "id":  34,  "iid":  7,  "project_id":  2,  "title":  "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.",  "description":  "Et ea et omnis illum cupiditate. Dolor aspernatur tenetur ducimus facilis est nihil. Quo esse cupiditate molestiae illo corrupti qui quidem dolor.",  "state":  "opened",  "created_at":  "2016-06-17T07:49:24.419Z",  "updated_at":  "2016-06-17T07:52:43.484Z",  "target_branch":  "tutorials_git_tricks",  "source_branch":  "DNSBL_docs",  "upvotes":  0,  "downvotes":  0,  "author":  {  "name":  "Maxie Medhurst",  "username":  "craig_rutherford",  "id":  12,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/craig_rutherford"  },  "assignee":  {  "name":  "Administrator",  "username":  "root",  "id":  1,  "state":  "active",  "avatar_url":  "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",  "web_url":  "https://gitlab.example.com/root"  },  "source_project_id":  2,  "target_project_id":  2,  "labels":  [],  "work_in_progress":  false,  "milestone":  {  "id":  32,  "iid":  2,  "project_id":  2,  "title":  "v1.0",  "description":  "Assumenda placeat ea voluptatem voluptate qui.",  "state":  "active",  "created_at":  "2016-06-17T07:47:34.163Z",  "updated_at":  "2016-06-17T07:47:34.163Z",  "due_date":  null  },  "merge_when_pipeline_succeeds":  false,  "merge_status":  "cannot_be_merged",  "subscribed":  true,  "user_notes_count":  7  },  "target_url":  "https://gitlab.example.com/gitlab-org/gitlab-foss/-/merge_requests/7",  "body":  "Dolores in voluptatem tenetur praesentium omnis repellendus voluptatem quaerat.",  "state":  "done",  "created_at":  "2016-06-17T07:52:35.225Z",  "updated_at":  "2016-06-17T07:52:35.225Z"  } 
Mark all todos as done
将当前用户的所有待处理待办事项标记为已完成. 它返回带有空响应的 HTTP 状态代码204 .
POST /todos/mark_as_done 
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/todos/mark_as_done"