Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
fd9cd5ae
Commit
fd9cd5ae
authored
Jun 16, 2016
by
Robert Schilling
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add todos API documentation and changelog
parent
40c685c5
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
220 additions
and
3 deletions
+220
-3
CHANGELOG
CHANGELOG
+1
-0
doc/api/README.md
doc/api/README.md
+1
-0
doc/api/todos.md
doc/api/todos.md
+217
-0
lib/api/todos.rb
lib/api/todos.rb
+1
-3
No files found.
CHANGELOG
View file @
fd9cd5ae
...
...
@@ -19,6 +19,7 @@ v 8.10.0 (unreleased)
- Fix changing issue state columns in milestone view
- Add notification settings dropdown for groups
- Allow importing from Github using Personal Access Tokens. (Eric K Idema)
- API: Todos !3188 (Robert Schilling)
- Fix user creation with stronger minimum password requirements !4054 (nathan-pmt)
- PipelinesFinder uses git cache data
- Check for conflicts with existing Project's wiki path when creating a new project.
...
...
doc/api/README.md
View file @
fd9cd5ae
...
...
@@ -36,6 +36,7 @@ following locations:
-
[
System Hooks
](
system_hooks.md
)
-
[
Tags
](
tags.md
)
-
[
Users
](
users.md
)
-
[
Todos
](
todos.md
)
### Internal CI API
...
...
doc/api/todos.md
0 → 100644
View file @
fd9cd5ae
# Todos
**Note:**
This feature was
[
introduced
][
ce-3188
]
in GitLab 8.10
## Get a list of todos
Returns a list of todos. When no filter is applied, it returns all pending todos
for the current user. Different filters allow the user to
```
GET /todos
```
Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
|
`action_id`
| integer | no | The ID of the action of the todo. See the table below for the ID mapping |
|
`author_id`
| integer | no | The ID of an author |
|
`project_id`
| integer | no | The ID of a project |
|
`state`
| string | no | The state of the todo. Can be either
`pending`
or
`done`
|
|
`type`
| string | no | The type of an todo. Can be either
`Issue`
or
`MergeRequest`
|
|
`action_id`
| Action |
| ----------- | ------ |
| 1 | Issuable assigned |
| 2 | Mentioned in issuable |
| 3 | Build failed |
| 4 | Todo marked for you |
```
bash
curl
-H
"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"
https://gitlab.example.com/api/v3/todos
```
Example Response:
```
json
[
{
"id"
:
130
,
"project"
:
{
"id"
:
1
,
"name"
:
"Underscore"
,
"name_with_namespace"
:
"Documentcloud / Underscore"
,
"path"
:
"underscore"
,
"path_with_namespace"
:
"documentcloud/underscore"
},
"author"
:
{
"name"
:
"Juwan Abbott"
,
"username"
:
"halle"
,
"id"
:
8
,
"state"
:
"active"
,
"avatar_url"
:
"http://www.gravatar.com/avatar/a0086c7b9e0d73312f32ff745fdcb43e?s=80&d=identicon"
,
"web_url"
:
"https://gitlab.example.com/u/halle"
},
"action_name"
:
"assigned"
,
"target_id"
:
71
,
"target_type"
:
"Issue"
,
"target_reference"
:
"#1"
,
"target_url"
:
"https://gitlab.example.com/documentcloud/underscore/issues/1"
,
"body"
:
"At voluptas qui nulla soluta qui et."
,
"state"
:
"pending"
,
"created_at"
:
"2016-05-20T20:52:00.626Z"
},
{
"id"
:
129
,
"project"
:
{
"id"
:
1
,
"name"
:
"Underscore"
,
"name_with_namespace"
:
"Documentcloud / Underscore"
,
"path"
:
"underscore"
,
"path_with_namespace"
:
"documentcloud/underscore"
},
"author"
:
{
"name"
:
"Juwan Abbott"
,
"username"
:
"halle"
,
"id"
:
8
,
"state"
:
"active"
,
"avatar_url"
:
"http://www.gravatar.com/avatar/a0086c7b9e0d73312f32ff745fdcb43e?s=80&d=identicon"
,
"web_url"
:
"https://gitlab.example.com/u/halle"
},
"action_name"
:
"mentioned"
,
"target_id"
:
79
,
"target_type"
:
"Issue"
,
"target_reference"
:
"#9"
,
"target_url"
:
"https://gitlab.example.com/documentcloud/underscore/issues/9#note_959"
,
"body"
:
"@root Fix this shit"
,
"state"
:
"pending"
,
"created_at"
:
"2016-05-20T20:51:51.503Z"
}
]
```
## Mark a todo as done
Marks a single pending todo given by its ID for the current user as done. The to
marked as done is returned in the response.
```
DELETE /todos/:id
```
Parameters:
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
|
`id`
| integer | yes | The ID of a todo |
```
bash
curl
-X
DELETE
-H
"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"
https://gitlab.example.com/api/v3/todos/130
```
Example Response:
```
json
{
"id"
:
130
,
"project"
:
{
"id"
:
1
,
"name"
:
"Underscore"
,
"name_with_namespace"
:
"Documentcloud / Underscore"
,
"path"
:
"underscore"
,
"path_with_namespace"
:
"documentcloud/underscore"
},
"author"
:
{
"name"
:
"Juwan Abbott"
,
"username"
:
"halle"
,
"id"
:
8
,
"state"
:
"active"
,
"avatar_url"
:
"http://www.gravatar.com/avatar/a0086c7b9e0d73312f32ff745fdcb43e?s=80&d=identicon"
,
"web_url"
:
"https://gitlab.example.com/u/halle"
},
"action_name"
:
"assigned"
,
"target_id"
:
71
,
"target_type"
:
"Issue"
,
"target_reference"
:
"#1"
,
"target_url"
:
"https://gitlab.example.com/documentcloud/underscore/issues/1"
,
"body"
:
"At voluptas qui nulla soluta qui et."
,
"state"
:
"done"
,
"created_at"
:
"2016-05-20T20:52:00.626Z"
}
```
## Mark all todos as done
Marks all pending todos for the current user as done. All todos marked as done
are returned in the response.
```
DELETE /todos
```
```
bash
curl
-X
DELETE
-H
"PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK"
https://gitlab.example.com/api/v3/todos
```
Example Response:
```
json
[
{
"id"
:
130
,
"project"
:
{
"id"
:
1
,
"name"
:
"Underscore"
,
"name_with_namespace"
:
"Documentcloud / Underscore"
,
"path"
:
"underscore"
,
"path_with_namespace"
:
"documentcloud/underscore"
},
"author"
:
{
"name"
:
"Juwan Abbott"
,
"username"
:
"halle"
,
"id"
:
8
,
"state"
:
"active"
,
"avatar_url"
:
"http://www.gravatar.com/avatar/a0086c7b9e0d73312f32ff745fdcb43e?s=80&d=identicon"
,
"web_url"
:
"https://gitlab.example.com/u/halle"
},
"action_name"
:
"assigned"
,
"target_id"
:
71
,
"target_type"
:
"Issue"
,
"target_reference"
:
"#1"
,
"target_url"
:
"https://gitlab.example.com/documentcloud/underscore/issues/1"
,
"body"
:
"At voluptas qui nulla soluta qui et."
,
"state"
:
"done"
,
"created_at"
:
"2016-05-20T20:52:00.626Z"
},
{
"id"
:
129
,
"project"
:
{
"id"
:
1
,
"name"
:
"Underscore"
,
"name_with_namespace"
:
"Documentcloud / Underscore"
,
"path"
:
"underscore"
,
"path_with_namespace"
:
"documentcloud/underscore"
},
"author"
:
{
"name"
:
"Juwan Abbott"
,
"username"
:
"halle"
,
"id"
:
8
,
"state"
:
"active"
,
"avatar_url"
:
"http://www.gravatar.com/avatar/a0086c7b9e0d73312f32ff745fdcb43e?s=80&d=identicon"
,
"web_url"
:
"https://gitlab.example.com/u/halle"
},
"action_name"
:
"mentioned"
,
"target_id"
:
79
,
"target_type"
:
"Issue"
,
"target_reference"
:
"#9"
,
"target_url"
:
"https://gitlab.example.com/documentcloud/underscore/issues/9#note_959"
,
"body"
:
"@root Fix this shit"
,
"state"
:
"done"
,
"created_at"
:
"2016-05-20T20:51:51.503Z"
}
]
```
[
ce-3188
]:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3188
lib/api/todos.rb
View file @
fd9cd5ae
...
...
@@ -21,13 +21,12 @@ module API
present
paginate
(
todos
),
with:
Entities
::
Todo
end
# Mark todo as done
# Mark
a
todo as done
#
# Parameters:
# id: (required) - The ID of the todo being marked as done
#
# Example Request:
#
# DELETE /todos/:id
#
delete
':id'
do
...
...
@@ -40,7 +39,6 @@ module API
# Mark all todos as done
#
# Example Request:
#
# DELETE /todos
#
delete
do
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment