labclient 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (615) hide show
  1. checksums.yaml +7 -0
  2. data/lib/labclient/access_levels.rb +47 -0
  3. data/lib/labclient/appearance/appearance.rb +7 -0
  4. data/lib/labclient/appearance/show.rb +19 -0
  5. data/lib/labclient/appearance/update.rb +37 -0
  6. data/lib/labclient/application_settings/application_setting.rb +10 -0
  7. data/lib/labclient/application_settings/show.rb +52 -0
  8. data/lib/labclient/application_settings/update.rb +53 -0
  9. data/lib/labclient/application_statistics/application_statistics.rb +17 -0
  10. data/lib/labclient/applications/application.rb +19 -0
  11. data/lib/labclient/applications/create.rb +36 -0
  12. data/lib/labclient/applications/delete.rb +35 -0
  13. data/lib/labclient/applications/list.rb +18 -0
  14. data/lib/labclient/approvals/client.rb +16 -0
  15. data/lib/labclient/approvals/merge_approval.rb +20 -0
  16. data/lib/labclient/approvals/merge_request/approve.rb +35 -0
  17. data/lib/labclient/approvals/merge_request/create_rule.rb +38 -0
  18. data/lib/labclient/approvals/merge_request/delete_rule.rb +27 -0
  19. data/lib/labclient/approvals/merge_request/rules.rb +27 -0
  20. data/lib/labclient/approvals/merge_request/show.rb +27 -0
  21. data/lib/labclient/approvals/merge_request/unapprove.rb +35 -0
  22. data/lib/labclient/approvals/merge_request/update.rb +28 -0
  23. data/lib/labclient/approvals/merge_request/update_rule.rb +40 -0
  24. data/lib/labclient/approvals/project/create_rule.rb +38 -0
  25. data/lib/labclient/approvals/project/delete_rule.rb +26 -0
  26. data/lib/labclient/approvals/project/rules.rb +26 -0
  27. data/lib/labclient/approvals/project/show.rb +38 -0
  28. data/lib/labclient/approvals/project/update.rb +53 -0
  29. data/lib/labclient/approvals/project/update_rule.rb +39 -0
  30. data/lib/labclient/approvals/rule.rb +36 -0
  31. data/lib/labclient/audit_events/audit_event.rb +12 -0
  32. data/lib/labclient/audit_events/group_list.rb +63 -0
  33. data/lib/labclient/audit_events/group_show.rb +27 -0
  34. data/lib/labclient/audit_events/instance_list.rb +73 -0
  35. data/lib/labclient/audit_events/instance_show.rb +19 -0
  36. data/lib/labclient/avatar/avatar.rb +14 -0
  37. data/lib/labclient/avatar/show.rb +27 -0
  38. data/lib/labclient/awards/award.rb +17 -0
  39. data/lib/labclient/awards/issues/client.rb +17 -0
  40. data/lib/labclient/awards/issues/create.rb +23 -0
  41. data/lib/labclient/awards/issues/delete.rb +20 -0
  42. data/lib/labclient/awards/issues/list.rb +22 -0
  43. data/lib/labclient/awards/issues/show.rb +22 -0
  44. data/lib/labclient/awards/merge_requests/client.rb +17 -0
  45. data/lib/labclient/awards/merge_requests/create.rb +23 -0
  46. data/lib/labclient/awards/merge_requests/delete.rb +20 -0
  47. data/lib/labclient/awards/merge_requests/list.rb +22 -0
  48. data/lib/labclient/awards/merge_requests/show.rb +22 -0
  49. data/lib/labclient/awards/snippets/client.rb +17 -0
  50. data/lib/labclient/awards/snippets/create.rb +23 -0
  51. data/lib/labclient/awards/snippets/delete.rb +20 -0
  52. data/lib/labclient/awards/snippets/list.rb +22 -0
  53. data/lib/labclient/awards/snippets/show.rb +22 -0
  54. data/lib/labclient/branches/branch.rb +15 -0
  55. data/lib/labclient/branches/delete.rb +24 -0
  56. data/lib/labclient/branches/delete_merged.rb +25 -0
  57. data/lib/labclient/branches/list.rb +35 -0
  58. data/lib/labclient/branches/show.rb +24 -0
  59. data/lib/labclient/broadcast_messages/broadcast_message.rb +31 -0
  60. data/lib/labclient/broadcast_messages/create.rb +66 -0
  61. data/lib/labclient/broadcast_messages/delete.rb +36 -0
  62. data/lib/labclient/broadcast_messages/list.rb +18 -0
  63. data/lib/labclient/broadcast_messages/show.rb +18 -0
  64. data/lib/labclient/broadcast_messages/update.rb +75 -0
  65. data/lib/labclient/ci_lint/ci_lint.rb +43 -0
  66. data/lib/labclient/class_helpers.rb +17 -0
  67. data/lib/labclient/client.rb +157 -0
  68. data/lib/labclient/commits/cherry_pick.rb +40 -0
  69. data/lib/labclient/commits/comment_create.rb +67 -0
  70. data/lib/labclient/commits/comments.rb +39 -0
  71. data/lib/labclient/commits/commit.rb +101 -0
  72. data/lib/labclient/commits/commit_comment.rb +14 -0
  73. data/lib/labclient/commits/commit_diff.rb +7 -0
  74. data/lib/labclient/commits/create.rb +83 -0
  75. data/lib/labclient/commits/diff.rb +39 -0
  76. data/lib/labclient/commits/list.rb +54 -0
  77. data/lib/labclient/commits/merge_requests.rb +40 -0
  78. data/lib/labclient/commits/project_helpers.rb +49 -0
  79. data/lib/labclient/commits/refs.rb +44 -0
  80. data/lib/labclient/commits/revert.rb +40 -0
  81. data/lib/labclient/commits/show.rb +25 -0
  82. data/lib/labclient/commits/status/list.rb +57 -0
  83. data/lib/labclient/commits/status/status.rb +14 -0
  84. data/lib/labclient/commits/status/update.rb +53 -0
  85. data/lib/labclient/common.rb +110 -0
  86. data/lib/labclient/curl.rb +27 -0
  87. data/lib/labclient/deploy_keys/add.rb +46 -0
  88. data/lib/labclient/deploy_keys/delete.rb +46 -0
  89. data/lib/labclient/deploy_keys/deploy_key.rb +30 -0
  90. data/lib/labclient/deploy_keys/enable.rb +38 -0
  91. data/lib/labclient/deploy_keys/list.rb +38 -0
  92. data/lib/labclient/deploy_keys/project_helpers.rb +29 -0
  93. data/lib/labclient/deploy_keys/show.rb +30 -0
  94. data/lib/labclient/deploy_keys/update.rb +53 -0
  95. data/lib/labclient/discussions/commits/client.rb +17 -0
  96. data/lib/labclient/discussions/commits/create.rb +32 -0
  97. data/lib/labclient/discussions/commits/delete.rb +20 -0
  98. data/lib/labclient/discussions/commits/list.rb +22 -0
  99. data/lib/labclient/discussions/commits/show.rb +22 -0
  100. data/lib/labclient/discussions/commits/update.rb +32 -0
  101. data/lib/labclient/discussions/discussion.rb +17 -0
  102. data/lib/labclient/discussions/epics/client.rb +17 -0
  103. data/lib/labclient/discussions/epics/create.rb +32 -0
  104. data/lib/labclient/discussions/epics/delete.rb +20 -0
  105. data/lib/labclient/discussions/epics/list.rb +22 -0
  106. data/lib/labclient/discussions/epics/show.rb +22 -0
  107. data/lib/labclient/discussions/epics/update.rb +32 -0
  108. data/lib/labclient/discussions/issues/client.rb +17 -0
  109. data/lib/labclient/discussions/issues/create.rb +32 -0
  110. data/lib/labclient/discussions/issues/delete.rb +20 -0
  111. data/lib/labclient/discussions/issues/list.rb +22 -0
  112. data/lib/labclient/discussions/issues/show.rb +22 -0
  113. data/lib/labclient/discussions/issues/update.rb +32 -0
  114. data/lib/labclient/discussions/merge_requests/client.rb +17 -0
  115. data/lib/labclient/discussions/merge_requests/create.rb +32 -0
  116. data/lib/labclient/discussions/merge_requests/delete.rb +20 -0
  117. data/lib/labclient/discussions/merge_requests/list.rb +22 -0
  118. data/lib/labclient/discussions/merge_requests/show.rb +22 -0
  119. data/lib/labclient/discussions/merge_requests/update.rb +32 -0
  120. data/lib/labclient/discussions/snippets/client.rb +17 -0
  121. data/lib/labclient/discussions/snippets/create.rb +32 -0
  122. data/lib/labclient/discussions/snippets/delete.rb +20 -0
  123. data/lib/labclient/discussions/snippets/list.rb +22 -0
  124. data/lib/labclient/discussions/snippets/show.rb +22 -0
  125. data/lib/labclient/discussions/snippets/update.rb +32 -0
  126. data/lib/labclient/docs.rb +107 -0
  127. data/lib/labclient/epics/create.rb +42 -0
  128. data/lib/labclient/epics/delete.rb +35 -0
  129. data/lib/labclient/epics/epic.rb +72 -0
  130. data/lib/labclient/epics/issues/add.rb +35 -0
  131. data/lib/labclient/epics/issues/list.rb +38 -0
  132. data/lib/labclient/epics/issues/remove.rb +37 -0
  133. data/lib/labclient/epics/issues/update.rb +44 -0
  134. data/lib/labclient/epics/list.rb +54 -0
  135. data/lib/labclient/epics/show.rb +29 -0
  136. data/lib/labclient/epics/todo.rb +27 -0
  137. data/lib/labclient/epics/update.rb +52 -0
  138. data/lib/labclient/error.rb +11 -0
  139. data/lib/labclient/events/event.rb +13 -0
  140. data/lib/labclient/events/list.rb +67 -0
  141. data/lib/labclient/events/project.rb +67 -0
  142. data/lib/labclient/events/user.rb +66 -0
  143. data/lib/labclient/files/create.rb +49 -0
  144. data/lib/labclient/files/delete.rb +43 -0
  145. data/lib/labclient/files/show.rb +48 -0
  146. data/lib/labclient/files/update.rb +49 -0
  147. data/lib/labclient/groups/access_requests/access_request.rb +34 -0
  148. data/lib/labclient/groups/access_requests/approve.rb +38 -0
  149. data/lib/labclient/groups/access_requests/client.rb +17 -0
  150. data/lib/labclient/groups/access_requests/create.rb +25 -0
  151. data/lib/labclient/groups/access_requests/deny.rb +25 -0
  152. data/lib/labclient/groups/access_requests/list.rb +24 -0
  153. data/lib/labclient/groups/badges/client.rb +17 -0
  154. data/lib/labclient/groups/badges/create.rb +49 -0
  155. data/lib/labclient/groups/badges/delete.rb +33 -0
  156. data/lib/labclient/groups/badges/group_badge.rb +47 -0
  157. data/lib/labclient/groups/badges/list.rb +28 -0
  158. data/lib/labclient/groups/badges/preview.rb +42 -0
  159. data/lib/labclient/groups/badges/show.rb +27 -0
  160. data/lib/labclient/groups/badges/update.rb +45 -0
  161. data/lib/labclient/groups/create.rb +31 -0
  162. data/lib/labclient/groups/delete.rb +25 -0
  163. data/lib/labclient/groups/group.rb +317 -0
  164. data/lib/labclient/groups/hooks/client.rb +17 -0
  165. data/lib/labclient/groups/hooks/create.rb +46 -0
  166. data/lib/labclient/groups/hooks/delete.rb +33 -0
  167. data/lib/labclient/groups/hooks/group_hook.rb +37 -0
  168. data/lib/labclient/groups/hooks/list.rb +31 -0
  169. data/lib/labclient/groups/hooks/show.rb +27 -0
  170. data/lib/labclient/groups/hooks/update.rb +55 -0
  171. data/lib/labclient/groups/labels/client.rb +17 -0
  172. data/lib/labclient/groups/labels/create.rb +39 -0
  173. data/lib/labclient/groups/labels/delete.rb +33 -0
  174. data/lib/labclient/groups/labels/group_label.rb +49 -0
  175. data/lib/labclient/groups/labels/list.rb +35 -0
  176. data/lib/labclient/groups/labels/show.rb +34 -0
  177. data/lib/labclient/groups/labels/subscribe.rb +35 -0
  178. data/lib/labclient/groups/labels/unsubscribe.rb +35 -0
  179. data/lib/labclient/groups/labels/update.rb +46 -0
  180. data/lib/labclient/groups/ldap/client.rb +18 -0
  181. data/lib/labclient/groups/ldap/create.rb +35 -0
  182. data/lib/labclient/groups/ldap/delete.rb +37 -0
  183. data/lib/labclient/groups/ldap/link.rb +17 -0
  184. data/lib/labclient/groups/ldap/list.rb +27 -0
  185. data/lib/labclient/groups/ldap/sync.rb +27 -0
  186. data/lib/labclient/groups/list.rb +76 -0
  187. data/lib/labclient/groups/milestones/burndown.rb +36 -0
  188. data/lib/labclient/groups/milestones/client.rb +17 -0
  189. data/lib/labclient/groups/milestones/create.rb +37 -0
  190. data/lib/labclient/groups/milestones/delete.rb +26 -0
  191. data/lib/labclient/groups/milestones/group_milestone.rb +52 -0
  192. data/lib/labclient/groups/milestones/issues.rb +29 -0
  193. data/lib/labclient/groups/milestones/list.rb +41 -0
  194. data/lib/labclient/groups/milestones/merge_requests.rb +29 -0
  195. data/lib/labclient/groups/milestones/show.rb +20 -0
  196. data/lib/labclient/groups/milestones/update.rb +45 -0
  197. data/lib/labclient/groups/projects.rb +54 -0
  198. data/lib/labclient/groups/restore.rb +26 -0
  199. data/lib/labclient/groups/runners.rb +33 -0
  200. data/lib/labclient/groups/search.rb +89 -0
  201. data/lib/labclient/groups/show.rb +37 -0
  202. data/lib/labclient/groups/subgroups.rb +47 -0
  203. data/lib/labclient/groups/transfer.rb +27 -0
  204. data/lib/labclient/groups/update.rb +34 -0
  205. data/lib/labclient/http.rb +87 -0
  206. data/lib/labclient/impersonation_tokens/create.rb +37 -0
  207. data/lib/labclient/impersonation_tokens/impersonation_token.rb +18 -0
  208. data/lib/labclient/impersonation_tokens/list.rb +29 -0
  209. data/lib/labclient/impersonation_tokens/revoke.rb +32 -0
  210. data/lib/labclient/impersonation_tokens/show.rb +18 -0
  211. data/lib/labclient/issues/agent_detail.rb +31 -0
  212. data/lib/labclient/issues/closed_by.rb +27 -0
  213. data/lib/labclient/issues/create.rb +29 -0
  214. data/lib/labclient/issues/delete.rb +26 -0
  215. data/lib/labclient/issues/group_issues.rb +29 -0
  216. data/lib/labclient/issues/issue.rb +114 -0
  217. data/lib/labclient/issues/list.rb +58 -0
  218. data/lib/labclient/issues/move.rb +28 -0
  219. data/lib/labclient/issues/notes.rb +18 -0
  220. data/lib/labclient/issues/participants.rb +35 -0
  221. data/lib/labclient/issues/project_issues.rb +31 -0
  222. data/lib/labclient/issues/related_merge_requests.rb +30 -0
  223. data/lib/labclient/issues/show.rb +21 -0
  224. data/lib/labclient/issues/subscribe.rb +31 -0
  225. data/lib/labclient/issues/time_stats.rb +157 -0
  226. data/lib/labclient/issues/todo.rb +31 -0
  227. data/lib/labclient/issues/unsubscribe.rb +31 -0
  228. data/lib/labclient/issues/update.rb +44 -0
  229. data/lib/labclient/jobs/artifacts.rb +49 -0
  230. data/lib/labclient/jobs/artifacts_latest.rb +39 -0
  231. data/lib/labclient/jobs/artifacts_path.rb +50 -0
  232. data/lib/labclient/jobs/cancel.rb +33 -0
  233. data/lib/labclient/jobs/delete.rb +33 -0
  234. data/lib/labclient/jobs/erase.rb +33 -0
  235. data/lib/labclient/jobs/job.rb +79 -0
  236. data/lib/labclient/jobs/keep.rb +33 -0
  237. data/lib/labclient/jobs/pipeline_list.rb +33 -0
  238. data/lib/labclient/jobs/play.rb +33 -0
  239. data/lib/labclient/jobs/project_list.rb +30 -0
  240. data/lib/labclient/jobs/retry.rb +33 -0
  241. data/lib/labclient/jobs/show.rb +25 -0
  242. data/lib/labclient/jobs/trace.rb +33 -0
  243. data/lib/labclient/keys/fingerprint.rb +27 -0
  244. data/lib/labclient/keys/key.rb +26 -0
  245. data/lib/labclient/keys/project.rb +68 -0
  246. data/lib/labclient/keys/show.rb +15 -0
  247. data/lib/labclient/keys/user.rb +66 -0
  248. data/lib/labclient/klass.rb +107 -0
  249. data/lib/labclient/license/add.rb +21 -0
  250. data/lib/labclient/license/delete.rb +17 -0
  251. data/lib/labclient/license/license.rb +12 -0
  252. data/lib/labclient/license/list.rb +71 -0
  253. data/lib/labclient/markdown/markdown.rb +28 -0
  254. data/lib/labclient/members/groups/add.rb +37 -0
  255. data/lib/labclient/members/groups/delete.rb +23 -0
  256. data/lib/labclient/members/groups/list.rb +67 -0
  257. data/lib/labclient/members/groups/show.rb +49 -0
  258. data/lib/labclient/members/groups/update.rb +36 -0
  259. data/lib/labclient/members/member.rb +56 -0
  260. data/lib/labclient/members/members.rb +15 -0
  261. data/lib/labclient/members/projects/add.rb +37 -0
  262. data/lib/labclient/members/projects/delete.rb +23 -0
  263. data/lib/labclient/members/projects/list.rb +66 -0
  264. data/lib/labclient/members/projects/show.rb +49 -0
  265. data/lib/labclient/members/projects/update.rb +36 -0
  266. data/lib/labclient/merge_requests/accept.rb +39 -0
  267. data/lib/labclient/merge_requests/cancel_auto_merge.rb +38 -0
  268. data/lib/labclient/merge_requests/change.rb +25 -0
  269. data/lib/labclient/merge_requests/changes.rb +34 -0
  270. data/lib/labclient/merge_requests/closes_issues.rb +35 -0
  271. data/lib/labclient/merge_requests/commits.rb +22 -0
  272. data/lib/labclient/merge_requests/create.rb +51 -0
  273. data/lib/labclient/merge_requests/delete.rb +31 -0
  274. data/lib/labclient/merge_requests/diff.rb +28 -0
  275. data/lib/labclient/merge_requests/diff_versions.rb +70 -0
  276. data/lib/labclient/merge_requests/list.rb +105 -0
  277. data/lib/labclient/merge_requests/merge_ref.rb +48 -0
  278. data/lib/labclient/merge_requests/merge_request.rb +211 -0
  279. data/lib/labclient/merge_requests/notes.rb +18 -0
  280. data/lib/labclient/merge_requests/participants.rb +36 -0
  281. data/lib/labclient/merge_requests/pipelines.rb +63 -0
  282. data/lib/labclient/merge_requests/rebase.rb +45 -0
  283. data/lib/labclient/merge_requests/show.rb +32 -0
  284. data/lib/labclient/merge_requests/subscribe.rb +31 -0
  285. data/lib/labclient/merge_requests/time_stats.rb +157 -0
  286. data/lib/labclient/merge_requests/todo.rb +31 -0
  287. data/lib/labclient/merge_requests/unsubscribe.rb +31 -0
  288. data/lib/labclient/merge_requests/update.rb +35 -0
  289. data/lib/labclient/namespaces/list.rb +30 -0
  290. data/lib/labclient/namespaces/namespace.rb +10 -0
  291. data/lib/labclient/namespaces/show.rb +18 -0
  292. data/lib/labclient/notes/epics/client.rb +17 -0
  293. data/lib/labclient/notes/epics/create.rb +32 -0
  294. data/lib/labclient/notes/epics/delete.rb +20 -0
  295. data/lib/labclient/notes/epics/list.rb +22 -0
  296. data/lib/labclient/notes/epics/show.rb +22 -0
  297. data/lib/labclient/notes/epics/update.rb +32 -0
  298. data/lib/labclient/notes/issues/client.rb +17 -0
  299. data/lib/labclient/notes/issues/create.rb +32 -0
  300. data/lib/labclient/notes/issues/delete.rb +20 -0
  301. data/lib/labclient/notes/issues/list.rb +22 -0
  302. data/lib/labclient/notes/issues/show.rb +22 -0
  303. data/lib/labclient/notes/issues/update.rb +32 -0
  304. data/lib/labclient/notes/merge_requests/client.rb +17 -0
  305. data/lib/labclient/notes/merge_requests/create.rb +32 -0
  306. data/lib/labclient/notes/merge_requests/delete.rb +20 -0
  307. data/lib/labclient/notes/merge_requests/list.rb +22 -0
  308. data/lib/labclient/notes/merge_requests/show.rb +22 -0
  309. data/lib/labclient/notes/merge_requests/update.rb +32 -0
  310. data/lib/labclient/notes/note.rb +17 -0
  311. data/lib/labclient/notes/snippets/client.rb +17 -0
  312. data/lib/labclient/notes/snippets/create.rb +32 -0
  313. data/lib/labclient/notes/snippets/delete.rb +20 -0
  314. data/lib/labclient/notes/snippets/list.rb +22 -0
  315. data/lib/labclient/notes/snippets/show.rb +22 -0
  316. data/lib/labclient/notes/snippets/update.rb +32 -0
  317. data/lib/labclient/notifications/list.rb +54 -0
  318. data/lib/labclient/notifications/update.rb +64 -0
  319. data/lib/labclient/open_struct.rb +14 -0
  320. data/lib/labclient/overview.rb +243 -0
  321. data/lib/labclient/paginated_response.rb +115 -0
  322. data/lib/labclient/pipelines/cancel.rb +34 -0
  323. data/lib/labclient/pipelines/create.rb +29 -0
  324. data/lib/labclient/pipelines/delete.rb +33 -0
  325. data/lib/labclient/pipelines/list.rb +50 -0
  326. data/lib/labclient/pipelines/pipeline.rb +48 -0
  327. data/lib/labclient/pipelines/retry.rb +34 -0
  328. data/lib/labclient/pipelines/show.rb +26 -0
  329. data/lib/labclient/pipelines/variables.rb +47 -0
  330. data/lib/labclient/projects/access_requests/access_request.rb +34 -0
  331. data/lib/labclient/projects/access_requests/approve.rb +38 -0
  332. data/lib/labclient/projects/access_requests/client.rb +17 -0
  333. data/lib/labclient/projects/access_requests/create.rb +25 -0
  334. data/lib/labclient/projects/access_requests/deny.rb +25 -0
  335. data/lib/labclient/projects/access_requests/list.rb +24 -0
  336. data/lib/labclient/projects/archive.rb +25 -0
  337. data/lib/labclient/projects/badges/client.rb +17 -0
  338. data/lib/labclient/projects/badges/create.rb +49 -0
  339. data/lib/labclient/projects/badges/delete.rb +33 -0
  340. data/lib/labclient/projects/badges/list.rb +28 -0
  341. data/lib/labclient/projects/badges/preview.rb +42 -0
  342. data/lib/labclient/projects/badges/project_badge.rb +47 -0
  343. data/lib/labclient/projects/badges/show.rb +27 -0
  344. data/lib/labclient/projects/badges/update.rb +45 -0
  345. data/lib/labclient/projects/clusters/add.rb +48 -0
  346. data/lib/labclient/projects/clusters/client.rb +17 -0
  347. data/lib/labclient/projects/clusters/delete.rb +37 -0
  348. data/lib/labclient/projects/clusters/list.rb +28 -0
  349. data/lib/labclient/projects/clusters/project_cluster.rb +38 -0
  350. data/lib/labclient/projects/clusters/show.rb +29 -0
  351. data/lib/labclient/projects/clusters/update.rb +37 -0
  352. data/lib/labclient/projects/create.rb +49 -0
  353. data/lib/labclient/projects/delete.rb +25 -0
  354. data/lib/labclient/projects/deployments/client.rb +17 -0
  355. data/lib/labclient/projects/deployments/create.rb +56 -0
  356. data/lib/labclient/projects/deployments/list.rb +67 -0
  357. data/lib/labclient/projects/deployments/merge_requests.rb +33 -0
  358. data/lib/labclient/projects/deployments/project_deployment.rb +39 -0
  359. data/lib/labclient/projects/deployments/show.rb +27 -0
  360. data/lib/labclient/projects/deployments/update.rb +52 -0
  361. data/lib/labclient/projects/environments/client.rb +17 -0
  362. data/lib/labclient/projects/environments/create.rb +37 -0
  363. data/lib/labclient/projects/environments/delete.rb +33 -0
  364. data/lib/labclient/projects/environments/list.rb +34 -0
  365. data/lib/labclient/projects/environments/project_environment.rb +44 -0
  366. data/lib/labclient/projects/environments/show.rb +27 -0
  367. data/lib/labclient/projects/environments/stop.rb +27 -0
  368. data/lib/labclient/projects/environments/update.rb +44 -0
  369. data/lib/labclient/projects/events.rb +19 -0
  370. data/lib/labclient/projects/forks/existing.rb +28 -0
  371. data/lib/labclient/projects/forks/fork.rb +44 -0
  372. data/lib/labclient/projects/forks/list.rb +39 -0
  373. data/lib/labclient/projects/forks/remove.rb +26 -0
  374. data/lib/labclient/projects/github_import.rb +23 -0
  375. data/lib/labclient/projects/hooks/client.rb +17 -0
  376. data/lib/labclient/projects/hooks/create.rb +46 -0
  377. data/lib/labclient/projects/hooks/delete.rb +33 -0
  378. data/lib/labclient/projects/hooks/list.rb +31 -0
  379. data/lib/labclient/projects/hooks/project_hook.rb +32 -0
  380. data/lib/labclient/projects/hooks/show.rb +27 -0
  381. data/lib/labclient/projects/hooks/update.rb +55 -0
  382. data/lib/labclient/projects/housekeeping.rb +29 -0
  383. data/lib/labclient/projects/labels/client.rb +17 -0
  384. data/lib/labclient/projects/labels/create.rb +39 -0
  385. data/lib/labclient/projects/labels/delete.rb +33 -0
  386. data/lib/labclient/projects/labels/list.rb +35 -0
  387. data/lib/labclient/projects/labels/project_label.rb +56 -0
  388. data/lib/labclient/projects/labels/promote.rb +35 -0
  389. data/lib/labclient/projects/labels/show.rb +34 -0
  390. data/lib/labclient/projects/labels/subscribe.rb +35 -0
  391. data/lib/labclient/projects/labels/unsubscribe.rb +35 -0
  392. data/lib/labclient/projects/labels/update.rb +46 -0
  393. data/lib/labclient/projects/languages.rb +28 -0
  394. data/lib/labclient/projects/list.rb +90 -0
  395. data/lib/labclient/projects/methods.rb +681 -0
  396. data/lib/labclient/projects/milestones/burndown.rb +36 -0
  397. data/lib/labclient/projects/milestones/client.rb +17 -0
  398. data/lib/labclient/projects/milestones/create.rb +37 -0
  399. data/lib/labclient/projects/milestones/delete.rb +26 -0
  400. data/lib/labclient/projects/milestones/issues.rb +29 -0
  401. data/lib/labclient/projects/milestones/list.rb +41 -0
  402. data/lib/labclient/projects/milestones/merge_requests.rb +29 -0
  403. data/lib/labclient/projects/milestones/project_milestone.rb +58 -0
  404. data/lib/labclient/projects/milestones/promote.rb +27 -0
  405. data/lib/labclient/projects/milestones/show.rb +20 -0
  406. data/lib/labclient/projects/milestones/update.rb +45 -0
  407. data/lib/labclient/projects/mirror_start.rb +26 -0
  408. data/lib/labclient/projects/mirrors/client.rb +17 -0
  409. data/lib/labclient/projects/mirrors/create.rb +41 -0
  410. data/lib/labclient/projects/mirrors/list.rb +32 -0
  411. data/lib/labclient/projects/mirrors/project_mirror.rb +30 -0
  412. data/lib/labclient/projects/mirrors/update.rb +45 -0
  413. data/lib/labclient/projects/pipeline_schedules/client.rb +17 -0
  414. data/lib/labclient/projects/pipeline_schedules/create.rb +35 -0
  415. data/lib/labclient/projects/pipeline_schedules/delete.rb +26 -0
  416. data/lib/labclient/projects/pipeline_schedules/list.rb +28 -0
  417. data/lib/labclient/projects/pipeline_schedules/pipeline_schedule.rb +69 -0
  418. data/lib/labclient/projects/pipeline_schedules/play.rb +29 -0
  419. data/lib/labclient/projects/pipeline_schedules/show.rb +20 -0
  420. data/lib/labclient/projects/pipeline_schedules/take_ownership.rb +29 -0
  421. data/lib/labclient/projects/pipeline_schedules/update.rb +43 -0
  422. data/lib/labclient/projects/pipeline_schedules/variables/client.rb +17 -0
  423. data/lib/labclient/projects/pipeline_schedules/variables/create.rb +41 -0
  424. data/lib/labclient/projects/pipeline_schedules/variables/delete.rb +38 -0
  425. data/lib/labclient/projects/pipeline_schedules/variables/update.rb +41 -0
  426. data/lib/labclient/projects/project.rb +17 -0
  427. data/lib/labclient/projects/push_rules/client.rb +17 -0
  428. data/lib/labclient/projects/push_rules/create.rb +44 -0
  429. data/lib/labclient/projects/push_rules/delete.rb +32 -0
  430. data/lib/labclient/projects/push_rules/push_rule.rb +31 -0
  431. data/lib/labclient/projects/push_rules/show.rb +31 -0
  432. data/lib/labclient/projects/push_rules/update.rb +51 -0
  433. data/lib/labclient/projects/reference.rb +254 -0
  434. data/lib/labclient/projects/release_links/client.rb +17 -0
  435. data/lib/labclient/projects/release_links/create.rb +40 -0
  436. data/lib/labclient/projects/release_links/delete.rb +34 -0
  437. data/lib/labclient/projects/release_links/list.rb +37 -0
  438. data/lib/labclient/projects/release_links/project_release_link.rb +42 -0
  439. data/lib/labclient/projects/release_links/show.rb +28 -0
  440. data/lib/labclient/projects/release_links/update.rb +45 -0
  441. data/lib/labclient/projects/releases/client.rb +17 -0
  442. data/lib/labclient/projects/releases/create.rb +47 -0
  443. data/lib/labclient/projects/releases/delete.rb +33 -0
  444. data/lib/labclient/projects/releases/evidence.rb +34 -0
  445. data/lib/labclient/projects/releases/list.rb +28 -0
  446. data/lib/labclient/projects/releases/project_release.rb +58 -0
  447. data/lib/labclient/projects/releases/show.rb +27 -0
  448. data/lib/labclient/projects/releases/update.rb +47 -0
  449. data/lib/labclient/projects/resources.rb +24 -0
  450. data/lib/labclient/projects/restore.rb +26 -0
  451. data/lib/labclient/projects/runners/client.rb +17 -0
  452. data/lib/labclient/projects/runners/disable.rb +25 -0
  453. data/lib/labclient/projects/runners/enable.rb +27 -0
  454. data/lib/labclient/projects/runners/list.rb +34 -0
  455. data/lib/labclient/projects/search.rb +91 -0
  456. data/lib/labclient/projects/services/client.rb +29 -0
  457. data/lib/labclient/projects/services/delete.rb +33 -0
  458. data/lib/labclient/projects/services/list.rb +27 -0
  459. data/lib/labclient/projects/services/project_service.rb +37 -0
  460. data/lib/labclient/projects/services/show.rb +27 -0
  461. data/lib/labclient/projects/services/update.rb +41 -0
  462. data/lib/labclient/projects/share.rb +56 -0
  463. data/lib/labclient/projects/show.rb +47 -0
  464. data/lib/labclient/projects/snapshot.rb +25 -0
  465. data/lib/labclient/projects/snippets/agent_detail.rb +30 -0
  466. data/lib/labclient/projects/snippets/client.rb +17 -0
  467. data/lib/labclient/projects/snippets/content.rb +32 -0
  468. data/lib/labclient/projects/snippets/create.rb +40 -0
  469. data/lib/labclient/projects/snippets/delete.rb +26 -0
  470. data/lib/labclient/projects/snippets/list.rb +20 -0
  471. data/lib/labclient/projects/snippets/project_snippet.rb +50 -0
  472. data/lib/labclient/projects/snippets/show.rb +20 -0
  473. data/lib/labclient/projects/snippets/update.rb +42 -0
  474. data/lib/labclient/projects/stars/star.rb +49 -0
  475. data/lib/labclient/projects/stars/starred_projects.rb +51 -0
  476. data/lib/labclient/projects/stars/starrers.rb +46 -0
  477. data/lib/labclient/projects/submodule.rb +34 -0
  478. data/lib/labclient/projects/transfer.rb +27 -0
  479. data/lib/labclient/projects/triggers/client.rb +17 -0
  480. data/lib/labclient/projects/triggers/create.rb +37 -0
  481. data/lib/labclient/projects/triggers/delete.rb +33 -0
  482. data/lib/labclient/projects/triggers/list.rb +28 -0
  483. data/lib/labclient/projects/triggers/project_trigger.rb +33 -0
  484. data/lib/labclient/projects/triggers/show.rb +27 -0
  485. data/lib/labclient/projects/unarchive.rb +25 -0
  486. data/lib/labclient/projects/unshare.rb +27 -0
  487. data/lib/labclient/projects/update.rb +37 -0
  488. data/lib/labclient/projects/upload.rb +28 -0
  489. data/lib/labclient/projects/user.rb +52 -0
  490. data/lib/labclient/projects/users.rb +39 -0
  491. data/lib/labclient/projects/variables/client.rb +17 -0
  492. data/lib/labclient/projects/variables/create.rb +49 -0
  493. data/lib/labclient/projects/variables/delete.rb +33 -0
  494. data/lib/labclient/projects/variables/list.rb +28 -0
  495. data/lib/labclient/projects/variables/project_variable.rb +42 -0
  496. data/lib/labclient/projects/variables/show.rb +27 -0
  497. data/lib/labclient/projects/variables/update.rb +47 -0
  498. data/lib/labclient/protected_branches/code_owner_approval.rb +26 -0
  499. data/lib/labclient/protected_branches/list.rb +35 -0
  500. data/lib/labclient/protected_branches/protect.rb +49 -0
  501. data/lib/labclient/protected_branches/show.rb +24 -0
  502. data/lib/labclient/protected_branches/unprotect.rb +24 -0
  503. data/lib/labclient/protected_tags/list.rb +29 -0
  504. data/lib/labclient/protected_tags/protect.rb +44 -0
  505. data/lib/labclient/protected_tags/show.rb +24 -0
  506. data/lib/labclient/protected_tags/unprotect.rb +24 -0
  507. data/lib/labclient/registry/delete.rb +25 -0
  508. data/lib/labclient/registry/group.rb +33 -0
  509. data/lib/labclient/registry/list.rb +31 -0
  510. data/lib/labclient/registry/repository.rb +26 -0
  511. data/lib/labclient/registry/tags/bulk.rb +30 -0
  512. data/lib/labclient/registry/tags/delete.rb +27 -0
  513. data/lib/labclient/registry/tags/details.rb +20 -0
  514. data/lib/labclient/registry/tags/list.rb +27 -0
  515. data/lib/labclient/registry/tags/tag.rb +23 -0
  516. data/lib/labclient/repository/alias.rb +14 -0
  517. data/lib/labclient/repository/archive.rb +34 -0
  518. data/lib/labclient/repository/blob.rb +32 -0
  519. data/lib/labclient/repository/compare.rb +31 -0
  520. data/lib/labclient/repository/contributors.rb +45 -0
  521. data/lib/labclient/repository/merge_base.rb +38 -0
  522. data/lib/labclient/repository/raw_blob.rb +27 -0
  523. data/lib/labclient/repository/tree.rb +35 -0
  524. data/lib/labclient/resource_labels/epics/client.rb +9 -0
  525. data/lib/labclient/resource_labels/epics/list.rb +30 -0
  526. data/lib/labclient/resource_labels/epics/show.rb +31 -0
  527. data/lib/labclient/resource_labels/issues/client.rb +9 -0
  528. data/lib/labclient/resource_labels/issues/list.rb +30 -0
  529. data/lib/labclient/resource_labels/issues/show.rb +31 -0
  530. data/lib/labclient/resource_labels/merge_requests/client.rb +9 -0
  531. data/lib/labclient/resource_labels/merge_requests/list.rb +30 -0
  532. data/lib/labclient/resource_labels/merge_requests/show.rb +31 -0
  533. data/lib/labclient/resource_labels/resource_label.rb +22 -0
  534. data/lib/labclient/runners/all.rb +24 -0
  535. data/lib/labclient/runners/delete.rb +14 -0
  536. data/lib/labclient/runners/jobs.rb +25 -0
  537. data/lib/labclient/runners/list.rb +24 -0
  538. data/lib/labclient/runners/register.rb +30 -0
  539. data/lib/labclient/runners/remove.rb +24 -0
  540. data/lib/labclient/runners/runner.rb +41 -0
  541. data/lib/labclient/runners/show.rb +16 -0
  542. data/lib/labclient/runners/update.rb +45 -0
  543. data/lib/labclient/runners/verify.rb +22 -0
  544. data/lib/labclient/search/search.rb +18 -0
  545. data/lib/labclient/snippets/agent_detail.rb +31 -0
  546. data/lib/labclient/snippets/content.rb +33 -0
  547. data/lib/labclient/snippets/create.rb +38 -0
  548. data/lib/labclient/snippets/delete.rb +35 -0
  549. data/lib/labclient/snippets/list.rb +18 -0
  550. data/lib/labclient/snippets/public.rb +26 -0
  551. data/lib/labclient/snippets/show.rb +18 -0
  552. data/lib/labclient/snippets/snippet.rb +39 -0
  553. data/lib/labclient/snippets/update.rb +46 -0
  554. data/lib/labclient/system_hooks/add.rb +33 -0
  555. data/lib/labclient/system_hooks/delete.rb +23 -0
  556. data/lib/labclient/system_hooks/list.rb +17 -0
  557. data/lib/labclient/system_hooks/system_hook.rb +19 -0
  558. data/lib/labclient/system_hooks/test.rb +25 -0
  559. data/lib/labclient/tags/create.rb +34 -0
  560. data/lib/labclient/tags/delete.rb +25 -0
  561. data/lib/labclient/tags/list.rb +34 -0
  562. data/lib/labclient/tags/release.rb +27 -0
  563. data/lib/labclient/tags/show.rb +26 -0
  564. data/lib/labclient/tags/tag.rb +16 -0
  565. data/lib/labclient/tags/update.rb +27 -0
  566. data/lib/labclient/todos/list.rb +36 -0
  567. data/lib/labclient/todos/mark_all_done.rb +18 -0
  568. data/lib/labclient/todos/mark_done.rb +29 -0
  569. data/lib/labclient/todos/todo.rb +22 -0
  570. data/lib/labclient/users/activate.rb +25 -0
  571. data/lib/labclient/users/activity.rb +23 -0
  572. data/lib/labclient/users/block.rb +25 -0
  573. data/lib/labclient/users/counts.rb +16 -0
  574. data/lib/labclient/users/create.rb +25 -0
  575. data/lib/labclient/users/current.rb +28 -0
  576. data/lib/labclient/users/deactivate.rb +25 -0
  577. data/lib/labclient/users/delete.rb +28 -0
  578. data/lib/labclient/users/delete_identity.rb +25 -0
  579. data/lib/labclient/users/email/client.rb +18 -0
  580. data/lib/labclient/users/email/create.rb +37 -0
  581. data/lib/labclient/users/email/delete.rb +33 -0
  582. data/lib/labclient/users/email/email.rb +11 -0
  583. data/lib/labclient/users/email/list.rb +33 -0
  584. data/lib/labclient/users/email/show.rb +17 -0
  585. data/lib/labclient/users/gpg/client.rb +18 -0
  586. data/lib/labclient/users/gpg/create.rb +37 -0
  587. data/lib/labclient/users/gpg/delete.rb +33 -0
  588. data/lib/labclient/users/gpg/gpg_key.rb +13 -0
  589. data/lib/labclient/users/gpg/list.rb +33 -0
  590. data/lib/labclient/users/gpg/show.rb +17 -0
  591. data/lib/labclient/users/keys/client.rb +18 -0
  592. data/lib/labclient/users/keys/create.rb +42 -0
  593. data/lib/labclient/users/keys/delete.rb +33 -0
  594. data/lib/labclient/users/keys/list.rb +33 -0
  595. data/lib/labclient/users/keys/show.rb +17 -0
  596. data/lib/labclient/users/list.rb +64 -0
  597. data/lib/labclient/users/memberships.rb +34 -0
  598. data/lib/labclient/users/search.rb +22 -0
  599. data/lib/labclient/users/show.rb +22 -0
  600. data/lib/labclient/users/status.rb +26 -0
  601. data/lib/labclient/users/status_set.rb +23 -0
  602. data/lib/labclient/users/unblock.rb +25 -0
  603. data/lib/labclient/users/update.rb +28 -0
  604. data/lib/labclient/users/user.rb +138 -0
  605. data/lib/labclient/version/show.rb +18 -0
  606. data/lib/labclient/version.rb +3 -0
  607. data/lib/labclient/wikis/create.rb +33 -0
  608. data/lib/labclient/wikis/delete.rb +32 -0
  609. data/lib/labclient/wikis/list.rb +26 -0
  610. data/lib/labclient/wikis/show.rb +25 -0
  611. data/lib/labclient/wikis/update.rb +42 -0
  612. data/lib/labclient/wikis/upload.rb +27 -0
  613. data/lib/labclient/wikis/wiki.rb +40 -0
  614. data/lib/labclient.rb +843 -0
  615. metadata +880 -0
@@ -0,0 +1,49 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectMembers < Common
5
+ doc 'Project' do
6
+ title 'Show'
7
+ desc 'Gets a member of a group or project [Project ID, User ID]'
8
+ example 'client.members.projects.show(264, 14)'
9
+ result '#<Member name: Annie, access: developer>'
10
+ end
11
+
12
+ doc 'Project' do
13
+ desc 'via Project'
14
+ example <<~DOC
15
+ project = client.projects.show(264)
16
+ project.member(14)
17
+ DOC
18
+ end
19
+
20
+ doc 'Project' do
21
+ subtitle 'Show All'
22
+ desc 'Gets a member of a group or project, including members inherited through ancestor groups [Project ID, User ID]'
23
+ example 'client.members.project.show(264, 14)'
24
+ result '#<Member name: Annie, access: developer>'
25
+ end
26
+
27
+ doc 'Project' do
28
+ desc 'via Project'
29
+ example <<~DOC
30
+ project = client.projects.show(264)
31
+ project.member_all(14)
32
+ DOC
33
+ end
34
+
35
+ # Default to False
36
+ def show(project_id, user_id, all = nil)
37
+ all = '/all' if all # Reset and Use
38
+
39
+ user_id = format_id(user_id)
40
+ project_id = format_id(project_id)
41
+ client.request(:get, "projects/#{project_id}/members#{all}/#{user_id}", Member)
42
+ end
43
+
44
+ # Default to True
45
+ def show_all(project_id, user_id)
46
+ show(project_id, user_id, true)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,36 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectMembers < Common
5
+ doc 'Project' do
6
+ title 'Update'
7
+ desc 'Updates a member of a group or project. [Project ID, User ID, Hash]'
8
+ example 'client.members.projects.update(264, 14, access_level: :reporter)'
9
+ result '=> #<Member name: Tristana, access: reporter>'
10
+
11
+ markdown <<~DOC
12
+ | Attribute | Type | Required | Description |
13
+ | --------- | ---- | -------- | ----------- |
14
+ | access_level | integer | yes | A valid access level |
15
+ | expires_at | string | no | A date string in the format YEAR-MONTH-DAY |
16
+ DOC
17
+ end
18
+
19
+ doc 'Project' do
20
+ desc 'via Project'
21
+ example <<~DOC
22
+ project = client.projects.show(264)
23
+ project.member_update(14, access_level: :developer)
24
+ DOC
25
+ end
26
+
27
+ def update(project_id, user_id, query)
28
+ query_format_time(query, :expires_at)
29
+ query_access_level(query, :access_level)
30
+ project_id = format_id(project_id)
31
+ user_id = format_id(user_id)
32
+
33
+ client.request(:put, "projects/#{project_id}/members/#{user_id}", Member, query)
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,39 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Update' do
6
+ title 'Accept'
7
+ desc 'Merge changes submitted with MR. [project id, merge request iid]'
8
+
9
+ markdown <<~DOC
10
+ - <small>if merge request is unable to be accepted (ie: Work in Progress, Closed, Pipeline Pending Completion, or Failed while requiring Success) - you'll get a `405` and the error message 'Method Not Allowed'</small>
11
+ - <small>If it has some conflicts and can not be merged - you'll get a `406` and the error message 'Branch cannot be merged'</small>
12
+ - <small>If the `sha` parameter is passed and does not match the HEAD of the source - you'll get a `409` and the error message 'SHA </small>does not match HEAD of source branch'
13
+ - <small>If you don't have permissions to accept this merge request - you'll get a `401`</small>
14
+ DOC
15
+
16
+ example 'client.merge_requests.accept(343, 3)'
17
+
18
+ result <<~DOC
19
+ => #<MergeRequest id: 3, title: Add new file>
20
+ DOC
21
+ end
22
+
23
+ doc 'Update' do
24
+ desc 'Accept through MergeRequest'
25
+ example <<~DOC
26
+ mr = client.merge_requests.show(343,2)
27
+ mr.accept
28
+ DOC
29
+ end
30
+
31
+ # Accept
32
+ def accept(project_id, merge_request_id)
33
+ project_id = format_id(project_id)
34
+ merge_request_id = format_id(merge_request_id)
35
+
36
+ client.request(:put, "projects/#{project_id}/merge_requests/#{merge_request_id}/merge", MergeRequest)
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Update' do
6
+ title 'Cancel Auto Merge'
7
+ desc 'Cancel Automatic Merge When Pipeline Succeeds [project id, merge request iid]'
8
+ markdown <<~DOC
9
+ - If you don't have permissions to accept this merge request - you'll get a `401`
10
+
11
+ - If the merge request is already merged or closed - you get `405` and error message 'Method Not Allowed'
12
+
13
+ - In case the merge request is not set to be merged when the pipeline succeeds, you'll also get a `406` error.
14
+ DOC
15
+
16
+ example 'client.merge_requests.cancel_auto_merge(343, 3)'
17
+
18
+ result <<~DOC
19
+ => #<MergeRequest id: 3, title: Add new file>
20
+ DOC
21
+ end
22
+
23
+ doc 'Update' do
24
+ desc 'Cancel through MergeRequest'
25
+ example <<~DOC
26
+ mr = client.merge_requests.show(343,2)
27
+ mr.cancel_auto_merge
28
+ DOC
29
+ end
30
+
31
+ def cancel_auto_merge(project_id, merge_request_id)
32
+ project_id = format_id(project_id)
33
+ merge_request_id = format_id(merge_request_id)
34
+
35
+ client.request(:post, "projects/#{project_id}/merge_requests/#{merge_request_id}/cancel_merge_when_pipeline_succeeds", MergeRequest)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper, 'Changes' result for MR
4
+ class Changes < Klass
5
+ include ClassHelpers
6
+ # extend Docs
7
+
8
+ def inspect
9
+ "#<Changes MR: #{id}, title: #{title}>"
10
+ end
11
+
12
+ # User Fields
13
+ user_attrs %i[author assignee merged_by closed_by]
14
+
15
+ # DateTime Fields
16
+ date_time_attrs %i[
17
+ closed_at created_at first_deployed_to_production_at
18
+ latest_build_finished_at latest_build_started_at merged_at updated_at
19
+ ]
20
+
21
+ def assignees
22
+ @table[:assignees].map { |x| User.new(x, response, client) } if has? :assignees
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,34 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Show' do
6
+ title 'Changes'
7
+ desc 'Shows information about the merge request including its files and changes. [project id, mr iid]'
8
+ example 'client.merge_requests.changes(333,1)'
9
+ result <<~DOC
10
+ => #<Changes MR: 1, title: Update README.md>
11
+ DOC
12
+ end
13
+
14
+ doc 'Show' do
15
+ desc 'Show through MergeRequest'
16
+ example <<~DOC
17
+ mr = client.merge_requests.show(333,1)'
18
+ mr.changes
19
+ DOC
20
+
21
+ result <<~DOC
22
+ => #<Changes MR: 1, title: Update README.md>
23
+ DOC
24
+ end
25
+
26
+ # Show Specific
27
+ def changes(project_id, merge_request_id)
28
+ project_id = format_id(project_id)
29
+ merge_request_id = format_id(merge_request_id)
30
+
31
+ client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_id}/changes", Changes)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Show' do
6
+ title 'Closes Issues'
7
+ desc 'Get all the issues that would be closed by merging the provided merge request. [project id, mr iid]'
8
+ example 'client.merge_requests.closes_issues(343, 1)'
9
+ result <<~DOC
10
+ => => [#<Issue id: 1, title: Problem!, state: opened>]
11
+ DOC
12
+ end
13
+
14
+ doc 'Show' do
15
+ desc 'List through MergeRequest'
16
+ example <<~DOC
17
+ mr = client.closes_issues.show(343,7)
18
+ mr.participants
19
+ DOC
20
+ result <<~DOC
21
+ mr = client.merge_requests.show(343,1)
22
+ => #<MergeRequest id: 1, title: Update README.md>
23
+ mr.closes_issues
24
+ => [#<Issue id: 1, title: Problem!, state: opened>]
25
+ DOC
26
+ end
27
+
28
+ def closes_issues(project_id, merge_request_id)
29
+ project_id = format_id(project_id)
30
+ merge_request_id = format_id(merge_request_id)
31
+
32
+ client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_id}/closes_issues", Issue)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,22 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Show' do
6
+ title 'Commits'
7
+ desc 'Get a list of merge request commits. [project id, mr iid]'
8
+ example 'client.merge_requests.commits(333,1)'
9
+ result <<~DOC
10
+ => [#<Commit title: Update README.md, sha: 50c90734>, #<Commit title: Add new file, sha: 6534a685>]
11
+ DOC
12
+ end
13
+
14
+ # Show Specific
15
+ def commits(project_id, merge_request_id)
16
+ project_id = format_id(project_id)
17
+ merge_request_id = format_id(merge_request_id)
18
+
19
+ client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_id}/commits", Commit)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,51 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Create' do
6
+ desc 'Creates a new merge request'
7
+
8
+ example <<~DOC
9
+ client.merge_requests.create(343, {
10
+ title: 'New MR!',
11
+ source_branch: 'sweet-release',
12
+ target_branch: :master
13
+ })
14
+ DOC
15
+
16
+ result <<~DOC
17
+ => #<MergeRequest id: 2, title: New MR!>
18
+ DOC
19
+ end
20
+
21
+ doc 'Create' do
22
+ markdown <<~DOC
23
+ | Attribute | Type | Required | Description |
24
+ | --------- | ---- | -------- | ----------- |
25
+ | id | integer/string | yes | The ID or owned by the authenticated user |
26
+ | source_branch | string | yes | The source branch |
27
+ | target_branch | string | yes | The target branch |
28
+ | title | string | yes | Title of MR |
29
+ | assignee_id | integer | no | Assignee user ID |
30
+ | assignee_ids | integer array | no | The ID of the user(s) to assign the MR to. Set to 0 or provide an empty value to unassign all assignees. |
31
+ | description | string | no | Description of MR. Limited to 1,048,576 characters. |
32
+ | target_project_id | integer | no | The target project (numeric id) |
33
+ | labels | string | no | Labels for MR as a comma-separated list |
34
+ | milestone_id | integer | no | The global ID of a milestone |
35
+ | remove_source_branch | boolean | no | Flag indicating if a merge request should remove the source branch when merging |
36
+ | allow_collaboration | boolean | no | Allow commits from members who can merge to the target branch |
37
+ | allow_maintainer_to_push | boolean | no | Deprecated, see allow_collaboration |
38
+ | squash | boolean | no | Squash commits into a single commit when merging |
39
+
40
+
41
+ DOC
42
+ end
43
+
44
+ # Create
45
+ def create(project_id, query)
46
+ project_id = format_id(project_id)
47
+
48
+ client.request(:post, "projects/#{project_id}/merge_requests", MergeRequest, query)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,31 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Delete' do
6
+ desc 'Only for admins and project owners. Deletes the merge request in question. [project id, merge request iid]'
7
+
8
+ example 'client.merge_requests.delete(343, 2)'
9
+
10
+ result <<~DOC
11
+ => nil
12
+ DOC
13
+ end
14
+
15
+ doc 'Delete' do
16
+ desc 'Delete through MergeRequest'
17
+ example <<~DOC
18
+ mr = client.merge_requests.show(343,2)
19
+ mr.delete
20
+ DOC
21
+ end
22
+
23
+ # Delete
24
+ def delete(project_id, merge_request_id)
25
+ project_id = format_id(project_id)
26
+ merge_request_id = format_id(merge_request_id)
27
+
28
+ client.request(:delete, "projects/#{project_id}/merge_requests/#{merge_request_id}")
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,28 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class MergeRequestDiff < Klass
5
+ include ClassHelpers
6
+ # extend Docs
7
+
8
+ def inspect
9
+ "#<MergeRequestDiff id: #{id}, MR: #{merge_request_id}, state: #{state}>"
10
+ end
11
+
12
+ def details
13
+ project_id = collect_project_id
14
+
15
+ update_self client.merge_requests.diff_versions(project_id, merge_request_id, id)
16
+ end
17
+
18
+ # DateTime Fields
19
+ date_time_attrs %i[created_at]
20
+
21
+ help do
22
+ @group_name = 'Merge Requests'
23
+ subtitle 'Diff'
24
+ desc 'Details is only needed if accessing a diff via the list. Diff loaded via `details` produces the same result'
25
+ option 'details', 'Requests all Diff details and will reload.'
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,70 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Diff' do
6
+ title 'Versions'
7
+ desc 'Get a list of merge request diff versions. [project id, mr iid]'
8
+ example 'client.merge_requests.diff_versions(333,1)'
9
+ result <<~DOC
10
+ => [#<MergeRequestDiff id: 3, MR: 1, state: collected>, #<MergeRequestDiff id: 2, MR: 1, state: collected>, ..]
11
+ DOC
12
+ end
13
+
14
+ doc 'Diff' do
15
+ desc 'List through MergeRequest'
16
+ example <<~DOC
17
+ mr = client.merge_requests.show(343,1)
18
+ mr.diff_versions
19
+ DOC
20
+
21
+ result <<~DOC
22
+ mr = client.merge_requests.show(343,1)
23
+ => #<MergeRequest id: 1, title: Update README.md, state: opened>
24
+ mr.diff_versions
25
+ => [#<MergeRequestDiff id: 3, MR: 1, state: collected>, #<MergeRequestDiff id: 2, MR: 1, state: collected>, ..]
26
+ DOC
27
+ end
28
+
29
+ doc 'Diff' do
30
+ title 'Details'
31
+ example 'client.merge_requests.diff_versions(333,1, 3)'
32
+ result <<~DOC
33
+ => #<MergeRequestDiff id: 3, MR: 1, state: collected>
34
+ DOC
35
+ end
36
+
37
+ doc 'Diff' do
38
+ desc 'Details through MergeRequestDiff'
39
+ example <<~DOC
40
+ diff = client.merge_requests.diff_versions(343,1).first
41
+ diff.details
42
+ DOC
43
+
44
+ result <<~DOC
45
+ mr = client.merge_requests.show(343,1)
46
+ => #<MergeRequest id: 1, title: Update README.md, state: opened>
47
+ mr.diff_versions
48
+ => [#<MergeRequestDiff id: 3, MR: 1, state: collected>, #<MergeRequestDiff id: 2, MR: 1, state: collected>, ..]
49
+ diff = mr.diff_versions.first
50
+ => #<DiffMergeRequestDiff id: 3, MR: 1, state: collected>
51
+ # Commits and Diffs available with details
52
+ diff.details.keys - mr.diff_versions.first.keys
53
+ => [:commits, :diffs]
54
+ DOC
55
+ end
56
+
57
+ # Show Specific
58
+ def diff_versions(project_id, mr_id, diff_id = nil)
59
+ project_id = format_id(project_id)
60
+ mr_id = format_id(mr_id)
61
+ diff_id = format_id(diff_id)
62
+
63
+ if diff_id
64
+ client.request(:get, "projects/#{project_id}/merge_requests/#{mr_id}/versions/#{diff_id}", MergeRequestDiff)
65
+ else
66
+ client.request(:get, "projects/#{project_id}/merge_requests/#{mr_id}/versions", MergeRequestDiff)
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,105 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'List' do
6
+ desc 'Get all merge requests the authenticated user has access to. By default it returns only merge requests created by the current user. To get all merge requests, use parameter scope=all.'
7
+ example 'client.merge_requests.list'
8
+ result <<~DOC
9
+ => [#<MergeRequest id: 37, title: Add new file>, ...]
10
+ DOC
11
+ end
12
+
13
+ doc 'List' do
14
+ desc 'List only opened'
15
+ example 'client.merge_requests.list(state: :opened)'
16
+ result <<~DOC
17
+ => [#<MergeRequest id: 32, title: Just Opened>, ...]
18
+ DOC
19
+ end
20
+
21
+ doc 'List' do
22
+ desc 'Filter by date'
23
+ example 'client.merge_requests.list(created_after: 10.day.ago)'
24
+ result <<~DOC
25
+ => [#<MergeRequest id: 37, title: Add new file>, #<MergeRequest id: 36, title: Update README.md>, ...]
26
+ DOC
27
+ end
28
+
29
+ doc 'List' do
30
+ desc 'Parameters'
31
+ markdown <<~DOC
32
+ | Attribute | Type | Required | Description |
33
+ | ------------------- | -------- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
34
+ | state | string | no | Return all merge requests or just those that are opened, closed, locked, or merged |
35
+ | order_by | string | no | Return requests ordered by created_at or updated_at fields. Default is created_at |
36
+ | sort | string | no | Return requests sorted in asc or desc order. Default is desc |
37
+ | milestone | string | no | Return merge requests for a specific milestone. None returns merge requests with no milestone. Any returns merge requests that have an assigned milestone. |
38
+ | view | string | no | If simple, returns the iid, URL, title, description, and basic state of merge request |
39
+ | labels | string | no | Return merge requests matching a comma separated list of labels. None lists all merge requests with no labels. Any lists all merge requests with at least one label. No+Label (Deprecated) lists all merge requests with no labels. Predefined names are case-insensitive. |
40
+ | with_labels_details | Boolean | no | If true, response will return more details for each label in labels field: :name, :color, :description, :description_html, :text_color. Default is false. Introduced in GitLab 12.7 |
41
+ | created_after | datetime | no | Return merge requests created on or after the given time |
42
+ | created_before | datetime | no | Return merge requests created on or before the given time |
43
+ | updated_after | datetime | no | Return merge requests updated on or after the given time |
44
+ | updated_before | datetime | no | Return merge requests updated on or before the given time |
45
+ | scope | string | no | Return merge requests for the given scope: created_by_me, assigned_to_me or all. Defaults to created_by_me<br> For versions before 11.0, use the now deprecated created-by-me or assigned-to-me scopes instead. |
46
+ | author_id | integer | no | Returns merge requests created by the given user id. Combine with scope=all or scope=assigned_to_me |
47
+ | assignee_id | integer | no | Returns merge requests assigned to the given user id. None returns unassigned merge requests. Any returns merge requests with an assignee. |
48
+ | approver_ids **(STARTER)** | integer array | no | Returns merge requests which have specified all the users with the given ids as individual approvers. None returns merge requests without approvers. Any returns merge requests with an approver. |
49
+ | my_reaction_emoji | string | no | Return merge requests reacted by the authenticated user by the given emoji. None returns issues not given a reaction. Any returns issues given at least one reaction. Introduced in GitLab 10.0 |
50
+ | source_branch | string | no | Return merge requests with the given source branch |
51
+ | target_branch | string | no | Return merge requests with the given target branch |
52
+ | search | string | no | Search merge requests against their title and description |
53
+ | in | string | no | Modify the scope of the search attribute. title, description, or a string joining them with comma. Default is title,description |
54
+ | wip | string | no | Filter merge requests against their wip status. yes to return *only* WIP merge requests, no to return *non* WIP merge requests |
55
+ DOC
56
+ end
57
+
58
+ doc 'List' do
59
+ title 'Project'
60
+ desc 'List project merge requests [Project ID, Hash]'
61
+ example 'client.merge_requests.list(16, created_after: 10.day.ago)'
62
+ result <<~DOC
63
+ => [#<MergeRequest id: 37, title: Add new file>, #<MergeRequest id: 36, title: Update README.md>, ...]
64
+ DOC
65
+ end
66
+
67
+ doc 'List' do
68
+ title 'Group'
69
+ desc 'List group merge requests [Group ID, Hash]'
70
+ example 'client.merge_requests.list_group(5, created_after: 10.day.ago)'
71
+ result <<~DOC
72
+ => [#<MergeRequest id: 37, title: Add new file>, #<MergeRequest id: 36, title: Update README.md>, ...]
73
+ DOC
74
+ end
75
+
76
+ # List
77
+ def list(query = {})
78
+ %i[created_after created_before updated_after updated_before].each do |field|
79
+ query[field] = query[field].to_time.iso8601 if format_time?(query[field])
80
+ end
81
+
82
+ client.request(:get, 'merge_requests', MergeRequest, query)
83
+ end
84
+
85
+ # Project
86
+ def list_project(project_id, query = {})
87
+ project_id = format_id(project_id)
88
+ %i[created_after created_before updated_after updated_before].each do |field|
89
+ query[field] = query[field].to_time.iso8601 if format_time?(query[field])
90
+ end
91
+
92
+ client.request(:get, "projects/#{project_id}/merge_requests", MergeRequest, query)
93
+ end
94
+
95
+ # Group
96
+ def list_group(group_id, query = {})
97
+ group_id = format_id(group_id)
98
+ %i[created_after created_before updated_after updated_before].each do |field|
99
+ query[field] = query[field].to_time.iso8601 if format_time?(query[field])
100
+ end
101
+
102
+ client.request(:get, "groups/#{group_id}/merge_requests", MergeRequest, query)
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,48 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class MergeRequests < Common
5
+ doc 'Show' do
6
+ title 'Merge Ref'
7
+ markdown <<~DOC
8
+ - Merge the changes between the merge request source and target branches into `refs/merge-requests/:iid/merge` ref, of the target project repository, if possible. This ref will have the state the target branch would have if a regular merge action was taken.
9
+
10
+ - This is not a regular merge action given it doesn't change the merge request target branch state in any manner.
11
+
12
+ - This ref (`refs/merge-requests/:iid/merge`) isn't necessarily overwritten when submitting
13
+ requests to this API, though it'll make sure the ref has the latest possible state.
14
+
15
+ - If the merge request has conflicts, is empty or already merged, you'll get a `400` and a descriptive error message.
16
+
17
+ - It returns the HEAD commit of `refs/merge-requests/:iid/merge` in the response body in case of `200`.
18
+
19
+ - [Official Docs](https://docs.gitlab.com/ee/api/merge_requests.html#merge-to-default-merge-ref-path)
20
+
21
+ ---
22
+ DOC
23
+
24
+ example <<~DOC
25
+ client.merge_requests.merge_ref(343, 2)
26
+ DOC
27
+
28
+ result <<~DOC
29
+ => {:commit_id=>"f9b62f6aaaabe2f0bd7563701670fcd74d694c37"}
30
+ DOC
31
+ end
32
+
33
+ doc 'Show' do
34
+ desc 'Through MergeRequest'
35
+ example <<~DOC
36
+ mr = client.merge_requests.show(343,2)
37
+ mr.merge_ref
38
+ DOC
39
+ end
40
+
41
+ def merge_ref(project_id, merge_request_id)
42
+ project_id = format_id(project_id)
43
+ merge_request_id = format_id(merge_request_id)
44
+
45
+ client.request(:get, "projects/#{project_id}/merge_requests/#{merge_request_id}/merge_ref")
46
+ end
47
+ end
48
+ end