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,40 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Update Rule'
8
+ desc 'Update Merge Request approval rule. [Project ID, MergeRequest ID, Rule ID, Hash]'
9
+ example 'client.approvals.merge_request.update_rule(1, 2, name: "Checky Check", approvals_required: 3)'
10
+ result '#<ApprovalRule id: 2, name: Checky Check>'
11
+ markdown <<~DOC
12
+ **Parameters:**
13
+
14
+ | Attribute | Type | Required | Description |
15
+ |------------------------|---------|----------|------------------------------------------------------------------|
16
+ | approval_rule_id | integer | yes | The ID of a approval rule |
17
+ | name | string | yes | The name of the approval rule |
18
+ | approvals_required | integer | yes | The number of required approvals for this rule |
19
+ | user_ids | Array | no | The ids of users as approvers |
20
+ | group_ids | Array | no | The ids of groups as approvers |
21
+ | protected_branch_ids | Array | no | The ids of protected branches to scope the rule by |
22
+ DOC
23
+ end
24
+
25
+ doc 'MergeRequest' do
26
+ desc 'Via MergeRequest'
27
+ example <<~DOC
28
+ mr = client.merge_requests.show(1,1)
29
+ mr.approvals_rule_update(1, name: "Sanity Check", approvals_required: 2)
30
+ DOC
31
+ end
32
+
33
+ def update_rule(project_id, merge_request_iid, approval_rule_id, query = {})
34
+ project_id = format_id(project_id)
35
+ merge_request_iid = format_id(merge_request_iid)
36
+ approval_rule_id = format_id(approval_rule_id)
37
+ client.request(:put, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules/#{approval_rule_id}", ApprovalRule, query)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'Project' do
7
+ title 'Create Rule'
8
+ desc 'Create project approval rules. [Project ID, Hash]'
9
+ example 'client.approvals.project.create_rule(1, name: "Sanity Check", approvals_required: 2)'
10
+ result '#<ApprovalRule id: 2, name: Sanity Check>'
11
+ markdown <<~DOC
12
+
13
+ **Parameters:**
14
+
15
+ | Attribute | Type | Required | Description |
16
+ |------------------------|---------|----------|------------------------------------------------------------------|
17
+ | name | string | yes | The name of the approval rule |
18
+ | approvals_required | integer | yes | The number of required approvals for this rule |
19
+ | user_ids | Array | no | The ids of users as approvers |
20
+ | group_ids | Array | no | The ids of groups as approvers |
21
+ | protected_branch_ids | Array | no | The ids of protected branches to scope the rule by |
22
+ DOC
23
+ end
24
+
25
+ doc 'Project' do
26
+ desc 'Via Project'
27
+ example <<~DOC
28
+ project = client.projects.show(1)
29
+ project.approvals_rule_create(name: "Sanity Check", approvals_required: 2)
30
+ DOC
31
+ end
32
+
33
+ def create_rule(project_id, query = {})
34
+ project_id = format_id(project_id)
35
+ client.request(:post, "projects/#{project_id}/approval_rules", ApprovalRule, query)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,26 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'Project' do
7
+ title 'Delete Rule'
8
+ desc 'Delete project approval rule. [Project ID, Rule ID]'
9
+ example 'client.approvals.project.delete_rule(1, 2)'
10
+ end
11
+
12
+ doc 'Project' do
13
+ desc 'Via Project'
14
+ example <<~DOC
15
+ project = client.projects.show(1)
16
+ project.approvals_rule_delete(2)
17
+ DOC
18
+ end
19
+
20
+ def delete_rule(project_id, approval_rule_id)
21
+ project_id = format_id(project_id)
22
+ approval_rule_id = format_id(approval_rule_id)
23
+ client.request(:delete, "projects/#{project_id}/approval_rules/#{approval_rule_id}")
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'Project' do
7
+ title 'Rules'
8
+ desc 'Show project approval rules. [Project ID]'
9
+ example 'client.approvals.project.rules(1)'
10
+ result '[#<ApprovalRule id: 1, name: Root>]'
11
+ end
12
+
13
+ doc 'Project' do
14
+ desc 'Via Project'
15
+ example <<~DOC
16
+ project = client.projects.show(1)
17
+ project.approval_rules
18
+ DOC
19
+ end
20
+
21
+ def rules(project_id)
22
+ project_id = format_id(project_id)
23
+ client.request(:get, "projects/#{project_id}/approval_rules", ApprovalRule)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'Project' do
7
+ title 'Show'
8
+ desc 'Show project’s approval configuration. [Project ID]'
9
+ example 'client.approvals.project.show(1)'
10
+ result <<~DOC
11
+ {
12
+ approvals_before_merge: 0,
13
+ approver_groups: [],
14
+ approvers: [],
15
+ disable_overriding_approvers_per_merge_request: nil,
16
+ merge_requests_author_approval: nil,
17
+ merge_requests_disable_committers_approval: nil,
18
+ require_password_to_approve: nil,
19
+ reset_approvals_on_push: true
20
+ }
21
+
22
+ DOC
23
+ end
24
+
25
+ doc 'Project' do
26
+ desc 'Via Project'
27
+ example <<~DOC
28
+ project = client.projects.show(1)
29
+ project.approvals
30
+ DOC
31
+ end
32
+
33
+ def show(project_id)
34
+ project_id = format_id(project_id)
35
+ client.request(:get, "projects/#{project_id}/approvals")
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,53 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'Project' do
7
+ title 'Update'
8
+ desc 'Change approval configuration [Project ID, Hash]'
9
+ example 'client.approvals.project.update(1, reset_approvals_on_push: true)'
10
+ result <<~DOC
11
+ {
12
+ approvals_before_merge: 0,
13
+ approver_groups: [],
14
+ approvers: [],
15
+ disable_overriding_approvers_per_merge_request: nil,
16
+ merge_requests_author_approval: nil,
17
+ merge_requests_disable_committers_approval: nil,
18
+ require_password_to_approve: nil,
19
+ reset_approvals_on_push: true
20
+ }
21
+
22
+ DOC
23
+
24
+ markdown <<~DOC
25
+
26
+ **Parameters:**
27
+
28
+ | Attribute | Type | Required | Description |
29
+ | ------------------------------------------------ | ------- | -------- | --------------------------------------------------------------------------------------------------- |
30
+ | approvals_before_merge | integer | no | How many approvals are required before an MR can be merged. Deprecated in 12.0 in favor of Approval Rules API. |
31
+ | reset_approvals_on_push | boolean | no | Reset approvals on a new push |
32
+ | disable_overriding_approvers_per_merge_request | boolean | no | Allow/Disallow overriding approvers per MR |
33
+ | merge_requests_author_approval | boolean | no | Allow/Disallow authors from self approving merge requests; true means authors cannot self approve |
34
+ | merge_requests_disable_committers_approval | boolean | no | Allow/Disallow committers from self approving merge requests |
35
+ | require_password_to_approve | boolean | no | Require approver to enter a password in order to authenticate before adding the approval |
36
+
37
+ DOC
38
+ end
39
+
40
+ doc 'Project' do
41
+ desc 'Via Project'
42
+ example <<~DOC
43
+ project = client.projects.show(1)
44
+ project.approvals_update(require_password_to_approve: true)
45
+ DOC
46
+ end
47
+
48
+ def update(project_id, query = {})
49
+ project_id = format_id(project_id)
50
+ client.request(:post, "projects/#{project_id}/approvals", nil, query)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,39 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'Project' do
7
+ title 'Update Rule'
8
+ desc 'Update project approval rule. [Project ID, Rule ID, Hash]'
9
+ example 'client.approvals.project.update_rule(1, 2, name: "Checky Check", approvals_required: 3)'
10
+ result '#<ApprovalRule id: 2, name: Checky Check>'
11
+ markdown <<~DOC
12
+ **Parameters:**
13
+
14
+ | Attribute | Type | Required | Description |
15
+ |------------------------|---------|----------|------------------------------------------------------------------|
16
+ | approval_rule_id | integer | yes | The ID of a approval rule |
17
+ | name | string | yes | The name of the approval rule |
18
+ | approvals_required | integer | yes | The number of required approvals for this rule |
19
+ | user_ids | Array | no | The ids of users as approvers |
20
+ | group_ids | Array | no | The ids of groups as approvers |
21
+ | protected_branch_ids | Array | no | The ids of protected branches to scope the rule by |
22
+ DOC
23
+ end
24
+
25
+ doc 'Project' do
26
+ desc 'Via Project'
27
+ example <<~DOC
28
+ project = client.projects.show(1)
29
+ project.approvals_rule_update(1, name: "Sanity Check", approvals_required: 2)
30
+ DOC
31
+ end
32
+
33
+ def update_rule(project_id, approval_rule_id, query = {})
34
+ project_id = format_id(project_id)
35
+ approval_rule_id = format_id(approval_rule_id)
36
+ client.request(:put, "projects/#{project_id}/approval_rules/#{approval_rule_id}", ApprovalRule, query)
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,36 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class ApprovalRule < Klass
5
+ @group_name = 'Approvals'
6
+ include ClassHelpers
7
+
8
+ def inspect
9
+ "#<ApprovalRule id: #{id}, name: #{name}>"
10
+ end
11
+
12
+ def eligible_approvers
13
+ @table[:eligible_approvers].map do |user_data|
14
+ User.new(user_data, response, client)
15
+ end
16
+ end
17
+
18
+ def protected_branches
19
+ @table[:protected_branches].map do |branch_data|
20
+ LabClient::Branch.new(branch_data, response, client)
21
+ end
22
+ end
23
+
24
+ def users
25
+ @table[:users].map do |user_data|
26
+ User.new(user_data, response, client)
27
+ end
28
+ end
29
+
30
+ def groups
31
+ @table[:groups].map do |group_data|
32
+ Group.new(group_data, response, client)
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,12 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class AuditEvent < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<AuditEvent id: #{id}, type: #{entity_type}>"
8
+ end
9
+
10
+ date_time_attrs %i[created_at]
11
+ end
12
+ end
@@ -0,0 +1,63 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class AuditEvents < Common
5
+ doc 'Group' do
6
+ title 'Group List'
7
+ desc 'Retrive and filter group events '
8
+ example 'client.audit_events.group_list(15)'
9
+ result <<~DOC
10
+ => [#<AuditEvent id: 25, type: Group>]
11
+ DOC
12
+
13
+ markdown <<~DOC
14
+ | Attribute | Type | Description |
15
+ | --------- | ---- | | ----------- |
16
+ | created_after | string | Return audit events created on or after the given time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
17
+ | created_before | string | Return audit events created on or before the given time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
18
+ DOC
19
+ end
20
+
21
+ doc 'Group' do
22
+ markdown <<~DOC
23
+ ##### DateTime Helpers
24
+
25
+ Both `:created_after` and `:created_before` will access Date or Time objects. (responds_to: `to_time`)
26
+ DOC
27
+
28
+ example <<~DOC
29
+ client.audit_events.group_list(80,created_after: Date.today)
30
+ DOC
31
+
32
+ result <<~DOC
33
+ => [#<AuditEvent id: 359, type: Project>]
34
+ DOC
35
+ end
36
+
37
+ doc 'Group' do
38
+ example <<~DOC
39
+ client.audit_events.group_list(80, created_before: 1.month.ago )
40
+ DOC
41
+
42
+ result <<~DOC
43
+ => [#<AuditEvent id: 24, type: Group>]
44
+ DOC
45
+ end
46
+
47
+ doc 'Group' do
48
+ desc 'via Group'
49
+ example <<~DOC
50
+ group = client.groups.show(5)
51
+ group.audit_events
52
+ DOC
53
+ end
54
+
55
+ # List
56
+ def group_list(group_id, query = {})
57
+ query_format_time(query, :created_before)
58
+ query_format_time(query, :created_after)
59
+
60
+ client.request(:get, "groups/#{group_id}/audit_events", AuditEvent, query)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class AuditEvents < Common
5
+ doc 'Group' do
6
+ title 'Group Show'
7
+ desc 'Retrieve single group audit event (group, audit)'
8
+ example 'client.audit_events.group_show(15,24)'
9
+ result <<~DOC
10
+ => #<AuditEvent id: 24, type: Group>
11
+ DOC
12
+ end
13
+
14
+ doc 'Group' do
15
+ title 'via Group'
16
+ example <<~DOC
17
+ group = client.group.show(5)
18
+ group.audit_events(24)
19
+ DOC
20
+ end
21
+
22
+ # Show
23
+ def group_show(group_id = nil, audit_event_id = nil)
24
+ client.request(:get, "groups/#{group_id}/audit_events/#{audit_event_id}", AuditEvent)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,73 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class AuditEvents < Common
5
+ doc 'Instance' do
6
+ title 'List'
7
+ desc 'Retrive and filter instance events '
8
+ example 'client.audit_events.list'
9
+ result <<~DOC
10
+ => [
11
+ #<AuditEvent id: 372, type: User>,
12
+ #<AuditEvent id: 371, type: User>,
13
+ #<AuditEvent id: 370, type: Project>,
14
+ #<AuditEvent id: 369, type: Group>
15
+ ]
16
+ DOC
17
+
18
+ markdown <<~DOC
19
+ | Attribute | Type | Description |
20
+ | --------- | ---- | | ----------- |
21
+ | created_after | string | Return audit events created on or after the given time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
22
+ | created_before | string | Return audit events created on or before the given time. Format: ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
23
+ | entity_type | string | Return audit events for the given entity type. Valid values are: User, Group, or Project. |
24
+ | entity_id | integer | Return audit events for the given entity ID. Requires entity_type attribute to be present. |
25
+ DOC
26
+ end
27
+
28
+ doc 'Instance' do
29
+ desc 'Filter by Type'
30
+ example 'client.audit_events.list(entity_type: "Group")'
31
+ result <<~DOC
32
+ => [
33
+ #<AuditEvent id: 369, type: Group>,
34
+ #<AuditEvent id: 380, type: Group>,
35
+ ]
36
+ DOC
37
+ end
38
+
39
+ doc 'Instance' do
40
+ markdown <<~DOC
41
+ ##### DateTime Helpers
42
+
43
+ Both `:created_after` and `:created_before` can be used with Date or Time objects. (responds_to: `to_time`)
44
+ DOC
45
+
46
+ example <<~DOC
47
+ client.audit_events.list(created_after: Date.today)
48
+ DOC
49
+
50
+ result <<~DOC
51
+ => [#<AuditEvent id: 359, type: Project>]
52
+ DOC
53
+ end
54
+
55
+ doc 'Instance' do
56
+ example <<~DOC
57
+ client.audit_events.list(created_before: 1.month.ago )
58
+ DOC
59
+
60
+ result <<~DOC
61
+ => [#<AuditEvent id: 159, type: User>]
62
+ DOC
63
+ end
64
+
65
+ # List
66
+ def list(query = {})
67
+ query[:created_after] = query[:created_after].to_time.iso8601 if format_time?(query[:created_after])
68
+ query[:created_before] = query[:created_before].to_time.iso8601 if format_time?(query[:created_before])
69
+
70
+ client.request(:get, 'audit_events', AuditEvent, query)
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,19 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class AuditEvents < Common
5
+ doc 'Instance' do
6
+ title 'Show'
7
+ desc 'Retrieve single instance audit event'
8
+ example 'client.audit_events.show(50)'
9
+ result <<~DOC
10
+ => #<AuditEvent id: 50, type: Group>
11
+ DOC
12
+ end
13
+
14
+ # Show
15
+ def show(audit_event_id = nil)
16
+ client.request(:get, "audit_events/#{audit_event_id}", AuditEvent)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,14 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Avatar < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<Avatar url: #{avatar_url}>"
8
+ end
9
+
10
+ def url
11
+ avatar_url
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Avatars < Common
5
+ @group_name = 'Avatar'
6
+
7
+ doc 'Show' do
8
+ desc 'Get a single avatar URL for a user with the given email address.'
9
+ example 'client.avatar.show(email: "jeanlucpicard@example", size: 512)'
10
+ result <<~DOC
11
+ => #<Avatar url: https://secure.gravatar.com/avatar/1f218446d7b40a24b0eae6b741d97fe6?s=1024&d=identicon>
12
+ DOC
13
+
14
+ markdown <<~DOC
15
+ | Attribute | Type | Required | Description |
16
+ |---------- |-------- |--------- |----------------------------------------------------------------------------------------------------------------------------------------|
17
+ | email | string | yes | Public email address of the user. |
18
+ | size | integer | no | Single pixel dimension (since images are squares). Only used for avatar lookups at Gravatar or at the configured Libravatar server. |
19
+ DOC
20
+ end
21
+
22
+ # List/Search users
23
+ def show(query = {})
24
+ client.request(:get, 'avatar', Avatar, query)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Award < Klass
5
+ include ClassHelpers
6
+
7
+ def inspect
8
+ "#<Award id: #{id} name: #{name}>"
9
+ end
10
+
11
+ # DateTime Fields
12
+ date_time_attrs %i[created_at updated_at]
13
+
14
+ # User Fields
15
+ user_attrs %i[user]
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class IssueAwards < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class Awards < Common
13
+ def issues
14
+ IssueAwards.new(client)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class IssueAwards < Common
5
+ doc 'Issues' do
6
+ title 'Create'
7
+ desc 'Create an award emoji [Project, Issue IID, Name]'
8
+ example 'client.awards.issues.create(16, 1, :blowfish)'
9
+ result <<~DOC
10
+ => #<Award id: 2 name: blowfish>
11
+ DOC
12
+ end
13
+
14
+ def create(project_id, issue_id, name)
15
+ project_id = format_id(project_id)
16
+ issue_id = format_id(issue_id)
17
+
18
+ query = { name: name }
19
+
20
+ client.request(:post, "projects/#{project_id}/issues/#{issue_id}/award_emoji", Award, query)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,20 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class IssueAwards < Common
5
+ doc 'Issues' do
6
+ title 'Delete'
7
+ desc 'Sometimes it’s just not meant to be and you’ll have to remove the award. [Project ID, Issue IID, Award ID]'
8
+ example 'client.awards.issues.delete(16, 2, 2)'
9
+ end
10
+
11
+ # Delete
12
+ def delete(project_id, issue_id, award_id)
13
+ project_id = format_id(project_id)
14
+ issue_id = format_id(issue_id)
15
+ award_id = format_id(award_id)
16
+
17
+ client.request(:delete, "projects/#{project_id}/issues/#{issue_id}/award_emoji/#{award_id}")
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class IssueAwards < Common
5
+ @group_name = 'Awards'
6
+ doc 'Issues' do
7
+ title 'List'
8
+ desc 'Get a list of all award emoji for a specified awardable. [Project ID, Issue IID]'
9
+ example 'client.awards.issues.list(16, 1)'
10
+ result <<~DOC
11
+ => [#<Award id: 2dc2a8d>, .. ]
12
+ DOC
13
+ end
14
+
15
+ def list(project_id, issue_id)
16
+ project_id = format_id(project_id)
17
+ issue_id = format_id(issue_id)
18
+
19
+ client.request(:get, "projects/#{project_id}/issues/#{issue_id}/award_emoji", Award)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class IssueAwards < Common
5
+ doc 'Issues' do
6
+ title 'Show'
7
+ desc 'Get a single award emoji [Project ID, Issue IID, Award ID]'
8
+ example 'client.awards.issues.show(16, 1, 1)'
9
+ result <<~DOC
10
+ => #<Award id: 1 name: badminton>
11
+ DOC
12
+ end
13
+
14
+ def show(project_id, issue_id, award_id)
15
+ project_id = format_id(project_id)
16
+ issue_id = format_id(issue_id)
17
+ award_id = format_id(award_id)
18
+
19
+ client.request(:get, "projects/#{project_id}/issues/#{issue_id}/award_emoji/#{award_id}", Award)
20
+ end
21
+ end
22
+ end