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,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Snippets < Common
5
+ doc 'Create' do
6
+ desc 'Create a new snippet.'
7
+ markdown <<~DOC
8
+ | Attribute | Type | Required | Description |
9
+ |--------------|------- |--------- |--------------------------------------------------- |
10
+ | title | string | yes | Title of a snippet. |
11
+ | file_name | string | yes | Name of a snippet file. |
12
+ | content | string | yes | Content of a snippet. |
13
+ | description | string | no | Description of a snippet. |
14
+ | visibility | string | no | Snippet's [visibility](#snippet-visibility-level). |
15
+ DOC
16
+ end
17
+
18
+ doc 'Create' do
19
+ example <<~DOC
20
+ client.snippets.create(
21
+ title: "Sweet Code",
22
+ file_name: 'script.rb',
23
+ content: 'puts "All your snippet are belong to us!"',
24
+ description: "The one snippet",
25
+ visibility: :private
26
+ )
27
+ DOC
28
+ result <<~DOC
29
+ => #<Snippet id: 3, Sweet Code>
30
+ DOC
31
+ end
32
+
33
+ # Create
34
+ def create(query = {})
35
+ client.request(:post, 'snippets', Snippet, query)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Snippets < Common
5
+ doc 'Delete' do
6
+ markdown 'You can delete broadcast messages via the `snippets` method or via the `Snippet` object'
7
+ end
8
+
9
+ doc 'Delete' do
10
+ desc 'Delete an existing snippet.'
11
+ example <<~DOC
12
+ client.snippets.delete(4)
13
+ DOC
14
+ end
15
+
16
+ doc 'Delete' do
17
+ desc 'Delete through Snippet object'
18
+ example <<~DOC
19
+ snippet.delete
20
+ DOC
21
+
22
+ result <<~DOC
23
+ snippet = client.snippets.show(4)
24
+ => #<Snippet id: 4, One Snippet to find them!>
25
+ snippet.delete
26
+ => nil
27
+ DOC
28
+ end
29
+
30
+ # Delete
31
+ def delete(snippet_id = nil)
32
+ client.request(:delete, "snippets/#{snippet_id}")
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,18 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Snippets < Common
5
+ doc 'List' do
6
+ desc 'Get a list of the current user’s snippets.'
7
+ example 'client.snippets.list'
8
+ result <<~DOC
9
+ => [#<Snippet id: 2, title: Special Title>, #<Snippet id: 1, title: HereWeGo>]
10
+ DOC
11
+ end
12
+
13
+ # List
14
+ def list
15
+ client.request(:get, 'snippets', Snippet)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,26 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Snippets < Common
5
+ doc 'List' do
6
+ title 'List all public snippets.'
7
+
8
+ markdown <<~DOC
9
+ | Attribute | Type | Required | Description |
10
+ | -----------| --------| ---------| ---------------------------------------|
11
+ | per_page | integer | no | Number of snippets to return per page. |
12
+ | page | integer | no | Page to retrieve. |
13
+
14
+ DOC
15
+
16
+ example 'client.snippets.public'
17
+ result <<~DOC
18
+ => [#<Snippet id: 2, Special Title>]
19
+ DOC
20
+ end
21
+
22
+ def public(query = {})
23
+ client.request(:get, 'snippets/public', Snippet, query)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Snippets < Common
5
+ doc 'Show' do
6
+ desc 'Get a single snippet.'
7
+ example 'client.snippets.show(2)'
8
+ result <<~DOC
9
+ => #<Snippet id: 2, Special Title>
10
+ DOC
11
+ end
12
+
13
+ # Show Specific
14
+ def show(snippet_id = nil)
15
+ client.request(:get, "snippets/#{snippet_id}", Snippet)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,39 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Snippet < Klass
5
+ include ClassHelpers
6
+
7
+ def inspect
8
+ "#<Snippet id: #{id}, title: #{title}>"
9
+ end
10
+
11
+ def update(query = {})
12
+ update_self client.snippets.update(id, query)
13
+ end
14
+
15
+ def raw
16
+ client.snippets.raw(id)
17
+ end
18
+
19
+ def agent_detail
20
+ client.snippets.agent_detail(id)
21
+ end
22
+
23
+ date_time_attrs %i[updated_at created_at]
24
+
25
+ user_attrs %i[author]
26
+
27
+ def delete
28
+ client.snippets.delete id
29
+ end
30
+
31
+ help do
32
+ subtitle 'Snippet'
33
+ option 'raw', 'Retrieves the raw snippet content.'
34
+ option 'agent_detail', 'Hash of user agent details.'
35
+ option 'delete', 'Delete this deploy key.'
36
+ option 'update', 'Update this this deploy key.'
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,46 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Snippets < Common
5
+ doc 'Update' do
6
+ desc 'Update an existing snippet.'
7
+ markdown <<~DOC
8
+ | Attribute | Type | Required | Description |
9
+ |--------------|------- |--------- |--------------------------------------------------- |
10
+ | title | string | no | Title of a snippet. |
11
+ | file_name | string | no | Name of a snippet file. |
12
+ | content | string | no | Content of a snippet. |
13
+ | description | string | no | Description of a snippet. |
14
+ | visibility | string | no | Snippet's [visibility](#snippet-visibility-level). |
15
+ DOC
16
+ end
17
+
18
+ doc 'Update' do
19
+ example <<~DOC
20
+ client.snippets.update(4, title: 'One Snippet', description: "One Snippet to rule them all")
21
+ DOC
22
+ result <<~DOC
23
+ => #<Snippet id: 4, title: One Snippet>
24
+ DOC
25
+ end
26
+
27
+ doc 'Update' do
28
+ desc 'Update through Snippet object'
29
+ example <<~DOC
30
+ snippet.update(title: 'One Snippet to find them!')
31
+ DOC
32
+
33
+ result <<~DOC
34
+ snippet = client.snippets.show(4)
35
+ => #<Snippet id: 4, One Snippet>
36
+ snippet.update(title: 'Two Snippet!')
37
+ => #<Snippet id: 4, title: Two Snippet!>
38
+ DOC
39
+ end
40
+
41
+ # Update
42
+ def update(snippet_id = nil, query = {})
43
+ client.request(:put, "snippets/#{snippet_id}", Snippet, query)
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,33 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SystemHooks < Common
5
+ doc 'Add' do
6
+ desc 'Add a new system hook. [Hash]'
7
+ example 'client.system_hooks.add(url: "http://labclient")'
8
+ result <<~DOC
9
+ => #<SystemHook id: 6, url: http://labclient>
10
+ DOC
11
+ end
12
+
13
+ doc 'Add' do
14
+ markdown <<~DOC
15
+ | Attribute | Type | Required | Description |
16
+ | --------- | ---- | -------- | ----------- |
17
+ | url | string | yes | The hook URL |
18
+ | token | string | no | Secret token to validate received payloads; this will not be returned in the response |
19
+ | push_events | boolean | no | When true, the hook will fire on push events |
20
+ | tag_push_events | boolean | no | When true, the hook will fire on new tags being pushed |
21
+ | merge_requests_events | boolean | no | Trigger hook on merge requests events |
22
+ | repository_update_events | boolean | no | Trigger hook on repository update events |
23
+ | enable_ssl_verification | boolean | no | Do SSL verification when triggering the hook |
24
+
25
+ DOC
26
+ end
27
+
28
+ # Add
29
+ def add(query = {})
30
+ client.request(:post, 'hooks', SystemHook, query)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,23 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SystemHooks < Common
5
+ doc 'Delete' do
6
+ desc 'Deletes a system hook. [System Hook ID]'
7
+ example 'client.system_hooks.delete(1)'
8
+ end
9
+
10
+ doc 'Delete' do
11
+ desc 'via System Hook'
12
+ example <<~DOC
13
+ hook = client.system_hooks.list.first
14
+ hook.delete
15
+ DOC
16
+ end
17
+
18
+ def delete(system_hook_id)
19
+ system_hook_id = format_id(system_hook_id)
20
+ client.request(:delete, "hooks/#{system_hook_id}")
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SystemHooks < Common
5
+ doc 'List' do
6
+ desc 'Get a list of all system hooks.'
7
+ example 'client.system_hooks.list'
8
+ result <<~DOC
9
+ => [#<SystemHook id: 5, url: http://labclient>, ...]
10
+ DOC
11
+ end
12
+
13
+ def list
14
+ client.request(:get, 'hooks', SystemHook)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class SystemHook < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<SystemHook id: #{id}, url: #{url}>"
8
+ end
9
+
10
+ def delete
11
+ client.system_hooks.delete(id)
12
+ end
13
+
14
+ help do
15
+ subtitle 'System Hook'
16
+ option 'delete', 'Delete this hook'
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SystemHooks < Common
5
+ doc 'Test' do
6
+ desc 'Test System Hook [System Hook ID]'
7
+ example 'client.system_hooks.test(1)'
8
+ result <<~DOC
9
+ {
10
+ "project_id" : 1,
11
+ "owner_email" : "labclient",
12
+ "owner_name" : "Someone",
13
+ "name" : "Ruby",
14
+ "path" : "ruby",
15
+ "event_name" : "project_create"
16
+ }
17
+ DOC
18
+ end
19
+
20
+ def test(system_hook_id)
21
+ system_hook_id = format_id(system_hook_id)
22
+ client.request(:get, "hooks/#{system_hook_id}")
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,34 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Tags < Common
5
+ doc 'Create' do
6
+ desc 'Creates a new tag in the repository that points to the supplied ref. [Project ID, Hash]'
7
+ example 'client.tags.create(298, tag_name: :new, ref: :master)'
8
+ result '#<Tag name: initial>'
9
+
10
+ markdown <<~DOC
11
+ | Attribute | Type | Required | Description |
12
+ | --------- | ---- | -------- | ----------- |
13
+ | tag_name | string | yes | The name of a tag |
14
+ | ref | string | yes | Create tag using commit SHA, another tag name, or branch name. |
15
+ | message | string | no |Creates annotated tag.|
16
+ | release_description | string | no |Add release notes to the Git tag and store it in the GitLab database.|
17
+ DOC
18
+ end
19
+
20
+ doc 'Create' do
21
+ desc 'via Project'
22
+ example <<~DOC
23
+ project = client.projects.show(298)
24
+ project.tag_create(:initial)
25
+ DOC
26
+ end
27
+
28
+ def create(project_id, query)
29
+ project_id = format_id(project_id)
30
+
31
+ client.request(:post, "projects/#{project_id}/repository/tags", Tag, query)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Tags < Common
5
+ doc 'Delete' do
6
+ desc 'Deletes a tag of a repository with given name. [Project ID, Tag Name]'
7
+ example 'client.tags.create(298, :other)'
8
+ end
9
+
10
+ doc 'Delete' do
11
+ desc 'via Project'
12
+ example <<~DOC
13
+ project = client.projects.show(298)
14
+ project.tag_delete(:other)
15
+ DOC
16
+ end
17
+
18
+ def delete(project_id, tag_id)
19
+ project_id = format_id(project_id)
20
+ tag_id = format_id(tag_id)
21
+
22
+ client.request(:delete, "projects/#{project_id}/repository/tags/#{tag_id}", Tag)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,34 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Tags < Common
5
+ doc 'List' do
6
+ desc 'Get a list of repository tags from a project. [Project ID, Hash]'
7
+ example 'client.tags.list(298)'
8
+ result '[#<Tag name: initial>]'
9
+
10
+ markdown <<~DOC
11
+
12
+ | Attribute | Type | Required | Description |
13
+ | --------- | ---- | -------- | ----------- |
14
+ | order_by | string | no | Return tags ordered by name or updated fields. Default is updated |
15
+ | sort | string | no | Return tags sorted in asc or desc order. Default is desc |
16
+ | search | string | no | Return list of tags matching the search criteria. You can use ^term and term$ to find tags that begin and end with term respectively. |
17
+ DOC
18
+ end
19
+
20
+ doc 'List' do
21
+ desc 'via Project'
22
+ example <<~DOC
23
+ project = client.projects.show(298)
24
+ project.tags
25
+ DOC
26
+ end
27
+
28
+ def list(project_id, query = {})
29
+ project_id = format_id(project_id)
30
+
31
+ client.request(:get, "projects/#{project_id}/repository/tags", Tag, query)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Tags < Common
5
+ doc 'Release' do
6
+ title 'Create'
7
+ desc 'Add release notes to the existing Git tag. [Project ID, Tag Name, Description]'
8
+ example 'client.tags.release(298, :initial, "Special release notes!")'
9
+ result '{:tag_name=>"initial", :description=>"Special release notes!"}'
10
+ end
11
+
12
+ doc 'Release' do
13
+ desc 'via Project'
14
+ example <<~DOC
15
+ project = client.projects.show(298)
16
+ project.tag_release(:initial, 'Special release notes!')
17
+ DOC
18
+ end
19
+
20
+ def release(project_id, tag_id, description)
21
+ project_id = format_id(project_id)
22
+ tag_id = format_id(tag_id)
23
+
24
+ client.request(:post, "projects/#{project_id}/repository/tags/#{tag_id}/release", nil, description: description)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,26 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Tags < Common
5
+ doc 'Show' do
6
+ desc 'Get a specific repository tag determined by its name. [Project ID, String]'
7
+ example 'client.tags.show(298, :initial)'
8
+ result '#<Tag name: initial>'
9
+ end
10
+
11
+ doc 'Show' do
12
+ desc 'via Project'
13
+ example <<~DOC
14
+ project = client.projects.show(298)
15
+ project.tag(:initial)
16
+ DOC
17
+ end
18
+
19
+ def show(project_id, tag_id)
20
+ project_id = format_id(project_id)
21
+ tag_id = format_id(tag_id)
22
+
23
+ client.request(:get, "projects/#{project_id}/repository/tags/#{tag_id}", Tag)
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Tag < Klass
5
+ include ClassHelpers
6
+ date_time_attrs %i[authored_date committed_date created_at]
7
+
8
+ def inspect
9
+ "#<Tag name: #{name}>"
10
+ end
11
+
12
+ def commit
13
+ Commit.new(@table[:commit], response, client)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Tags < Common
5
+ doc 'Release' do
6
+ title 'Update'
7
+ desc 'Updates the release notes of a given release. [Project ID, Tag Name, Description]'
8
+ example 'client.tags.update(298, :initial, "Special notes!!!")'
9
+ result '{:tag_name=>"initial", :description=>"Special notes!!!"}'
10
+ end
11
+
12
+ doc 'Release' do
13
+ desc 'via Project'
14
+ example <<~DOC
15
+ project = client.projects.show(298)
16
+ project.tag_update(:initial, 'Special release notes!')
17
+ DOC
18
+ end
19
+
20
+ def update(project_id, tag_id, description)
21
+ project_id = format_id(project_id)
22
+ tag_id = format_id(tag_id)
23
+
24
+ client.request(:put, "projects/#{project_id}/repository/tags/#{tag_id}/release", nil, description: description)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,36 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Todos < Common
5
+ doc 'List' do
6
+ desc 'Returns a list of todos. When no filter is applied, it returns all pending todos for the current user. Different filters allow the user to precise the request..'
7
+ example 'client.todos.list'
8
+ result <<~DOC
9
+ => [#<Todo id: 7, state: pending>]
10
+ DOC
11
+ markdown <<~DOC
12
+ | Attribute | Type | Required | Description |
13
+ | --------- | ---- | -------- | ----------- |
14
+ | action | string | no | The action to be filtered. Can be assigned, mentioned, build_failed, marked, approval_required, unmergeable or directly_addressed. |
15
+ | author_id | integer| no | The ID of an author |
16
+ | project_id| integer| no | The ID of a project |
17
+ | group_id | integer| no | The ID of a group |
18
+ | state | string | no | The state of the todo. Can be either pending or done |
19
+ | type | string | no | The type of a todo. Can be either Issue or MergeRequest |
20
+ DOC
21
+ end
22
+
23
+ doc 'List' do
24
+ desc 'Filter by todos state'
25
+ example 'client.todos.list(state: :done)'
26
+ result <<~DOC
27
+ => [#<Todo id: 8, state: done>, #<Todo id: 6, state: done>, ...]
28
+ DOC
29
+ end
30
+
31
+ # List
32
+ def list(query = {})
33
+ client.request(:get, 'todos', Todo, query)
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,18 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Todos < Common
5
+ doc 'Mark all todos as done' do
6
+ desc 'Marks all pending todos for the current user as done. It returns the HTTP status code 204 with an empty response.'
7
+ example 'client.todos.mark_all_done'
8
+ result <<~DOC
9
+ => nil
10
+ DOC
11
+ end
12
+
13
+ # Mark all as Done
14
+ def mark_all_done
15
+ client.request(:post, 'todos/mark_as_done')
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,29 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Todos < Common
5
+ doc 'Mark a todo as done' do
6
+ desc 'Marks a single pending todo given by its ID for the current user as done. The todo marked as done is returned in the response.'
7
+ example 'client.todos.mark_as_done(10)'
8
+ result <<~DOC
9
+ => #<Todo id: 10, state: done>
10
+ DOC
11
+ end
12
+
13
+ doc 'Mark a todo as done' do
14
+ desc 'Update through todo object'
15
+ example <<~DOC
16
+ todo = client.todos.list.first
17
+ todo.mark_as_done
18
+ DOC
19
+ result <<~DOC
20
+ => #<Todo id: 17, state: done>
21
+ DOC
22
+ end
23
+
24
+ # Mark as Done
25
+ def mark_as_done(todo_id)
26
+ client.request(:post, "todos/#{todo_id}/mark_as_done", Todo)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,22 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Todo < Klass
5
+ include ClassHelpers
6
+
7
+ def inspect
8
+ "#<Todo id: #{id}, state: #{state}>"
9
+ end
10
+
11
+ date_time_attrs %i[created_at]
12
+
13
+ def mark_as_done
14
+ update_self client.todos.mark_as_done(id)
15
+ end
16
+
17
+ help do
18
+ subtitle 'Todo'
19
+ option 'mark_as_done', 'Mark this todo as done.'
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Users < Common
5
+ doc 'Update' do
6
+ title 'Block'
7
+ desc 'Activates the specified user [User ID]'
8
+ example 'client.users.activate(57)'
9
+ end
10
+
11
+ doc 'Update' do
12
+ desc 'Via User'
13
+ example <<~DOC
14
+ user = client.users.show(57)
15
+ user.activate
16
+ DOC
17
+ end
18
+
19
+ def activate(user_id)
20
+ user_id = format_id(user_id)
21
+
22
+ client.request(:post, "users/#{user_id}/activate")
23
+ end
24
+ end
25
+ end