@templmf/temp-solf-lmf 0.0.107 → 0.0.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/gitlab-foss-8-17-stable/doc/api/README.md +391 -0
- package/gitlab-foss-8-17-stable/doc/api/access_requests.md +139 -0
- package/gitlab-foss-8-17-stable/doc/api/award_emoji.md +374 -0
- package/gitlab-foss-8-17-stable/doc/api/boards.md +241 -0
- package/gitlab-foss-8-17-stable/doc/api/branches.md +260 -0
- package/gitlab-foss-8-17-stable/doc/api/broadcast_messages.md +154 -0
- package/gitlab-foss-8-17-stable/doc/api/build_triggers.md +118 -0
- package/gitlab-foss-8-17-stable/doc/api/build_variables.md +128 -0
- package/gitlab-foss-8-17-stable/doc/api/builds.md +610 -0
- package/gitlab-foss-8-17-stable/doc/api/ci/README.md +24 -0
- package/gitlab-foss-8-17-stable/doc/api/ci/builds.md +147 -0
- package/gitlab-foss-8-17-stable/doc/api/ci/lint.md +49 -0
- package/gitlab-foss-8-17-stable/doc/api/ci/runners.md +59 -0
- package/gitlab-foss-8-17-stable/doc/api/commits.md +479 -0
- package/gitlab-foss-8-17-stable/doc/api/deploy_key_multiple_projects.md +29 -0
- package/gitlab-foss-8-17-stable/doc/api/deploy_keys.md +216 -0
- package/gitlab-foss-8-17-stable/doc/api/deployments.md +218 -0
- package/gitlab-foss-8-17-stable/doc/api/enviroments.md +121 -0
- package/gitlab-foss-8-17-stable/doc/api/groups.md +484 -0
- package/gitlab-foss-8-17-stable/doc/api/issues.md +856 -0
- package/gitlab-foss-8-17-stable/doc/api/keys.md +46 -0
- package/gitlab-foss-8-17-stable/doc/api/labels.md +257 -0
- package/gitlab-foss-8-17-stable/doc/api/members.md +175 -0
- package/gitlab-foss-8-17-stable/doc/api/merge_requests.md +1158 -0
- package/gitlab-foss-8-17-stable/doc/api/milestones.md +105 -0
- package/gitlab-foss-8-17-stable/doc/api/namespaces.md +70 -0
- package/gitlab-foss-8-17-stable/doc/api/notes.md +407 -0
- package/gitlab-foss-8-17-stable/doc/api/notification_settings.md +177 -0
- package/gitlab-foss-8-17-stable/doc/api/oauth2.md +137 -0
- package/gitlab-foss-8-17-stable/doc/api/pipelines.md +259 -0
- package/gitlab-foss-8-17-stable/doc/api/project_snippets.md +118 -0
- package/gitlab-foss-8-17-stable/doc/api/projects.md +1402 -0
- package/gitlab-foss-8-17-stable/doc/api/repositories.md +200 -0
- package/gitlab-foss-8-17-stable/doc/api/repository_files.md +134 -0
- package/gitlab-foss-8-17-stable/doc/api/runners.md +322 -0
- package/gitlab-foss-8-17-stable/doc/api/services.md +812 -0
- package/gitlab-foss-8-17-stable/doc/api/session.md +56 -0
- package/gitlab-foss-8-17-stable/doc/api/settings.md +126 -0
- package/gitlab-foss-8-17-stable/doc/api/sidekiq_metrics.md +152 -0
- package/gitlab-foss-8-17-stable/doc/api/snippets.md +232 -0
- package/gitlab-foss-8-17-stable/doc/api/system_hooks.md +146 -0
- package/gitlab-foss-8-17-stable/doc/api/tags.md +191 -0
- package/gitlab-foss-8-17-stable/doc/api/templates/gitignores.md +579 -0
- package/gitlab-foss-8-17-stable/doc/api/templates/gitlab_ci_ymls.md +120 -0
- package/gitlab-foss-8-17-stable/doc/api/templates/licenses.md +147 -0
- package/gitlab-foss-8-17-stable/doc/api/todos.md +296 -0
- package/gitlab-foss-8-17-stable/doc/api/users.md +835 -0
- package/gitlab-foss-8-17-stable/doc/api/v3_to_v4.md +14 -0
- package/gitlab-foss-8-17-stable/doc/api/version.md +23 -0
- package/package.json +1 -1
- package/SkillConfigPanel.vue +0 -2322
|
@@ -0,0 +1,856 @@
|
|
|
1
|
+
# Issues
|
|
2
|
+
|
|
3
|
+
Every API call to issues must be authenticated.
|
|
4
|
+
|
|
5
|
+
If a user is not a member of a project and the project is private, a `GET`
|
|
6
|
+
request on that project will result to a `404` status code.
|
|
7
|
+
|
|
8
|
+
## Issues pagination
|
|
9
|
+
|
|
10
|
+
By default, `GET` requests return 20 results at a time because the API results
|
|
11
|
+
are paginated.
|
|
12
|
+
|
|
13
|
+
Read more on [pagination](README.md#pagination).
|
|
14
|
+
|
|
15
|
+
## List issues
|
|
16
|
+
|
|
17
|
+
Get all issues created by the authenticated user.
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
GET /issues
|
|
21
|
+
GET /issues?state=opened
|
|
22
|
+
GET /issues?state=closed
|
|
23
|
+
GET /issues?labels=foo
|
|
24
|
+
GET /issues?labels=foo,bar
|
|
25
|
+
GET /issues?labels=foo,bar&state=opened
|
|
26
|
+
GET /issues?milestone=1.0.0
|
|
27
|
+
GET /issues?milestone=1.0.0&state=opened
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
| Attribute | Type | Required | Description |
|
|
31
|
+
| --------- | ---- | -------- | ----------- |
|
|
32
|
+
| `state` | string | no | Return all issues or just those that are `opened` or `closed`|
|
|
33
|
+
| `labels` | string | no | Comma-separated list of label names, issues with any of the labels will be returned |
|
|
34
|
+
| `milestone` | string| no | The milestone title |
|
|
35
|
+
| `order_by`| string | no | Return requests ordered by `created_at` or `updated_at` fields. Default is `created_at` |
|
|
36
|
+
| `sort` | string | no | Return requests sorted in `asc` or `desc` order. Default is `desc` |
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/issues
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Example response:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
[
|
|
46
|
+
{
|
|
47
|
+
"state" : "opened",
|
|
48
|
+
"description" : "Ratione dolores corrupti mollitia soluta quia.",
|
|
49
|
+
"author" : {
|
|
50
|
+
"state" : "active",
|
|
51
|
+
"id" : 18,
|
|
52
|
+
"web_url" : "https://gitlab.example.com/eileen.lowe",
|
|
53
|
+
"name" : "Alexandra Bashirian",
|
|
54
|
+
"avatar_url" : null,
|
|
55
|
+
"username" : "eileen.lowe"
|
|
56
|
+
},
|
|
57
|
+
"milestone" : {
|
|
58
|
+
"project_id" : 1,
|
|
59
|
+
"description" : "Ducimus nam enim ex consequatur cumque ratione.",
|
|
60
|
+
"state" : "closed",
|
|
61
|
+
"due_date" : null,
|
|
62
|
+
"iid" : 2,
|
|
63
|
+
"created_at" : "2016-01-04T15:31:39.996Z",
|
|
64
|
+
"title" : "v4.0",
|
|
65
|
+
"id" : 17,
|
|
66
|
+
"updated_at" : "2016-01-04T15:31:39.996Z"
|
|
67
|
+
},
|
|
68
|
+
"project_id" : 1,
|
|
69
|
+
"assignee" : {
|
|
70
|
+
"state" : "active",
|
|
71
|
+
"id" : 1,
|
|
72
|
+
"name" : "Administrator",
|
|
73
|
+
"web_url" : "https://gitlab.example.com/root",
|
|
74
|
+
"avatar_url" : null,
|
|
75
|
+
"username" : "root"
|
|
76
|
+
},
|
|
77
|
+
"updated_at" : "2016-01-04T15:31:51.081Z",
|
|
78
|
+
"id" : 76,
|
|
79
|
+
"title" : "Consequatur vero maxime deserunt laboriosam est voluptas dolorem.",
|
|
80
|
+
"created_at" : "2016-01-04T15:31:51.081Z",
|
|
81
|
+
"iid" : 6,
|
|
82
|
+
"labels" : [],
|
|
83
|
+
"subscribed" : false,
|
|
84
|
+
"user_notes_count": 1,
|
|
85
|
+
"due_date": "2016-07-22",
|
|
86
|
+
"web_url": "http://example.com/example/example/issues/6",
|
|
87
|
+
"confidential": false
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## List group issues
|
|
93
|
+
|
|
94
|
+
Get a list of a group's issues.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
GET /groups/:id/issues
|
|
98
|
+
GET /groups/:id/issues?state=opened
|
|
99
|
+
GET /groups/:id/issues?state=closed
|
|
100
|
+
GET /groups/:id/issues?labels=foo
|
|
101
|
+
GET /groups/:id/issues?labels=foo,bar
|
|
102
|
+
GET /groups/:id/issues?labels=foo,bar&state=opened
|
|
103
|
+
GET /groups/:id/issues?milestone=1.0.0
|
|
104
|
+
GET /groups/:id/issues?milestone=1.0.0&state=opened
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
| Attribute | Type | Required | Description |
|
|
108
|
+
| --------- | ---- | -------- | ----------- |
|
|
109
|
+
| `id` | integer | yes | The ID of a group |
|
|
110
|
+
| `state` | string | no | Return all issues or just those that are `opened` or `closed`|
|
|
111
|
+
| `labels` | string | no | Comma-separated list of label names, issues must have all labels to be returned |
|
|
112
|
+
| `milestone` | string| no | The milestone title |
|
|
113
|
+
| `order_by`| string | no | Return requests ordered by `created_at` or `updated_at` fields. Default is `created_at` |
|
|
114
|
+
| `sort` | string | no | Return requests sorted in `asc` or `desc` order. Default is `desc` |
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/groups/4/issues
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Example response:
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
[
|
|
125
|
+
{
|
|
126
|
+
"project_id" : 4,
|
|
127
|
+
"milestone" : {
|
|
128
|
+
"due_date" : null,
|
|
129
|
+
"project_id" : 4,
|
|
130
|
+
"state" : "closed",
|
|
131
|
+
"description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
|
|
132
|
+
"iid" : 3,
|
|
133
|
+
"id" : 11,
|
|
134
|
+
"title" : "v3.0",
|
|
135
|
+
"created_at" : "2016-01-04T15:31:39.788Z",
|
|
136
|
+
"updated_at" : "2016-01-04T15:31:39.788Z"
|
|
137
|
+
},
|
|
138
|
+
"author" : {
|
|
139
|
+
"state" : "active",
|
|
140
|
+
"web_url" : "https://gitlab.example.com/root",
|
|
141
|
+
"avatar_url" : null,
|
|
142
|
+
"username" : "root",
|
|
143
|
+
"id" : 1,
|
|
144
|
+
"name" : "Administrator"
|
|
145
|
+
},
|
|
146
|
+
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
|
|
147
|
+
"state" : "closed",
|
|
148
|
+
"iid" : 1,
|
|
149
|
+
"assignee" : {
|
|
150
|
+
"avatar_url" : null,
|
|
151
|
+
"web_url" : "https://gitlab.example.com/lennie",
|
|
152
|
+
"state" : "active",
|
|
153
|
+
"username" : "lennie",
|
|
154
|
+
"id" : 9,
|
|
155
|
+
"name" : "Dr. Luella Kovacek"
|
|
156
|
+
},
|
|
157
|
+
"labels" : [],
|
|
158
|
+
"id" : 41,
|
|
159
|
+
"title" : "Ut commodi ullam eos dolores perferendis nihil sunt.",
|
|
160
|
+
"updated_at" : "2016-01-04T15:31:46.176Z",
|
|
161
|
+
"created_at" : "2016-01-04T15:31:46.176Z",
|
|
162
|
+
"subscribed" : false,
|
|
163
|
+
"user_notes_count": 1,
|
|
164
|
+
"due_date": null,
|
|
165
|
+
"web_url": "http://example.com/example/example/issues/1",
|
|
166
|
+
"confidential": false
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## List project issues
|
|
172
|
+
|
|
173
|
+
Get a list of a project's issues.
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
GET /projects/:id/issues
|
|
177
|
+
GET /projects/:id/issues?state=opened
|
|
178
|
+
GET /projects/:id/issues?state=closed
|
|
179
|
+
GET /projects/:id/issues?labels=foo
|
|
180
|
+
GET /projects/:id/issues?labels=foo,bar
|
|
181
|
+
GET /projects/:id/issues?labels=foo,bar&state=opened
|
|
182
|
+
GET /projects/:id/issues?milestone=1.0.0
|
|
183
|
+
GET /projects/:id/issues?milestone=1.0.0&state=opened
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
| Attribute | Type | Required | Description |
|
|
187
|
+
| --------- | ---- | -------- | ----------- |
|
|
188
|
+
| `id` | integer | yes | The ID of a project |
|
|
189
|
+
| `iid` | integer | no | Return the issue having the given `iid` |
|
|
190
|
+
| `state` | string | no | Return all issues or just those that are `opened` or `closed`|
|
|
191
|
+
| `labels` | string | no | Comma-separated list of label names, issues with any of the labels will be returned |
|
|
192
|
+
| `milestone` | string| no | The milestone title |
|
|
193
|
+
| `order_by`| string | no | Return requests ordered by `created_at` or `updated_at` fields. Default is `created_at` |
|
|
194
|
+
| `sort` | string | no | Return requests sorted in `asc` or `desc` order. Default is `desc` |
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/4/issues
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Example response:
|
|
202
|
+
|
|
203
|
+
```json
|
|
204
|
+
[
|
|
205
|
+
{
|
|
206
|
+
"project_id" : 4,
|
|
207
|
+
"milestone" : {
|
|
208
|
+
"due_date" : null,
|
|
209
|
+
"project_id" : 4,
|
|
210
|
+
"state" : "closed",
|
|
211
|
+
"description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
|
|
212
|
+
"iid" : 3,
|
|
213
|
+
"id" : 11,
|
|
214
|
+
"title" : "v3.0",
|
|
215
|
+
"created_at" : "2016-01-04T15:31:39.788Z",
|
|
216
|
+
"updated_at" : "2016-01-04T15:31:39.788Z"
|
|
217
|
+
},
|
|
218
|
+
"author" : {
|
|
219
|
+
"state" : "active",
|
|
220
|
+
"web_url" : "https://gitlab.example.com/root",
|
|
221
|
+
"avatar_url" : null,
|
|
222
|
+
"username" : "root",
|
|
223
|
+
"id" : 1,
|
|
224
|
+
"name" : "Administrator"
|
|
225
|
+
},
|
|
226
|
+
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
|
|
227
|
+
"state" : "closed",
|
|
228
|
+
"iid" : 1,
|
|
229
|
+
"assignee" : {
|
|
230
|
+
"avatar_url" : null,
|
|
231
|
+
"web_url" : "https://gitlab.example.com/lennie",
|
|
232
|
+
"state" : "active",
|
|
233
|
+
"username" : "lennie",
|
|
234
|
+
"id" : 9,
|
|
235
|
+
"name" : "Dr. Luella Kovacek"
|
|
236
|
+
},
|
|
237
|
+
"labels" : [],
|
|
238
|
+
"id" : 41,
|
|
239
|
+
"title" : "Ut commodi ullam eos dolores perferendis nihil sunt.",
|
|
240
|
+
"updated_at" : "2016-01-04T15:31:46.176Z",
|
|
241
|
+
"created_at" : "2016-01-04T15:31:46.176Z",
|
|
242
|
+
"subscribed" : false,
|
|
243
|
+
"user_notes_count": 1,
|
|
244
|
+
"due_date": "2016-07-22",
|
|
245
|
+
"web_url": "http://example.com/example/example/issues/1",
|
|
246
|
+
"confidential": false
|
|
247
|
+
}
|
|
248
|
+
]
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Single issue
|
|
252
|
+
|
|
253
|
+
Get a single project issue.
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
GET /projects/:id/issues/:issue_id
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
| Attribute | Type | Required | Description |
|
|
260
|
+
| --------- | ---- | -------- | ----------- |
|
|
261
|
+
| `id` | integer | yes | The ID of a project |
|
|
262
|
+
| `issue_id`| integer | yes | The ID of a project's issue |
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
curl --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/4/issues/41
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Example response:
|
|
269
|
+
|
|
270
|
+
```json
|
|
271
|
+
{
|
|
272
|
+
"project_id" : 4,
|
|
273
|
+
"milestone" : {
|
|
274
|
+
"due_date" : null,
|
|
275
|
+
"project_id" : 4,
|
|
276
|
+
"state" : "closed",
|
|
277
|
+
"description" : "Rerum est voluptatem provident consequuntur molestias similique ipsum dolor.",
|
|
278
|
+
"iid" : 3,
|
|
279
|
+
"id" : 11,
|
|
280
|
+
"title" : "v3.0",
|
|
281
|
+
"created_at" : "2016-01-04T15:31:39.788Z",
|
|
282
|
+
"updated_at" : "2016-01-04T15:31:39.788Z"
|
|
283
|
+
},
|
|
284
|
+
"author" : {
|
|
285
|
+
"state" : "active",
|
|
286
|
+
"web_url" : "https://gitlab.example.com/root",
|
|
287
|
+
"avatar_url" : null,
|
|
288
|
+
"username" : "root",
|
|
289
|
+
"id" : 1,
|
|
290
|
+
"name" : "Administrator"
|
|
291
|
+
},
|
|
292
|
+
"description" : "Omnis vero earum sunt corporis dolor et placeat.",
|
|
293
|
+
"state" : "closed",
|
|
294
|
+
"iid" : 1,
|
|
295
|
+
"assignee" : {
|
|
296
|
+
"avatar_url" : null,
|
|
297
|
+
"web_url" : "https://gitlab.example.com/lennie",
|
|
298
|
+
"state" : "active",
|
|
299
|
+
"username" : "lennie",
|
|
300
|
+
"id" : 9,
|
|
301
|
+
"name" : "Dr. Luella Kovacek"
|
|
302
|
+
},
|
|
303
|
+
"labels" : [],
|
|
304
|
+
"id" : 41,
|
|
305
|
+
"title" : "Ut commodi ullam eos dolores perferendis nihil sunt.",
|
|
306
|
+
"updated_at" : "2016-01-04T15:31:46.176Z",
|
|
307
|
+
"created_at" : "2016-01-04T15:31:46.176Z",
|
|
308
|
+
"subscribed": false,
|
|
309
|
+
"user_notes_count": 1,
|
|
310
|
+
"due_date": null,
|
|
311
|
+
"web_url": "http://example.com/example/example/issues/1",
|
|
312
|
+
"confidential": false
|
|
313
|
+
}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
## New issue
|
|
317
|
+
|
|
318
|
+
Creates a new project issue.
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
POST /projects/:id/issues
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
| Attribute | Type | Required | Description |
|
|
325
|
+
| --------- | ---- | -------- | ----------- |
|
|
326
|
+
| `id` | integer | yes | The ID of a project |
|
|
327
|
+
| `title` | string | yes | The title of an issue |
|
|
328
|
+
| `description` | string | no | The description of an issue |
|
|
329
|
+
| `confidential` | boolean | no | Set an issue to be confidential. Default is `false`. |
|
|
330
|
+
| `assignee_id` | integer | no | The ID of a user to assign issue |
|
|
331
|
+
| `milestone_id` | integer | no | The ID of a milestone to assign issue |
|
|
332
|
+
| `labels` | string | no | Comma-separated label names for an issue |
|
|
333
|
+
| `created_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) |
|
|
334
|
+
| `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` |
|
|
335
|
+
| `merge_request_for_resolving_discussions` | integer | no | The IID of a merge request in which to resolve all issues. This will fill the issue with a default description and mark all discussions as resolved. When passing a description or title, these values will take precedence over the default values. |
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/4/issues?title=Issues%20with%20auth&labels=bug
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Example response:
|
|
342
|
+
|
|
343
|
+
```json
|
|
344
|
+
{
|
|
345
|
+
"project_id" : 4,
|
|
346
|
+
"id" : 84,
|
|
347
|
+
"created_at" : "2016-01-07T12:44:33.959Z",
|
|
348
|
+
"iid" : 14,
|
|
349
|
+
"title" : "Issues with auth",
|
|
350
|
+
"state" : "opened",
|
|
351
|
+
"assignee" : null,
|
|
352
|
+
"labels" : [
|
|
353
|
+
"bug"
|
|
354
|
+
],
|
|
355
|
+
"author" : {
|
|
356
|
+
"name" : "Alexandra Bashirian",
|
|
357
|
+
"avatar_url" : null,
|
|
358
|
+
"state" : "active",
|
|
359
|
+
"web_url" : "https://gitlab.example.com/eileen.lowe",
|
|
360
|
+
"id" : 18,
|
|
361
|
+
"username" : "eileen.lowe"
|
|
362
|
+
},
|
|
363
|
+
"description" : null,
|
|
364
|
+
"updated_at" : "2016-01-07T12:44:33.959Z",
|
|
365
|
+
"milestone" : null,
|
|
366
|
+
"subscribed" : true,
|
|
367
|
+
"user_notes_count": 0,
|
|
368
|
+
"due_date": null,
|
|
369
|
+
"web_url": "http://example.com/example/example/issues/14",
|
|
370
|
+
"confidential": false
|
|
371
|
+
}
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
## Edit issue
|
|
375
|
+
|
|
376
|
+
Updates an existing project issue. This call is also used to mark an issue as
|
|
377
|
+
closed.
|
|
378
|
+
|
|
379
|
+
```
|
|
380
|
+
PUT /projects/:id/issues/:issue_id
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
| Attribute | Type | Required | Description |
|
|
384
|
+
| --------- | ---- | -------- | ----------- |
|
|
385
|
+
| `id` | integer | yes | The ID of a project |
|
|
386
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
387
|
+
| `title` | string | no | The title of an issue |
|
|
388
|
+
| `description` | string | no | The description of an issue |
|
|
389
|
+
| `confidential` | boolean | no | Updates an issue to be confidential |
|
|
390
|
+
| `assignee_id` | integer | no | The ID of a user to assign the issue to |
|
|
391
|
+
| `milestone_id` | integer | no | The ID of a milestone to assign the issue to |
|
|
392
|
+
| `labels` | string | no | Comma-separated label names for an issue |
|
|
393
|
+
| `state_event` | string | no | The state event of an issue. Set `close` to close the issue and `reopen` to reopen it |
|
|
394
|
+
| `updated_at` | string | no | Date time string, ISO 8601 formatted, e.g. `2016-03-11T03:45:40Z` (requires admin or project owner rights) |
|
|
395
|
+
| `due_date` | string | no | Date time string in the format YEAR-MONTH-DAY, e.g. `2016-03-11` |
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
curl --request PUT --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/4/issues/85?state_event=close
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
Example response:
|
|
402
|
+
|
|
403
|
+
```json
|
|
404
|
+
{
|
|
405
|
+
"created_at" : "2016-01-07T12:46:01.410Z",
|
|
406
|
+
"author" : {
|
|
407
|
+
"name" : "Alexandra Bashirian",
|
|
408
|
+
"avatar_url" : null,
|
|
409
|
+
"username" : "eileen.lowe",
|
|
410
|
+
"id" : 18,
|
|
411
|
+
"state" : "active",
|
|
412
|
+
"web_url" : "https://gitlab.example.com/eileen.lowe"
|
|
413
|
+
},
|
|
414
|
+
"state" : "closed",
|
|
415
|
+
"title" : "Issues with auth",
|
|
416
|
+
"project_id" : 4,
|
|
417
|
+
"description" : null,
|
|
418
|
+
"updated_at" : "2016-01-07T12:55:16.213Z",
|
|
419
|
+
"iid" : 15,
|
|
420
|
+
"labels" : [
|
|
421
|
+
"bug"
|
|
422
|
+
],
|
|
423
|
+
"id" : 85,
|
|
424
|
+
"assignee" : null,
|
|
425
|
+
"milestone" : null,
|
|
426
|
+
"subscribed" : true,
|
|
427
|
+
"user_notes_count": 0,
|
|
428
|
+
"due_date": "2016-07-22",
|
|
429
|
+
"web_url": "http://example.com/example/example/issues/15",
|
|
430
|
+
"confidential": false
|
|
431
|
+
}
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
## Delete an issue
|
|
435
|
+
|
|
436
|
+
Only for admins and project owners. Soft deletes the issue in question.
|
|
437
|
+
|
|
438
|
+
```
|
|
439
|
+
DELETE /projects/:id/issues/:issue_id
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
| Attribute | Type | Required | Description |
|
|
443
|
+
| --------- | ---- | -------- | ----------- |
|
|
444
|
+
| `id` | integer | yes | The ID of a project |
|
|
445
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
curl --request DELETE --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/4/issues/85
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
## Move an issue
|
|
452
|
+
|
|
453
|
+
Moves an issue to a different project. If the target project
|
|
454
|
+
equals the source project or the user has insufficient permissions to move an
|
|
455
|
+
issue, error `400` together with an explaining error message is returned.
|
|
456
|
+
|
|
457
|
+
If a given label and/or milestone with the same name also exists in the target
|
|
458
|
+
project, it will then be assigned to the issue that is being moved.
|
|
459
|
+
|
|
460
|
+
```
|
|
461
|
+
POST /projects/:id/issues/:issue_id/move
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
| Attribute | Type | Required | Description |
|
|
465
|
+
| --------- | ---- | -------- | ----------- |
|
|
466
|
+
| `id` | integer | yes | The ID of a project |
|
|
467
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
468
|
+
| `to_project_id` | integer | yes | The ID of the new project |
|
|
469
|
+
|
|
470
|
+
```bash
|
|
471
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/4/issues/85/move
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
Example response:
|
|
475
|
+
|
|
476
|
+
```json
|
|
477
|
+
{
|
|
478
|
+
"id": 92,
|
|
479
|
+
"iid": 11,
|
|
480
|
+
"project_id": 5,
|
|
481
|
+
"title": "Sit voluptas tempora quisquam aut doloribus et.",
|
|
482
|
+
"description": "Repellat voluptas quibusdam voluptatem exercitationem.",
|
|
483
|
+
"state": "opened",
|
|
484
|
+
"created_at": "2016-04-05T21:41:45.652Z",
|
|
485
|
+
"updated_at": "2016-04-07T12:20:17.596Z",
|
|
486
|
+
"labels": [],
|
|
487
|
+
"milestone": null,
|
|
488
|
+
"assignee": {
|
|
489
|
+
"name": "Miss Monserrate Beier",
|
|
490
|
+
"username": "axel.block",
|
|
491
|
+
"id": 12,
|
|
492
|
+
"state": "active",
|
|
493
|
+
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
|
|
494
|
+
"web_url": "https://gitlab.example.com/axel.block"
|
|
495
|
+
},
|
|
496
|
+
"author": {
|
|
497
|
+
"name": "Kris Steuber",
|
|
498
|
+
"username": "solon.cremin",
|
|
499
|
+
"id": 10,
|
|
500
|
+
"state": "active",
|
|
501
|
+
"avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon",
|
|
502
|
+
"web_url": "https://gitlab.example.com/solon.cremin"
|
|
503
|
+
},
|
|
504
|
+
"due_date": null,
|
|
505
|
+
"web_url": "http://example.com/example/example/issues/11",
|
|
506
|
+
"confidential": false
|
|
507
|
+
}
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
## Subscribe to an issue
|
|
511
|
+
|
|
512
|
+
Subscribes the authenticated user to an issue to receive notifications.
|
|
513
|
+
If the user is already subscribed to the issue, the status code `304`
|
|
514
|
+
is returned.
|
|
515
|
+
|
|
516
|
+
```
|
|
517
|
+
POST /projects/:id/issues/:issue_id/subscription
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
| Attribute | Type | Required | Description |
|
|
521
|
+
| --------- | ---- | -------- | ----------- |
|
|
522
|
+
| `id` | integer | yes | The ID of a project |
|
|
523
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/subscription
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
Example response:
|
|
530
|
+
|
|
531
|
+
```json
|
|
532
|
+
{
|
|
533
|
+
"id": 92,
|
|
534
|
+
"iid": 11,
|
|
535
|
+
"project_id": 5,
|
|
536
|
+
"title": "Sit voluptas tempora quisquam aut doloribus et.",
|
|
537
|
+
"description": "Repellat voluptas quibusdam voluptatem exercitationem.",
|
|
538
|
+
"state": "opened",
|
|
539
|
+
"created_at": "2016-04-05T21:41:45.652Z",
|
|
540
|
+
"updated_at": "2016-04-07T12:20:17.596Z",
|
|
541
|
+
"labels": [],
|
|
542
|
+
"milestone": null,
|
|
543
|
+
"assignee": {
|
|
544
|
+
"name": "Miss Monserrate Beier",
|
|
545
|
+
"username": "axel.block",
|
|
546
|
+
"id": 12,
|
|
547
|
+
"state": "active",
|
|
548
|
+
"avatar_url": "http://www.gravatar.com/avatar/46f6f7dc858ada7be1853f7fb96e81da?s=80&d=identicon",
|
|
549
|
+
"web_url": "https://gitlab.example.com/axel.block"
|
|
550
|
+
},
|
|
551
|
+
"author": {
|
|
552
|
+
"name": "Kris Steuber",
|
|
553
|
+
"username": "solon.cremin",
|
|
554
|
+
"id": 10,
|
|
555
|
+
"state": "active",
|
|
556
|
+
"avatar_url": "http://www.gravatar.com/avatar/7a190fecbaa68212a4b68aeb6e3acd10?s=80&d=identicon",
|
|
557
|
+
"web_url": "https://gitlab.example.com/solon.cremin"
|
|
558
|
+
},
|
|
559
|
+
"due_date": null,
|
|
560
|
+
"web_url": "http://example.com/example/example/issues/11",
|
|
561
|
+
"confidential": false
|
|
562
|
+
}
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
## Unsubscribe from an issue
|
|
566
|
+
|
|
567
|
+
Unsubscribes the authenticated user from the issue to not receive notifications
|
|
568
|
+
from it. If the user is not subscribed to the issue, the
|
|
569
|
+
status code `304` is returned.
|
|
570
|
+
|
|
571
|
+
```
|
|
572
|
+
DELETE /projects/:id/issues/:issue_id/subscription
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
| Attribute | Type | Required | Description |
|
|
576
|
+
| --------- | ---- | -------- | ----------- |
|
|
577
|
+
| `id` | integer | yes | The ID of a project |
|
|
578
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
579
|
+
|
|
580
|
+
```bash
|
|
581
|
+
curl --request DELETE --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/subscription
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
Example response:
|
|
585
|
+
|
|
586
|
+
```json
|
|
587
|
+
{
|
|
588
|
+
"id": 93,
|
|
589
|
+
"iid": 12,
|
|
590
|
+
"project_id": 5,
|
|
591
|
+
"title": "Incidunt et rerum ea expedita iure quibusdam.",
|
|
592
|
+
"description": "Et cumque architecto sed aut ipsam.",
|
|
593
|
+
"state": "opened",
|
|
594
|
+
"created_at": "2016-04-05T21:41:45.217Z",
|
|
595
|
+
"updated_at": "2016-04-07T13:02:37.905Z",
|
|
596
|
+
"labels": [],
|
|
597
|
+
"milestone": null,
|
|
598
|
+
"assignee": {
|
|
599
|
+
"name": "Edwardo Grady",
|
|
600
|
+
"username": "keyon",
|
|
601
|
+
"id": 21,
|
|
602
|
+
"state": "active",
|
|
603
|
+
"avatar_url": "http://www.gravatar.com/avatar/3e6f06a86cf27fa8b56f3f74f7615987?s=80&d=identicon",
|
|
604
|
+
"web_url": "https://gitlab.example.com/keyon"
|
|
605
|
+
},
|
|
606
|
+
"author": {
|
|
607
|
+
"name": "Vivian Hermann",
|
|
608
|
+
"username": "orville",
|
|
609
|
+
"id": 11,
|
|
610
|
+
"state": "active",
|
|
611
|
+
"avatar_url": "http://www.gravatar.com/avatar/5224fd70153710e92fb8bcf79ac29d67?s=80&d=identicon",
|
|
612
|
+
"web_url": "https://gitlab.example.com/orville"
|
|
613
|
+
},
|
|
614
|
+
"subscribed": false,
|
|
615
|
+
"due_date": null,
|
|
616
|
+
"web_url": "http://example.com/example/example/issues/12",
|
|
617
|
+
"confidential": false
|
|
618
|
+
}
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
## Create a todo
|
|
622
|
+
|
|
623
|
+
Manually creates a todo for the current user on an issue. If
|
|
624
|
+
there already exists a todo for the user on that issue, status code `304` is
|
|
625
|
+
returned.
|
|
626
|
+
|
|
627
|
+
```
|
|
628
|
+
POST /projects/:id/issues/:issue_id/todo
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
| Attribute | Type | Required | Description |
|
|
632
|
+
| --------- | ---- | -------- | ----------- |
|
|
633
|
+
| `id` | integer | yes | The ID of a project |
|
|
634
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
635
|
+
|
|
636
|
+
```bash
|
|
637
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/todo
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
Example response:
|
|
641
|
+
|
|
642
|
+
```json
|
|
643
|
+
{
|
|
644
|
+
"id": 112,
|
|
645
|
+
"project": {
|
|
646
|
+
"id": 5,
|
|
647
|
+
"name": "Gitlab Ci",
|
|
648
|
+
"name_with_namespace": "Gitlab Org / Gitlab Ci",
|
|
649
|
+
"path": "gitlab-ci",
|
|
650
|
+
"path_with_namespace": "gitlab-org/gitlab-ci"
|
|
651
|
+
},
|
|
652
|
+
"author": {
|
|
653
|
+
"name": "Administrator",
|
|
654
|
+
"username": "root",
|
|
655
|
+
"id": 1,
|
|
656
|
+
"state": "active",
|
|
657
|
+
"avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
|
|
658
|
+
"web_url": "https://gitlab.example.com/root"
|
|
659
|
+
},
|
|
660
|
+
"action_name": "marked",
|
|
661
|
+
"target_type": "Issue",
|
|
662
|
+
"target": {
|
|
663
|
+
"id": 93,
|
|
664
|
+
"iid": 10,
|
|
665
|
+
"project_id": 5,
|
|
666
|
+
"title": "Vel voluptas atque dicta mollitia adipisci qui at.",
|
|
667
|
+
"description": "Tempora laboriosam sint magni sed voluptas similique.",
|
|
668
|
+
"state": "closed",
|
|
669
|
+
"created_at": "2016-06-17T07:47:39.486Z",
|
|
670
|
+
"updated_at": "2016-07-01T11:09:13.998Z",
|
|
671
|
+
"labels": [],
|
|
672
|
+
"milestone": {
|
|
673
|
+
"id": 26,
|
|
674
|
+
"iid": 1,
|
|
675
|
+
"project_id": 5,
|
|
676
|
+
"title": "v0.0",
|
|
677
|
+
"description": "Accusantium nostrum rerum quae quia quis nesciunt suscipit id.",
|
|
678
|
+
"state": "closed",
|
|
679
|
+
"created_at": "2016-06-17T07:47:33.832Z",
|
|
680
|
+
"updated_at": "2016-06-17T07:47:33.832Z",
|
|
681
|
+
"due_date": null
|
|
682
|
+
},
|
|
683
|
+
"assignee": {
|
|
684
|
+
"name": "Jarret O'Keefe",
|
|
685
|
+
"username": "francisca",
|
|
686
|
+
"id": 14,
|
|
687
|
+
"state": "active",
|
|
688
|
+
"avatar_url": "http://www.gravatar.com/avatar/a7fa515d53450023c83d62986d0658a8?s=80&d=identicon",
|
|
689
|
+
"web_url": "https://gitlab.example.com/francisca"
|
|
690
|
+
},
|
|
691
|
+
"author": {
|
|
692
|
+
"name": "Maxie Medhurst",
|
|
693
|
+
"username": "craig_rutherford",
|
|
694
|
+
"id": 12,
|
|
695
|
+
"state": "active",
|
|
696
|
+
"avatar_url": "http://www.gravatar.com/avatar/a0d477b3ea21970ce6ffcbb817b0b435?s=80&d=identicon",
|
|
697
|
+
"web_url": "https://gitlab.example.com/craig_rutherford"
|
|
698
|
+
},
|
|
699
|
+
"subscribed": true,
|
|
700
|
+
"user_notes_count": 7,
|
|
701
|
+
"upvotes": 0,
|
|
702
|
+
"downvotes": 0,
|
|
703
|
+
"due_date": null,
|
|
704
|
+
"web_url": "http://example.com/example/example/issues/110",
|
|
705
|
+
"confidential": false
|
|
706
|
+
},
|
|
707
|
+
"target_url": "https://gitlab.example.com/gitlab-org/gitlab-ci/issues/10",
|
|
708
|
+
"body": "Vel voluptas atque dicta mollitia adipisci qui at.",
|
|
709
|
+
"state": "pending",
|
|
710
|
+
"created_at": "2016-07-01T11:09:13.992Z"
|
|
711
|
+
}
|
|
712
|
+
```
|
|
713
|
+
|
|
714
|
+
## Set a time estimate for an issue
|
|
715
|
+
|
|
716
|
+
Sets an estimated time of work for this issue.
|
|
717
|
+
|
|
718
|
+
```
|
|
719
|
+
POST /projects/:id/issues/:issue_id/time_estimate
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
| Attribute | Type | Required | Description |
|
|
723
|
+
| --------- | ---- | -------- | ----------- |
|
|
724
|
+
| `id` | integer | yes | The ID of a project |
|
|
725
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
726
|
+
| `duration` | string | yes | The duration in human format. e.g: 3h30m |
|
|
727
|
+
|
|
728
|
+
```bash
|
|
729
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/time_estimate?duration=3h30m
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
Example response:
|
|
733
|
+
|
|
734
|
+
```json
|
|
735
|
+
{
|
|
736
|
+
"human_time_estimate": "3h 30m",
|
|
737
|
+
"human_total_time_spent": null,
|
|
738
|
+
"time_estimate": 12600,
|
|
739
|
+
"total_time_spent": 0
|
|
740
|
+
}
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
## Reset the time estimate for an issue
|
|
744
|
+
|
|
745
|
+
Resets the estimated time for this issue to 0 seconds.
|
|
746
|
+
|
|
747
|
+
```
|
|
748
|
+
POST /projects/:id/issues/:issue_id/reset_time_estimate
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
| Attribute | Type | Required | Description |
|
|
752
|
+
| --------- | ---- | -------- | ----------- |
|
|
753
|
+
| `id` | integer | yes | The ID of a project |
|
|
754
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
755
|
+
|
|
756
|
+
```bash
|
|
757
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/reset_time_estimate
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
Example response:
|
|
761
|
+
|
|
762
|
+
```json
|
|
763
|
+
{
|
|
764
|
+
"human_time_estimate": null,
|
|
765
|
+
"human_total_time_spent": null,
|
|
766
|
+
"time_estimate": 0,
|
|
767
|
+
"total_time_spent": 0
|
|
768
|
+
}
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
## Add spent time for an issue
|
|
772
|
+
|
|
773
|
+
Adds spent time for this issue
|
|
774
|
+
|
|
775
|
+
```
|
|
776
|
+
POST /projects/:id/issues/:issue_id/add_spent_time
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
| Attribute | Type | Required | Description |
|
|
780
|
+
| --------- | ---- | -------- | ----------- |
|
|
781
|
+
| `id` | integer | yes | The ID of a project |
|
|
782
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
783
|
+
| `duration` | string | yes | The duration in human format. e.g: 3h30m |
|
|
784
|
+
|
|
785
|
+
```bash
|
|
786
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/add_spent_time?duration=1h
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
Example response:
|
|
790
|
+
|
|
791
|
+
```json
|
|
792
|
+
{
|
|
793
|
+
"human_time_estimate": null,
|
|
794
|
+
"human_total_time_spent": "1h",
|
|
795
|
+
"time_estimate": 0,
|
|
796
|
+
"total_time_spent": 3600
|
|
797
|
+
}
|
|
798
|
+
```
|
|
799
|
+
|
|
800
|
+
## Reset spent time for an issue
|
|
801
|
+
|
|
802
|
+
Resets the total spent time for this issue to 0 seconds.
|
|
803
|
+
|
|
804
|
+
```
|
|
805
|
+
POST /projects/:id/issues/:issue_id/reset_spent_time
|
|
806
|
+
```
|
|
807
|
+
|
|
808
|
+
| Attribute | Type | Required | Description |
|
|
809
|
+
| --------- | ---- | -------- | ----------- |
|
|
810
|
+
| `id` | integer | yes | The ID of a project |
|
|
811
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
812
|
+
|
|
813
|
+
```bash
|
|
814
|
+
curl --request POST --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/reset_spent_time
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
Example response:
|
|
818
|
+
|
|
819
|
+
```json
|
|
820
|
+
{
|
|
821
|
+
"human_time_estimate": null,
|
|
822
|
+
"human_total_time_spent": null,
|
|
823
|
+
"time_estimate": 0,
|
|
824
|
+
"total_time_spent": 0
|
|
825
|
+
}
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
## Get time tracking stats
|
|
829
|
+
|
|
830
|
+
```
|
|
831
|
+
GET /projects/:id/issues/:issue_id/time_stats
|
|
832
|
+
```
|
|
833
|
+
|
|
834
|
+
| Attribute | Type | Required | Description |
|
|
835
|
+
| --------- | ---- | -------- | ----------- |
|
|
836
|
+
| `id` | integer | yes | The ID of a project |
|
|
837
|
+
| `issue_id` | integer | yes | The ID of a project's issue |
|
|
838
|
+
|
|
839
|
+
```bash
|
|
840
|
+
curl --request GET --header "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" https://gitlab.example.com/api/v3/projects/5/issues/93/time_stats
|
|
841
|
+
```
|
|
842
|
+
|
|
843
|
+
Example response:
|
|
844
|
+
|
|
845
|
+
```json
|
|
846
|
+
{
|
|
847
|
+
"human_time_estimate": "2h",
|
|
848
|
+
"human_total_time_spent": "1h",
|
|
849
|
+
"time_estimate": 7200,
|
|
850
|
+
"total_time_spent": 3600
|
|
851
|
+
}
|
|
852
|
+
```
|
|
853
|
+
|
|
854
|
+
## Comments on issues
|
|
855
|
+
|
|
856
|
+
Comments are done via the [notes](notes.md) resource.
|