labclient 0.1.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.
Files changed (615) hide show
  1. checksums.yaml +7 -0
  2. data/lib/labclient/access_levels.rb +47 -0
  3. data/lib/labclient/appearance/appearance.rb +7 -0
  4. data/lib/labclient/appearance/show.rb +19 -0
  5. data/lib/labclient/appearance/update.rb +37 -0
  6. data/lib/labclient/application_settings/application_setting.rb +10 -0
  7. data/lib/labclient/application_settings/show.rb +52 -0
  8. data/lib/labclient/application_settings/update.rb +53 -0
  9. data/lib/labclient/application_statistics/application_statistics.rb +17 -0
  10. data/lib/labclient/applications/application.rb +19 -0
  11. data/lib/labclient/applications/create.rb +36 -0
  12. data/lib/labclient/applications/delete.rb +35 -0
  13. data/lib/labclient/applications/list.rb +18 -0
  14. data/lib/labclient/approvals/client.rb +16 -0
  15. data/lib/labclient/approvals/merge_approval.rb +20 -0
  16. data/lib/labclient/approvals/merge_request/approve.rb +35 -0
  17. data/lib/labclient/approvals/merge_request/create_rule.rb +38 -0
  18. data/lib/labclient/approvals/merge_request/delete_rule.rb +27 -0
  19. data/lib/labclient/approvals/merge_request/rules.rb +27 -0
  20. data/lib/labclient/approvals/merge_request/show.rb +27 -0
  21. data/lib/labclient/approvals/merge_request/unapprove.rb +35 -0
  22. data/lib/labclient/approvals/merge_request/update.rb +28 -0
  23. data/lib/labclient/approvals/merge_request/update_rule.rb +40 -0
  24. data/lib/labclient/approvals/project/create_rule.rb +38 -0
  25. data/lib/labclient/approvals/project/delete_rule.rb +26 -0
  26. data/lib/labclient/approvals/project/rules.rb +26 -0
  27. data/lib/labclient/approvals/project/show.rb +38 -0
  28. data/lib/labclient/approvals/project/update.rb +53 -0
  29. data/lib/labclient/approvals/project/update_rule.rb +39 -0
  30. data/lib/labclient/approvals/rule.rb +36 -0
  31. data/lib/labclient/audit_events/audit_event.rb +12 -0
  32. data/lib/labclient/audit_events/group_list.rb +63 -0
  33. data/lib/labclient/audit_events/group_show.rb +27 -0
  34. data/lib/labclient/audit_events/instance_list.rb +73 -0
  35. data/lib/labclient/audit_events/instance_show.rb +19 -0
  36. data/lib/labclient/avatar/avatar.rb +14 -0
  37. data/lib/labclient/avatar/show.rb +27 -0
  38. data/lib/labclient/awards/award.rb +17 -0
  39. data/lib/labclient/awards/issues/client.rb +17 -0
  40. data/lib/labclient/awards/issues/create.rb +23 -0
  41. data/lib/labclient/awards/issues/delete.rb +20 -0
  42. data/lib/labclient/awards/issues/list.rb +22 -0
  43. data/lib/labclient/awards/issues/show.rb +22 -0
  44. data/lib/labclient/awards/merge_requests/client.rb +17 -0
  45. data/lib/labclient/awards/merge_requests/create.rb +23 -0
  46. data/lib/labclient/awards/merge_requests/delete.rb +20 -0
  47. data/lib/labclient/awards/merge_requests/list.rb +22 -0
  48. data/lib/labclient/awards/merge_requests/show.rb +22 -0
  49. data/lib/labclient/awards/snippets/client.rb +17 -0
  50. data/lib/labclient/awards/snippets/create.rb +23 -0
  51. data/lib/labclient/awards/snippets/delete.rb +20 -0
  52. data/lib/labclient/awards/snippets/list.rb +22 -0
  53. data/lib/labclient/awards/snippets/show.rb +22 -0
  54. data/lib/labclient/branches/branch.rb +15 -0
  55. data/lib/labclient/branches/delete.rb +24 -0
  56. data/lib/labclient/branches/delete_merged.rb +25 -0
  57. data/lib/labclient/branches/list.rb +35 -0
  58. data/lib/labclient/branches/show.rb +24 -0
  59. data/lib/labclient/broadcast_messages/broadcast_message.rb +31 -0
  60. data/lib/labclient/broadcast_messages/create.rb +66 -0
  61. data/lib/labclient/broadcast_messages/delete.rb +36 -0
  62. data/lib/labclient/broadcast_messages/list.rb +18 -0
  63. data/lib/labclient/broadcast_messages/show.rb +18 -0
  64. data/lib/labclient/broadcast_messages/update.rb +75 -0
  65. data/lib/labclient/ci_lint/ci_lint.rb +43 -0
  66. data/lib/labclient/class_helpers.rb +17 -0
  67. data/lib/labclient/client.rb +157 -0
  68. data/lib/labclient/commits/cherry_pick.rb +40 -0
  69. data/lib/labclient/commits/comment_create.rb +67 -0
  70. data/lib/labclient/commits/comments.rb +39 -0
  71. data/lib/labclient/commits/commit.rb +101 -0
  72. data/lib/labclient/commits/commit_comment.rb +14 -0
  73. data/lib/labclient/commits/commit_diff.rb +7 -0
  74. data/lib/labclient/commits/create.rb +83 -0
  75. data/lib/labclient/commits/diff.rb +39 -0
  76. data/lib/labclient/commits/list.rb +54 -0
  77. data/lib/labclient/commits/merge_requests.rb +40 -0
  78. data/lib/labclient/commits/project_helpers.rb +49 -0
  79. data/lib/labclient/commits/refs.rb +44 -0
  80. data/lib/labclient/commits/revert.rb +40 -0
  81. data/lib/labclient/commits/show.rb +25 -0
  82. data/lib/labclient/commits/status/list.rb +57 -0
  83. data/lib/labclient/commits/status/status.rb +14 -0
  84. data/lib/labclient/commits/status/update.rb +53 -0
  85. data/lib/labclient/common.rb +110 -0
  86. data/lib/labclient/curl.rb +27 -0
  87. data/lib/labclient/deploy_keys/add.rb +46 -0
  88. data/lib/labclient/deploy_keys/delete.rb +46 -0
  89. data/lib/labclient/deploy_keys/deploy_key.rb +30 -0
  90. data/lib/labclient/deploy_keys/enable.rb +38 -0
  91. data/lib/labclient/deploy_keys/list.rb +38 -0
  92. data/lib/labclient/deploy_keys/project_helpers.rb +29 -0
  93. data/lib/labclient/deploy_keys/show.rb +30 -0
  94. data/lib/labclient/deploy_keys/update.rb +53 -0
  95. data/lib/labclient/discussions/commits/client.rb +17 -0
  96. data/lib/labclient/discussions/commits/create.rb +32 -0
  97. data/lib/labclient/discussions/commits/delete.rb +20 -0
  98. data/lib/labclient/discussions/commits/list.rb +22 -0
  99. data/lib/labclient/discussions/commits/show.rb +22 -0
  100. data/lib/labclient/discussions/commits/update.rb +32 -0
  101. data/lib/labclient/discussions/discussion.rb +17 -0
  102. data/lib/labclient/discussions/epics/client.rb +17 -0
  103. data/lib/labclient/discussions/epics/create.rb +32 -0
  104. data/lib/labclient/discussions/epics/delete.rb +20 -0
  105. data/lib/labclient/discussions/epics/list.rb +22 -0
  106. data/lib/labclient/discussions/epics/show.rb +22 -0
  107. data/lib/labclient/discussions/epics/update.rb +32 -0
  108. data/lib/labclient/discussions/issues/client.rb +17 -0
  109. data/lib/labclient/discussions/issues/create.rb +32 -0
  110. data/lib/labclient/discussions/issues/delete.rb +20 -0
  111. data/lib/labclient/discussions/issues/list.rb +22 -0
  112. data/lib/labclient/discussions/issues/show.rb +22 -0
  113. data/lib/labclient/discussions/issues/update.rb +32 -0
  114. data/lib/labclient/discussions/merge_requests/client.rb +17 -0
  115. data/lib/labclient/discussions/merge_requests/create.rb +32 -0
  116. data/lib/labclient/discussions/merge_requests/delete.rb +20 -0
  117. data/lib/labclient/discussions/merge_requests/list.rb +22 -0
  118. data/lib/labclient/discussions/merge_requests/show.rb +22 -0
  119. data/lib/labclient/discussions/merge_requests/update.rb +32 -0
  120. data/lib/labclient/discussions/snippets/client.rb +17 -0
  121. data/lib/labclient/discussions/snippets/create.rb +32 -0
  122. data/lib/labclient/discussions/snippets/delete.rb +20 -0
  123. data/lib/labclient/discussions/snippets/list.rb +22 -0
  124. data/lib/labclient/discussions/snippets/show.rb +22 -0
  125. data/lib/labclient/discussions/snippets/update.rb +32 -0
  126. data/lib/labclient/docs.rb +107 -0
  127. data/lib/labclient/epics/create.rb +42 -0
  128. data/lib/labclient/epics/delete.rb +35 -0
  129. data/lib/labclient/epics/epic.rb +72 -0
  130. data/lib/labclient/epics/issues/add.rb +35 -0
  131. data/lib/labclient/epics/issues/list.rb +38 -0
  132. data/lib/labclient/epics/issues/remove.rb +37 -0
  133. data/lib/labclient/epics/issues/update.rb +44 -0
  134. data/lib/labclient/epics/list.rb +54 -0
  135. data/lib/labclient/epics/show.rb +29 -0
  136. data/lib/labclient/epics/todo.rb +27 -0
  137. data/lib/labclient/epics/update.rb +52 -0
  138. data/lib/labclient/error.rb +11 -0
  139. data/lib/labclient/events/event.rb +13 -0
  140. data/lib/labclient/events/list.rb +67 -0
  141. data/lib/labclient/events/project.rb +67 -0
  142. data/lib/labclient/events/user.rb +66 -0
  143. data/lib/labclient/files/create.rb +49 -0
  144. data/lib/labclient/files/delete.rb +43 -0
  145. data/lib/labclient/files/show.rb +48 -0
  146. data/lib/labclient/files/update.rb +49 -0
  147. data/lib/labclient/groups/access_requests/access_request.rb +34 -0
  148. data/lib/labclient/groups/access_requests/approve.rb +38 -0
  149. data/lib/labclient/groups/access_requests/client.rb +17 -0
  150. data/lib/labclient/groups/access_requests/create.rb +25 -0
  151. data/lib/labclient/groups/access_requests/deny.rb +25 -0
  152. data/lib/labclient/groups/access_requests/list.rb +24 -0
  153. data/lib/labclient/groups/badges/client.rb +17 -0
  154. data/lib/labclient/groups/badges/create.rb +49 -0
  155. data/lib/labclient/groups/badges/delete.rb +33 -0
  156. data/lib/labclient/groups/badges/group_badge.rb +47 -0
  157. data/lib/labclient/groups/badges/list.rb +28 -0
  158. data/lib/labclient/groups/badges/preview.rb +42 -0
  159. data/lib/labclient/groups/badges/show.rb +27 -0
  160. data/lib/labclient/groups/badges/update.rb +45 -0
  161. data/lib/labclient/groups/create.rb +31 -0
  162. data/lib/labclient/groups/delete.rb +25 -0
  163. data/lib/labclient/groups/group.rb +317 -0
  164. data/lib/labclient/groups/hooks/client.rb +17 -0
  165. data/lib/labclient/groups/hooks/create.rb +46 -0
  166. data/lib/labclient/groups/hooks/delete.rb +33 -0
  167. data/lib/labclient/groups/hooks/group_hook.rb +37 -0
  168. data/lib/labclient/groups/hooks/list.rb +31 -0
  169. data/lib/labclient/groups/hooks/show.rb +27 -0
  170. data/lib/labclient/groups/hooks/update.rb +55 -0
  171. data/lib/labclient/groups/labels/client.rb +17 -0
  172. data/lib/labclient/groups/labels/create.rb +39 -0
  173. data/lib/labclient/groups/labels/delete.rb +33 -0
  174. data/lib/labclient/groups/labels/group_label.rb +49 -0
  175. data/lib/labclient/groups/labels/list.rb +35 -0
  176. data/lib/labclient/groups/labels/show.rb +34 -0
  177. data/lib/labclient/groups/labels/subscribe.rb +35 -0
  178. data/lib/labclient/groups/labels/unsubscribe.rb +35 -0
  179. data/lib/labclient/groups/labels/update.rb +46 -0
  180. data/lib/labclient/groups/ldap/client.rb +18 -0
  181. data/lib/labclient/groups/ldap/create.rb +35 -0
  182. data/lib/labclient/groups/ldap/delete.rb +37 -0
  183. data/lib/labclient/groups/ldap/link.rb +17 -0
  184. data/lib/labclient/groups/ldap/list.rb +27 -0
  185. data/lib/labclient/groups/ldap/sync.rb +27 -0
  186. data/lib/labclient/groups/list.rb +76 -0
  187. data/lib/labclient/groups/milestones/burndown.rb +36 -0
  188. data/lib/labclient/groups/milestones/client.rb +17 -0
  189. data/lib/labclient/groups/milestones/create.rb +37 -0
  190. data/lib/labclient/groups/milestones/delete.rb +26 -0
  191. data/lib/labclient/groups/milestones/group_milestone.rb +52 -0
  192. data/lib/labclient/groups/milestones/issues.rb +29 -0
  193. data/lib/labclient/groups/milestones/list.rb +41 -0
  194. data/lib/labclient/groups/milestones/merge_requests.rb +29 -0
  195. data/lib/labclient/groups/milestones/show.rb +20 -0
  196. data/lib/labclient/groups/milestones/update.rb +45 -0
  197. data/lib/labclient/groups/projects.rb +54 -0
  198. data/lib/labclient/groups/restore.rb +26 -0
  199. data/lib/labclient/groups/runners.rb +33 -0
  200. data/lib/labclient/groups/search.rb +89 -0
  201. data/lib/labclient/groups/show.rb +37 -0
  202. data/lib/labclient/groups/subgroups.rb +47 -0
  203. data/lib/labclient/groups/transfer.rb +27 -0
  204. data/lib/labclient/groups/update.rb +34 -0
  205. data/lib/labclient/http.rb +87 -0
  206. data/lib/labclient/impersonation_tokens/create.rb +37 -0
  207. data/lib/labclient/impersonation_tokens/impersonation_token.rb +18 -0
  208. data/lib/labclient/impersonation_tokens/list.rb +29 -0
  209. data/lib/labclient/impersonation_tokens/revoke.rb +32 -0
  210. data/lib/labclient/impersonation_tokens/show.rb +18 -0
  211. data/lib/labclient/issues/agent_detail.rb +31 -0
  212. data/lib/labclient/issues/closed_by.rb +27 -0
  213. data/lib/labclient/issues/create.rb +29 -0
  214. data/lib/labclient/issues/delete.rb +26 -0
  215. data/lib/labclient/issues/group_issues.rb +29 -0
  216. data/lib/labclient/issues/issue.rb +114 -0
  217. data/lib/labclient/issues/list.rb +58 -0
  218. data/lib/labclient/issues/move.rb +28 -0
  219. data/lib/labclient/issues/notes.rb +18 -0
  220. data/lib/labclient/issues/participants.rb +35 -0
  221. data/lib/labclient/issues/project_issues.rb +31 -0
  222. data/lib/labclient/issues/related_merge_requests.rb +30 -0
  223. data/lib/labclient/issues/show.rb +21 -0
  224. data/lib/labclient/issues/subscribe.rb +31 -0
  225. data/lib/labclient/issues/time_stats.rb +157 -0
  226. data/lib/labclient/issues/todo.rb +31 -0
  227. data/lib/labclient/issues/unsubscribe.rb +31 -0
  228. data/lib/labclient/issues/update.rb +44 -0
  229. data/lib/labclient/jobs/artifacts.rb +49 -0
  230. data/lib/labclient/jobs/artifacts_latest.rb +39 -0
  231. data/lib/labclient/jobs/artifacts_path.rb +50 -0
  232. data/lib/labclient/jobs/cancel.rb +33 -0
  233. data/lib/labclient/jobs/delete.rb +33 -0
  234. data/lib/labclient/jobs/erase.rb +33 -0
  235. data/lib/labclient/jobs/job.rb +79 -0
  236. data/lib/labclient/jobs/keep.rb +33 -0
  237. data/lib/labclient/jobs/pipeline_list.rb +33 -0
  238. data/lib/labclient/jobs/play.rb +33 -0
  239. data/lib/labclient/jobs/project_list.rb +30 -0
  240. data/lib/labclient/jobs/retry.rb +33 -0
  241. data/lib/labclient/jobs/show.rb +25 -0
  242. data/lib/labclient/jobs/trace.rb +33 -0
  243. data/lib/labclient/keys/fingerprint.rb +27 -0
  244. data/lib/labclient/keys/key.rb +26 -0
  245. data/lib/labclient/keys/project.rb +68 -0
  246. data/lib/labclient/keys/show.rb +15 -0
  247. data/lib/labclient/keys/user.rb +66 -0
  248. data/lib/labclient/klass.rb +107 -0
  249. data/lib/labclient/license/add.rb +21 -0
  250. data/lib/labclient/license/delete.rb +17 -0
  251. data/lib/labclient/license/license.rb +12 -0
  252. data/lib/labclient/license/list.rb +71 -0
  253. data/lib/labclient/markdown/markdown.rb +28 -0
  254. data/lib/labclient/members/groups/add.rb +37 -0
  255. data/lib/labclient/members/groups/delete.rb +23 -0
  256. data/lib/labclient/members/groups/list.rb +67 -0
  257. data/lib/labclient/members/groups/show.rb +49 -0
  258. data/lib/labclient/members/groups/update.rb +36 -0
  259. data/lib/labclient/members/member.rb +56 -0
  260. data/lib/labclient/members/members.rb +15 -0
  261. data/lib/labclient/members/projects/add.rb +37 -0
  262. data/lib/labclient/members/projects/delete.rb +23 -0
  263. data/lib/labclient/members/projects/list.rb +66 -0
  264. data/lib/labclient/members/projects/show.rb +49 -0
  265. data/lib/labclient/members/projects/update.rb +36 -0
  266. data/lib/labclient/merge_requests/accept.rb +39 -0
  267. data/lib/labclient/merge_requests/cancel_auto_merge.rb +38 -0
  268. data/lib/labclient/merge_requests/change.rb +25 -0
  269. data/lib/labclient/merge_requests/changes.rb +34 -0
  270. data/lib/labclient/merge_requests/closes_issues.rb +35 -0
  271. data/lib/labclient/merge_requests/commits.rb +22 -0
  272. data/lib/labclient/merge_requests/create.rb +51 -0
  273. data/lib/labclient/merge_requests/delete.rb +31 -0
  274. data/lib/labclient/merge_requests/diff.rb +28 -0
  275. data/lib/labclient/merge_requests/diff_versions.rb +70 -0
  276. data/lib/labclient/merge_requests/list.rb +105 -0
  277. data/lib/labclient/merge_requests/merge_ref.rb +48 -0
  278. data/lib/labclient/merge_requests/merge_request.rb +211 -0
  279. data/lib/labclient/merge_requests/notes.rb +18 -0
  280. data/lib/labclient/merge_requests/participants.rb +36 -0
  281. data/lib/labclient/merge_requests/pipelines.rb +63 -0
  282. data/lib/labclient/merge_requests/rebase.rb +45 -0
  283. data/lib/labclient/merge_requests/show.rb +32 -0
  284. data/lib/labclient/merge_requests/subscribe.rb +31 -0
  285. data/lib/labclient/merge_requests/time_stats.rb +157 -0
  286. data/lib/labclient/merge_requests/todo.rb +31 -0
  287. data/lib/labclient/merge_requests/unsubscribe.rb +31 -0
  288. data/lib/labclient/merge_requests/update.rb +35 -0
  289. data/lib/labclient/namespaces/list.rb +30 -0
  290. data/lib/labclient/namespaces/namespace.rb +10 -0
  291. data/lib/labclient/namespaces/show.rb +18 -0
  292. data/lib/labclient/notes/epics/client.rb +17 -0
  293. data/lib/labclient/notes/epics/create.rb +32 -0
  294. data/lib/labclient/notes/epics/delete.rb +20 -0
  295. data/lib/labclient/notes/epics/list.rb +22 -0
  296. data/lib/labclient/notes/epics/show.rb +22 -0
  297. data/lib/labclient/notes/epics/update.rb +32 -0
  298. data/lib/labclient/notes/issues/client.rb +17 -0
  299. data/lib/labclient/notes/issues/create.rb +32 -0
  300. data/lib/labclient/notes/issues/delete.rb +20 -0
  301. data/lib/labclient/notes/issues/list.rb +22 -0
  302. data/lib/labclient/notes/issues/show.rb +22 -0
  303. data/lib/labclient/notes/issues/update.rb +32 -0
  304. data/lib/labclient/notes/merge_requests/client.rb +17 -0
  305. data/lib/labclient/notes/merge_requests/create.rb +32 -0
  306. data/lib/labclient/notes/merge_requests/delete.rb +20 -0
  307. data/lib/labclient/notes/merge_requests/list.rb +22 -0
  308. data/lib/labclient/notes/merge_requests/show.rb +22 -0
  309. data/lib/labclient/notes/merge_requests/update.rb +32 -0
  310. data/lib/labclient/notes/note.rb +17 -0
  311. data/lib/labclient/notes/snippets/client.rb +17 -0
  312. data/lib/labclient/notes/snippets/create.rb +32 -0
  313. data/lib/labclient/notes/snippets/delete.rb +20 -0
  314. data/lib/labclient/notes/snippets/list.rb +22 -0
  315. data/lib/labclient/notes/snippets/show.rb +22 -0
  316. data/lib/labclient/notes/snippets/update.rb +32 -0
  317. data/lib/labclient/notifications/list.rb +54 -0
  318. data/lib/labclient/notifications/update.rb +64 -0
  319. data/lib/labclient/open_struct.rb +14 -0
  320. data/lib/labclient/overview.rb +243 -0
  321. data/lib/labclient/paginated_response.rb +115 -0
  322. data/lib/labclient/pipelines/cancel.rb +34 -0
  323. data/lib/labclient/pipelines/create.rb +29 -0
  324. data/lib/labclient/pipelines/delete.rb +33 -0
  325. data/lib/labclient/pipelines/list.rb +50 -0
  326. data/lib/labclient/pipelines/pipeline.rb +48 -0
  327. data/lib/labclient/pipelines/retry.rb +34 -0
  328. data/lib/labclient/pipelines/show.rb +26 -0
  329. data/lib/labclient/pipelines/variables.rb +47 -0
  330. data/lib/labclient/projects/access_requests/access_request.rb +34 -0
  331. data/lib/labclient/projects/access_requests/approve.rb +38 -0
  332. data/lib/labclient/projects/access_requests/client.rb +17 -0
  333. data/lib/labclient/projects/access_requests/create.rb +25 -0
  334. data/lib/labclient/projects/access_requests/deny.rb +25 -0
  335. data/lib/labclient/projects/access_requests/list.rb +24 -0
  336. data/lib/labclient/projects/archive.rb +25 -0
  337. data/lib/labclient/projects/badges/client.rb +17 -0
  338. data/lib/labclient/projects/badges/create.rb +49 -0
  339. data/lib/labclient/projects/badges/delete.rb +33 -0
  340. data/lib/labclient/projects/badges/list.rb +28 -0
  341. data/lib/labclient/projects/badges/preview.rb +42 -0
  342. data/lib/labclient/projects/badges/project_badge.rb +47 -0
  343. data/lib/labclient/projects/badges/show.rb +27 -0
  344. data/lib/labclient/projects/badges/update.rb +45 -0
  345. data/lib/labclient/projects/clusters/add.rb +48 -0
  346. data/lib/labclient/projects/clusters/client.rb +17 -0
  347. data/lib/labclient/projects/clusters/delete.rb +37 -0
  348. data/lib/labclient/projects/clusters/list.rb +28 -0
  349. data/lib/labclient/projects/clusters/project_cluster.rb +38 -0
  350. data/lib/labclient/projects/clusters/show.rb +29 -0
  351. data/lib/labclient/projects/clusters/update.rb +37 -0
  352. data/lib/labclient/projects/create.rb +49 -0
  353. data/lib/labclient/projects/delete.rb +25 -0
  354. data/lib/labclient/projects/deployments/client.rb +17 -0
  355. data/lib/labclient/projects/deployments/create.rb +56 -0
  356. data/lib/labclient/projects/deployments/list.rb +67 -0
  357. data/lib/labclient/projects/deployments/merge_requests.rb +33 -0
  358. data/lib/labclient/projects/deployments/project_deployment.rb +39 -0
  359. data/lib/labclient/projects/deployments/show.rb +27 -0
  360. data/lib/labclient/projects/deployments/update.rb +52 -0
  361. data/lib/labclient/projects/environments/client.rb +17 -0
  362. data/lib/labclient/projects/environments/create.rb +37 -0
  363. data/lib/labclient/projects/environments/delete.rb +33 -0
  364. data/lib/labclient/projects/environments/list.rb +34 -0
  365. data/lib/labclient/projects/environments/project_environment.rb +44 -0
  366. data/lib/labclient/projects/environments/show.rb +27 -0
  367. data/lib/labclient/projects/environments/stop.rb +27 -0
  368. data/lib/labclient/projects/environments/update.rb +44 -0
  369. data/lib/labclient/projects/events.rb +19 -0
  370. data/lib/labclient/projects/forks/existing.rb +28 -0
  371. data/lib/labclient/projects/forks/fork.rb +44 -0
  372. data/lib/labclient/projects/forks/list.rb +39 -0
  373. data/lib/labclient/projects/forks/remove.rb +26 -0
  374. data/lib/labclient/projects/github_import.rb +23 -0
  375. data/lib/labclient/projects/hooks/client.rb +17 -0
  376. data/lib/labclient/projects/hooks/create.rb +46 -0
  377. data/lib/labclient/projects/hooks/delete.rb +33 -0
  378. data/lib/labclient/projects/hooks/list.rb +31 -0
  379. data/lib/labclient/projects/hooks/project_hook.rb +32 -0
  380. data/lib/labclient/projects/hooks/show.rb +27 -0
  381. data/lib/labclient/projects/hooks/update.rb +55 -0
  382. data/lib/labclient/projects/housekeeping.rb +29 -0
  383. data/lib/labclient/projects/labels/client.rb +17 -0
  384. data/lib/labclient/projects/labels/create.rb +39 -0
  385. data/lib/labclient/projects/labels/delete.rb +33 -0
  386. data/lib/labclient/projects/labels/list.rb +35 -0
  387. data/lib/labclient/projects/labels/project_label.rb +56 -0
  388. data/lib/labclient/projects/labels/promote.rb +35 -0
  389. data/lib/labclient/projects/labels/show.rb +34 -0
  390. data/lib/labclient/projects/labels/subscribe.rb +35 -0
  391. data/lib/labclient/projects/labels/unsubscribe.rb +35 -0
  392. data/lib/labclient/projects/labels/update.rb +46 -0
  393. data/lib/labclient/projects/languages.rb +28 -0
  394. data/lib/labclient/projects/list.rb +90 -0
  395. data/lib/labclient/projects/methods.rb +681 -0
  396. data/lib/labclient/projects/milestones/burndown.rb +36 -0
  397. data/lib/labclient/projects/milestones/client.rb +17 -0
  398. data/lib/labclient/projects/milestones/create.rb +37 -0
  399. data/lib/labclient/projects/milestones/delete.rb +26 -0
  400. data/lib/labclient/projects/milestones/issues.rb +29 -0
  401. data/lib/labclient/projects/milestones/list.rb +41 -0
  402. data/lib/labclient/projects/milestones/merge_requests.rb +29 -0
  403. data/lib/labclient/projects/milestones/project_milestone.rb +58 -0
  404. data/lib/labclient/projects/milestones/promote.rb +27 -0
  405. data/lib/labclient/projects/milestones/show.rb +20 -0
  406. data/lib/labclient/projects/milestones/update.rb +45 -0
  407. data/lib/labclient/projects/mirror_start.rb +26 -0
  408. data/lib/labclient/projects/mirrors/client.rb +17 -0
  409. data/lib/labclient/projects/mirrors/create.rb +41 -0
  410. data/lib/labclient/projects/mirrors/list.rb +32 -0
  411. data/lib/labclient/projects/mirrors/project_mirror.rb +30 -0
  412. data/lib/labclient/projects/mirrors/update.rb +45 -0
  413. data/lib/labclient/projects/pipeline_schedules/client.rb +17 -0
  414. data/lib/labclient/projects/pipeline_schedules/create.rb +35 -0
  415. data/lib/labclient/projects/pipeline_schedules/delete.rb +26 -0
  416. data/lib/labclient/projects/pipeline_schedules/list.rb +28 -0
  417. data/lib/labclient/projects/pipeline_schedules/pipeline_schedule.rb +69 -0
  418. data/lib/labclient/projects/pipeline_schedules/play.rb +29 -0
  419. data/lib/labclient/projects/pipeline_schedules/show.rb +20 -0
  420. data/lib/labclient/projects/pipeline_schedules/take_ownership.rb +29 -0
  421. data/lib/labclient/projects/pipeline_schedules/update.rb +43 -0
  422. data/lib/labclient/projects/pipeline_schedules/variables/client.rb +17 -0
  423. data/lib/labclient/projects/pipeline_schedules/variables/create.rb +41 -0
  424. data/lib/labclient/projects/pipeline_schedules/variables/delete.rb +38 -0
  425. data/lib/labclient/projects/pipeline_schedules/variables/update.rb +41 -0
  426. data/lib/labclient/projects/project.rb +17 -0
  427. data/lib/labclient/projects/push_rules/client.rb +17 -0
  428. data/lib/labclient/projects/push_rules/create.rb +44 -0
  429. data/lib/labclient/projects/push_rules/delete.rb +32 -0
  430. data/lib/labclient/projects/push_rules/push_rule.rb +31 -0
  431. data/lib/labclient/projects/push_rules/show.rb +31 -0
  432. data/lib/labclient/projects/push_rules/update.rb +51 -0
  433. data/lib/labclient/projects/reference.rb +254 -0
  434. data/lib/labclient/projects/release_links/client.rb +17 -0
  435. data/lib/labclient/projects/release_links/create.rb +40 -0
  436. data/lib/labclient/projects/release_links/delete.rb +34 -0
  437. data/lib/labclient/projects/release_links/list.rb +37 -0
  438. data/lib/labclient/projects/release_links/project_release_link.rb +42 -0
  439. data/lib/labclient/projects/release_links/show.rb +28 -0
  440. data/lib/labclient/projects/release_links/update.rb +45 -0
  441. data/lib/labclient/projects/releases/client.rb +17 -0
  442. data/lib/labclient/projects/releases/create.rb +47 -0
  443. data/lib/labclient/projects/releases/delete.rb +33 -0
  444. data/lib/labclient/projects/releases/evidence.rb +34 -0
  445. data/lib/labclient/projects/releases/list.rb +28 -0
  446. data/lib/labclient/projects/releases/project_release.rb +58 -0
  447. data/lib/labclient/projects/releases/show.rb +27 -0
  448. data/lib/labclient/projects/releases/update.rb +47 -0
  449. data/lib/labclient/projects/resources.rb +24 -0
  450. data/lib/labclient/projects/restore.rb +26 -0
  451. data/lib/labclient/projects/runners/client.rb +17 -0
  452. data/lib/labclient/projects/runners/disable.rb +25 -0
  453. data/lib/labclient/projects/runners/enable.rb +27 -0
  454. data/lib/labclient/projects/runners/list.rb +34 -0
  455. data/lib/labclient/projects/search.rb +91 -0
  456. data/lib/labclient/projects/services/client.rb +29 -0
  457. data/lib/labclient/projects/services/delete.rb +33 -0
  458. data/lib/labclient/projects/services/list.rb +27 -0
  459. data/lib/labclient/projects/services/project_service.rb +37 -0
  460. data/lib/labclient/projects/services/show.rb +27 -0
  461. data/lib/labclient/projects/services/update.rb +41 -0
  462. data/lib/labclient/projects/share.rb +56 -0
  463. data/lib/labclient/projects/show.rb +47 -0
  464. data/lib/labclient/projects/snapshot.rb +25 -0
  465. data/lib/labclient/projects/snippets/agent_detail.rb +30 -0
  466. data/lib/labclient/projects/snippets/client.rb +17 -0
  467. data/lib/labclient/projects/snippets/content.rb +32 -0
  468. data/lib/labclient/projects/snippets/create.rb +40 -0
  469. data/lib/labclient/projects/snippets/delete.rb +26 -0
  470. data/lib/labclient/projects/snippets/list.rb +20 -0
  471. data/lib/labclient/projects/snippets/project_snippet.rb +50 -0
  472. data/lib/labclient/projects/snippets/show.rb +20 -0
  473. data/lib/labclient/projects/snippets/update.rb +42 -0
  474. data/lib/labclient/projects/stars/star.rb +49 -0
  475. data/lib/labclient/projects/stars/starred_projects.rb +51 -0
  476. data/lib/labclient/projects/stars/starrers.rb +46 -0
  477. data/lib/labclient/projects/submodule.rb +34 -0
  478. data/lib/labclient/projects/transfer.rb +27 -0
  479. data/lib/labclient/projects/triggers/client.rb +17 -0
  480. data/lib/labclient/projects/triggers/create.rb +37 -0
  481. data/lib/labclient/projects/triggers/delete.rb +33 -0
  482. data/lib/labclient/projects/triggers/list.rb +28 -0
  483. data/lib/labclient/projects/triggers/project_trigger.rb +33 -0
  484. data/lib/labclient/projects/triggers/show.rb +27 -0
  485. data/lib/labclient/projects/unarchive.rb +25 -0
  486. data/lib/labclient/projects/unshare.rb +27 -0
  487. data/lib/labclient/projects/update.rb +37 -0
  488. data/lib/labclient/projects/upload.rb +28 -0
  489. data/lib/labclient/projects/user.rb +52 -0
  490. data/lib/labclient/projects/users.rb +39 -0
  491. data/lib/labclient/projects/variables/client.rb +17 -0
  492. data/lib/labclient/projects/variables/create.rb +49 -0
  493. data/lib/labclient/projects/variables/delete.rb +33 -0
  494. data/lib/labclient/projects/variables/list.rb +28 -0
  495. data/lib/labclient/projects/variables/project_variable.rb +42 -0
  496. data/lib/labclient/projects/variables/show.rb +27 -0
  497. data/lib/labclient/projects/variables/update.rb +47 -0
  498. data/lib/labclient/protected_branches/code_owner_approval.rb +26 -0
  499. data/lib/labclient/protected_branches/list.rb +35 -0
  500. data/lib/labclient/protected_branches/protect.rb +49 -0
  501. data/lib/labclient/protected_branches/show.rb +24 -0
  502. data/lib/labclient/protected_branches/unprotect.rb +24 -0
  503. data/lib/labclient/protected_tags/list.rb +29 -0
  504. data/lib/labclient/protected_tags/protect.rb +44 -0
  505. data/lib/labclient/protected_tags/show.rb +24 -0
  506. data/lib/labclient/protected_tags/unprotect.rb +24 -0
  507. data/lib/labclient/registry/delete.rb +25 -0
  508. data/lib/labclient/registry/group.rb +33 -0
  509. data/lib/labclient/registry/list.rb +31 -0
  510. data/lib/labclient/registry/repository.rb +26 -0
  511. data/lib/labclient/registry/tags/bulk.rb +30 -0
  512. data/lib/labclient/registry/tags/delete.rb +27 -0
  513. data/lib/labclient/registry/tags/details.rb +20 -0
  514. data/lib/labclient/registry/tags/list.rb +27 -0
  515. data/lib/labclient/registry/tags/tag.rb +23 -0
  516. data/lib/labclient/repository/alias.rb +14 -0
  517. data/lib/labclient/repository/archive.rb +34 -0
  518. data/lib/labclient/repository/blob.rb +32 -0
  519. data/lib/labclient/repository/compare.rb +31 -0
  520. data/lib/labclient/repository/contributors.rb +45 -0
  521. data/lib/labclient/repository/merge_base.rb +38 -0
  522. data/lib/labclient/repository/raw_blob.rb +27 -0
  523. data/lib/labclient/repository/tree.rb +35 -0
  524. data/lib/labclient/resource_labels/epics/client.rb +9 -0
  525. data/lib/labclient/resource_labels/epics/list.rb +30 -0
  526. data/lib/labclient/resource_labels/epics/show.rb +31 -0
  527. data/lib/labclient/resource_labels/issues/client.rb +9 -0
  528. data/lib/labclient/resource_labels/issues/list.rb +30 -0
  529. data/lib/labclient/resource_labels/issues/show.rb +31 -0
  530. data/lib/labclient/resource_labels/merge_requests/client.rb +9 -0
  531. data/lib/labclient/resource_labels/merge_requests/list.rb +30 -0
  532. data/lib/labclient/resource_labels/merge_requests/show.rb +31 -0
  533. data/lib/labclient/resource_labels/resource_label.rb +22 -0
  534. data/lib/labclient/runners/all.rb +24 -0
  535. data/lib/labclient/runners/delete.rb +14 -0
  536. data/lib/labclient/runners/jobs.rb +25 -0
  537. data/lib/labclient/runners/list.rb +24 -0
  538. data/lib/labclient/runners/register.rb +30 -0
  539. data/lib/labclient/runners/remove.rb +24 -0
  540. data/lib/labclient/runners/runner.rb +41 -0
  541. data/lib/labclient/runners/show.rb +16 -0
  542. data/lib/labclient/runners/update.rb +45 -0
  543. data/lib/labclient/runners/verify.rb +22 -0
  544. data/lib/labclient/search/search.rb +18 -0
  545. data/lib/labclient/snippets/agent_detail.rb +31 -0
  546. data/lib/labclient/snippets/content.rb +33 -0
  547. data/lib/labclient/snippets/create.rb +38 -0
  548. data/lib/labclient/snippets/delete.rb +35 -0
  549. data/lib/labclient/snippets/list.rb +18 -0
  550. data/lib/labclient/snippets/public.rb +26 -0
  551. data/lib/labclient/snippets/show.rb +18 -0
  552. data/lib/labclient/snippets/snippet.rb +39 -0
  553. data/lib/labclient/snippets/update.rb +46 -0
  554. data/lib/labclient/system_hooks/add.rb +33 -0
  555. data/lib/labclient/system_hooks/delete.rb +23 -0
  556. data/lib/labclient/system_hooks/list.rb +17 -0
  557. data/lib/labclient/system_hooks/system_hook.rb +19 -0
  558. data/lib/labclient/system_hooks/test.rb +25 -0
  559. data/lib/labclient/tags/create.rb +34 -0
  560. data/lib/labclient/tags/delete.rb +25 -0
  561. data/lib/labclient/tags/list.rb +34 -0
  562. data/lib/labclient/tags/release.rb +27 -0
  563. data/lib/labclient/tags/show.rb +26 -0
  564. data/lib/labclient/tags/tag.rb +16 -0
  565. data/lib/labclient/tags/update.rb +27 -0
  566. data/lib/labclient/todos/list.rb +36 -0
  567. data/lib/labclient/todos/mark_all_done.rb +18 -0
  568. data/lib/labclient/todos/mark_done.rb +29 -0
  569. data/lib/labclient/todos/todo.rb +22 -0
  570. data/lib/labclient/users/activate.rb +25 -0
  571. data/lib/labclient/users/activity.rb +23 -0
  572. data/lib/labclient/users/block.rb +25 -0
  573. data/lib/labclient/users/counts.rb +16 -0
  574. data/lib/labclient/users/create.rb +25 -0
  575. data/lib/labclient/users/current.rb +28 -0
  576. data/lib/labclient/users/deactivate.rb +25 -0
  577. data/lib/labclient/users/delete.rb +28 -0
  578. data/lib/labclient/users/delete_identity.rb +25 -0
  579. data/lib/labclient/users/email/client.rb +18 -0
  580. data/lib/labclient/users/email/create.rb +37 -0
  581. data/lib/labclient/users/email/delete.rb +33 -0
  582. data/lib/labclient/users/email/email.rb +11 -0
  583. data/lib/labclient/users/email/list.rb +33 -0
  584. data/lib/labclient/users/email/show.rb +17 -0
  585. data/lib/labclient/users/gpg/client.rb +18 -0
  586. data/lib/labclient/users/gpg/create.rb +37 -0
  587. data/lib/labclient/users/gpg/delete.rb +33 -0
  588. data/lib/labclient/users/gpg/gpg_key.rb +13 -0
  589. data/lib/labclient/users/gpg/list.rb +33 -0
  590. data/lib/labclient/users/gpg/show.rb +17 -0
  591. data/lib/labclient/users/keys/client.rb +18 -0
  592. data/lib/labclient/users/keys/create.rb +42 -0
  593. data/lib/labclient/users/keys/delete.rb +33 -0
  594. data/lib/labclient/users/keys/list.rb +33 -0
  595. data/lib/labclient/users/keys/show.rb +17 -0
  596. data/lib/labclient/users/list.rb +64 -0
  597. data/lib/labclient/users/memberships.rb +34 -0
  598. data/lib/labclient/users/search.rb +22 -0
  599. data/lib/labclient/users/show.rb +22 -0
  600. data/lib/labclient/users/status.rb +26 -0
  601. data/lib/labclient/users/status_set.rb +23 -0
  602. data/lib/labclient/users/unblock.rb +25 -0
  603. data/lib/labclient/users/update.rb +28 -0
  604. data/lib/labclient/users/user.rb +138 -0
  605. data/lib/labclient/version/show.rb +18 -0
  606. data/lib/labclient/version.rb +3 -0
  607. data/lib/labclient/wikis/create.rb +33 -0
  608. data/lib/labclient/wikis/delete.rb +32 -0
  609. data/lib/labclient/wikis/list.rb +26 -0
  610. data/lib/labclient/wikis/show.rb +25 -0
  611. data/lib/labclient/wikis/update.rb +42 -0
  612. data/lib/labclient/wikis/upload.rb +27 -0
  613. data/lib/labclient/wikis/wiki.rb +40 -0
  614. data/lib/labclient.rb +843 -0
  615. metadata +880 -0
@@ -0,0 +1,58 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'List' do
6
+ desc 'Get all issues the authenticated user has access to. By default it returns only issues created by the current user. To get all issues, use parameter scope=all.'
7
+ example 'client.issues.list'
8
+ result <<~DOC
9
+ => #<Issue id: 1, title: Front-line global approach, state: opened>
10
+ DOC
11
+ end
12
+
13
+ doc 'List' do
14
+ markdown <<~DOC
15
+ See [API docs here](https://docs.gitlab.com/ee/api/issues.html#list-issues) for full list of attributes
16
+
17
+ | Attribute | Type | Description |
18
+ | ------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
19
+ | labels | string | Comma-separated list of label names, issues must have all labels to be returned. None lists all issues with no labels. Any lists all issues with at least one label.|
20
+ | milestone | string | The milestone title. None lists all issues with no milestone. Any lists all issues that have an assigned milestone. |
21
+ | order_by | string | Return issues ordered by created_at, updated_at, priority, due_date, relative_position, label_priority, milestone_due, popularity, weight fields. Default is created_at |
22
+ | sort | string | Return issues sorted in asc or desc order. Default is desc |
23
+ | search | string | Search issues against their title and description |
24
+ | created_after | datetime | Return issues created on or after the given time. Accepts DateTime |
25
+ | created_before | datetime | Return issues created on or before the given time. Accepts DateTime |
26
+ | updated_after | datetime | Return issues updated on or after the given time. Accepts DateTime |
27
+ | updated_before | datetime | Return issues updated on or before the given time. Accepts DateTime |
28
+ DOC
29
+ end
30
+
31
+ doc 'List' do
32
+ desc 'Filter by State'
33
+ example 'client.issues.list(state: :opened)'
34
+ end
35
+
36
+ doc 'List' do
37
+ desc 'Filter by Labels'
38
+ example 'client.issues.list(labels: ["11sadf"])'
39
+ end
40
+
41
+ doc 'List' do
42
+ desc 'Search in Title'
43
+ example 'client.issues.list(search: "Title Text", in: :title)'
44
+ end
45
+
46
+ doc 'List' do
47
+ desc 'Filter by time'
48
+ example 'client.issues.list(created_before: 1.year.ago)'
49
+ end
50
+
51
+ def list(query = {})
52
+ query[:created_after] = query[:created_after].to_time.iso8601 if format_time?(query[:created_after])
53
+ query[:created_before] = query[:created_before].to_time.iso8601 if format_time?(query[:created_before])
54
+
55
+ client.request(:get, 'issues', Issue, query)
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,28 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Move' do
6
+ desc 'Moves an issue to a different project. [project id, issue iid, target project id]'
7
+ example 'client.issues.move(5, 1, 6)'
8
+ result <<~DOC
9
+ => #<Issue id: 1, title: Moar Fancy!, state: opened>
10
+ DOC
11
+ end
12
+
13
+ doc 'Move' do
14
+ desc 'Through Issue Object [target project id]'
15
+ example <<~DOC
16
+ issue = client.issues.show(5,1)
17
+ issue.move(6)
18
+ DOC
19
+ end
20
+
21
+ def move(project_id, issue_id, target_id)
22
+ project_id = format_id(project_id)
23
+ target_id = format_id(target_id)
24
+
25
+ client.request(:post, "projects/#{project_id}/issues/#{issue_id}/move", Issue, to_project_id: target_id)
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Show' do
6
+ title 'Notes'
7
+ desc 'Notes are handled via the Notes resource. Accessible via the object or notes'
8
+ example <<~DOC
9
+ issue = client.issues.show(30,2)
10
+ issue.notes
11
+ DOC
12
+
13
+ result <<~DOC
14
+ => [#<Note id: 21, type: Issue>, #<Note id: 20, type: Issue>, .. ]
15
+ DOC
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Show' do
6
+ title 'Participants'
7
+ desc 'Get a list of issue participants. [project id, issue iid]'
8
+ example 'client.issues.participants(30,1)'
9
+ result <<~DOC
10
+ => [#<User id: 1, username: braum>, #<User id: 52, username: anivia>]
11
+ DOC
12
+ end
13
+
14
+ doc 'Show' do
15
+ desc 'List through MergeRequest'
16
+ example <<~DOC
17
+ mr = client.issues.show(30,1)
18
+ mr.participants
19
+ DOC
20
+ result <<~DOC
21
+ issue = client.issues.show(30,1)
22
+ => #<Issue id: 1, title: Robust incremental superstructure, state: opened>
23
+ issue.participants
24
+ => [#<User id: 1, username: root>]
25
+ DOC
26
+ end
27
+
28
+ # Show Specific
29
+ def participants(project_id, issue_id = nil)
30
+ project_id = format_id(project_id)
31
+
32
+ client.request(:get, "projects/#{project_id}/issues/#{issue_id}/participants", User)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'List' do
6
+ title 'Project'
7
+ desc 'Get a list of a project’s issues.'
8
+ example 'client.issues.project_issues(1)'
9
+ result <<~DOC
10
+ => [#<Issue id: 1, title: Front-line global approach, state: opened>, ..]
11
+ DOC
12
+ end
13
+
14
+ doc 'List' do
15
+ desc 'Via Project'
16
+ example <<~DOC
17
+ project = client.projects.show(1)
18
+ project.issues
19
+ DOC
20
+ end
21
+
22
+ def project_issues(project_id, query = {})
23
+ project_id = format_id(project_id)
24
+
25
+ query[:created_after] = query[:created_after].to_time.iso8601 if format_time?(query[:created_after])
26
+ query[:created_before] = query[:created_before].to_time.iso8601 if format_time?(query[:created_before])
27
+
28
+ client.request(:get, "projects/#{project_id}/issues", Issue, query)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,30 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Show' do
6
+ title 'Merge Requests'
7
+ subtitle 'Related'
8
+ desc 'Get all the merge requests that are related to the issue. [project id, issue iid]'
9
+ example 'client.issues.related_merge_requests(5, 1)'
10
+ result <<~DOC
11
+ => [#<MergeRequest id: 5, title: Update README.md, state: opened>]
12
+ DOC
13
+ end
14
+
15
+ doc 'Show' do
16
+ desc 'Through Issue Object'
17
+ example <<~DOC
18
+ issue = client.issues.show(5,1)
19
+ issue.related_merge_requests
20
+ DOC
21
+ end
22
+
23
+ def related_merge_requests(project_id, issue_id)
24
+ project_id = format_id(project_id)
25
+ issue_id = format_id(issue_id)
26
+
27
+ client.request(:get, "projects/#{project_id}/issues/#{issue_id}/related_merge_requests", MergeRequest)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,21 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Show' do
6
+ desc 'Get a single project issue. [project, issue iid]'
7
+ example 'client.issues.show(343, 1)'
8
+ result <<~DOC
9
+ => #<Issue id: 1, title: Front-line global approach, state: opened>
10
+ DOC
11
+ end
12
+
13
+ # Show
14
+ def show(project_id, issue_id)
15
+ project_id = format_id(project_id)
16
+ issue_id = format_id(issue_id)
17
+
18
+ client.request(:get, "projects/#{project_id}/issues/#{issue_id}", Issue)
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Update' do
6
+ title 'Subscribe'
7
+ desc 'Subscribes the authenticated user to an issue to receive notifications. [project id, issue iid]'
8
+
9
+ example 'client.issues.subscribe(343, 7)'
10
+
11
+ result <<~DOC
12
+ => #<Issue id: 3, title: Add new file>
13
+ DOC
14
+ end
15
+
16
+ doc 'Update' do
17
+ desc 'Subscribe through Issue'
18
+ example <<~DOC
19
+ issue = client.issues.show(30,2)
20
+ issue.subscribe
21
+ DOC
22
+ end
23
+
24
+ def subscribe(project_id, issue_id)
25
+ project_id = format_id(project_id)
26
+ issue_id = format_id(issue_id)
27
+
28
+ client.request(:post, "projects/#{project_id}/issues/#{issue_id}/subscribe", Issue)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,157 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Time Stats' do
6
+ title 'Show'
7
+ desc 'Get time tracking stats. [project id, issue iid]'
8
+ example 'client.issues.time_stats(30, 1)'
9
+ result <<~DOC
10
+ => {:time_estimate=>0, :total_time_spent=>0, :human_time_estimate=>nil, :human_total_time_spent=>nil}
11
+ DOC
12
+ end
13
+
14
+ doc 'Time Stats' do
15
+ desc 'Show through Issue'
16
+ example <<~DOC
17
+ issue = client.issues.show(30, 1)'
18
+ issue.time_stats
19
+ DOC
20
+ end
21
+
22
+ def time_stats(project_id, issue_id)
23
+ project_id = format_id(project_id)
24
+ issue_id = format_id(issue_id)
25
+
26
+ client.request(:get, "projects/#{project_id}/issues/#{issue_id}/time_stats")
27
+ end
28
+
29
+ doc 'Time Stats' do
30
+ title 'Add'
31
+ desc 'Adds spent time for this merge request. [project id, issue iid, duration]'
32
+ markdown 'Duration accepts Human Format, or ActiveSupport::Duration (e.g. 1.hour)'
33
+ end
34
+
35
+ doc 'Time Stats' do
36
+ desc 'Duration Example'
37
+ example 'client.issues.add_spent_time(30, 1, 1.hour)'
38
+ end
39
+
40
+ doc 'Time Stats' do
41
+ desc 'Human Format Example'
42
+ example 'client.issues.add_spent_time(30, 1, "1h")'
43
+ end
44
+
45
+ doc 'Time Stats' do
46
+ desc 'Add through Issue'
47
+ example <<~DOC
48
+ issue = client.issues.show(30, 1)
49
+ issue.add_spent_time(1.hour)
50
+ DOC
51
+
52
+ result <<~DOC
53
+ issue.add_spent_time(1.hour)
54
+ => {:time_estimate=>0, :total_time_spent=>12978000, :human_time_estimate=>nil, :human_total_time_spent=>"22mo 2w 5h"}
55
+ issue.add_spent_time('1h')
56
+ => {:time_estimate=>0, :total_time_spent=>12978001, :human_time_estimate=>nil, :human_total_time_spent=>"22mo 2w 5h 1s"}
57
+ DOC
58
+ end
59
+
60
+ def add_spent_time(project_id, mr_id, duration)
61
+ project_id = format_id(project_id)
62
+ mr_id = format_id(mr_id)
63
+
64
+ duration = ChronicDuration.output(ChronicDuration.parse(duration.to_s), format: :short)
65
+ client.request(:post, "projects/#{project_id}/issues/#{mr_id}/add_spent_time", nil, duration: duration)
66
+ end
67
+
68
+ doc 'Time Stats' do
69
+ title 'Estimate'
70
+ desc 'Sets an estimated time of work for this merge request. [project id, issue iid, duration]'
71
+ markdown 'Duration accepts Human Format, or ActiveSupport::Duration (e.g. 1.hour)'
72
+ end
73
+
74
+ doc 'Time Stats' do
75
+ desc 'Duration Example'
76
+ example 'client.issues.time_estimate(30, 1, 1.hour)'
77
+ end
78
+
79
+ doc 'Time Stats' do
80
+ desc 'Human Format Example'
81
+ example 'client.issues.time_estimate(30, 1, "1h")'
82
+ end
83
+
84
+ doc 'Time Stats' do
85
+ desc 'Add through Issue'
86
+ example <<~DOC
87
+ issue = client.issues.show(30, 1)
88
+ issue.add_spent_time(1.hour)
89
+ DOC
90
+
91
+ result <<~DOC
92
+ issue.add_spent_time(1.hour)
93
+ => {:time_estimate=>0, :total_time_spent=>12978000, :human_time_estimate=>nil, :human_total_time_spent=>"22mo 2w 5h"}
94
+ issue.add_spent_time('1h')
95
+ => {:time_estimate=>0, :total_time_spent=>12978001, :human_time_estimate=>nil, :human_total_time_spent=>"22mo 2w 5h 1s"}
96
+ DOC
97
+ end
98
+
99
+ def time_estimate(project_id, mr_id, duration)
100
+ project_id = format_id(project_id)
101
+ mr_id = format_id(mr_id)
102
+
103
+ duration = ChronicDuration.output(ChronicDuration.parse(duration.to_s), format: :short)
104
+ client.request(:post, "projects/#{project_id}/issues/#{mr_id}/time_estimate", nil, duration: duration)
105
+ end
106
+
107
+ # Resets
108
+ doc 'Time Stats' do
109
+ title 'Reset'
110
+ subtitle 'Estimate'
111
+ desc 'Resets the estimated time for this merge request to 0 seconds. [project id, issue iid]'
112
+ example 'client.issues.reset_time_estimate(30, 1)'
113
+ result <<~DOC
114
+ => {:time_estimate=>0, :total_time_spent=>0, :human_time_estimate=>nil, :human_total_time_spent=>nil}
115
+ DOC
116
+ end
117
+
118
+ doc 'Time Stats' do
119
+ desc 'Show through Issue'
120
+ example <<~DOC
121
+ issue = client.issues.show(30, 1)
122
+ issue.reset_time_estimate
123
+ DOC
124
+ end
125
+
126
+ def reset_time_estimate(project_id, issue_id)
127
+ project_id = format_id(project_id)
128
+ issue_id = format_id(issue_id)
129
+
130
+ client.request(:post, "projects/#{project_id}/issues/#{issue_id}/reset_time_estimate")
131
+ end
132
+
133
+ doc 'Time Stats' do
134
+ subtitle 'Time Spent'
135
+ desc 'Resets the estimated time for this merge request to 0 seconds. [project id, issue iid]'
136
+ example 'client.issues.reset_spent_time(30, 1)'
137
+ result <<~DOC
138
+ => {:time_estimate=>0, :total_time_spent=>0, :human_time_estimate=>nil, :human_total_time_spent=>nil}
139
+ DOC
140
+ end
141
+
142
+ doc 'Time Stats' do
143
+ desc 'Show through Issue'
144
+ example <<~DOC
145
+ issue = client.issues.show(30, 1)
146
+ issue.reset_spent_time
147
+ DOC
148
+ end
149
+
150
+ def reset_spent_time(project_id, issue_id)
151
+ project_id = format_id(project_id)
152
+ issue_id = format_id(issue_id)
153
+
154
+ client.request(:post, "projects/#{project_id}/issues/#{issue_id}/reset_spent_time")
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Update' do
6
+ title 'Todo'
7
+ desc 'Manually creates a todo for the current user on an issue. [project id, merge request iid]'
8
+
9
+ example 'client.issues.todo(30, 1)'
10
+
11
+ result <<~DOC
12
+ => #<Todo id: 7513, state: pending>
13
+ DOC
14
+ end
15
+
16
+ doc 'Update' do
17
+ desc 'Create Todo through Issue'
18
+ example <<~DOC
19
+ issue = client.issues.show(30,2)
20
+ issue.todo
21
+ DOC
22
+ end
23
+
24
+ def todo(project_id, issue_id)
25
+ project_id = format_id(project_id)
26
+ issue_id = format_id(issue_id)
27
+
28
+ client.request(:post, "projects/#{project_id}/issues/#{issue_id}/todo", Todo)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Update' do
6
+ title 'Unsubscribe'
7
+ desc 'Unsubscribes the authenticated user from the issue to not receive notifications from it. [project id, issue iid]'
8
+
9
+ example 'client.issues.unsubscribe(343, 7)'
10
+
11
+ result <<~DOC
12
+ => #<Issue id: 10, title: Compatible holistic solution, state: opened>
13
+ DOC
14
+ end
15
+
16
+ doc 'Update' do
17
+ desc 'Unsubscribe through Issue'
18
+ example <<~DOC
19
+ issue = client.issues.show(343,2)
20
+ issue.unsubscribe
21
+ DOC
22
+ end
23
+
24
+ def unsubscribe(project_id, issue_id)
25
+ project_id = format_id(project_id)
26
+ issue_id = format_id(issue_id)
27
+
28
+ client.request(:post, "projects/#{project_id}/issues/#{issue_id}/unsubscribe", Issue)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,44 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Issues < Common
5
+ doc 'Update' do
6
+ desc 'Updates an existing project issue. This call is also used to mark an issue as closed. [project id, issue iid]'
7
+ example 'client.issues.update(5, 1, title: "Moar Fancy!")'
8
+ result <<~DOC
9
+ => #<Issue id: 1, title: Moar Fancy!, state: opened>
10
+ DOC
11
+ end
12
+
13
+ doc 'Update' do
14
+ markdown <<~DOC
15
+ See [API docs here](https://docs.gitlab.com/ee/api/issues.html#edit-issue) for full list of attributes
16
+
17
+ | Attribute | Type | Required | Description |
18
+ |-------------------------------------------|----------------|----------|--------------|
19
+ | title | string | no | The title of an issue |
20
+ | description | string | no | The description of an issue. Limited to 1,048,576 characters. |
21
+ DOC
22
+ end
23
+
24
+ doc 'Update' do
25
+ desc 'Close Ticket'
26
+ example 'client.issues.update(5, 1, state_event: :close)'
27
+ end
28
+
29
+ doc 'Update' do
30
+ desc 'Through Issue Object'
31
+ example <<~DOC
32
+ issue = client.issues.show(5,1)
33
+ issue.update(title: "Dew it!")
34
+ DOC
35
+ end
36
+
37
+ def update(project_id, issue_id, query = {})
38
+ project_id = format_id(project_id)
39
+ issue_id = format_id(issue_id)
40
+
41
+ client.request(:put, "projects/#{project_id}/issues/#{issue_id}", Issue, query)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,49 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Jobs < Common
5
+ doc 'Artifacts' do
6
+ desc 'Get the job’s artifacts zipped archive of a project. [Project ID, Job ID, File Path, Job Token]'
7
+ example 'client.jobs.artifacts(264, 1)'
8
+
9
+ markdown <<~DOC
10
+ File Output will default to the current directory + job id + file extension. 14.zip
11
+
12
+ Job Token: To be used with triggers for multi-project pipelines. It should be invoked only inside `.gitlab-ci.yml`. Its value is always `$CI_JOB_TOKEN`.
13
+ DOC
14
+ end
15
+
16
+ doc 'Artifacts' do
17
+ desc 'Specific output location'
18
+ example <<~DOC
19
+ client.jobs.artifacts(264, 1, '/tmp/output.zip')
20
+ DOC
21
+ end
22
+
23
+ doc 'Artifacts' do
24
+ desc 'via Project'
25
+ example <<~DOC
26
+ project = client.projects.show(264)
27
+ project.job_artifacts(7)
28
+ DOC
29
+ end
30
+
31
+ doc 'Artifacts' do
32
+ desc 'via Job'
33
+ example <<~DOC
34
+ job = client.jobs.show(264, 7)
35
+ job.artifacts
36
+ DOC
37
+ end
38
+
39
+ def artifacts(project_id, job_id, file_path = nil, job_token = nil)
40
+ job_id = format_id(job_id)
41
+ project_id = format_id(project_id)
42
+ file_path ||= "#{Dir.pwd}/#{job_id}.zip"
43
+ query = { job_token: job_token } if job_token
44
+ output = client.request(:get, "projects/#{project_id}/jobs/#{job_id}/artifacts", nil, query)
45
+
46
+ File.write(file_path, output)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,39 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Jobs < Common
5
+ doc 'Artifacts' do
6
+ title 'Latest'
7
+ desc 'Download the artifacts zipped archive from the latest successful pipeline for the given reference name and job, provided the job finished successfully [Project ID, Branch Name, Job Name, File Path, Job Token]'
8
+ example 'client.jobs.artifacts_latest(264, :master, :artifacts)'
9
+ result '[#<Runner id: 1, status: online>, ... ]'
10
+
11
+ markdown <<~DOC
12
+
13
+ File Output will default to the current directory + job name + file extension. job_name.zip
14
+
15
+
16
+ Job Token: To be used with triggers for multi-project pipelines. It should be invoked only inside `.gitlab-ci.yml`. Its value is always `$CI_JOB_TOKEN`.
17
+ DOC
18
+ end
19
+
20
+ doc 'Artifacts' do
21
+ desc 'via Project'
22
+ example <<~DOC
23
+ project = client.projects.show(264)
24
+ project.job_artifacts_latest(:master, :artifacts)
25
+ DOC
26
+ end
27
+
28
+ def artifacts_latest(project_id, branch_name, job_name, file_path = nil, job_token = nil)
29
+ query = { job: job_name }
30
+ query[:job_token] = job_token if job_token
31
+ file_path ||= "#{Dir.pwd}/#{job_name}.zip"
32
+
33
+ project_id = format_id(project_id)
34
+ output = client.request(:get, "projects/#{project_id}/jobs/artifacts/#{branch_name}/download", nil, query)
35
+
36
+ File.write(file_path, output)
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,50 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Jobs < Common
5
+ doc 'Artifacts' do
6
+ title 'Path'
7
+ desc 'Download a single artifact file from a job with a specified ID from within the job’s artifacts zipped archive. The file is extracted from the archive and streamed to the client. [Project ID, Job ID, Artifact Path, File Output]'
8
+ example 'client.jobs.artifacts_path(264, 1, "test.txt")'
9
+
10
+ markdown <<~DOC
11
+ File Output will default to the current directory + job id + file extension. 14.zip
12
+
13
+ artifact_path: Path to a file inside the artifacts archive.
14
+ DOC
15
+ end
16
+
17
+ doc 'Artifacts' do
18
+ desc 'Specific output location'
19
+ example <<~DOC
20
+ client.jobs.artifacts(264, 1, '/tmp/output.zip')
21
+ DOC
22
+ end
23
+
24
+ doc 'Artifacts' do
25
+ desc 'via Project'
26
+ example <<~DOC
27
+ project = client.projects.show(264)
28
+ project.job_artifacts_path(7, 'path/file.txt')
29
+ DOC
30
+ end
31
+
32
+ doc 'Artifacts' do
33
+ desc 'via Job'
34
+ example <<~DOC
35
+ job = client.jobs.show(264, 7)
36
+ job.artifacts_path('path/file.txt')
37
+ DOC
38
+ end
39
+
40
+ def artifacts_path(project_id, job_id, artifact_path, file_path = nil)
41
+ job_id = format_id(job_id)
42
+ project_id = format_id(project_id)
43
+ file_path ||= "#{Dir.pwd}/#{artifact_path}"
44
+
45
+ output = client.request(:get, "projects/#{project_id}/jobs/#{job_id}/artifacts/#{artifact_path}", nil)
46
+
47
+ File.write(file_path, output)
48
+ end
49
+ end
50
+ end