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,49 @@
1
+ # rubocop:disable Style/FormatStringToken
2
+ # Top namespace
3
+ module LabClient
4
+ # Specifics
5
+ class GroupBadges < Common
6
+ doc 'Create' do
7
+ desc 'Adds a badge to a group. [Group ID, Hash]'
8
+ example <<~DOC
9
+ client.groups.badges.create(
10
+ 100,
11
+ name: 'rawr',
12
+ link_url:'https://example.gitlab.com/%{project_path}',
13
+ image_url:'https://example.gitlab.com/%{project_path}/badges/%{default_branch}/pipeline.svg'
14
+ )
15
+ DOC
16
+
17
+ result '=> #<GroupBadge id: 2, url: http://labclient.com>'
18
+ end
19
+
20
+ doc 'Create' do
21
+ markdown <<~DOC
22
+ | Attribute | Type | Required | Description |
23
+ | --------- | ---- | -------- | ----------- |
24
+ | name | string | no | Name for Badge |
25
+ | link_url | string | yes | URL of the badge link |
26
+ | image_url | string | yes | URL of the badge image |
27
+ DOC
28
+ end
29
+
30
+ doc 'Create' do
31
+ desc 'Via Group'
32
+ example <<~DOC
33
+ group = client.groups.show(100)
34
+ badge = group.badge_create(
35
+ name: 'rawr',
36
+ link_url:'https://example.gitlab.com/%{project_path}',
37
+ image_url:'https://example.gitlab.com/%{project_path}/badges/%{default_branch}/pipeline.svg'
38
+ )
39
+ DOC
40
+ end
41
+
42
+ def create(group_id, query)
43
+ group_id = format_id(group_id)
44
+
45
+ client.request(:post, "groups/#{group_id}/badges", GroupBadge, query)
46
+ end
47
+ end
48
+ end
49
+ # rubocop:enable Style/FormatStringToken
@@ -0,0 +1,33 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupBadges < Common
5
+ doc 'Delete' do
6
+ desc 'Removes a badge from a group. [Group ID, Badge ID]'
7
+ example 'client.groups.badges.delete(16, 1)'
8
+ end
9
+
10
+ doc 'Delete' do
11
+ desc 'Via Group [Badge ID]'
12
+ example <<~DOC
13
+ group = client.groups.show(100)
14
+ group.badge_delete(3)
15
+ DOC
16
+ end
17
+
18
+ doc 'Delete' do
19
+ desc 'Via GroupBadge'
20
+ example <<~DOC
21
+ badge = client.groups.badges.show(100, 4)
22
+ badge.delete
23
+ DOC
24
+ end
25
+
26
+ def delete(group_id, badge_id)
27
+ group_id = format_id(group_id)
28
+ badge_id = format_id(badge_id)
29
+
30
+ client.request(:delete, "groups/#{group_id}/badges/#{badge_id}")
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,47 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class GroupBadge < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<GroupBadge id: #{id}, name: #{name}>"
8
+ end
9
+
10
+ def group
11
+ group_id = collect_group_id
12
+ client.groups.show group_id
13
+ end
14
+
15
+ def update(query)
16
+ group_id = collect_group_id
17
+
18
+ update_self client.groups.badges.update(group_id, id, query)
19
+ end
20
+
21
+ def delete
22
+ group_id = collect_group_id
23
+
24
+ client.groups.badges.delete(group_id, id)
25
+ end
26
+
27
+ def preview
28
+ group_id = collect_group_id
29
+
30
+ client.groups.badges.preview(group_id, {
31
+ link_url: link_url,
32
+ image_url: image_url
33
+ })
34
+ end
35
+
36
+ date_time_attrs %i[created_at]
37
+
38
+ help do
39
+ @group_name = 'Groups'
40
+ subtitle 'GroupBadge'
41
+ option 'group', 'Show Group'
42
+ option 'update', 'Update this badge [Hash]'
43
+ option 'delete', 'Delete this badge'
44
+ option 'preview', 'Show render of interpolation'
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,28 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupBadges < Common
5
+ doc 'List' do
6
+ desc 'Gets a list of a group’s badges. [Group ID]'
7
+ example 'client.groups.badges.list(16)'
8
+
9
+ result <<~DOC
10
+ => [#<GroupBadge id: 2, name: first >, #<GroupBadge id: 3, name: rawr>]
11
+ DOC
12
+ end
13
+
14
+ doc 'List' do
15
+ desc 'Via Group'
16
+ example <<~DOC
17
+ group = client.groups.show(16)
18
+ group.hooks
19
+ DOC
20
+ end
21
+
22
+ def list(group_id)
23
+ group_id = format_id(group_id)
24
+
25
+ client.request(:get, "groups/#{group_id}/badges", GroupBadge)
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,42 @@
1
+ # rubocop:disable Style/FormatStringToken
2
+ # Top namespace
3
+ module LabClient
4
+ # Specifics
5
+ class GroupBadges < Common
6
+ doc 'Preview' do
7
+ desc 'Returns how the link_url and image_url final URLs would be after resolving the placeholder interpolation. [Group ID, Badge ID]'
8
+ example <<~DOC
9
+ client.groups.badges.preview(
10
+ 100,
11
+ link_url:'https://example.gitlab.com/%{project_path}',
12
+ image_url:'https://example.gitlab.com/%{project_path}/badges/%{default_branch}/pipeline.svg'
13
+ )
14
+ DOC
15
+ end
16
+
17
+ doc 'Preview' do
18
+ markdown <<~DOC
19
+ | Attribute | Type | Required | Description |
20
+ | --------- | ---- | -------- | ----------- |
21
+ | name | string | no | Name for Badge |
22
+ | link_url | string | yes | URL of the badge link |
23
+ | image_url | string | yes | URL of the badge image |
24
+ DOC
25
+ end
26
+
27
+ doc 'Preview' do
28
+ desc 'Via GroupBadge'
29
+ example <<~DOC
30
+ badge = client.groups.badges.show(100, 4)
31
+ badge.preview
32
+ DOC
33
+ end
34
+
35
+ def preview(group_id, query)
36
+ group_id = format_id(group_id)
37
+
38
+ client.request(:get, "groups/#{group_id}/badges/render", nil, query)
39
+ end
40
+ end
41
+ end
42
+ # rubocop:enable Style/FormatStringToken
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupBadges < Common
5
+ doc 'Show' do
6
+ desc 'Gets a badge of a group. [Group ID, Badge ID]'
7
+ example 'client.groups.badges.show(100, 1)'
8
+
9
+ result '=> #<GroupBadge id: 1, name: first>'
10
+ end
11
+
12
+ doc 'Show' do
13
+ desc 'Via Group [Badge ID]'
14
+ example <<~DOC
15
+ group = client.groups.show(16)
16
+ badge = group.badge_show(1)
17
+ DOC
18
+ end
19
+
20
+ def show(group_id, badge_id)
21
+ group_id = format_id(group_id)
22
+ badge_id = format_id(badge_id)
23
+
24
+ client.request(:get, "groups/#{group_id}/badges/#{badge_id}", GroupBadge)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,45 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupBadges < Common
5
+ doc 'Update' do
6
+ desc 'Updates a badge of a group. [Group ID, Badge ID, Params]'
7
+ example 'client.groups.badges.update(100, 3, name: "planet bob")'
8
+
9
+ result '=> #<GroupBadge id: 3, name: planet bob>'
10
+ end
11
+
12
+ doc 'Update' do
13
+ markdown <<~DOC
14
+ | Attribute | Type | Required | Description |
15
+ | --------- | ---- | -------- | ----------- |
16
+ | name | string | no | Name for Badge |
17
+ | link_url | string | no | URL of the badge link |
18
+ | image_url | string | no | URL of the badge image |
19
+ DOC
20
+ end
21
+
22
+ doc 'Update' do
23
+ desc 'Via Group [Badge ID, Params]'
24
+ example <<~DOC
25
+ group = client.groups.show(16)
26
+ badge = group.badge_update(4, name: "another")
27
+ DOC
28
+ end
29
+
30
+ doc 'Update' do
31
+ desc 'Via GroupBadge [Params]'
32
+ example <<~DOC
33
+ badge = client.groups.badges.show(100, 4)
34
+ badge.update(name: "switchy")
35
+ DOC
36
+ end
37
+
38
+ def update(group_id, badge_id, query)
39
+ group_id = format_id(group_id)
40
+ badge_id = format_id(badge_id)
41
+
42
+ client.request(:put, "groups/#{group_id}/badges/#{badge_id}", GroupBadge, query)
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Groups < Common
5
+ doc 'Create' do
6
+ desc 'Creates a new project group [Hash]'
7
+
8
+ example 'client.groups.create(path: "groot", name: "Groot")'
9
+
10
+ result '=> #<Group id: 112, groot>'
11
+
12
+ markdown <<~DOC
13
+ See [Docs](https://docs.gitlab.com/ee/api/groups.html#new-group) for available params
14
+
15
+ | Attribute | Description |
16
+ | ---------- | ----------- |
17
+ | name | The name of the group. |
18
+ | path | The path of the group. |
19
+ DOC
20
+ end
21
+
22
+ doc 'Create' do
23
+ desc 'With visibility'
24
+ example 'client.groups.create(path: "iam", name: "I am", description: "Groot", visibility: :private)'
25
+ end
26
+
27
+ def create(query = {})
28
+ client.request(:post, 'groups', Group, query)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Groups < Common
5
+ doc 'Delete' do
6
+ desc 'Removes group, and queues a background job to delete all projects in the group as well. [Group ID]'
7
+ example 'client.groups.delete(3)'
8
+ result '=> {:message=>"202 Accepted"}'
9
+ end
10
+
11
+ doc 'Delete' do
12
+ desc 'via Group'
13
+ example <<~DOC
14
+ group = client.group.show(3)
15
+ group.delete
16
+ DOC
17
+ end
18
+
19
+ def delete(group_id)
20
+ group_id = format_id(group_id)
21
+
22
+ client.request(:delete, "groups/#{group_id}", nil)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,317 @@
1
+ # rubocop:disable Metrics/ClassLength
2
+ # Top namespace
3
+ module LabClient
4
+ # Inspect Helper
5
+ class Group < Klass
6
+ include ClassHelpers
7
+ def inspect
8
+ "#<Group id: #{id}, #{full_path}>"
9
+ end
10
+
11
+ def subgroups(query = {})
12
+ client.groups.subgroups(id, query)
13
+ end
14
+
15
+ def update(query = {})
16
+ update_self client.groups.update(id, query)
17
+ end
18
+
19
+ def delete
20
+ client.groups.delete(id)
21
+ end
22
+
23
+ def search(scope, search_string = '')
24
+ client.groups.search_within(id, scope, search_string)
25
+ end
26
+
27
+ def restore
28
+ client.groups.restore(id)
29
+ end
30
+
31
+ def transfer(project_id)
32
+ client.groups.transfer(id, project_id)
33
+ end
34
+
35
+ def audit_events
36
+ client.audit_events.group_list(id)
37
+ end
38
+
39
+ def audit_event(audit_event_id)
40
+ client.audit_events.group_show(id, audit_event_id)
41
+ end
42
+
43
+ def projects(query = {})
44
+ # Details Query Includes Projects
45
+ if query.empty? && !@table.dig(:projects).blank?
46
+ @table[:projects].map { |project| LabClient::Project.new(project, response, client) }
47
+ else
48
+ client.groups.projects(id, query)
49
+ end
50
+ end
51
+
52
+ def ldap_list
53
+ client.groups.ldap.list(id)
54
+ end
55
+
56
+ def ldap_sync
57
+ client.groups.ldap.sync(id)
58
+ end
59
+
60
+ def ldap_create(query)
61
+ client.groups.ldap.create(id, query)
62
+ end
63
+
64
+ def ldap_delete(name, provider = nil)
65
+ client.groups.ldap.delete(id, name, provider)
66
+ end
67
+
68
+ def details(query = {})
69
+ update_self client.groups.show(id, query)
70
+ end
71
+
72
+ def runners(query = {})
73
+ client.groups.runners(id, query)
74
+ end
75
+
76
+ # Members
77
+ def members(query = nil)
78
+ client.members.groups.list(id, query)
79
+ end
80
+
81
+ def members_all(query = nil)
82
+ client.members.groups.list_all(id, query)
83
+ end
84
+
85
+ def member(user_id)
86
+ client.members.groups.show(id, user_id)
87
+ end
88
+
89
+ def member_all(user_id)
90
+ client.members.groups.show_all(id, user_id)
91
+ end
92
+
93
+ def member_add(user_id, query)
94
+ client.members.groups.add(id, user_id, query)
95
+ end
96
+
97
+ def member_update(user_id, query)
98
+ client.members.groups.update(id, user_id, query)
99
+ end
100
+
101
+ def member_delete(user_id)
102
+ client.members.groups.delete(id, user_id)
103
+ end
104
+
105
+ # Group Hooks
106
+ def hooks
107
+ client.groups.hooks.list(id)
108
+ end
109
+
110
+ def hook_show(hook_id)
111
+ client.groups.hooks.show(id, hook_id)
112
+ end
113
+
114
+ def hook_create(query)
115
+ client.groups.hooks.create(id, query)
116
+ end
117
+
118
+ def hook_update(hook_id, query)
119
+ client.groups.hooks.update(id, hook_id, query)
120
+ end
121
+
122
+ def hook_delete(hook_id)
123
+ client.groups.hooks.delete(id, hook_id)
124
+ end
125
+
126
+ # Group Badges
127
+ def badges
128
+ client.groups.badges.list(id)
129
+ end
130
+
131
+ def badge_show(badge_id)
132
+ client.groups.badges.show(id, badge_id)
133
+ end
134
+
135
+ def badge_create(query)
136
+ client.groups.badges.create(id, query)
137
+ end
138
+
139
+ def badge_update(badge_id, query)
140
+ client.groups.badges.update(id, badge_id, query)
141
+ end
142
+
143
+ def badge_delete(badge_id)
144
+ client.groups.badges.delete(id, badge_id)
145
+ end
146
+
147
+ # Group Epics
148
+ def epics
149
+ client.epics.list(id)
150
+ end
151
+
152
+ def epic_show(epic_id)
153
+ client.epics.show(id, epic_id)
154
+ end
155
+
156
+ def epic_create(query)
157
+ client.epics.create(id, query)
158
+ end
159
+
160
+ def epic_update(epic_id, query)
161
+ client.epics.update(id, epic_id, query)
162
+ end
163
+
164
+ def epic_delete(epic_id)
165
+ client.epics.delete(id, epic_id)
166
+ end
167
+
168
+ def epic_issues(epic_id)
169
+ client.epics.issues(id, epic_id)
170
+ end
171
+
172
+ def epic_issue_add(epic_iid, issue_id)
173
+ client.epics.issue_add(id, epic_iid, issue_id)
174
+ end
175
+
176
+ def epic_issue_remove(epic_iid, issue_id)
177
+ client.epics.issue_remove(id, epic_iid, issue_id)
178
+ end
179
+
180
+ def epic_issue_update(epic_iid, issue_id, query)
181
+ client.epics.issue_update(id, epic_iid, issue_id, query)
182
+ end
183
+
184
+ # Issues
185
+ def issues(query = {})
186
+ client.issues.group_issues(id, query)
187
+ end
188
+
189
+ # Merge Requests
190
+ def merge_requests(query = {})
191
+ client.merge_requests.list_group(id, query)
192
+ end
193
+
194
+ # Access Requests
195
+ def request_access
196
+ client.groups.access_requests.create(id)
197
+ end
198
+
199
+ def access_requests
200
+ client.groups.access_requests.list(id)
201
+ end
202
+
203
+ # Labels
204
+ def labels(query = {})
205
+ client.groups.labels.list(id, query)
206
+ end
207
+
208
+ def label(label_id, query = {})
209
+ client.groups.labels.show(id, label_id, query)
210
+ end
211
+
212
+ def label_create(query)
213
+ client.groups.labels.create(id, query)
214
+ end
215
+
216
+ def label_delete(label_id)
217
+ client.groups.labels.delete(id, label_id)
218
+ end
219
+
220
+ def label_update(label_id, query)
221
+ client.groups.labels.update(id, label_id, query)
222
+ end
223
+
224
+ def label_subscribe(label_id)
225
+ client.groups.labels.subscribe(id, label_id)
226
+ end
227
+
228
+ def label_unsubscribe(label_id)
229
+ client.groups.labels.unsubscribe(id, label_id)
230
+ end
231
+
232
+ # Registry
233
+ def registry_repositories(query = {})
234
+ client.registry.group(id, query)
235
+ end
236
+
237
+ # Milestones
238
+ def milestones(query = {})
239
+ client.groups.milestones.list(id, query)
240
+ end
241
+
242
+ # rubocop:disable Metrics/BlockLength
243
+ help do
244
+ subtitle 'Group'
245
+ option 'issues', 'List group Issues [Hash]'
246
+ option 'subgroups', 'List direct subgroups [Hash]'
247
+ option 'audit_events', "List this group's AuditEvents"
248
+ option 'audit_event', 'Show a specific AuditEvents [Audit Event ID]'
249
+ option 'projects', 'List direct Projects [Hash]'
250
+ option 'details', 'Get all details [Hash]'
251
+ option 'search', 'Search by scope within group [scope, search_string]'
252
+ option 'delete', 'Delete this Group'
253
+ option 'restore', 'Restore if marked for deletion'
254
+ option 'transfer', 'Transfer project to this group [Project ID]'
255
+ option 'ldap_list', 'Lists LDAP group links'
256
+ option 'ldap_sync', 'Syncs the group with its linked LDAP group'
257
+ option 'ldap_create', 'Adds an LDAP group link. [Hash]'
258
+ option 'ldap_delete', 'Deletes an LDAP group link. [CN, Provider(optional)]'
259
+ option 'runners', 'List Group Runners. [Hash]'
260
+
261
+ # Members
262
+ option 'members', 'List group members [Hash]'
263
+ option 'members_all', 'List group members, including inherited [Hash]'
264
+ option 'member', 'Show specific member [User ID]'
265
+ option 'member_all', 'Show specific member, including inherited [User ID]'
266
+ option 'member_add', 'Add user to group [User ID, Hash]'
267
+ option 'member_update', 'Update user on group [User ID, Hash]'
268
+ option 'member_delete', 'Remove user from group [User ID]'
269
+
270
+ # Hooks
271
+ option 'hooks', "List this group's hooks"
272
+ option 'hook_create', 'Create group hook [Hash]'
273
+ option 'hook_delete', 'Delete group hook [Hook ID]'
274
+ option 'hook_show', 'Show specific hook from group [Hook ID]'
275
+ option 'hook_update', 'Update group hook [Hook ID, Hash]'
276
+
277
+ # Badges
278
+ option 'badges', "List this group's badges"
279
+ option 'badge_create', 'Create group badge [Hash]'
280
+ option 'badge_delete', 'Delete group badge [Badge ID]'
281
+ option 'badge_show', 'Show specific badge from group [Badge ID]'
282
+ option 'badge_update', 'Update group badge [Badge ID, Hash]'
283
+
284
+ # Epics
285
+ option 'epics', "List this group's epics"
286
+ option 'epic_create', 'Create group epic [Hash]'
287
+ option 'epic_delete', 'Delete group epic [Epic IID]'
288
+ option 'epic_show', 'Show specific epic from group [Epic IID]'
289
+ option 'epic_update', 'Update group epic [Epic IID, Hash]'
290
+ option 'epic_issues', 'List epic Issues [Epic IID]'
291
+ option 'epic_issue_add', 'Add issue to group epic [Epic IID, Issue ID]'
292
+ option 'epic_issue_remove', 'Remove issue from group epic [Epic IID, Issue ID]'
293
+ option 'epic_issue_update', 'Update issue group epic [Epic IID, Issue ID, Hash]'
294
+
295
+ # Merge Requests
296
+ option 'merge_requests', 'List group merge requests [Hash]'
297
+
298
+ # Access Requests
299
+ option 'access_requests', 'List access requests for group'
300
+ option 'request_access', 'Request access to group'
301
+
302
+ # Labels
303
+ option 'labels', "List this group's labels"
304
+ option 'label', 'Show specific label from group [Label ID]'
305
+ option 'label_create', 'Create group label [Hash]'
306
+ option 'label_delete', 'Delete group label [Label ID]'
307
+ option 'label_update', 'Update group label [Label ID, Hash]'
308
+ option 'label_subscribe', 'Subscribe to label notifications [Label ID]'
309
+ option 'label_unsubscribe', 'Unsubscribe to label notifications [Label ID]'
310
+
311
+ # Registry
312
+ option 'registry_repositories', 'Get a list of registry repositories [Hash]'
313
+ end
314
+ # rubocop:enable Metrics/BlockLength
315
+ end
316
+ end
317
+ # rubocop:enable Metrics/ClassLength
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class GroupHooks < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class Groups < Common
13
+ def hooks
14
+ GroupHooks.new(client)
15
+ end
16
+ end
17
+ end