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,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupLdap < Common
5
+ @group_name = 'Group LDAP'
6
+
7
+ doc 'List' do
8
+ desc 'Lists LDAP group links. [Group ID]'
9
+ example 'client.groups.ldap.list(3)'
10
+ result '=> [#<GroupLink provider: ldapmain, level: maintainer>, ...'
11
+ end
12
+
13
+ doc 'List' do
14
+ desc 'via Group'
15
+ example <<~DOC
16
+ group = client.groups.show(96)
17
+ group.ldap_list
18
+ DOC
19
+ end
20
+
21
+ def list(group_id)
22
+ group_id = format_id(group_id)
23
+
24
+ client.request(:get, "groups/#{group_id}/ldap_group_links", GroupLink)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupLdap < Common
5
+ @group_name = 'Group LDAP'
6
+
7
+ doc 'Sync' do
8
+ desc 'Syncs the group with its linked LDAP group. [Group ID]'
9
+ example 'client.groups.ldap.sync(5)'
10
+ end
11
+
12
+ doc 'Sync' do
13
+ desc 'via Group'
14
+ example <<~DOC
15
+ group = client.groups.show(3)
16
+ group.ldap_sync
17
+ DOC
18
+ end
19
+
20
+ def sync(group_id)
21
+ # POST /groups/:id/ldap_sync
22
+ group_id = format_id(group_id)
23
+
24
+ client.request(:post, "groups/#{group_id}/ldap_sync")
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,76 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Groups < Common
5
+ doc 'List' do
6
+ desc 'Get a list of visible groups for the authenticated user [Hash]'
7
+
8
+ markdown <<~DOC
9
+
10
+ | Attribute | Type | Required | Description |
11
+ | ------------------------ | ----------------- | -------- | ---------- |
12
+ | skip_groups | array of integers | no | Skip the group IDs passed |
13
+ | all_available | boolean | no | Show all the groups you have access to (defaults to false for authenticated users, true for admin); Attributes owned and min_access_level have precedence |
14
+ | search | string | no | Return the list of authorized groups matching the search criteria |
15
+ | order_by | string | no | Order groups by name, path or id. Default is name |
16
+ | sort | string | no | Order groups in asc or desc order. Default is asc |
17
+ | statistics | boolean | no | Include group statistics (admins only) |
18
+ | with_custom_attributes | boolean | no | Include custom attributes in response (admins only) |
19
+ | owned | boolean | no | Limit to groups explicitly owned by the current user |
20
+ | min_access_level | integer | no | Limit to groups where current user has at least this access level |
21
+
22
+ DOC
23
+ end
24
+
25
+ doc 'List' do
26
+ title 'Examples'
27
+ example 'client.groups.list'
28
+ result <<~DOC
29
+ => [
30
+ #<Group id: 81 alphabetrium>,
31
+ #<Group id: 85 alphaquadrant>,
32
+ #<Group id: 86 argonath>,
33
+ #<Group id: 106 badlands>
34
+ ]
35
+ DOC
36
+ end
37
+
38
+ doc 'List' do
39
+ desc 'Owned'
40
+ example 'client.groups.list(owned: true)'
41
+ result <<~DOC
42
+ => [#<User id: 56, username: "rakan">]
43
+ DOC
44
+ end
45
+
46
+ doc 'List' do
47
+ desc 'Access Level (by name)'
48
+ example 'client.groups.list(min_access_level: :developer)'
49
+ result <<~DOC
50
+ => [
51
+ #<Group id: 61 cyrodiil>,
52
+ #<Group id: 102 demacia>,
53
+ #<Group id: 64 dimensionc137
54
+ ]
55
+ DOC
56
+ end
57
+
58
+ doc 'List' do
59
+ desc 'Access Level (by value)'
60
+ example 'client.groups.list(min_access_level: 30)'
61
+ result <<~DOC
62
+ => [
63
+ #<Group id: 61 cyrodiil>,
64
+ #<Group id: 102 demacia>,
65
+ #<Group id: 64 dimensionc137
66
+ ]
67
+ DOC
68
+ end
69
+
70
+ def list(query = {})
71
+ query_access_level(query, :min_access_level)
72
+
73
+ client.request(:get, 'groups', Group, query)
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,36 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'Show' do
6
+ title 'Burndown'
7
+ desc 'Gets all burndown chart events for a single milestone. [Group ID, Group Milestone ID]'
8
+ example 'client.groups.milestones.burndown(16, 2)'
9
+ result <<~DOC
10
+ [
11
+ {
12
+ :created_at => "2020-04-17T14:39:18.827-06:00",
13
+ :weight => nil,
14
+ :action => "created"
15
+ }
16
+ ]
17
+ DOC
18
+ end
19
+
20
+ doc 'Show' do
21
+ desc 'via the Group Group Milestone'
22
+ example <<~DOC
23
+ milestone = client.milestones.burndown(2)
24
+ milestone.burndown
25
+ DOC
26
+ end
27
+
28
+ # Show Specific
29
+ def burndown(group_id, milestone_id)
30
+ milestone_id = format_id(milestone_id)
31
+ group_id = format_id(group_id)
32
+
33
+ client.request(:get, "groups/#{group_id}/milestones/#{milestone_id}/burndown_events")
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class GroupMilestones < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class Groups < Common
13
+ def milestones
14
+ GroupMilestones.new(client)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,37 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'Create' do
6
+ desc 'Creates a new group milestone. [Group ID, Hash]'
7
+
8
+ example <<~DOC
9
+ client.groups.milestones.create(16, title: "Sweet Code")
10
+ DOC
11
+
12
+ result <<~DOC
13
+ => #<GroupMilestone id: 2, title: Sweet Code>
14
+ DOC
15
+ end
16
+
17
+ doc 'Create' do
18
+ markdown <<~DOC
19
+ | Attribute | Type | Required | Description |
20
+ |--------------|------- |--------- |---------------------------------- |
21
+ | title | string | yes | Title of a milestone. |
22
+ | description | string | no | The description of the milestone |
23
+ | due_date | string | no | The due date of the milestone |
24
+ | start_date | string | no | The start date of the milestone |
25
+ DOC
26
+ end
27
+
28
+ def create(group_id, query = {})
29
+ group_id = format_id(group_id)
30
+
31
+ query[:due_date] = query[:due_date].to_time.iso8601 if format_time?(query[:due_date])
32
+ query[:start_date] = query[:start_date].to_time.iso8601 if format_time?(query[:start_date])
33
+
34
+ client.request(:post, "groups/#{group_id}/milestones", GroupMilestone, query)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,26 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'Delete' do
6
+ desc 'Deletes an existing group milestone. [Group ID, Group Milestone ID]'
7
+ example <<~DOC
8
+ client.groups.milestones.delete(16,2)
9
+ DOC
10
+ end
11
+
12
+ doc 'Delete' do
13
+ desc 'via Group Milestone'
14
+ example <<~DOC
15
+ milestone = client.groups.milestones.show(16,1)
16
+ milestone.delete
17
+ DOC
18
+ end
19
+
20
+ def delete(group_id, milestone_id)
21
+ milestone_id = format_id(milestone_id)
22
+ group_id = format_id(group_id)
23
+ client.request(:delete, "groups/#{group_id}/milestones/#{milestone_id}")
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,52 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class GroupMilestone < Klass
5
+ include ClassHelpers
6
+
7
+ def inspect
8
+ "#<GroupMilestone id: #{id}, title: #{title}>"
9
+ end
10
+
11
+ def group
12
+ client.groups.show group_id
13
+ end
14
+
15
+ def update(query = {})
16
+ group_id = collect_group_id
17
+ update_self client.groups.milestones.update(group_id, id, query)
18
+ end
19
+
20
+ def issues
21
+ group_id = collect_group_id
22
+ client.groups.milestones.issues(group_id, id)
23
+ end
24
+
25
+ def merge_requests
26
+ group_id = collect_group_id
27
+ client.groups.milestones.merge_requests(group_id, id)
28
+ end
29
+
30
+ def burndown
31
+ group_id = collect_group_id
32
+ client.groups.milestones.burndown(group_id, id)
33
+ end
34
+
35
+ def delete
36
+ group_id = collect_group_id
37
+ client.groups.milestones.delete(group_id, id)
38
+ end
39
+
40
+ date_time_attrs %i[updated_at created_at due_date start_date]
41
+
42
+ help do
43
+ subtitle 'Group Milestone'
44
+ option 'group', 'Show group for milestone.'
45
+ option 'issues', 'Show issues assigned to milestone.'
46
+ option 'merge_requests', 'Show merge requests assigned to milestone.'
47
+ option 'delete', 'Delete this milestone.'
48
+ option 'burndown', 'Show burndown events.'
49
+ option 'update', 'Update this this milestone. [Hash]'
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,29 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'Show' do
6
+ title 'Issues'
7
+ desc 'Gets all issues assigned to a single group milestone. [Group ID, Group Milestone ID]'
8
+ example 'client.groups.milestones.issues(16, 1)'
9
+ result <<~DOC
10
+ => [#<Issue id: 36, title: Implemented high-level process improvement, state: opened>, #<Issue id: 35, title: Proactive didactic implementation, state: opened>]
11
+ DOC
12
+ end
13
+
14
+ doc 'Show' do
15
+ desc 'via GroupMilestone'
16
+ example <<~DOC
17
+ milestone = client.groups.milestones.show(16,1)
18
+ milestone.issues
19
+ DOC
20
+ end
21
+
22
+ def issues(group_id, milestone_id)
23
+ milestone_id = format_id(milestone_id)
24
+ group_id = format_id(group_id)
25
+
26
+ client.request(:get, "groups/#{group_id}/milestones/#{milestone_id}/issues", Issue)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,41 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'List' do
6
+ desc 'Get a list of group milestones. [Group ID, Hash]'
7
+ example 'client.groups.milestones.list(16)'
8
+ result <<~DOC
9
+ => [#<GroupMilestone id: 1, title: Its a mile long stone>, ...]
10
+ DOC
11
+ end
12
+
13
+ doc 'List' do
14
+ markdown <<~DOC
15
+
16
+ | Attribute | Type | Required | Description |
17
+ | --------- | ------ | -------- | ----------- |
18
+ | iids[] | integer array | optional | Return only the milestones having the given iid |
19
+ | state | string | optional | Return only active or closed milestones |
20
+ | title | string | optional | Return only the milestones having the given title |
21
+ | search | string | optional | Return only milestones with a title or description matching the provided string |
22
+
23
+ DOC
24
+ end
25
+
26
+ doc 'List' do
27
+ desc 'via Group'
28
+ example <<~DOC
29
+ group = client.groups.show(264)
30
+ group.milestones
31
+ DOC
32
+ end
33
+
34
+ # List
35
+ def list(group_id, query = {})
36
+ group_id = format_id(group_id)
37
+
38
+ client.request(:get, "groups/#{group_id}/milestones", GroupMilestone, query)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,29 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'Show' do
6
+ title 'Merge Requests'
7
+ desc 'Gets all merge requests assigned to a single group milestone. [Group ID, Group Milestone ID]'
8
+ example 'client.groups.milestones.merge_requests(16, 1)'
9
+ result <<~DOC
10
+ => [#<MergeRequest id: 7, title: Update README.md, state: opened>]
11
+ DOC
12
+ end
13
+
14
+ doc 'Show' do
15
+ desc 'via GroupMilestone'
16
+ example <<~DOC
17
+ milestone = client.groups.milestones.show(16,1)
18
+ milestone.merge_requests
19
+ DOC
20
+ end
21
+
22
+ def merge_requests(group_id, milestone_id)
23
+ milestone_id = format_id(milestone_id)
24
+ group_id = format_id(group_id)
25
+
26
+ client.request(:get, "groups/#{group_id}/milestones/#{milestone_id}/merge_requests", MergeRequest)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,20 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'Show' do
6
+ desc 'Get a single group milestone. [Group ID, Group Milestone ID]'
7
+ example 'client.groups.milestones.show(16, 1)'
8
+ result <<~DOC
9
+ => #<GroupMilestone id: 1, title: Its a mile long stone>
10
+ DOC
11
+ end
12
+
13
+ # Show Specific
14
+ def show(group_id, milestone_id)
15
+ milestone_id = format_id(milestone_id)
16
+ group_id = format_id(group_id)
17
+ client.request(:get, "groups/#{group_id}/milestones/#{milestone_id}", GroupMilestone)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,45 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupMilestones < Common
5
+ doc 'Update' do
6
+ desc 'Updates an existing group milestone [Group ID, Group Milestone ID, Hash]'
7
+
8
+ example <<~DOC
9
+ client.groups.milestones.update(16, 2, title: 'Better Title')
10
+ DOC
11
+
12
+ result <<~DOC
13
+ => #<GroupMilestone id: 2, title: Better Title>
14
+ DOC
15
+ end
16
+
17
+ doc 'Update' do
18
+ markdown <<~DOC
19
+ | Attribute | Type | Required | Description |
20
+ |--------------|------- |--------- |---------------------------------- |
21
+ | title | string | yes | Title of a milestone. |
22
+ | description | string | no | The description of the milestone |
23
+ | due_date | string | no | The due date of the milestone |
24
+ | start_date | string | no | The start date of the milestone |
25
+ DOC
26
+ end
27
+
28
+ doc 'Update' do
29
+ desc 'Via Group Milestone'
30
+ example <<~DOC
31
+ milestone.update(title: 'One Group Milestone to find them!')
32
+ DOC
33
+ end
34
+
35
+ def update(group_id, milestone_id, query = {})
36
+ milestone_id = format_id(milestone_id)
37
+ group_id = format_id(group_id)
38
+
39
+ query[:due_date] = query[:due_date].to_time.iso8601 if format_time?(query[:due_date])
40
+ query[:start_date] = query[:start_date].to_time.iso8601 if format_time?(query[:start_date])
41
+
42
+ client.request(:put, "groups/#{group_id}/milestones/#{milestone_id}", GroupMilestone, query)
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,54 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Groups < Common
5
+ doc 'List' do
6
+ title 'Projects'
7
+ desc 'Get a list of projects in this group [Hash]'
8
+
9
+ example 'client.groups.projects(68)'
10
+
11
+ result '=> [#<Project id: 77 fensofserech/flameatronach>, #<Project id: 76 fensofserech/sizechanging>, ... ]'
12
+
13
+ markdown <<~DOC
14
+
15
+ | Attribute | Type | Required | Description |
16
+ | ----------------------------- | -------------- | -------- | ----------- | owned by the authenticated user |
17
+ | archived | boolean | no | Limit by archived status |
18
+ | visibility | string | no | Limit by visibility public, internal, or private |
19
+ | order_by | string | no | Return projects ordered by id, name, path, created_at, updated_at, or last_activity_at fields. Default is created_at |
20
+ | sort | string | no | Return projects sorted in asc or desc order. Default is desc |
21
+ | search | string | no | Return list of authorized projects matching the search criteria |
22
+ | simple | boolean | no | Return only the ID, URL, name, and path of each project |
23
+ | owned | boolean | no | Limit by projects owned by the current user |
24
+ | starred | boolean | no | Limit by projects starred by the current user |
25
+ | with_issues_enabled | boolean | no | Limit by projects with issues feature enabled. Default is false |
26
+ | with_merge_requests_enabled | boolean | no | Limit by projects with merge requests feature enabled. Default is false |
27
+ | with_shared | boolean | no | Include projects shared to this group. Default is true |
28
+ | include_subgroups | boolean | no | Include projects in subgroups of this group. Default is false |
29
+ | min_access_level | integer | no | Limit to projects where current user has at least this [access level](members.md) |
30
+ | with_custom_attributes | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only) |
31
+ | with_security_reports | boolean | no | Return only projects that have security reports artifacts present in any of their builds. This means "projects with security reports enabled". Default is false |
32
+ DOC
33
+ end
34
+
35
+ doc 'List' do
36
+ desc 'Via Group'
37
+ example <<~DOC
38
+ group = client.groups.list.last
39
+ group.projects
40
+ DOC
41
+ end
42
+
43
+ def projects(group_id, query = {})
44
+ group_id = format_id(group_id)
45
+
46
+ # Map Skip Groups
47
+ format_query_ids(:skip_groups, query)
48
+
49
+ query_access_level(query, :min_access_level)
50
+
51
+ client.request(:get, "groups/#{group_id}/projects", Project, query)
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,26 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Groups < Common
5
+ doc 'Delete' do
6
+ title 'Restore'
7
+ desc 'Restores a group marked for deletion. [Group ID]'
8
+ example 'client.groups.restore(3)'
9
+ result '=> #<Group id: 68, deleted>'
10
+ end
11
+
12
+ doc 'Delete' do
13
+ desc 'via Group'
14
+ example <<~DOC
15
+ group = client.group.show(3)
16
+ group.restore
17
+ DOC
18
+ end
19
+
20
+ def restore(group_id)
21
+ group_id = format_id(group_id)
22
+
23
+ client.request(:post, "groups/#{group_id}/restore", Group)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,33 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Groups < Common
5
+ doc 'Runners' do
6
+ desc 'List all runners (specific and shared) available in the group as well it’s ancestor groups. Shared runners are listed if at least one shared runner is defined. [Group ID, Hash]'
7
+ example 'client.groups.runners(15)'
8
+ result '[#<Runner id: 1, status: online>, ... ]'
9
+
10
+ markdown <<~DOC
11
+
12
+ | Attribute | Type | Required | Description |
13
+ |------------|----------------|----------|---------------------|
14
+ | type | string | no | The type of runners to show, one of: instance_type, group_type, project_type |
15
+ | status | string | no | The status of runners to show, one of: active, paused, online, offline |
16
+ | tag_list | string array | no | List of of the runner's tags |
17
+ DOC
18
+ end
19
+
20
+ doc 'Runners' do
21
+ desc 'Via Group [Hash]'
22
+ example <<~DOC
23
+ group = client.groups.show(16)
24
+ group.runners
25
+ DOC
26
+ end
27
+
28
+ def runners(group_id, query = {})
29
+ group_id = format_id(group_id)
30
+ client.request(:get, "groups/#{group_id}/runners", Runner, query)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,89 @@
1
+ # Top namespace
2
+ # Uses the '/search?scope=projects' endpoint
3
+ module LabClient
4
+ # Projects Specifics
5
+ class Groups < Common
6
+ doc 'Search' do
7
+ desc 'Search for Group, or within the Group with scopes'
8
+
9
+ markdown <<~DOC
10
+ Search within Group scopes
11
+
12
+ - projects
13
+ - issues
14
+ - merge_requests
15
+ - milestones
16
+ - wiki_blobs
17
+ - commits
18
+ - blobs
19
+ - users
20
+ DOC
21
+ end
22
+
23
+ doc 'Search' do
24
+ subtitle 'Examples'
25
+ desc 'Search for Groups'
26
+ example "client.groups.search 'alpha'"
27
+ result '=> [#<Group id: 75, alphabetrium>, #<Group id: 97, alphaquadrant>]'
28
+ end
29
+
30
+ doc 'Search' do
31
+ desc 'Search within a group with :issues scope'
32
+ example "client.projects.search_within(311, :issues, 'rawr')"
33
+ result '=> [#<Issue id: 1, title: rawr, state: opened>]'
34
+ end
35
+
36
+ doc 'Search' do
37
+ desc 'Search within a Group with :users scope'
38
+ example "client.projects.search_within(311, :users, 'username')"
39
+ result '=> [#<User id: 1, username: root>]'
40
+ end
41
+
42
+ doc 'Search' do
43
+ desc 'Search via Group'
44
+ example <<~DOC
45
+ group = client.groups.show(16)
46
+ group.search(:issues, 'sweet search')
47
+ DOC
48
+ end
49
+
50
+ # Search All Projects
51
+ def search_within(group_id, scope, search_string = '')
52
+ group_id = format_id(group_id)
53
+
54
+ scope = scope.to_sym # Case Simplicity
55
+ query = { scope: scope, search: search_string }
56
+
57
+ klass = klass_type(scope)
58
+
59
+ client.request(:get, "groups/#{group_id}/search", klass, query)
60
+ end
61
+
62
+ # Search Groups
63
+ def search(search_string = '')
64
+ query = {
65
+ search: search_string
66
+ }
67
+
68
+ client.request(:get, 'groups', Group, query)
69
+ end
70
+
71
+ private
72
+
73
+ # rubocop:disable Metrics/CyclomaticComplexity
74
+ # TODO - Finish Classes
75
+ def klass_type(scope)
76
+ case scope
77
+ when :projects then Project
78
+ when :issues then Issue
79
+ when :merge_requests then MergeRequest
80
+ when :wiki_blobs then nil # wiki_blobs
81
+ when :milestones then nil # ::Project::MileStone
82
+ when :blobs then nil # blobs
83
+ when :commits then Commit
84
+ when :users then User
85
+ end
86
+ end
87
+ # rubocop:enable Metrics/CyclomaticComplexity
88
+ end
89
+ end