backlog_kit 0.12.1 → 0.13.0

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.
@@ -1,6 +1,12 @@
1
1
  module BacklogKit
2
2
  class Client
3
+
4
+ # Methods for the Priority API
3
5
  module Priority
6
+
7
+ # Get list of priorities
8
+ #
9
+ # @return [BacklogKit::Response] List of priorities
4
10
  def get_priorities
5
11
  get('priorities')
6
12
  end
@@ -1,140 +1,432 @@
1
1
  module BacklogKit
2
2
  class Client
3
+
4
+ # Methods for the Project API
3
5
  module Project
4
- def get_projects
5
- get('projects')
6
+
7
+ # Get list of projects
8
+ #
9
+ # @param params [Hash] Request parameters
10
+ # @return [BacklogKit::Response] List of projects
11
+ def get_projects(params = {})
12
+ get('projects', params)
6
13
  end
7
14
 
15
+ # Get a project
16
+ #
17
+ # @param project_id_or_key [Integer, String] Project id or project key
18
+ # @return [BacklogKit::Response] The project information
8
19
  def get_project(project_id_or_key)
9
20
  get("projects/#{project_id_or_key}")
10
21
  end
11
22
 
23
+ # Create a new project
24
+ #
25
+ # @param key [String] Project key
26
+ # @param name [String] Project name
27
+ # @param params [Hash] Request parameters
28
+ # @return [BacklogKit::Response] The project information
12
29
  def create_project(key, name, params = {})
13
30
  params.merge!(key: key, name: name)
14
31
  post('projects', params)
15
32
  end
16
33
 
34
+ # Update a project
35
+ #
36
+ # @param project_id_or_key [Integer, String] Project id or project key
37
+ # @param params [Hash] Request parameters
38
+ # @return [BacklogKit::Response] The project information
17
39
  def update_project(project_id_or_key, params = {})
18
40
  patch("projects/#{project_id_or_key}", params)
19
41
  end
20
42
 
43
+ # Delete a project
44
+ #
45
+ # @param project_id_or_key [Integer, String] Project id or project key
46
+ # @return [BacklogKit::Response] The project information
21
47
  def delete_project(project_id_or_key)
22
48
  delete("projects/#{project_id_or_key}")
23
49
  end
24
50
 
51
+ # Download a project icon image
52
+ #
53
+ # @param project_id_or_key [Integer, String] Project id or project key
54
+ # @return [BacklogKit::Response] Binary image data
25
55
  def download_project_icon(project_id_or_key)
26
56
  get("projects/#{project_id_or_key}/image")
27
57
  end
28
58
 
59
+ # Get list of project activities
60
+ #
61
+ # @param project_id_or_key [Integer, String] Project id or project key
62
+ # @param params [Hash] Request parameters
63
+ # @return [BacklogKit::Response] List of recent updates in the project
29
64
  def get_project_activities(project_id_or_key, params = {})
30
65
  get("projects/#{project_id_or_key}/activities", params)
31
66
  end
32
67
 
68
+ # Get list of project members
69
+ #
70
+ # @param project_id_or_key [Integer, String] Project id or project key
71
+ # @return [BacklogKit::Response] List of users
33
72
  def get_project_users(project_id_or_key)
34
73
  get("projects/#{project_id_or_key}/users")
35
74
  end
36
75
 
76
+ # Add a user to a project
77
+ #
78
+ # @param project_id_or_key [Integer, String] Project id or project key
79
+ # @param user_id [Integer, String] User id
80
+ # @return [BacklogKit::Response] The user information
37
81
  def add_project_user(project_id_or_key, user_id)
38
82
  post("projects/#{project_id_or_key}/users", user_id: user_id)
39
83
  end
40
84
 
85
+ # Remove a user from project
86
+ #
87
+ # @param project_id_or_key [Integer, String] Project id or project key
88
+ # @param user_id [Integer, String] User id
89
+ # @return [BacklogKit::Response] The user information
41
90
  def remove_project_user(project_id_or_key, user_id)
42
91
  delete("projects/#{project_id_or_key}/users", user_id: user_id)
43
92
  end
44
93
 
94
+ # Get list of users who has Project Administrator role
95
+ #
96
+ # @param project_id_or_key [Integer, String] Project id or project key
97
+ # @return [BacklogKit::Response] List of users
45
98
  def get_project_administrators(project_id_or_key)
46
99
  get("projects/#{project_id_or_key}/administrators")
47
100
  end
48
101
 
102
+ # Add Project Administrator role to a user
103
+ #
104
+ # @param project_id_or_key [Integer, String] Project id or project key
105
+ # @param user_id [Integer, String] User id
106
+ # @return [BacklogKit::Response] The user information
49
107
  def add_project_admin_auth(project_id_or_key, user_id)
50
108
  post("projects/#{project_id_or_key}/administrators", user_id: user_id)
51
109
  end
52
110
 
111
+ # Remove Project Administrator role from user
112
+ #
113
+ # @param project_id_or_key [Integer, String] Project id or project key
114
+ # @param user_id [Integer, String] User id
115
+ # @return [BacklogKit::Response] The user information
53
116
  def remove_project_admin_auth(project_id_or_key, user_id)
54
117
  delete("projects/#{project_id_or_key}/administrators", user_id: user_id)
55
118
  end
56
119
 
120
+ # Get list of issue types
121
+ #
122
+ # @param project_id_or_key [Integer, String] Project id or project key
123
+ # @return [BacklogKit::Response] List of issue types
57
124
  def get_issue_types(project_id_or_key)
58
125
  get("projects/#{project_id_or_key}/issueTypes")
59
126
  end
60
127
 
128
+ # Add an issue type to a project
129
+ #
130
+ # @param project_id_or_key [Integer, String] Project id or project key
131
+ # @param name [String] Issue type name
132
+ # @param color [String] Background color of the issue type
133
+ # @return [BacklogKit::Response] The issue type information
61
134
  def add_issue_type(project_id_or_key, name, color)
62
135
  post("projects/#{project_id_or_key}/issueTypes", name: name, color: color)
63
136
  end
64
137
 
138
+ # Update an issue type
139
+ #
140
+ # @param project_id_or_key [Integer, String] Project id or project key
141
+ # @param type_id [Integer, String] Issue type id
142
+ # @param params [Hash] Request parameters
143
+ # @return [BacklogKit::Response] The issue type information
65
144
  def update_issue_type(project_id_or_key, type_id, params = {})
66
145
  patch("projects/#{project_id_or_key}/issueTypes/#{type_id}", params)
67
146
  end
68
147
 
148
+ # Remove an issue type from project
149
+ #
150
+ # @param project_id_or_key [Integer, String] Project id or project key
151
+ # @param type_id [Integer, String] Issue type id
152
+ # @param substitute_type_id [Integer, String] Issue type id to change linked issue
153
+ # @return [BacklogKit::Response] The issue type information
69
154
  def remove_issue_type(project_id_or_key, type_id, substitute_type_id)
70
155
  delete("projects/#{project_id_or_key}/issueTypes/#{type_id}", substitute_issue_type_id: substitute_type_id)
71
156
  end
72
157
 
158
+ # Get list of categories
159
+ #
160
+ # @param project_id_or_key [Integer, String] Project id or project key
161
+ # @return [BacklogKit::Response] List of categories
73
162
  def get_categories(project_id_or_key)
74
163
  get("projects/#{project_id_or_key}/categories")
75
164
  end
76
165
 
166
+ # Add a category to a project
167
+ #
168
+ # @param project_id_or_key [Integer, String] Project id or project key
169
+ # @param name [String] Category name
170
+ # @return [BacklogKit::Response] The category information
77
171
  def add_category(project_id_or_key, name)
78
172
  post("projects/#{project_id_or_key}/categories", name: name)
79
173
  end
80
174
 
175
+ # Update a category
176
+ #
177
+ # @param project_id_or_key [Integer, String] Project id or project key
178
+ # @param category_id [Integer, String] Category id
179
+ # @param name [String] Category name
180
+ # @return [BacklogKit::Response] The category information
81
181
  def update_category(project_id_or_key, category_id, name)
82
182
  patch("projects/#{project_id_or_key}/categories/#{category_id}", name: name)
83
183
  end
84
184
 
185
+ # Remove a category from project
186
+ #
187
+ # @param project_id_or_key [Integer, String] Project id or project key
188
+ # @param category_id [Integer, String] Category id
189
+ # @return [BacklogKit::Response] The category information
85
190
  def remove_category(project_id_or_key, category_id)
86
191
  delete("projects/#{project_id_or_key}/categories/#{category_id}")
87
192
  end
88
193
 
194
+ # Get list of versions
195
+ #
196
+ # @param project_id_or_key [Integer, String] Project id or project key
197
+ # @return [BacklogKit::Response] List of versions
89
198
  def get_versions(project_id_or_key)
90
199
  get("projects/#{project_id_or_key}/versions")
91
200
  end
92
201
 
202
+ # Add a version to a project
203
+ #
204
+ # @param project_id_or_key [Integer, String] Project id or project key
205
+ # @param name [String] Version name
206
+ # @param params [Hash] Request parameters
207
+ # @return [BacklogKit::Response] The version information
93
208
  def add_version(project_id_or_key, name, params = {})
94
209
  params.merge!(name: name)
95
210
  post("projects/#{project_id_or_key}/versions", params)
96
211
  end
97
212
 
213
+ # Update a version
214
+ #
215
+ # @param project_id_or_key [Integer, String] Project id or project key
216
+ # @param version_id [Integer, String] Version id
217
+ # @param params [Hash] Request parameters
218
+ # @return [BacklogKit::Response] The version information
98
219
  def update_version(project_id_or_key, version_id, params = {})
99
220
  patch("projects/#{project_id_or_key}/versions/#{version_id}", params)
100
221
  end
101
222
 
223
+ # Remove a version from project
224
+ #
225
+ # @param project_id_or_key [Integer, String] Project id or project key
226
+ # @param version_id [Integer, String] Version id
227
+ # @return [BacklogKit::Response] The version information
102
228
  def remove_version(project_id_or_key, version_id)
103
229
  delete("projects/#{project_id_or_key}/versions/#{version_id}")
104
230
  end
105
231
 
232
+ # Get list of shared files
233
+ #
234
+ # @param project_id_or_key [Integer, String] Project id or project key
235
+ # @param directory_path [String] Directory path
236
+ # @param params [Hash] Request parameters
237
+ # @return [BacklogKit::Response] List of files
106
238
  def get_shared_files(project_id_or_key, directory_path = '', params = {})
107
239
  get("projects/#{project_id_or_key}/files/metadata/#{directory_path}", params)
108
240
  end
109
241
 
242
+ # Download a shared file
243
+ #
244
+ # @param project_id_or_key [Integer, String] Project id or project key
245
+ # @param file_id [Integer, String] Shared file id
246
+ # @return [BacklogKit::Response] Binary data
110
247
  def download_shared_file(project_id_or_key, file_id)
111
248
  get("projects/#{project_id_or_key}/files/#{file_id}")
112
249
  end
113
250
 
251
+ # Get disk usage
252
+ #
253
+ # @param project_id_or_key [Integer, String] Project id or project key
254
+ # @return [BacklogKit::Response] The disk usage information
114
255
  def get_project_disk_usage(project_id_or_key)
115
256
  get("projects/#{project_id_or_key}/diskUsage")
116
257
  end
117
258
 
259
+ # Get list of webhooks
260
+ #
261
+ # @param project_id_or_key [Integer, String] Project id or project key
262
+ # @return [BacklogKit::Response] List of webhooks
118
263
  def get_webhooks(project_id_or_key)
119
264
  get("projects/#{project_id_or_key}/webhooks")
120
265
  end
121
266
 
267
+ # Get a webhook
268
+ #
269
+ # @param project_id_or_key [Integer, String] Project id or project key
270
+ # @param webhook_id [Integer, String] Webhook id
271
+ # @return [BacklogKit::Response] The webhook information
122
272
  def get_webhook(project_id_or_key, webhook_id)
123
273
  get("projects/#{project_id_or_key}/webhooks/#{webhook_id}")
124
274
  end
125
275
 
276
+ # Add a webhook to a project
277
+ #
278
+ # @param project_id_or_key [Integer, String] Project id or project key
279
+ # @param name [String] Webhook name
280
+ # @param hook_url [String] Webhook URL
281
+ # @param params [Hash] Request parameters
282
+ # @return [BacklogKit::Response] The webhook information
126
283
  def add_webhook(project_id_or_key, name, hook_url, params = {})
127
284
  params.merge!(name: name, hook_url: hook_url)
128
285
  post("projects/#{project_id_or_key}/webhooks", params)
129
286
  end
130
287
 
288
+ # Update a webhook
289
+ #
290
+ # @param project_id_or_key [Integer, String] Project id or project key
291
+ # @param webhook_id [Integer, String] Webhook id
292
+ # @param params [Hash] Request parameters
293
+ # @return [BacklogKit::Response] The webhook information
131
294
  def update_webhook(project_id_or_key, webhook_id, params = {})
132
295
  patch("projects/#{project_id_or_key}/webhooks/#{webhook_id}", params)
133
296
  end
134
297
 
298
+ # Remove a webhook from project
299
+ #
300
+ # @param project_id_or_key [Integer, String] Project id or project key
301
+ # @param webhook_id [Integer, String] Webhook id
302
+ # @return [BacklogKit::Response] The webhook information
135
303
  def remove_webhook(project_id_or_key, webhook_id)
136
304
  delete("projects/#{project_id_or_key}/webhooks/#{webhook_id}")
137
305
  end
306
+
307
+ # Get list of pull requests
308
+ #
309
+ # @param project_id_or_key [Integer, String] Project id or project key
310
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
311
+ # @return [BacklogKit::Response] List of pull requests
312
+ def get_pull_requests(project_id_or_key, repository_id_or_name)
313
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests")
314
+ end
315
+
316
+ # Get number of pull requests
317
+ #
318
+ # @param project_id_or_key [Integer, String] Project id or project key
319
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
320
+ # @return [BacklogKit::Response] Number of pull requests
321
+ def get_pull_request_count(project_id_or_key, repository_id_or_name)
322
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/count")
323
+ end
324
+
325
+ # Get a pull request
326
+ #
327
+ # @param project_id_or_key [Integer, String] Project id or project key
328
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
329
+ # @param pull_request_number [Integer, String] Pull request number
330
+ # @return [BacklogKit::Response] The pull request information
331
+ def get_pull_request(project_id_or_key, repository_id_or_name, pull_request_number)
332
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}")
333
+ end
334
+
335
+ # Create a new pull request
336
+ #
337
+ # @param project_id_or_key [Integer, String] Project id or project key
338
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
339
+ # @param params [Hash] Request parameters
340
+ # @return [BacklogKit::Response] The pull request information
341
+ def create_pull_request(project_id_or_key, repository_id_or_name, params = {})
342
+ post("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests", params)
343
+ end
344
+
345
+ # Update a pull request
346
+ #
347
+ # @param project_id_or_key [Integer, String] Project id or project key
348
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
349
+ # @param pull_request_number [Integer, String] Pull request number
350
+ # @param params [Hash] Request parameters
351
+ # @return [BacklogKit::Response] The pull request information
352
+ def update_pull_request(project_id_or_key, repository_id_or_name, pull_request_number, params = {})
353
+ patch("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}", params)
354
+ end
355
+
356
+ # Get list of comments in pull request
357
+ #
358
+ # @param project_id_or_key [Integer, String] Project id or project key
359
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
360
+ # @param pull_request_number [Integer, String] Pull request number
361
+ # @return [BacklogKit::Response] List of comments
362
+ def get_pull_request_comments(project_id_or_key, repository_id_or_name, pull_request_number)
363
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments")
364
+ end
365
+
366
+ # Get number of comments in pull request
367
+ #
368
+ # @param project_id_or_key [Integer, String] Project id or project key
369
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
370
+ # @param pull_request_number [Integer, String] Pull request number
371
+ # @return [BacklogKit::Response] Number of comments
372
+ def get_pull_request_comment_count(project_id_or_key, repository_id_or_name, pull_request_number)
373
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments/count")
374
+ end
375
+
376
+ # Add a comment to a pull request
377
+ #
378
+ # @param project_id_or_key [Integer, String] Project id or project key
379
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
380
+ # @param pull_request_number [Integer, String] Pull request number
381
+ # @param params [Hash] Request parameters
382
+ # @return [BacklogKit::Response] The comment information
383
+ def add_pull_request_comment(project_id_or_key, repository_id_or_name, pull_request_number, params = {})
384
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments", params)
385
+ end
386
+
387
+ # Update a comment in pull request
388
+ #
389
+ # @param project_id_or_key [Integer, String] Project id or project key
390
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
391
+ # @param pull_request_number [Integer, String] Pull request number
392
+ # @param comment_id [Integer, String] Comment id
393
+ # @param content [String] Content of the comment
394
+ # @return [BacklogKit::Response] The comment information
395
+ def update_pull_request_comment(project_id_or_key, repository_id_or_name, pull_request_number, comment_id, content)
396
+ patch("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/comments/#{comment_id}", content: content)
397
+ end
398
+
399
+ # Get list of attachment files on pull request
400
+ #
401
+ # @param project_id_or_key [Integer, String] Project id or project key
402
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
403
+ # @param pull_request_number [Integer, String] Pull request number
404
+ # @return [BacklogKit::Response] List of files
405
+ def get_pull_request_attachments(project_id_or_key, repository_id_or_name, pull_request_number)
406
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/attachments")
407
+ end
408
+
409
+ # Download an attachment file on pull request
410
+ #
411
+ # @param project_id_or_key [Integer, String] Project id or project key
412
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
413
+ # @param pull_request_number [Integer, String] Pull request number
414
+ # @param attachment_id [Integer, String] Attachment file id
415
+ # @return [BacklogKit::Response] Binary data
416
+ def download_pull_request_attachment(project_id_or_key, repository_id_or_name, pull_request_number, attachment_id)
417
+ get("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/attachments/#{attachment_id}")
418
+ end
419
+
420
+ # Remove an attachment file from pull request
421
+ #
422
+ # @param project_id_or_key [Integer, String] Project id or project key
423
+ # @param repository_id_or_name [Integer, String] Repository id or repository name
424
+ # @param pull_request_number [Integer, String] Pull request number
425
+ # @param attachment_id [Integer, String] Attachment file id
426
+ # @return [BacklogKit::Response] The pull request information
427
+ def remove_pull_request_attachment(project_id_or_key, repository_id_or_name, pull_request_number, attachment_id)
428
+ delete("projects/#{project_id_or_key}/git/repositories/#{repository_id_or_name}/pullRequests/#{pull_request_number}/attachments/#{attachment_id}")
429
+ end
138
430
  end
139
431
  end
140
432
  end
@@ -1,6 +1,12 @@
1
1
  module BacklogKit
2
2
  class Client
3
+
4
+ # Methods for the Resolution API
3
5
  module Resolution
6
+
7
+ # Get list of resolutions
8
+ #
9
+ # @return [BacklogKit::Response] List of resolutions
4
10
  def get_resolutions
5
11
  get('resolutions')
6
12
  end