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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 79977702325d9d9a7df2569a8e1e948db351fc35deea828a832a548048efa7b3
4
+ data.tar.gz: 1febe4b7a2eab857c37fc814b299678a35c86be61c8d346806c5d8092ea154af
5
+ SHA512:
6
+ metadata.gz: 14eabf457805cece5387012fcd28ae9922ce554a6981aa21653d98404b274e6438b49686e0b6a7f8f3dbd14f16520089c58141ff08f2310c5314b52d31facc6c
7
+ data.tar.gz: 93b298936e970390a1886e03ddb4473d57df7adcfe75be983770fe09d5674cd5544776abd239c02c11a9ab93445aeee10c77fcb7cd2236e884174d844eec4e9b
@@ -0,0 +1,47 @@
1
+ # Top Namesapce
2
+ module LabClient
3
+ # Shared Methods
4
+ module AccessLevel
5
+ def human_access_level(level = 10)
6
+ case level
7
+ when 0 then :none
8
+ when 10 then :guest
9
+ when 20 then :reporter
10
+ when 30 then :developer
11
+ when 40 then :maintainer
12
+ when 50 then :owner
13
+ when 60 then :admin
14
+ end
15
+ end
16
+
17
+ def machine_access_level(level = :developer)
18
+ case level
19
+ when :none then 0
20
+ when :guest then 10
21
+ when :reporter then 20
22
+ when :developer then 30
23
+ when :maintainer then 40
24
+ when :owner then 50
25
+ when :admin then 60
26
+ end
27
+ end
28
+
29
+ def machine_protected_access_level(level = :developer)
30
+ case level
31
+ when :none then 0
32
+ when :developer then 30
33
+ when :maintainer then 40
34
+ when :admin then 60
35
+ end
36
+ end
37
+
38
+ def human_protected_access_level(level = 10)
39
+ case level
40
+ when 0 then :none
41
+ when 30 then :developer
42
+ when 40 then :maintainer
43
+ when 60 then :admin
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,7 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Appearance < Klass
5
+ include ClassHelpers
6
+ end
7
+ end
@@ -0,0 +1,19 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Appearances < Common
5
+ @group_name = 'Appearance'
6
+
7
+ doc 'Show' do
8
+ desc 'List the current appearance configuration of the GitLab instance.'
9
+ example 'client.appearance.show'
10
+ result <<~DOC
11
+ => => {:title=>"", :description=>"", :logo=>nil, :header_logo=>nil, :favicon=>nil, :new_project_guidelines=>"", :header_message=>"", :footer_message=>"", :message_background_color=>"#E75E40", :message_font_color=>"#FFFFFF", :email_header_and_footer_enabled=>false}
12
+ DOC
13
+ end
14
+
15
+ def show
16
+ client.request(:get, 'application/appearance', Appearance)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,37 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Appearances < Common
5
+ @group_name = 'Appearance'
6
+
7
+ doc 'Update' do
8
+ desc 'Use an API call to modify GitLab instance appearance configuration.'
9
+ example 'client.appearance.update(title: "Gitlaaaab!")'
10
+ result <<~DOC
11
+ => {:title=>"Gitlaaaab!", :description=>"", :logo=>nil, :header_logo=>nil, :favicon=>nil, :new_project_guidelines=>"", :header_message=>"", :footer_message=>"", :message_background_color=>"#E75E40", :message_font_color=>"#FFFFFF", :email_header_and_footer_enabled=>false}
12
+ DOC
13
+ end
14
+
15
+ doc 'Update' do
16
+ markdown <<~DOC
17
+ | Attribute | Type | Required | Description |
18
+ | --------------------------------- | ------- | -------- | ----------- |
19
+ | title | string | no | Instance title on the sign in / sign up page
20
+ | description | string | no | Markdown text shown on the sign in / sign up page
21
+ | logo | mixed | no | Instance image used on the sign in / sign up page
22
+ | header_logo | mixed | no | Instance image used for the main navigation bar
23
+ | favicon | mixed | no | Instance favicon in .ico/.png format
24
+ | new_project_guidelines | string | no | Markdown text shown on the new project page
25
+ | header_message | string | no | Message within the system header bar
26
+ | footer_message | string | no | Message within the system footer bar
27
+ | message_background_color | string | no | Background color for the system header / footer bar
28
+ | message_font_color | string | no | Font color for the system header / footer bar
29
+ | email_header_and_footer_enabled | boolean | no | Add header and footer to all outgoing emails if enabled
30
+ DOC
31
+ end
32
+
33
+ def update(query = {})
34
+ client.request(:put, 'application/appearance', Appearance, query)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,10 @@
1
+ module LabClient
2
+ # Inspect Helper
3
+ class ApplicationSetting < Klass
4
+ include ClassHelpers
5
+
6
+ def inspect
7
+ "#<Application Settings id: #{id}>"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,52 @@
1
+ module LabClient
2
+ # Apllication Settings Specifics
3
+ class ApplicationSettings < Common
4
+ doc 'Show' do
5
+ title 'Get current settings'
6
+ desc 'List the current application settings of the GitLab instance'
7
+ example 'client.application_settings.show'
8
+ result <<~DOC
9
+ => #<Application Settings - id: 1>
10
+ DOC
11
+ end
12
+
13
+ doc 'Show' do
14
+ title 'Show current settings'
15
+ desc 'Uses built in awesome print to show all current settings.'
16
+ example <<~DOC
17
+ settings = client.application_settings.show
18
+ settings.verbose
19
+ DOC
20
+ result <<~DOC
21
+ => LabClient::ApplicationSetting {
22
+ :id => 1,
23
+ :performance_bar_allowed_group_id => nil,
24
+ :admin_notification_email => nil,
25
+ :after_sign_out_path => "",
26
+ :after_sign_up_text => "",
27
+ :akismet_api_key => nil,
28
+ :akismet_enabled => false,
29
+ :allow_local_requests_from_web_hooks_and_services => false,
30
+ :allow_local_requests_from_system_hooks => true,
31
+ :dns_rebinding_protection_enabled => true,
32
+ ...
33
+ DOC
34
+ end
35
+
36
+ doc 'Show' do
37
+ title 'Show a single setting'
38
+ example <<~DOC
39
+ settings = client.application_settings.show
40
+ settings.sign_in_text
41
+ DOC
42
+ result <<~DOC
43
+ => "I love GitLab!"
44
+ DOC
45
+ end
46
+
47
+ # Show Settings
48
+ def show
49
+ client.request(:get, 'application/settings', ApplicationSetting)
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,53 @@
1
+ module LabClient
2
+ # Application Specifics
3
+ class ApplicationSettings < Common
4
+ doc 'Update' do
5
+ title 'Update a single setting'
6
+ example <<~DOC
7
+ client.application_settings.update(sign_in_text: "This is a test")
8
+ DOC
9
+ result <<~DOC
10
+ => #<Application Settings - id: 1>
11
+ DOC
12
+ end
13
+
14
+ doc 'Update' do
15
+ title 'Update multiple settings'
16
+ example <<~DOC
17
+ client.application_settings.update(sign_in_text: "This is a test", signup_enabled: true)
18
+ DOC
19
+ result <<~DOC
20
+ => #<Application Settings - id: 1>
21
+ DOC
22
+ end
23
+
24
+ doc 'Update' do
25
+ title 'Attributes'
26
+ markdown <<~DOC
27
+ Please see [here for a full list](https://docs.gitlab.com/ee/api/settings.html#list-of-settings-that-can-be-accessed-via-api-calls) of all attributes.
28
+
29
+ | Attribute | Type | Required |
30
+ | --------- | ---- | :------: |
31
+ | admin_notification_email | string | no |
32
+ | after_sign_out_path | string | no |
33
+ | after_sign_up_text | string | no |
34
+ | akismet_api_key | string | required by: akismet_enabled |
35
+ | akismet_enabled | boolean | no |
36
+ | allow_group_owners_to_manage_ldap | boolean | no |
37
+ | allow_local_requests_from_hooks_and_services | boolean | no |
38
+ | allow_local_requests_from_system_hooks | boolean | no |
39
+ | allow_local_requests_from_web_hooks_and_services | boolean | no |
40
+ | archive_builds_in_human_readable | string | no |
41
+ | asset_proxy_enabled | boolean | no |
42
+ | asset_proxy_secret_key | string | no |
43
+ | asset_proxy_url | string | no |
44
+ | asset_proxy_whitelist | string or array of strings | no |
45
+ DOC
46
+ end
47
+
48
+ # Update Settings
49
+ def update(query)
50
+ client.request(:put, 'application/settings', ApplicationSetting, query)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ApplicationStatistics < Common
5
+ doc 'Show' do
6
+ desc 'List the current statistics of the GitLab instance. You have to be an administrator in order to perform this action.'
7
+ example 'client.markdown.render(text: "# Oh Hi!")'
8
+ result <<~DOC
9
+ => {:forks=>"0", :issues=>"6,683", :merge_requests=>"0", :notes=>"0", :snippets=>"0", :ssh_keys=>"1", :milestones=>"0", :users=>"56", :projects=>"298", :groups=>"48", :active_users=>"56"}
10
+ DOC
11
+ end
12
+
13
+ def show
14
+ client.request(:get, 'application/statistics')
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Application < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<Application id: #{id}, #{application_name}>"
8
+ end
9
+
10
+ def delete
11
+ client.applications.delete id
12
+ end
13
+
14
+ help do
15
+ subtitle 'Application'
16
+ option 'delete', 'Delete this specific application.'
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,36 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Applications < Common
5
+ doc 'Create' do
6
+ desc 'Register a new Application'
7
+ markdown <<~DOC
8
+ | Attribute | Description |
9
+ |--------------- |--------------------------------- |
10
+ | name | Name of the application. |
11
+ | redirect_uri | Redirect URI of the application. |
12
+ | scope | Scope of the application. |
13
+
14
+ > **Scopes** - api, email, openid, profile, read_registry, read_repository, read_user, sudo, write_repository
15
+ DOC
16
+ end
17
+
18
+ doc 'Create' do
19
+ example <<~DOC
20
+ client.applications.create(
21
+ name: "Grafana",
22
+ redirect_uri: "https://gitlab.com/-/grafana/login/gitlab",
23
+ scopes: "email"
24
+ )
25
+ DOC
26
+ result <<~DOC
27
+ #<Application id: 11, Grafana>
28
+ DOC
29
+ end
30
+
31
+ # Create
32
+ def create(query = {})
33
+ client.request(:post, 'applications', Application, query)
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Applications < Common
5
+ doc 'Delete' do
6
+ markdown 'Can delete via the `applications` or via the `Application` object'
7
+ end
8
+
9
+ doc 'Delete' do
10
+ desc 'Delete through applications'
11
+ example <<~DOC
12
+ client.applications.delete(11)
13
+ DOC
14
+ end
15
+
16
+ doc 'Delete' do
17
+ desc 'Delete through result object'
18
+ example <<~DOC
19
+ application.delete
20
+ DOC
21
+
22
+ result <<~DOC
23
+ application = client.applications.list.last
24
+ => #<Application id: 8, Grafana>
25
+ application.delete
26
+ => nil
27
+ DOC
28
+ end
29
+
30
+ # Delete
31
+ def delete(application_id = nil)
32
+ client.request(:delete, "applications/#{application_id}")
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,18 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Applications < Common
5
+ doc 'List' do
6
+ desc 'List'
7
+ example 'client.applications.list'
8
+ result <<~DOC
9
+ => [#<Application id: 1, GitLab Grafana>, #<Application id: 4, OAuth>]
10
+ DOC
11
+ end
12
+
13
+ # List
14
+ def list(query = {})
15
+ client.request(:get, 'applications', Application, query)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Approvals < Common
5
+ @group_name = 'Approvals'
6
+ include ClassHelpers
7
+
8
+ def project
9
+ ProjectApprovals.new(client)
10
+ end
11
+
12
+ def merge_request
13
+ MergeRequestApprovals.new(client)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class MergeApproval < Klass
5
+ @group_name = 'Approvals'
6
+ include ClassHelpers
7
+
8
+ def inspect
9
+ "#<MergeApproval iid: #{iid}, title: #{title}>"
10
+ end
11
+
12
+ date_time_attrs %i[created_at updated_at]
13
+
14
+ def approved_by
15
+ @table[:approved_by].map do |user_data|
16
+ User.new(user_data, response, client)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Approve'
8
+ desc 'Approve Merge Request. [Project ID, MergeRequest ID, Hash]'
9
+ example 'client.approvals.merge_request.approve(1,2)'
10
+ result '=> #<MergeApproval iid: 2, title: Add new file>'
11
+ markdown <<~DOC
12
+
13
+ **Parameters:**
14
+
15
+ | Attribute | Type | Required | Description |
16
+ |---------------------|---------|----------|-------------------------|
17
+ | sha | string | no | The HEAD of the MR |
18
+ | approval_password | string | no | Current user's password. Required if **Require user password to approve** is enabled in the project settings. |
19
+ DOC
20
+ end
21
+
22
+ doc 'MergeRequest' do
23
+ desc 'Via MergeRequest'
24
+ example <<~DOC
25
+ mr = client.merge_requests.show(1,1)
26
+ mr.approve
27
+ DOC
28
+ end
29
+
30
+ def approve(project_id, merge_request_iid, query = {})
31
+ project_id = format_id(project_id)
32
+ client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approve", MergeApproval, query)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Create Rule'
8
+ desc 'Create Merge Request approval rules. [Project ID, MergeRequest ID, Hash]'
9
+ example 'client.approvals.merge_request.create_rule(1,1, name: "Sanity Check", approvals_required: 2, user_ids: [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 'MergeRequest' do
26
+ desc 'Via MergeRequest'
27
+ example <<~DOC
28
+ mr = client.merge_requests.show(1,1)
29
+ mr.approvals_rule_create(name: "Sanity Check", approvals_required: 2)
30
+ DOC
31
+ end
32
+
33
+ def create_rule(project_id, merge_request_iid, query = {})
34
+ project_id = format_id(project_id)
35
+ client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules", ApprovalRule, query)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Delete Rule'
8
+ desc 'Delete MergeRequest approval rule. [Project ID, MergeRequest ID, Rule ID]'
9
+ example 'client.approvals.merge_request.delete_rule(1, 2)'
10
+ end
11
+
12
+ doc 'MergeRequest' do
13
+ desc 'Via MergeRequest'
14
+ example <<~DOC
15
+ mr = client.merge_requests.show(1,1)
16
+ merge_request.approvals_rule_delete(2)
17
+ DOC
18
+ end
19
+
20
+ def delete_rule(project_id, merge_request_iid, approval_rule_id)
21
+ project_id = format_id(project_id)
22
+ merge_request_iid = format_id(merge_request_iid)
23
+ approval_rule_id = format_id(approval_rule_id)
24
+ client.request(:delete, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules/#{approval_rule_id}")
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Rules'
8
+ desc 'Show Merge Request approval rules. [Project ID, MergeRequest IIU]'
9
+ example 'client.approvals.merge_request.rules(1,1)'
10
+ result '[#<ApprovalRule id: 1, name: All Members>, #<ApprovalRule id: 2, name: Sanity Check>]'
11
+ end
12
+
13
+ doc 'MergeRequest' do
14
+ desc 'Via MergeRequest'
15
+ example <<~DOC
16
+ mr = client.merge_requests.rules(1,1)
17
+ mr.approvals
18
+ DOC
19
+ end
20
+
21
+ def rules(project_id, merge_request_iid)
22
+ project_id = format_id(project_id)
23
+ merge_request_iid = format_id(merge_request_iid)
24
+ client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approval_rules", ApprovalRule)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Show'
8
+ desc 'Show Merge Request approval configuration. [Project ID, MergeRequest IID]'
9
+ example 'client.approvals.merge_request.show(1, 1)'
10
+ result '#<MergeApproval iid: 1, title: Update README.md>'
11
+ end
12
+
13
+ doc 'MergeRequest' do
14
+ desc 'Via MergeRequest'
15
+ example <<~DOC
16
+ mr = client.merge_requests.show(1,1)
17
+ mr.approvals
18
+ DOC
19
+ end
20
+
21
+ def show(project_id, merge_request_iid)
22
+ project_id = format_id(project_id)
23
+ merge_request_iid = format_id(merge_request_iid)
24
+ client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approvals", MergeApproval)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Unapprove'
8
+ desc 'Unapprove Merge Request. [Project ID, MergeRequest ID, Hash]'
9
+ example 'client.approvals.merge_request.approve(1,2)'
10
+ result '=> #<MergeApproval iid: 2, title: Add new file>'
11
+ markdown <<~DOC
12
+
13
+ **Parameters:**
14
+
15
+ | Attribute | Type | Required | Description |
16
+ |---------------------|---------|----------|-------------------------|
17
+ | sha | string | no | The HEAD of the MR |
18
+ | approval_password | string | no | Current user's password. Required if **Require user password to approve** is enabled in the project settings. |
19
+ DOC
20
+ end
21
+
22
+ doc 'MergeRequest' do
23
+ desc 'Via MergeRequest'
24
+ example <<~DOC
25
+ mr = client.merge_requests.show(1,1)
26
+ mr.unapprove
27
+ DOC
28
+ end
29
+
30
+ def unapprove(project_id, merge_request_iid)
31
+ project_id = format_id(project_id)
32
+ client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/unapprove", MergeApproval)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,28 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequestApprovals < Common
5
+ @group_name = 'Approvals'
6
+ doc 'MergeRequest' do
7
+ title 'Update'
8
+ desc 'Change approval configuration [Project ID, MergeRequest IID, Approvals Required]'
9
+ example 'client.approvals.merge_request.update(1, 1, 3)'
10
+ result '#<MergeApproval iid: 1, title: Update README.md>'
11
+ end
12
+
13
+ doc 'MergeRequest' do
14
+ desc 'Via MergeRequest'
15
+ example <<~DOC
16
+ mr = client.merge_requests.show(1,1)
17
+ mr.approval_update(4)
18
+ DOC
19
+ end
20
+
21
+ def update(project_id, merge_request_iid, approvals_required)
22
+ project_id = format_id(project_id)
23
+ merge_request_iid = format_id(merge_request_iid)
24
+ query = { approvals_required: approvals_required }
25
+ client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_iid}/approvals", MergeApproval, query)
26
+ end
27
+ end
28
+ end