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,69 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class PipelineSchedule < Klass
5
+ include ClassHelpers
6
+
7
+ def inspect
8
+ "#<PipelineSchedule id: #{id}, ref: #{ref}>"
9
+ end
10
+
11
+ def project
12
+ project_id = collect_project_id
13
+ client.projects.show project_id
14
+ end
15
+
16
+ def update(query = {})
17
+ project_id = collect_project_id
18
+ update_self client.projects.pipeline_schedules.update(project_id, id, query)
19
+ end
20
+
21
+ def play
22
+ project_id = collect_project_id
23
+ client.projects.pipeline_schedules.play(project_id, id)
24
+ end
25
+
26
+ def take_ownership
27
+ project_id = collect_project_id
28
+ client.projects.pipeline_schedules.take_ownership(project_id, id)
29
+ end
30
+
31
+ def delete
32
+ project_id = collect_project_id
33
+ client.projects.pipeline_schedules.delete(project_id, id)
34
+ end
35
+
36
+ # Vars
37
+ def create_variable(query = {})
38
+ project_id = collect_project_id
39
+ client.projects.pipeline_schedules.variables.create(project_id, id, query)
40
+ end
41
+
42
+ def update_variable(variable_key, query = {})
43
+ project_id = collect_project_id
44
+ client.projects.pipeline_schedules.variables.update(project_id, id, variable_key, query)
45
+ end
46
+
47
+ def delete_variable(variable_key)
48
+ project_id = collect_project_id
49
+ client.projects.pipeline_schedules.variables.delete(project_id, id, variable_key)
50
+ end
51
+
52
+ date_time_attrs %i[created_at updated_at next_run_at]
53
+ user_attrs %i[owner]
54
+
55
+ help do
56
+ subtitle 'Project Pipeline Schedule'
57
+ option 'project', 'Show project for pipeline_schedule.'
58
+ option 'play', 'Trigger a new scheduled pipeline.'
59
+ option 'take_ownership', 'Update the owner of the pipeline schedule of a project.'
60
+ option 'delete', 'Delete this pipeline_schedule.'
61
+ option 'update', 'Update this this pipeline_schedule. [Hash]'
62
+
63
+ # Variables
64
+ option 'create_variable', 'Create a new variable. [Hash]'
65
+ option 'update_variable', 'Update existing variable. [Variable Key, Hash]'
66
+ option 'delete_variable', 'Delete existing variable. [Variable Key, Hash]'
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,29 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PipelineSchedules < Common
5
+ doc 'Update' do
6
+ title 'Play'
7
+ desc 'Trigger a new scheduled pipeline, which runs immediately. The next scheduled run of this pipeline is not affected. [Project ID, Pipeline Schedule ID]'
8
+ example 'client.projects.pipeline_schedules.play(16, 1)'
9
+ result <<~DOC
10
+ => { "message": "201 Created" }
11
+ DOC
12
+ end
13
+
14
+ doc 'Update' do
15
+ desc 'via PipelineSchedule'
16
+ example <<~DOC
17
+ pipeline_schedule = client.projects.pipeline_schedules.show(16,1)
18
+ pipeline_schedule.play
19
+ DOC
20
+ end
21
+
22
+ def play(project_id, pipeline_schedule_id)
23
+ pipeline_schedule_id = format_id(pipeline_schedule_id)
24
+ project_id = format_id(project_id)
25
+
26
+ client.request(:post, "projects/#{project_id}/pipeline_schedules/#{pipeline_schedule_id}/play")
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,20 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PipelineSchedules < Common
5
+ doc 'Show' do
6
+ desc 'Get the pipeline schedule of a project. [Project ID, Pipeline Schedule ID]'
7
+ example 'client.projects.pipeline_schedules.show(16, 1)'
8
+ result <<~DOC
9
+ => #<PipelineSchedule id: 1, ref: master>
10
+ DOC
11
+ end
12
+
13
+ # Show Specific
14
+ def show(project_id, pipeline_schedule_id)
15
+ pipeline_schedule_id = format_id(pipeline_schedule_id)
16
+ project_id = format_id(project_id)
17
+ client.request(:get, "projects/#{project_id}/pipeline_schedules/#{pipeline_schedule_id}", PipelineSchedule)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,29 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PipelineSchedules < Common
5
+ doc 'Update' do
6
+ title 'Take Ownership'
7
+ desc 'Update the owner of the pipeline schedule of a project. [Project ID, Pipeline Schedule ID]'
8
+ example 'client.projects.pipeline_schedules.take_ownership(16, 2)'
9
+ result <<~DOC
10
+ => #<PipelineSchedule id: 2, ref: master>
11
+ DOC
12
+ end
13
+
14
+ doc 'Update' do
15
+ desc 'via the Project Pipeline Schedule'
16
+ example <<~DOC
17
+ pipeline_schedule = client.pipeline_schedules.burndown(2)
18
+ pipeline_schedule.take_ownership
19
+ DOC
20
+ end
21
+
22
+ def take_ownership(project_id, pipeline_schedule_id)
23
+ pipeline_schedule_id = format_id(pipeline_schedule_id)
24
+ project_id = format_id(project_id)
25
+
26
+ client.request(:post, "projects/#{project_id}/pipeline_schedules/#{pipeline_schedule_id}/take_ownership", PipelineSchedule)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,43 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PipelineSchedules < Common
5
+ doc 'Update' do
6
+ desc 'Updates the pipeline schedule of a project. Once the update is done, it will be rescheduled automatically. [Project ID, Pipeline Schedule ID, Hash]'
7
+
8
+ example <<~DOC
9
+ client.projects.pipeline_schedules.update(16, 1, description: 'Better Detail')
10
+ DOC
11
+
12
+ result <<~DOC
13
+ => #<PipelineSchedule id: 1, ref: master>
14
+ DOC
15
+ end
16
+
17
+ doc 'Update' do
18
+ markdown <<~DOC
19
+ | Attribute | Type | required | Description |
20
+ |---------------|---------|----------|--------------------------|
21
+ | description | string | no | The description of pipeline schedule |
22
+ | ref | string | no | The branch/tag name will be triggered |
23
+ | cron | string | no | The cron (e.g. 0 1 * * *) ([Cron syntax](https://en.wikipedia.org/wiki/Cron)) |
24
+ | cron_timezone | string | no | The timezone supported by ActiveSupport::TimeZone (e.g. Pacific Time (US & Canada)) (default: 'UTC') |
25
+ | active | boolean | no | The activation of pipeline schedule. If false is set, the pipeline schedule will deactivated initially (default: true) |
26
+ DOC
27
+ end
28
+
29
+ doc 'Update' do
30
+ desc 'Via Pipeline Schedule'
31
+ example <<~DOC
32
+ pipeline_schedule.update(title: 'One Pipeline Schedule to find them!')
33
+ DOC
34
+ end
35
+
36
+ def update(project_id, pipeline_schedule_id, query = {})
37
+ pipeline_schedule_id = format_id(pipeline_schedule_id)
38
+ project_id = format_id(project_id)
39
+
40
+ client.request(:put, "projects/#{project_id}/pipeline_schedules/#{pipeline_schedule_id}", PipelineSchedule, query)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class PipelineVariables < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class PipelineSchedules < Common
13
+ def variables
14
+ PipelineVariables.new(client)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,41 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PipelineVariables < Common
5
+ @group_name = 'Pipeline Schedules'
6
+ doc 'Variables' do
7
+ title 'Create'
8
+ desc 'Create a new variable of a pipeline schedule. [Project ID, Pipeline Schedule ID, Hash]'
9
+ example 'client.projects.pipeline_schedules.variables.create(16, 1, key: :key_name, value: :var_value)'
10
+ result <<~DOC
11
+ => {:variable_type=>"env_var", :key=>"key_name", :value=>"var_value"}
12
+ DOC
13
+ end
14
+
15
+ doc 'Variables' do
16
+ markdown <<~DOC
17
+ | Attribute | Type | required | Description |
18
+ |------------------------|----------------|----------|--------------------------|
19
+ | pipeline_schedule_id | integer | yes | The pipeline schedule ID |
20
+ | key | string | yes | The key of a variable; must have no more than 255 characters; only A-Z, a-z, 0-9, and _ are allowed |
21
+ | value | string | yes | The value of a variable |
22
+ | variable_type | string | no | The type of a variable. Available types are: env_var (default) and file |
23
+ DOC
24
+ end
25
+
26
+ doc 'Variables' do
27
+ desc 'via PipelineSchedule'
28
+ example <<~DOC
29
+ pipeline_schedule = client.projects.pipeline_schedules.show(16,1)
30
+ pipeline_schedule.create_variable(key: :key_name, value: :var_value)
31
+ DOC
32
+ end
33
+
34
+ def create(project_id, pipeline_schedule_id, query)
35
+ pipeline_schedule_id = format_id(pipeline_schedule_id)
36
+ project_id = format_id(project_id)
37
+
38
+ client.request(:post, "projects/#{project_id}/pipeline_schedules/#{pipeline_schedule_id}/variables", nil, query)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PipelineVariables < Common
5
+ @group_name = 'Pipeline Schedules'
6
+ doc 'Variables' do
7
+ title 'Delete'
8
+ desc 'Delete a new variable of a pipeline schedule. [Project ID, Pipeline Schedule ID, Variable Key]'
9
+ example 'client.projects.pipeline_schedules.variables.delete(16, 1, :key_name)'
10
+ end
11
+
12
+ doc 'Variables' do
13
+ markdown <<~DOC
14
+ | Attribute | Type | required | Description |
15
+ |------------------------|----------------|----------|--------------------------|
16
+ | pipeline_schedule_id | integer | yes | The pipeline schedule ID |
17
+ | key | string | yes | The key of a variable; must have no more than 255 characters; only A-Z, a-z, 0-9, and _ are allowed |
18
+ | value | string | yes | The value of a variable |
19
+ | variable_type | string | no | The type of a variable. Available types are: env_var (default) and file |
20
+ DOC
21
+ end
22
+
23
+ doc 'Variables' do
24
+ desc 'via PipelineSchedule'
25
+ example <<~DOC
26
+ pipeline_schedule = client.projects.pipeline_schedules.show(16,1)
27
+ pipeline_schedule.delete_variable(:key_name, value: :var_value)
28
+ DOC
29
+ end
30
+
31
+ def delete(project_id, pipeline_schedule_id, variable_key)
32
+ pipeline_schedule_id = format_id(pipeline_schedule_id)
33
+ project_id = format_id(project_id)
34
+
35
+ client.request(:delete, "projects/#{project_id}/pipeline_schedules/#{pipeline_schedule_id}/variables/#{variable_key}")
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,41 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PipelineVariables < Common
5
+ @group_name = 'Pipeline Schedules'
6
+ doc 'Variables' do
7
+ title 'Update'
8
+ desc 'Update a new variable of a pipeline schedule. [Project ID, Pipeline Schedule ID, Variable Key, Hash]'
9
+ example 'client.projects.pipeline_schedules.variables.update(16, 1, :key_name, value: :better)'
10
+ result <<~DOC
11
+ => {:variable_type=>"env_var", :key=>"key_name", :value=>"better"}
12
+ DOC
13
+ end
14
+
15
+ doc 'Variables' do
16
+ markdown <<~DOC
17
+ | Attribute | Type | required | Description |
18
+ |------------------------|----------------|----------|--------------------------|
19
+ | pipeline_schedule_id | integer | yes | The pipeline schedule ID |
20
+ | key | string | yes | The key of a variable; must have no more than 255 characters; only A-Z, a-z, 0-9, and _ are allowed |
21
+ | value | string | yes | The value of a variable |
22
+ | variable_type | string | no | The type of a variable. Available types are: env_var (default) and file |
23
+ DOC
24
+ end
25
+
26
+ doc 'Variables' do
27
+ desc 'via PipelineSchedule'
28
+ example <<~DOC
29
+ pipeline_schedule = client.projects.pipeline_schedules.show(16,1)
30
+ pipeline_schedule.update_variable(:key_name, value: :var_value)
31
+ DOC
32
+ end
33
+
34
+ def update(project_id, pipeline_schedule_id, variable_key, query)
35
+ pipeline_schedule_id = format_id(pipeline_schedule_id)
36
+ project_id = format_id(project_id)
37
+
38
+ client.request(:put, "projects/#{project_id}/pipeline_schedules/#{pipeline_schedule_id}/variables/#{variable_key}", nil, query)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Project Definition
4
+ class Project < Klass
5
+ include ProjectDeployKey
6
+ include ProjectCommits
7
+ include ClassHelpers
8
+ include ProjectMethods
9
+ def inspect
10
+ "#<Project id: #{id} #{path_with_namespace}>"
11
+ end
12
+
13
+ date_time_attrs %i[last_activity_at created_at]
14
+
15
+ user_attrs %i[owner]
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class PushRules < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class Projects < Common
13
+ def push_rules
14
+ PushRules.new(client)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,44 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PushRules < Common
5
+ doc 'Create' do
6
+ desc 'Adds a push rule to a specified project. [Project ID]'
7
+ example <<~DOC
8
+ client.projects.push_rules.create(16, deny_delete_tag: true, branch_name_regex: '\d+\..*' )
9
+ DOC
10
+ end
11
+
12
+ doc 'Create' do
13
+ markdown <<~DOC
14
+ | Attribute | Type | Required | Description |
15
+ | -------------------------------| -------------- | -------- | ----------- |
16
+ | deny_delete_tag | boolean | no | Deny deleting a tag |
17
+ | member_check | boolean | no | Restrict commits by author (email) to existing GitLab users |
18
+ | prevent_secrets | boolean | no | GitLab will reject any files that are likely to contain secrets |
19
+ | commit_message_regex | string | no | All commit messages must match this, e.g. Fixed \d+\..* |
20
+ | commit_message_negative_regex | string | no | No commit message is allowed to match this, e.g. ssh\:\/\/ |
21
+ | branch_name_regex | string | no | All branch names must match this, e.g. (feature|hotfix)\/* |
22
+ | author_email_regex | string | no | All commit author emails must match this, e.g. @my-company.com$ |
23
+ | file_name_regex | string | no | All committed filenames must **not** match this, e.g. (jar|exe)$ |
24
+ | max_file_size | integer | no | Maximum file size (MB) |
25
+ | commit_committer_check | boolean | no | Users can only push commits to this repository that were committed with one of their own verified emails. |
26
+ | reject_unsigned_commits | boolean | no | Reject commit when it is not signed through GPG. |
27
+ DOC
28
+ end
29
+
30
+ doc 'Create' do
31
+ desc 'Via Project [Hash]'
32
+ example <<~DOC
33
+ project = client.projects.show(16)
34
+ project.push_rules_create(deny_delete_tag: false)
35
+ DOC
36
+ end
37
+
38
+ def create(project_id, query)
39
+ project_id = format_id(project_id)
40
+
41
+ client.request(:post, "projects/#{project_id}/push_rule", PushRule, query)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,32 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PushRules < Common
5
+ doc 'Delete' do
6
+ desc 'Removes a push rule from a project. [Project ID]'
7
+ example 'client.projects.push_rules.delete(16)'
8
+ end
9
+
10
+ doc 'Delete' do
11
+ desc 'Via Project'
12
+ example <<~DOC
13
+ project = client.projects.show(16)
14
+ hook = project.push_rule_delete
15
+ DOC
16
+ end
17
+
18
+ doc 'Delete' do
19
+ desc 'Via PushRule'
20
+ example <<~DOC
21
+ rule = client.projects.push_rules.show(16, 1)
22
+ rule.delete
23
+ DOC
24
+ end
25
+
26
+ def delete(project_id)
27
+ project_id = format_id(project_id)
28
+
29
+ client.request(:delete, "projects/#{project_id}/push_rule")
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class PushRule < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<PushRule id: #{id}>"
8
+ end
9
+
10
+ def project
11
+ client.projects.show project_id
12
+ end
13
+
14
+ def update(query)
15
+ update_self client.projects.push_rules.update(project_id, query)
16
+ end
17
+
18
+ def delete
19
+ client.projects.push_rules.delete(project_id)
20
+ end
21
+
22
+ date_time_attrs %i[created_at]
23
+
24
+ help do
25
+ subtitle 'Push Rules'
26
+ option 'project', 'Show Project'
27
+ option 'update', 'Update this hook [Hash]'
28
+ option 'delete', 'Delete this hook'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PushRules < Common
5
+ doc 'Show' do
6
+ desc 'Get the push rules of a project. [Project ID]'
7
+ example 'client.projects.push_rules.show(16)'
8
+
9
+ result <<~DOC
10
+ project = client.projects.show(16)
11
+ => [
12
+ #<PushRule id: 5 >, ...
13
+ ]
14
+ DOC
15
+ end
16
+
17
+ doc 'Show' do
18
+ desc 'Via Project'
19
+ example <<~DOC
20
+ project = client.projects.show(16)
21
+ project.push_rules
22
+ DOC
23
+ end
24
+
25
+ def show(project_id)
26
+ project_id = format_id(project_id)
27
+
28
+ client.request(:get, "projects/#{project_id}/push_rule", PushRule)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,51 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class PushRules < Common
5
+ doc 'Update' do
6
+ desc 'Edits a push rule for a specified project. [Project ID, Params]'
7
+ example 'client.projects.push_rules.update(16, max_file_size: 100)'
8
+ result '=> #<PushRule id: 2>'
9
+ end
10
+
11
+ doc 'Update' do
12
+ markdown <<~DOC
13
+ | Attribute | Type | Required | Description |
14
+ | -------------------------------| -------------- | -------- | ----------- |
15
+ | deny_delete_tag | boolean | no | Deny deleting a tag |
16
+ | member_check | boolean | no | Restrict commits by author (email) to existing GitLab users |
17
+ | prevent_secrets | boolean | no | GitLab will reject any files that are likely to contain secrets |
18
+ | commit_message_regex | string | no | All commit messages must match this, e.g. Fixed \d+\..* |
19
+ | commit_message_negative_regex | string | no | No commit message is allowed to match this, e.g. ssh\:\/\/ |
20
+ | branch_name_regex | string | no | All branch names must match this, e.g. (feature|hotfix)\/* |
21
+ | author_email_regex | string | no | All commit author emails must match this, e.g. @my-company.com$ |
22
+ | file_name_regex | string | no | All committed filenames must **not** match this, e.g. (jar|exe)$ |
23
+ | max_file_size | integer | no | Maximum file size (MB) |
24
+ | commit_committer_check | boolean | no | Users can only push commits to this repository that were committed with one of their own verified emails. |
25
+ | reject_unsigned_commits | boolean | no | Reject commit when it is not signed through GPG. |
26
+ DOC
27
+ end
28
+
29
+ doc 'Update' do
30
+ desc 'Via Project [Params]'
31
+ example <<~DOC
32
+ project = client.projects.show(16)
33
+ project.push_rules_update(deny_delete_tag: true)
34
+ DOC
35
+ end
36
+
37
+ doc 'Update' do
38
+ desc 'Via PushRule [Params]'
39
+ example <<~DOC
40
+ rule = client.projects.push_rules.show(16)
41
+ rule.update(deny_delete_tag: true)
42
+ DOC
43
+ end
44
+
45
+ def update(project_id, query)
46
+ project_id = format_id(project_id)
47
+
48
+ client.request(:put, "projects/#{project_id}/push_rule", PushRule, query)
49
+ end
50
+ end
51
+ end