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,32 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SnippetDiscussions < Common
5
+ doc 'Snippets' do
6
+ title 'Create'
7
+ desc 'Creates a new discussion for a single merge request [Project, Snippet ID]'
8
+ example 'client.discussions.snippets.create(16, 2, body: "Hello!")'
9
+ result <<~DOC
10
+ => #<Discussions id: 2dc2a8d>
11
+ DOC
12
+ end
13
+
14
+ doc 'Snippets' do
15
+ markdown <<~DOC
16
+ | Attribute | Type | Required | Description |
17
+ | --------- | ---- | -------- | ----------- |
18
+ | body | string | yes | Name for Badge |
19
+ | created_at | string | no | Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z |
20
+ DOC
21
+ end
22
+
23
+ def create(project_id, snippet_id, query = {})
24
+ project_id = format_id(project_id)
25
+ snippet_id = format_id(snippet_id)
26
+
27
+ query[:created_at] = query[:created_at].to_time.iso8601 if format_time?(query[:created_at])
28
+
29
+ client.request(:post, "projects/#{project_id}/snippets/#{snippet_id}/discussions", Discussion, query)
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SnippetDiscussions < Common
5
+ doc 'Snippets' do
6
+ title 'Delete'
7
+ desc 'Get a single project snippet. [Project ID, Snippet ID, Discussion ID]'
8
+ example 'client.discussions.snippets.delete(16, 2, "7ae79")'
9
+ end
10
+
11
+ # Delete
12
+ def delete(project_id, snippet_id, discussion_id)
13
+ project_id = format_id(project_id)
14
+ snippet_id = format_id(snippet_id)
15
+ discussion_id = format_id(discussion_id)
16
+
17
+ client.request(:delete, "projects/#{project_id}/snippets/#{snippet_id}/discussions/#{discussion_id}")
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SnippetDiscussions < Common
5
+ @group_name = 'Discussions'
6
+ doc 'Snippets' do
7
+ title 'List'
8
+ desc 'Gets a list of all discussion items for a single snippet. [Project ID, Snippet ID]'
9
+ example 'client.discussions.snippets.list(16, 1)'
10
+ result <<~DOC
11
+ => [#<Discussions id: 2dc2a8d>, .. ]
12
+ DOC
13
+ end
14
+
15
+ def list(project_id, snippet_id)
16
+ project_id = format_id(project_id)
17
+ snippet_id = format_id(snippet_id)
18
+
19
+ client.request(:get, "projects/#{project_id}/snippets/#{snippet_id}/discussions", Discussion)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SnippetDiscussions < Common
5
+ doc 'Snippets' do
6
+ title 'Show'
7
+ desc 'Returns a single discussion for a given merge request. [Project ID, Snippet ID, Discussion ID]'
8
+ example 'client.discussions.snippets.show(16, 1, "7ae79")'
9
+ result <<~DOC
10
+ => #<Discussions id: 7ae79>
11
+ DOC
12
+ end
13
+
14
+ def show(project_id, snippet_id, discussion_id)
15
+ project_id = format_id(project_id)
16
+ snippet_id = format_id(snippet_id)
17
+ discussion_id = format_id(discussion_id)
18
+
19
+ client.request(:get, "projects/#{project_id}/snippets/#{snippet_id}/discussions/#{discussion_id}", Discussion)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,32 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class SnippetDiscussions < Common
5
+ doc 'Snippets' do
6
+ title 'Update'
7
+ desc 'Get a single project snippet. [Project ID, Snippet ID, Discussion ID]'
8
+ example 'client.discussions.snippets.update(16, 1, "2dc2a8d", "Updaaate")'
9
+ result <<~DOC
10
+ => #<Discussions id: 2dc2a8d>
11
+ DOC
12
+ end
13
+
14
+ doc 'Snippets' do
15
+ markdown <<~DOC
16
+ | Attribute | Type | Required | Description |
17
+ | --------- | ---- | -------- | ----------- |
18
+ | body | string | yes | Name for Badge |
19
+ DOC
20
+ end
21
+
22
+ # Show
23
+ def update(project_id, snippet_id, discussion_id, body)
24
+ project_id = format_id(project_id)
25
+ snippet_id = format_id(snippet_id)
26
+ discussion_id = format_id(discussion_id)
27
+ query = { body: body }
28
+
29
+ client.request(:put, "projects/#{project_id}/snippets/#{snippet_id}/discussions/#{discussion_id}", Discussion, query)
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,107 @@
1
+ # Top Namesapce
2
+ module LabClient
3
+ # Shared Methods
4
+ module Docs
5
+ # include ActionView::Helpers
6
+
7
+ @docs = {}
8
+
9
+ def self.json
10
+ @docs.to_json
11
+ end
12
+
13
+ def self.docs
14
+ @docs
15
+ end
16
+
17
+ # -------------------------------------------------------------
18
+ # Include Rails Sanitizer
19
+ # def safe_list_sanitizer
20
+ # Rails::Html::SafeListSanitizer.new
21
+ # end
22
+
23
+ # def sanitize(html, options = {})
24
+ # safe_list_sanitizer.sanitize(html, options)&.html_safe
25
+ # end
26
+ # ---------------------------------
27
+
28
+ # Klass Helper
29
+ def help
30
+ # require 'active_support/inflector'
31
+ @group_name ||= group_name.pluralize
32
+ doc 'Reference' do
33
+ yield
34
+ end
35
+ end
36
+
37
+ # -------------------------------------------------------------
38
+ # DSL Helpers
39
+ def title(value)
40
+ @result[:title] = value
41
+ end
42
+
43
+ def subtitle(value)
44
+ @result[:subtitle] = value
45
+ end
46
+
47
+ def markdown(value)
48
+ require 'kramdown' unless defined? Kramdown
49
+ @result[:markdown] = Kramdown::Document.new(value).to_html
50
+ end
51
+
52
+ def desc(value)
53
+ # @result[:desc] = simple_format value
54
+ @result[:desc] = value
55
+ end
56
+
57
+ def example(value)
58
+ @result[:example] = value
59
+ end
60
+
61
+ def result(value)
62
+ @result[:result] = value
63
+ end
64
+
65
+ def option(name, text)
66
+ @result[:options] ||= []
67
+ @result[:options].push(name: name, text: text)
68
+ end
69
+
70
+ # Allow for Custom Group Name Overrides
71
+ def group_name
72
+ @group_name || name.split('::', 2).last.split(/(?=[A-Z])/).join(' ')
73
+ end
74
+
75
+ # Helper to Make navigation rendered out once rather than evaluated on Ember
76
+ def navigation(subgroup)
77
+ # Group
78
+ nav = @group.gsub(' ', '_')
79
+
80
+ # Subgroup
81
+ subnav = subgroup.gsub(' ', '_')
82
+
83
+ # Title
84
+ subnav += '_' + @result[:title].gsub(' ', '_') if @result.key? :title
85
+
86
+ @result[:nav] = nav
87
+ @result[:nav] += '-' + subnav if subnav
88
+ end
89
+
90
+ def doc(subgroup)
91
+ @result = {}
92
+ yield
93
+
94
+ # Turn Class name into friendly name. Split multiple words
95
+ @group = group_name
96
+
97
+ # Docs Navigation Helper
98
+ navigation(subgroup)
99
+
100
+ # @result[:name] = name
101
+ Docs.docs[@group] ||= {}
102
+ Docs.docs[@group][subgroup] ||= []
103
+ Docs.docs[@group][subgroup].push @result
104
+ end
105
+ # -------------------------------------------------------------
106
+ end
107
+ end
@@ -0,0 +1,42 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Create' do
6
+ desc 'Creates a new epic. [Group ID, Hash]'
7
+ example 'client.epics.create(59, title: "Initial Release")'
8
+
9
+ result '=> #<Epic iid: 4, title: Initial Release>'
10
+ end
11
+
12
+ doc 'Create' do
13
+ markdown <<~DOC
14
+ | Attribute | Type | Required | Description |
15
+ | ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
16
+ | title | string | yes | The title of the epic |
17
+ | labels | string | no | The comma separated list of labels |
18
+ | description | string | no | The description of the 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
+ | start_date_is_fixed | boolean | no | Whether start date should be sourced from start_date_fixed or from milestones (since 11.3) |
21
+ | start_date_fixed | string | no | The fixed start date of an epic (since 11.3) |
22
+ | due_date_is_fixed | boolean | no | Whether due date should be sourced from due_date_fixed or from milestones (since 11.3) |
23
+ | due_date_fixed | string | no | The fixed due date of an epic (since 11.3) |
24
+ | parent_id | integer/string | no | The id of a parent epic (since 11.11) |
25
+ DOC
26
+ end
27
+
28
+ doc 'Create' do
29
+ desc 'Via Group [Hash]'
30
+ example <<~DOC
31
+ group = client.groups.show(16)
32
+ epic = group.epic_create(url: "https://dothething")
33
+ DOC
34
+ end
35
+
36
+ def create(group_id, query)
37
+ group_id = format_id(group_id)
38
+
39
+ client.request(:post, "groups/#{group_id}/epics", Epic, query)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Delete' do
6
+ desc 'Deletes an epic [Group ID, Epic IID]'
7
+ example 'client.epics.delete(59, 1)'
8
+ end
9
+
10
+ doc 'Delete' do
11
+ desc 'Via Group [Epic ID]'
12
+ example <<~DOC
13
+ group = client.groups.show(16)
14
+ group.epic_delete(1)
15
+ DOC
16
+ end
17
+
18
+ doc 'Delete' do
19
+ desc 'Via Epic'
20
+ example <<~DOC
21
+ epic = client.epics.show(16, 1)
22
+ epic.delete
23
+ DOC
24
+ end
25
+
26
+ def delete(group_id, epic_id)
27
+ # DELETE /groups/:id/epics/:epic_iid
28
+
29
+ group_id = format_id(group_id)
30
+ epic_id = format_id(epic_id)
31
+
32
+ client.request(:delete, "groups/#{group_id}/epics/#{epic_id}")
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,72 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class Epic < Klass
5
+ include ClassHelpers
6
+ def inspect
7
+ "#<Epic iid: #{iid}, title: #{title}>"
8
+ end
9
+
10
+ # User Fields
11
+ user_attrs %i[author]
12
+
13
+ def group
14
+ client.groups.show group_id
15
+ end
16
+
17
+ def update(query)
18
+ update_self client.epics.update(group_id, iid, query)
19
+ end
20
+
21
+ def delete
22
+ client.epics.delete(group_id, iid)
23
+ end
24
+
25
+ def todo
26
+ client.epics.todo(group_id, iid)
27
+ end
28
+
29
+ def issues
30
+ client.epics.issues(group_id, iid)
31
+ end
32
+
33
+ def issue_add(issue_id)
34
+ client.epics.issue_add(group_id, iid, issue_id)
35
+ end
36
+
37
+ def issue_remove(issue_id)
38
+ client.epics.issue_remove(group_id, iid, issue_id)
39
+ end
40
+
41
+ def issue_update(issue_id, _query)
42
+ client.epics.issue_update(group_id, iid, issue_id, query)
43
+ end
44
+
45
+ # Resource Labels
46
+ def resource_labels
47
+ client.resource_labels.epics.list(group_id, id)
48
+ end
49
+
50
+ def resource_label(resource_event_id)
51
+ client.resource_labels.epics.show(group_id, id, resource_event_id)
52
+ end
53
+
54
+ date_time_attrs %i[created_at closed_at updated_at]
55
+
56
+ help do
57
+ subtitle 'Epic'
58
+ option 'group', 'Show Group'
59
+ option 'update', 'Update this epic [Hash]'
60
+ option 'delete', 'Delete this epic'
61
+ option 'todo', 'Add todo this epic'
62
+ option 'issues', 'List issues in epic'
63
+ option 'issue_add', 'Add issue to Epic [Issue ID]'
64
+ option 'issue_remove', 'Remove issue from Epic [Epic Issue ID]'
65
+ option 'issue_update', 'Update issue association [Epic Issue ID, Hash]'
66
+
67
+ # Resource Labels
68
+ option 'resource_labels', 'List of all label events'
69
+ option 'resource_label', 'Show single label event [Resource Event ID]'
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,35 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Issues' do
6
+ title 'Add'
7
+ desc 'Creates an epic - issue association [Group ID, Epic IID, Issue ID]'
8
+ example 'client.epics.issue_add(59, 3, 6459)'
9
+ end
10
+
11
+ doc 'Issues' do
12
+ desc 'Via Group'
13
+ example <<~DOC
14
+ group = client.group.show(59)
15
+ group.epic_issue_add(3,6459)
16
+ DOC
17
+ end
18
+
19
+ doc 'Issues' do
20
+ desc 'Via Epic'
21
+ example <<~DOC
22
+ epic = client.epics.show(4)
23
+ epic.issue_add(6459)
24
+ DOC
25
+ end
26
+
27
+ def issue_add(group_id, epic_id, issue_id)
28
+ group_id = format_id(group_id)
29
+ epic_id = format_id(epic_id)
30
+ issue_id = format_id(issue_id)
31
+
32
+ client.request(:post, "groups/#{group_id}/epics/#{epic_id}/issues/#{issue_id}")
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,38 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Issues' do
6
+ title 'List'
7
+ desc 'Gets all issues that are assigned to an epic. [Group ID, Epic IID]'
8
+ example 'client.epics.issues(59, 3)'
9
+
10
+ result <<~DOC
11
+ => [#<Issue id: 32, title: De-engineered even-keeled application, state: opened>, ...]
12
+ DOC
13
+ end
14
+
15
+ doc 'Issues' do
16
+ desc 'Via Group'
17
+ example <<~DOC
18
+ group = client.group.show(59)
19
+ group.epic_issues(3)
20
+ DOC
21
+ end
22
+
23
+ doc 'Issues' do
24
+ desc 'Via Epic'
25
+ example <<~DOC
26
+ epic = client.epics.show(3)
27
+ epic.issues
28
+ DOC
29
+ end
30
+
31
+ def issues(group_id, epic_id)
32
+ group_id = format_id(group_id)
33
+ epic_id = format_id(epic_id)
34
+
35
+ client.request(:get, "groups/#{group_id}/epics/#{epic_id}/issues", Issue)
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,37 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Issues' do
6
+ title 'Remove'
7
+ desc 'Remove issue from Epic. [Group ID, Epic IID, Epic Issue ID]'
8
+ example 'client.epics.issue_remove(59, 3, 4)'
9
+ end
10
+
11
+ doc 'Issues' do
12
+ desc 'Via Group'
13
+ example <<~DOC
14
+ group = client.group.show(59)
15
+ group.epic_issue_remove(3,4)
16
+ DOC
17
+ end
18
+
19
+ doc 'Issues' do
20
+ desc 'Via Epic'
21
+ example <<~DOC
22
+ epic = client.epics.show(3)
23
+ epic.issue_remove(4)
24
+ DOC
25
+ end
26
+
27
+ def issue_remove(group_id, epic_id, epic_issue_id)
28
+ group_id = format_id(group_id)
29
+ epic_id = format_id(epic_id)
30
+
31
+ # This is horrible, but has to be the epic_issue_id, not the issue's id or iid
32
+ epic_issue_id = epic_issue_id.epic_issue_id if epic_issue_id.class == Issue
33
+
34
+ client.request(:delete, "groups/#{group_id}/epics/#{epic_id}/issues/#{epic_issue_id}")
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,44 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Issues' do
6
+ title 'UPdate'
7
+ desc 'Update Epic issue association. [Group ID, Epic IID, Epic Issue ID, Hash]'
8
+ example 'client.epics.issue_update(59, 3, 4, move_before: 3)'
9
+
10
+ markdown <<~DOC
11
+ | Attribute | Type | Required | Description |
12
+ | ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------|
13
+ | move_before_id | integer/string | no | The ID of the issue - epic association that should be placed before the link in the question. |
14
+ | move_after_id | integer/string | no | The ID of the issue - epic association that should be placed after the link in the question. |
15
+ DOC
16
+ end
17
+
18
+ doc 'Issues' do
19
+ desc 'Via Group'
20
+ example <<~DOC
21
+ group = client.group.show(59)
22
+ group.epic_issue_update(3,4, move_before: 3)
23
+ DOC
24
+ end
25
+
26
+ doc 'Issues' do
27
+ desc 'Via Epic'
28
+ example <<~DOC
29
+ epic = client.epics.show(3)
30
+ epic.issue_update(4, move_before: 3)
31
+ DOC
32
+ end
33
+
34
+ def issue_update(group_id, epic_id, epic_issue_id, query)
35
+ group_id = format_id(group_id)
36
+ epic_id = format_id(epic_id)
37
+
38
+ # This is horrible, but has to be the epic_issue_id, not the issue's id or iid
39
+ epic_issue_id = epic_issue_id.epic_issue_id if epic_issue_id.class == Issue
40
+
41
+ client.request(:put, "groups/#{group_id}/epics/#{epic_id}/issues/#{epic_issue_id}", nil, query)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,54 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'List' do
6
+ desc 'Gets all epics of the requested group and its subgroups. [Group ID]'
7
+ example 'client.epics.list(59)'
8
+
9
+ result <<~DOC
10
+ => [#<Epic iid: 3, title: Initial Release>, ...]
11
+ DOC
12
+
13
+ markdown <<~DOC
14
+ | Attribute | Type | Required | Description |
15
+ | ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- |
16
+ | author_id | integer | no | Return epics created by the given user id |
17
+ | labels | string | no | Return epics matching a comma separated list of labels names. Label names from the epic group or a parent group can be used |
18
+ | 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. |
19
+ | order_by | string | no | Return epics ordered by created_at or updated_at fields. Default is created_at |
20
+ | sort | string | no | Return epics sorted in asc or desc order. Default is desc |
21
+ | search | string | no | Search epics against their title and description |
22
+ | state | string | no | Search epics against their state, possible filters: opened, closed and all, default: all |
23
+ | created_after | datetime | no | Return epics created on or after the given time |
24
+ | created_before | datetime | no | Return epics created on or before the given time |
25
+ | updated_after | datetime | no | Return epics updated on or after the given time |
26
+ | updated_before | datetime | no | Return epics updated on or before the given time |
27
+ | include_ancestor_groups | boolean | no | Include epics from the requested group's ancestors. Default is false |
28
+ | include_descendant_groups | boolean | no | Include epics from the requested group's descendants. Default is true |
29
+ DOC
30
+ end
31
+
32
+ doc 'List' do
33
+ desc 'Via Group'
34
+ example <<~DOC
35
+ group = client.groups.show(16)
36
+ group.epics
37
+ DOC
38
+ end
39
+
40
+ # rubocop:disable Metrics/AbcSize
41
+ def list(group_id, query = {})
42
+ group_id = format_id(group_id)
43
+
44
+ query[:created_after] = query[:created_after].to_time.iso8601 if format_time?(query[:created_after])
45
+ query[:created_before] = query[:created_before].to_time.iso8601 if format_time?(query[:created_before])
46
+
47
+ query[:updated_after] = query[:updated_after].to_time.iso8601 if format_time?(query[:updated_after])
48
+ query[:updated_before] = query[:updated_before].to_time.iso8601 if format_time?(query[:updated_before])
49
+
50
+ client.request(:get, "groups/#{group_id}/epics", Epic, query)
51
+ end
52
+ # rubocop:enable Metrics/AbcSize
53
+ end
54
+ end
@@ -0,0 +1,29 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Show' do
6
+ desc 'Gets a single epic. [Group ID, Epic IID]'
7
+ example 'client.epics.show(59, 1)'
8
+
9
+ result '=> #<Epic iid: 4, title: Initial Release>'
10
+ end
11
+
12
+ doc 'Show' do
13
+ desc 'Via Group [Epic IID]'
14
+ example <<~DOC
15
+ group = client.groups.show(16)
16
+ epic = group.epic_show(1)
17
+ DOC
18
+ end
19
+
20
+ def show(group_id, epic_id)
21
+ # GET /groups/:id/epics/:epic_iid
22
+
23
+ group_id = format_id(group_id)
24
+ epic_id = format_id(epic_id)
25
+
26
+ client.request(:get, "groups/#{group_id}/epics/#{epic_id}", Epic)
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Epics < Common
5
+ doc 'Create' do
6
+ desc 'Manually creates a todo for the current user on an epic [Group ID]'
7
+ example 'client.epics.create(5, url: "http://labclient.com")'
8
+
9
+ result '=> #<Epic id: 2, url: http://labclient.com>'
10
+ end
11
+
12
+ doc 'Create' do
13
+ desc 'Via Epic'
14
+ example <<~DOC
15
+ epic = client.epics.show(5, 1)
16
+ epic.todo
17
+ DOC
18
+ end
19
+
20
+ def todo(group_id, epic_id)
21
+ group_id = format_id(group_id)
22
+ epic_id = format_id(epic_id)
23
+
24
+ client.request(:post, "groups/#{group_id}/epics/#{epic_id}/todo", Todo)
25
+ end
26
+ end
27
+ end