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,52 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Update' do
6
+ desc 'Updates an epic. [Group ID, Epic IID, Params]'
7
+ example 'client.epics.update(59, 1, title: "Full Release")'
8
+
9
+ result '=> #<Epic id: 4, title: Full Release>'
10
+ end
11
+
12
+ doc 'Update' do
13
+ markdown <<~DOC
14
+ | Attribute | Type | Required | Description |
15
+ | ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
16
+ | epic_iid | integer/string | yes | The internal ID of the epic |
17
+ | title | string | no | The title of an epic |
18
+ | description | string | no | The description of an epic. Limited to 1,048,576 characters. |
19
+ | confidential | boolean | no | Whether the epic should be confidential. Will be ignored if confidential_epics feature flag is disabled. |
20
+ | labels | string | no | The comma separated list of labels |
21
+ | start_date_is_fixed | boolean | no | Whether start date should be sourced from start_date_fixed or from milestones (since 11.3) |
22
+ | start_date_fixed | string | no | The fixed start date of an epic (since 11.3) |
23
+ | due_date_is_fixed | boolean | no | Whether due date should be sourced from due_date_fixed or from milestones (since 11.3) |
24
+ | due_date_fixed | string | no | The fixed due date of an epic (since 11.3) |
25
+ | state_event | string | no | State event for an epic. Set close to close the epic and reopen to reopen it (since 11.4) |
26
+ DOC
27
+ end
28
+
29
+ doc 'Update' do
30
+ desc 'Via Group [Epic IID, Params]'
31
+ example <<~DOC
32
+ group = client.groups.show(16)
33
+ epic = group.epic_update(1, title: "To Isengard!")
34
+ DOC
35
+ end
36
+
37
+ doc 'Update' do
38
+ desc 'Via Epic [Params]'
39
+ example <<~DOC
40
+ epic = client.epics.show(16, 1)
41
+ epic.update(title: "Do all things")
42
+ DOC
43
+ end
44
+
45
+ def update(group_id, epic_id, query)
46
+ group_id = format_id(group_id)
47
+ epic_id = format_id(epic_id)
48
+
49
+ client.request(:put, "groups/#{group_id}/epics/#{epic_id}", Epic, query)
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,11 @@
1
+ # Error helper that includes the HTTParty Response
2
+ module LabClient
3
+ # Class Shim
4
+ class Error < StandardError
5
+ attr_reader :resp
6
+ def initialize(resp)
7
+ super
8
+ @resp = resp
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Event < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<Event type: #{action_name}>"
8
+ end
9
+
10
+ date_time_attrs %i[created_at]
11
+ user_attrs %i[author]
12
+ end
13
+ end
@@ -0,0 +1,67 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Events < Common
5
+ doc 'List' do
6
+ desc 'Get a list of events for the authenticated user'
7
+ example 'client.events.list'
8
+ result <<~DOC
9
+ => [#<Event type: imported>, #<Event type: created>, #<Event type: pushed to>, ...]
10
+ DOC
11
+ end
12
+
13
+ doc 'List' do
14
+ markdown <<~DOC
15
+ | Attribute | Type | Required | Description |
16
+ | --------- | ---- | -------- | ----------- |
17
+ | action | string | no | Include only events of a particular action type |
18
+ | target_type | string | no | Include only events of a particular target type] |
19
+ | before | date | no | Include only events created before a particular date. |
20
+ | after | date | no | Include only events created after a particular date. |
21
+ | scope | string | no | Include all events across a user's projects. |
22
+ | sort | string | no | Sort events in asc or desc order by created_at. Default is desc |
23
+
24
+
25
+
26
+ **Available parameters for the `target_type` and `action`**:
27
+
28
+ | Type | Parameters |
29
+ | ----------- | ---------- |
30
+ | action | issue, merge_request, milestone, note, project, snippet, user |
31
+ | target_type | closed, commented, created, destroyed, expired, joined, left, merged, pushed, reopened, updated |
32
+
33
+
34
+ DOC
35
+ end
36
+
37
+ doc 'List' do
38
+ desc 'Filter by Action'
39
+ example 'client.events.list(action: :created)'
40
+ end
41
+
42
+ doc 'List' do
43
+ desc 'Filter by Target Type'
44
+ example 'client.events.list(target_type: :issue)'
45
+ end
46
+
47
+ doc 'List' do
48
+ markdown <<~DOC
49
+ ##### DateTime Helpers
50
+
51
+ Both :after and :before can be used with Date or Time objects. (responds_to: to_time)
52
+ DOC
53
+
54
+ example <<~DOC
55
+ client.events.list(after: 2.day.ago)
56
+ DOC
57
+ end
58
+
59
+ # List
60
+ def list(query = {})
61
+ query[:before] = query[:before].to_time.iso8601 if format_time?(query[:before])
62
+ query[:after] = query[:after].to_time.iso8601 if format_time?(query[:after])
63
+
64
+ client.request(:get, 'events', Event, query)
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,67 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Events < Common
5
+ doc 'Project' do
6
+ desc 'Get a list of visible events for a particular project. [ project id ]'
7
+ example 'client.events.project(1)'
8
+ result <<~DOC
9
+ => [#<Event type: imported>, #<Event type: created>, #<Event type: pushed to>, ...]
10
+ DOC
11
+ end
12
+
13
+ doc 'Project' do
14
+ markdown <<~DOC
15
+ | Attribute | Type | Required | Description |
16
+ | --------- | ---- | -------- | ----------- |
17
+ | action | string | no | Include only events of a particular action type |
18
+ | target_type | string | no | Include only events of a particular target type] |
19
+ | before | date | no | Include only events created before a particular date. |
20
+ | after | date | no | Include only events created after a particular date. |
21
+ | scope | string | no | Include all events across a user's projects. |
22
+ | sort | string | no | Sort events in asc or desc order by created_at. Default is desc |
23
+
24
+
25
+
26
+ **Available parameters for the `target_type` and `action`**:
27
+
28
+ | Type | Parameters |
29
+ | ----------- | ---------- |
30
+ | action | issue, merge_request, milestone, note, project, snippet, user |
31
+ | target_type | closed, commented, created, destroyed, expired, joined, left, merged, pushed, reopened, updated |
32
+
33
+
34
+ DOC
35
+ end
36
+
37
+ doc 'Project' do
38
+ desc 'Filter by Action'
39
+ example 'client.events.project(1, action: :created)'
40
+ end
41
+
42
+ doc 'Project' do
43
+ desc 'Filter by Target Type'
44
+ example 'client.events.project(1, target_type: :issue)'
45
+ end
46
+
47
+ doc 'Project' do
48
+ markdown <<~DOC
49
+ ##### DateTime Helpers
50
+
51
+ Both :after and :before can be used with Date or Time objects. (responds_to: to_time)
52
+ DOC
53
+
54
+ example <<~DOC
55
+ client.events.project(1, after: 2.day.ago)
56
+ DOC
57
+ end
58
+
59
+ def project(project_id, query = {})
60
+ project_id = format_id(project_id)
61
+ query[:before] = query[:before].to_time.iso8601 if format_time?(query[:before])
62
+ query[:after] = query[:after].to_time.iso8601 if format_time?(query[:after])
63
+
64
+ client.request(:get, "projects/#{project_id}/events", Event, query)
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,66 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Events < Common
5
+ doc 'User' do
6
+ desc 'Get the contribution events for the specified user, sorted from newest to oldest [ user id ]'
7
+ example 'client.events.user(1)'
8
+ result <<~DOC
9
+ => [#<Event type: imported>, #<Event type: created>, #<Event type: pushed to>, ...]
10
+ DOC
11
+ end
12
+
13
+ doc 'User' do
14
+ markdown <<~DOC
15
+ | Attribute | Type | Required | Description |
16
+ | --------- | ---- | -------- | ----------- |
17
+ | action | string | no | Include only events of a particular action type |
18
+ | target_type | string | no | Include only events of a particular target type] |
19
+ | before | date | no | Include only events created before a particular date. |
20
+ | after | date | no | Include only events created after a particular date. |
21
+ | scope | string | no | Include all events across a user's projects. |
22
+ | sort | string | no | Sort events in asc or desc order by created_at. Default is desc |
23
+
24
+
25
+
26
+ **Available parameters for the `target_type` and `action`**:
27
+
28
+ | Type | Parameters |
29
+ | ----------- | ---------- |
30
+ | action | issue, merge_request, milestone, note, project, snippet, user |
31
+ | target_type | closed, commented, created, destroyed, expired, joined, left, merged, pushed, reopened, updated |
32
+
33
+
34
+ DOC
35
+ end
36
+
37
+ doc 'User' do
38
+ desc 'Filter by Action'
39
+ example 'client.events.user(1, action: :created)'
40
+ end
41
+
42
+ doc 'User' do
43
+ desc 'Filter by Target Type'
44
+ example 'client.events.user(1, target_type: :issue)'
45
+ end
46
+
47
+ doc 'User' do
48
+ markdown <<~DOC
49
+ ##### DateTime Helpers
50
+
51
+ Both :after and :before can be used with Date or Time objects. (responds_to: to_time)
52
+ DOC
53
+
54
+ example <<~DOC
55
+ client.events.user(1, after: 2.day.ago)
56
+ DOC
57
+ end
58
+
59
+ def user(user_id, query = {})
60
+ query[:before] = query[:before].to_time.iso8601 if format_time?(query[:before])
61
+ query[:after] = query[:after].to_time.iso8601 if format_time?(query[:after])
62
+
63
+ client.request(:get, "users/#{user_id}/events", Event, query)
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,49 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Files < Common
5
+ doc 'Create' do
6
+ desc 'This allows you to create a single file [Project ID, File Path, Hash]'
7
+ example <<~DOC
8
+ client.files.create(
9
+ 264, "new.md",
10
+ branch: :master,
11
+ commit_message: "New File!",
12
+ content: "Content!"
13
+ )
14
+ DOC
15
+
16
+ result '{:file_path=>"new.md", :branch=>"master"}'
17
+
18
+ markdown <<~DOC
19
+ **Parameters**:
20
+
21
+ * branch (required) - Name of the branch
22
+ * start_branch (optional) - Name of the branch to start the new commit from
23
+ * encoding (optional) - Change encoding to ‘base64’. Default is text.
24
+ * author_email (optional) - Specify the commit author’s email address
25
+ * author_name (optional) - Specify the commit author’s name
26
+ * content (required) - File content
27
+ * commit_message (required) - Commit message
28
+
29
+ DOC
30
+ end
31
+
32
+ doc 'Create' do
33
+ desc 'via Project'
34
+ example <<~DOC
35
+ project = client.projects.show(264)
36
+ project.file_create('other.md',
37
+ branch: :master,
38
+ commit_message: "New File!",
39
+ content: "Content!")
40
+ DOC
41
+ end
42
+
43
+ def create(project_id, file_path, query)
44
+ project_id = format_id(project_id)
45
+
46
+ client.request(:post, "projects/#{project_id}/repository/files/#{file_path}", nil, query)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,43 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Files < Common
5
+ doc 'Delete' do
6
+ desc 'This allows you to update a single file [Project ID, File Path, Hash]'
7
+ example <<~DOC
8
+ client.files.delete(
9
+ 264, "new.md",
10
+ branch: :master,
11
+ commit_message: "Delete File!",
12
+ )
13
+ DOC
14
+
15
+ markdown <<~DOC
16
+ **Parameters**:
17
+
18
+ * branch (required) - Name of the branch
19
+ * start_branch (optional) - Name of the branch to start the new commit from
20
+ * author_email (optional) - Specify the commit author’s email address
21
+ * author_name (optional) - Specify the commit author’s name
22
+ * commit_message (required) - Commit message
23
+ * last_commit_id (optional) - Last known file commit id
24
+ DOC
25
+ end
26
+
27
+ doc 'Delete' do
28
+ desc 'via Project'
29
+ example <<~DOC
30
+ project = client.projects.show(264)
31
+ project.file_delete('other.md',
32
+ branch: :master,
33
+ commit_message: "Remove File!",)
34
+ DOC
35
+ end
36
+
37
+ def delete(project_id, file_path, query)
38
+ project_id = format_id(project_id)
39
+
40
+ client.request(:delete, "projects/#{project_id}/repository/files/#{file_path}", nil, query)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,48 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Files < Common
5
+ doc 'Show' do
6
+ desc 'Allows you to receive information about file in repository like name, size, content [Project ID, File Path, Ref (master default), kind]'
7
+ example 'client.files.show(264, "README.md")'
8
+
9
+ markdown <<~DOC
10
+ Ref will default to `master`
11
+
12
+ Kind can be left empty or set to either :raw or :blame
13
+ DOC
14
+ end
15
+
16
+ doc 'Show' do
17
+ desc 'Raw Content'
18
+ example 'client.files.show(264, "README.md", :master, :raw)'
19
+ end
20
+
21
+ doc 'Show' do
22
+ desc 'Blame'
23
+ example 'client.files.show(264, "README.md", :master, :blame)'
24
+ end
25
+
26
+ doc 'Show' do
27
+ desc 'via Project'
28
+ example <<~DOC
29
+ project = client.projects.show(264)
30
+ project.file('a3c86df3f')
31
+ DOC
32
+ end
33
+
34
+ def show(project_id, file_path, ref = :master, kind = nil)
35
+ kind = case kind
36
+ when :raw
37
+ '/raw'
38
+ when :blame
39
+ '/blame'
40
+ end
41
+ # GET /projects/:id/repository/files/:file_path
42
+
43
+ project_id = format_id(project_id)
44
+
45
+ client.request(:get, "projects/#{project_id}/repository/files/#{file_path}#{kind}", nil, ref: ref)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,49 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Files < Common
5
+ doc 'Update' do
6
+ desc 'This allows you to update a single file [Project ID, File Path, Hash]'
7
+ example <<~DOC
8
+ client.files.update(
9
+ 264, "new.md",
10
+ branch: :master,
11
+ commit_message: "New File!",
12
+ content: "Content!"
13
+ )
14
+ DOC
15
+
16
+ result '{:file_path=>"new.md", :branch=>"master"}'
17
+
18
+ markdown <<~DOC
19
+ **Parameters**:
20
+
21
+ * branch (required) - Name of the branch
22
+ * start_branch (optional) - Name of the branch to start the new commit from
23
+ * encoding (optional) - Change encoding to ‘base64’. Default is text.
24
+ * author_email (optional) - Specify the commit author’s email address
25
+ * author_name (optional) - Specify the commit author’s name
26
+ * content (required) - New file content
27
+ * commit_message (required) - Commit message
28
+ * last_commit_id (optional) - Last known file commit id
29
+ DOC
30
+ end
31
+
32
+ doc 'Update' do
33
+ desc 'via Project'
34
+ example <<~DOC
35
+ project = client.projects.show(264)
36
+ project.file_create('other.md',
37
+ branch: :master,
38
+ commit_message: "New File!",
39
+ content: "Content!")
40
+ DOC
41
+ end
42
+
43
+ def update(project_id, file_path, query)
44
+ project_id = format_id(project_id)
45
+
46
+ client.request(:put, "projects/#{project_id}/repository/files/#{file_path}", nil, query)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,34 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class GroupAccessRequest < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<GroupAccessRequest id: #{id}, name: #{name}, state: #{state}>"
8
+ end
9
+
10
+ def user
11
+ client.users.show(id)
12
+ end
13
+
14
+ def approve(access_level = :developer)
15
+ group_id = collect_group_id
16
+ client.groups.access_requests.approve(group_id, id, access_level)
17
+ end
18
+
19
+ def deny
20
+ group_id = collect_group_id
21
+ client.groups.access_requests.deny(group_id, id)
22
+ end
23
+
24
+ date_time_attrs %i[created_at]
25
+
26
+ help do
27
+ @group_name = 'Groups'
28
+ subtitle 'GroupAccessRequest'
29
+ option 'user', 'Show user for access request'
30
+ option 'approve', 'Accept access request [Access Level]'
31
+ option 'deny', 'Deny request'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupAccessRequests < Common
5
+ doc 'Approve' do
6
+ desc 'Approves an access request for the given user. [Group ID, User ID, Access Level]'
7
+ example 'client.groups.access_requests.approve(310, 3)'
8
+
9
+ result '=> #<GroupAccessRequest id: 3, name: planet bob>'
10
+ end
11
+
12
+ doc 'Approve' do
13
+ markdown <<~DOC
14
+ | Attribute | Type | Description |
15
+ | ---------- | --------- |
16
+ | access_level | integer | A valid access level (defaults: 30, developer access level) |
17
+ DOC
18
+ end
19
+
20
+ doc 'Approve' do
21
+ desc 'Via GroupAccessRequest [Access Level]'
22
+ example <<~DOC
23
+ request = client.groups.access_requests(16).first
24
+ request.approve(:developer)
25
+ DOC
26
+ end
27
+
28
+ def approve(group_id, user_id, access_level = :developer)
29
+ group_id = format_id(group_id)
30
+ user_id = format_id(user_id)
31
+
32
+ query = { access_level: access_level }
33
+ query_access_level(query, :access_level)
34
+
35
+ client.request(:put, "groups/#{group_id}/access_requests/#{user_id}/approve", GroupAccessRequest, query)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class GroupAccessRequests < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class Groups < Common
13
+ def access_requests
14
+ GroupAccessRequests.new(client)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupAccessRequests < Common
5
+ doc 'Create' do
6
+ desc 'Requests access for the authenticated user to a group.'
7
+ example <<~DOC
8
+ client.groups.access_requests.create(310)
9
+ DOC
10
+ end
11
+
12
+ doc 'Create' do
13
+ desc 'Via Group'
14
+ example <<~DOC
15
+ group = client.groups.show(100)
16
+ group.request_access
17
+ DOC
18
+ end
19
+
20
+ def create(group_id)
21
+ group_id = format_id(group_id)
22
+ client.request(:post, "groups/#{group_id}/access_requests", GroupAccessRequest)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupAccessRequests < Common
5
+ doc 'Deny' do
6
+ desc 'Deny an access request for the given user. [Group ID, User ID]'
7
+ example 'client.groups.access_requests.deny(310, 3)'
8
+ end
9
+
10
+ doc 'Deny' do
11
+ desc 'Via GroupAccessRequest [Access Level]'
12
+ example <<~DOC
13
+ request = client.groups.access_requests(16).first
14
+ request.deny
15
+ DOC
16
+ end
17
+
18
+ def deny(group_id, user_id)
19
+ group_id = format_id(group_id)
20
+ user_id = format_id(user_id)
21
+
22
+ client.request(:delete, "groups/#{group_id}/access_requests/#{user_id}/deny")
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,24 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class GroupAccessRequests < Common
5
+ doc 'List' do
6
+ desc 'Gets a list of access requests viewable by the authenticated user. [Group ID]'
7
+ example 'client.groups.access_requests.list(16)'
8
+ end
9
+
10
+ doc 'List' do
11
+ desc 'Via Group'
12
+ example <<~DOC
13
+ group = client.groups.show(16)
14
+ group.access_requests
15
+ DOC
16
+ end
17
+
18
+ def list(group_id)
19
+ group_id = format_id(group_id)
20
+
21
+ client.request(:get, "groups/#{group_id}/access_requests", GroupAccessRequest)
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class GroupBadges < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class Groups < Common
13
+ def badges
14
+ GroupBadges.new(client)
15
+ end
16
+ end
17
+ end