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,47 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Projects < Common
5
+ doc 'Show' do
6
+ desc 'Get a specific project..'
7
+ example 'client.projects.show(16)'
8
+ markdown <<~DOC
9
+
10
+ | Attribute | Type | Required | Description |
11
+ | --------- | ---- | -------- | ----------- |
12
+ | id | integer/string | yes | The ID or URL-encoded path of the project |
13
+ | statistics | boolean | no | Include project statistics |
14
+ | license | boolean | no | Include project license data |
15
+ | with_custom_attributes | boolean | no | Include custom attributes in response (admins only) |
16
+
17
+ DOC
18
+
19
+ result <<~DOC
20
+ project = client.projects.show(16)
21
+
22
+ => <Project id: 16 dimensionc137/cleanse>
23
+ project.web_url
24
+ => "https://labclient/dimensionc137/cleanse"
25
+ project.keys
26
+ => [:_links,
27
+ :approvals_before_merge,
28
+ :archived,
29
+ :auto_cancel_pending_pipelines,
30
+ :auto_devops_deploy_strategy,
31
+ :auto_devops_enabled,
32
+ :avatar_url,
33
+ :build_coverage_regex,
34
+ :external_authorization_classification_label,
35
+ ...
36
+ ]
37
+
38
+ DOC
39
+ end
40
+
41
+ def show(project_id, query = {})
42
+ project_id = format_id(project_id)
43
+
44
+ client.request(:get, "projects/#{project_id}", Project, query)
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,25 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Projects < Common
5
+ doc 'Snapshot' do
6
+ desc 'Download a snapshot of the project (or wiki, if requested) Git repository [Project ID, Local File Path, Wiki]'
7
+ example 'client.projects.snapshot(310, "output.tar")'
8
+ end
9
+
10
+ doc 'Snapshot' do
11
+ desc 'via Project'
12
+ example <<~DOC
13
+ project = client.projects.show(25)
14
+ project.snapshot('output.tar')
15
+ DOC
16
+ end
17
+
18
+ def snapshot(project_id, file_name, wiki = false)
19
+ project_id = format_id(project_id)
20
+
21
+ raw = client.request(:get, "projects/#{project_id}/snapshot"), { wiki: wiki }
22
+ File.write(file_name, raw)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,30 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectSnippets < Common
5
+ doc 'Show' do
6
+ title 'Agent Details'
7
+ desc 'Get user agent details [Project ID, Snippet ID]'
8
+ example 'client.projects.snippets.agent_detail(16, 2)'
9
+ result <<~DOC
10
+ => {:user_agent=>"Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0", :ip_address=>"10.0.0.14", :akismet_submitted=>false}
11
+ DOC
12
+ end
13
+
14
+ doc 'Show' do
15
+ desc 'via ProjectSnippet'
16
+ example <<~DOC
17
+ snippet = client.projects.snippets.show(16,2)
18
+ snippet.agent_detail
19
+ DOC
20
+ end
21
+
22
+ # Show Specific
23
+ def agent_detail(project_id, snippet_id)
24
+ snippet_id = format_id(snippet_id)
25
+ project_id = format_id(project_id)
26
+
27
+ client.request(:get, "projects/#{project_id}/snippets/#{snippet_id}/user_agent_detail")
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class ProjectSnippets < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Specifics
12
+ class Projects < Common
13
+ def snippets
14
+ ProjectSnippets.new(client)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,32 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectSnippets < Common
5
+ doc 'Show' do
6
+ title 'Content'
7
+ desc 'Returns the raw project snippet as plain text. [Project ID, Snippet ID]'
8
+ example 'client.projects.snippets.raw(16, 2)'
9
+ result <<~DOC
10
+ => "Here's the special content"
11
+ DOC
12
+ end
13
+
14
+ doc 'Show' do
15
+ desc 'via the Project Snippet'
16
+ example <<~DOC
17
+ snippet = client.snippets.raw(2)
18
+ snippet.raw
19
+ DOC
20
+ end
21
+
22
+ # Show Specific
23
+ def raw(project_id, snippet_id)
24
+ snippet_id = format_id(snippet_id)
25
+ project_id = format_id(project_id)
26
+
27
+ client.request(:get, "projects/#{project_id}/snippets/#{snippet_id}/raw")
28
+ end
29
+
30
+ alias content raw
31
+ end
32
+ end
@@ -0,0 +1,40 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectSnippets < Common
5
+ doc 'Create' do
6
+ desc 'Creates a new project snippet. [Project ID, Hash]'
7
+
8
+ example <<~DOC
9
+ client.projects.snippets.create(16,
10
+ title: "Sweet Code",
11
+ file_name: 'script.rb',
12
+ content: 'puts "All your snippet are belong to us!"',
13
+ description: "The one snippet",
14
+ visibility: :private
15
+ )
16
+ DOC
17
+
18
+ result <<~DOC
19
+ => #<ProjectSnippet id: 1, title: Sweet Code>
20
+ DOC
21
+ end
22
+
23
+ doc 'Create' do
24
+ markdown <<~DOC
25
+ | Attribute | Type | Required | Description |
26
+ |--------------|------- |--------- |--------------------------------------------------- |
27
+ | title | string | yes | Title of a snippet. |
28
+ | file_name | string | yes | Name of a snippet file. |
29
+ | content | string | yes | Content of a snippet. |
30
+ | description | string | no | Description of a snippet. |
31
+ | visibility | string | no | Snippet's [visibility](#snippet-visibility-level). |
32
+ DOC
33
+ end
34
+
35
+ def create(project_id, query = {})
36
+ project_id = format_id(project_id)
37
+ client.request(:post, "projects/#{project_id}/snippets", ProjectSnippet, query)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,26 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectSnippets < Common
5
+ doc 'Delete' do
6
+ desc 'Deletes an existing project snippet. [Project ID, Snippet ID]'
7
+ example <<~DOC
8
+ client.projects.snippets.delete(16,4)
9
+ DOC
10
+ end
11
+
12
+ doc 'Delete' do
13
+ desc 'Delete through Snippet object'
14
+ example <<~DOC
15
+ snippet = client.projects.snippets.show(16,1)
16
+ snippet.delete
17
+ DOC
18
+ end
19
+
20
+ def delete(project_id, snippet_id)
21
+ snippet_id = format_id(snippet_id)
22
+ project_id = format_id(project_id)
23
+ client.request(:delete, "projects/#{project_id}/snippets/#{snippet_id}")
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectSnippets < Common
5
+ doc 'List' do
6
+ desc 'Get a list of project snippets. [Project ID]'
7
+ example 'client.projects.snippets.list(16)'
8
+ result <<~DOC
9
+ => [#<ProjectSnippet id: 1, title: Sweet Code>, ...]
10
+ DOC
11
+ end
12
+
13
+ # List
14
+ def list(project_id)
15
+ project_id = format_id(project_id)
16
+
17
+ client.request(:get, "projects/#{project_id}/snippets", ProjectSnippet)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,50 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class ProjectSnippet < Klass
5
+ include ClassHelpers
6
+
7
+ def inspect
8
+ "#<ProjectSnippet id: #{id}, title: #{title}>"
9
+ end
10
+
11
+ def project
12
+ project_id = collect_project_id
13
+ client.projects.show project_id
14
+ end
15
+
16
+ def update(query = {})
17
+ project_id = collect_project_id
18
+ update_self client.projects.snippets.update(project_id, id, query)
19
+ end
20
+
21
+ def raw
22
+ project_id = collect_project_id
23
+ client.projects.snippets.raw(project_id, id)
24
+ end
25
+
26
+ alias content raw
27
+
28
+ def agent_detail
29
+ project_id = collect_project_id
30
+ client.projects.snippets.agent_detail(project_id, id)
31
+ end
32
+
33
+ def delete
34
+ project_id = collect_project_id
35
+ client.projects.snippets.delete(project_id, id)
36
+ end
37
+
38
+ date_time_attrs %i[updated_at created_at]
39
+
40
+ user_attrs %i[author]
41
+
42
+ help do
43
+ subtitle 'Project Snippet'
44
+ option 'raw', 'Retrieves the raw snippet content.'
45
+ option 'agent_detail', 'Hash of user agent details.'
46
+ option 'delete', 'Delete this deploy key.'
47
+ option 'update', 'Update this this deploy key.'
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,20 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectSnippets < Common
5
+ doc 'Show' do
6
+ desc 'Get a single project snippet. [Project ID, Snippet ID]'
7
+ example 'client.projects.snippets.show(16, 1)'
8
+ result <<~DOC
9
+ => #<ProjectSnippet id: 1, title: Sweet Code>
10
+ DOC
11
+ end
12
+
13
+ # Show Specific
14
+ def show(project_id, snippet_id)
15
+ snippet_id = format_id(snippet_id)
16
+ project_id = format_id(project_id)
17
+ client.request(:get, "projects/#{project_id}/snippets/#{snippet_id}", ProjectSnippet)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,42 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectSnippets < Common
5
+ doc 'Update' do
6
+ desc 'Updates an existing project snippet [Project ID, Snippet ID, Hash]'
7
+
8
+ example <<~DOC
9
+ client.projects.snippets.update(16, 4, title: 'One Snippet', description: "One Snippet to rule them all")
10
+ DOC
11
+
12
+ result <<~DOC
13
+ => #<ProjectSnippet id: 1, title: One Snippet>
14
+ DOC
15
+ end
16
+
17
+ doc 'Update' do
18
+ markdown <<~DOC
19
+ | Attribute | Type | Required | Description |
20
+ |--------------|------- |--------- |--------------------------------------------------- |
21
+ | title | string | no | Title of a snippet. |
22
+ | file_name | string | no | Name of a snippet file. |
23
+ | content | string | no | Content of a snippet. |
24
+ | description | string | no | Description of a snippet. |
25
+ | visibility | string | no | Snippet's [visibility](#snippet-visibility-level). |
26
+ DOC
27
+ end
28
+
29
+ doc 'Update' do
30
+ desc 'Via Project Snippet'
31
+ example <<~DOC
32
+ snippet.update(title: 'One Snippet to find them!')
33
+ DOC
34
+ end
35
+
36
+ def update(project_id, snippet_id, query = {})
37
+ snippet_id = format_id(snippet_id)
38
+ project_id = format_id(project_id)
39
+ client.request(:put, "projects/#{project_id}/snippets/#{snippet_id}", ProjectSnippet, query)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,49 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Projects < Common
5
+ @group_name = 'Stars'
6
+
7
+ doc 'Star' do
8
+ desc 'Stars a given project'
9
+ example 'client.projects.star(10)'
10
+ result <<~DOC
11
+ => #<Project id: 30 valenwood/frosttroll>
12
+ DOC
13
+ end
14
+
15
+ doc 'Star' do
16
+ desc 'Via project'
17
+ example <<~DOC
18
+ project = client.projects.show(10)
19
+ project.star
20
+ DOC
21
+ end
22
+
23
+ doc 'Star' do
24
+ subtitle 'Unstars'
25
+ desc 'Unstars a given project'
26
+ example 'client.projects.star(10)'
27
+ end
28
+
29
+ doc 'Star' do
30
+ desc 'Via project'
31
+ example <<~DOC
32
+ project = client.projects.show(10)
33
+ project.unstar
34
+ DOC
35
+ end
36
+
37
+ def star(project_id)
38
+ project_id = format_id(project_id)
39
+
40
+ client.request(:post, "projects/#{project_id}/star", Project)
41
+ end
42
+
43
+ def unstar(project_id)
44
+ project_id = format_id(project_id)
45
+
46
+ client.request(:post, "projects/#{project_id}/unstar", Project)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,51 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Projects < Common
5
+ @group_name = 'Stars'
6
+
7
+ doc 'List' do
8
+ desc 'Get a list of projects starred by the given user. [user id]'
9
+ example 'client.projects.starred(5)'
10
+ result <<~DOC
11
+ => [
12
+ #<Project id: 318, "root/middleman">,
13
+ #<Project id: 317, "skyrim/dwarvencenturion">,
14
+ #<Project id: 303, "pawnshopplanet/pibbles">,
15
+ ]
16
+ DOC
17
+ end
18
+
19
+ doc 'List' do
20
+ markdown <<~DOC
21
+ | Attribute | Type | Required | Description |
22
+ | --------- | ---- | -------- | ----------- |
23
+ | archived | boolean | no | Limit by archived status |
24
+ | visibility | string | no | Limit by visibility public, internal, or private |
25
+ | order_by | string | no | Return projects ordered by id, name, path, created_at, updated_at, or last_activity_at fields. Default is created_at |
26
+ | sort | string | no | Return projects sorted in asc or desc order. Default is desc |
27
+ | search | string | no | Return list of projects matching the search criteria |
28
+ | simple | boolean | no | Return only limited fields for each project. This is a no-op without authentication as then _only_ simple fields are returned. |
29
+ | owned | boolean | no | Limit by projects explicitly owned by the current user |
30
+ | membership | boolean | no | Limit by projects that the current user is a member of |
31
+ | starred | boolean | no | Limit by projects starred by the current user |
32
+ | statistics | boolean | no | Include project statistics |
33
+ | with_custom_attributes | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only) |
34
+ | with_issues_enabled | boolean | no | Limit by enabled issues feature |
35
+ | with_merge_requests_enabled | boolean | no | Limit by enabled merge requests feature |
36
+ | with_programming_language | string | no | Limit by projects which use the given programming language |
37
+ | min_access_level | integer | no | Limit by current user minimal [access level](members.md) |
38
+ | id_after | integer | no | Limit results to projects with IDs greater than the specified ID |
39
+ | id_before | integer | no | Limit results to projects with IDs less than the specified ID |
40
+
41
+ DOC
42
+ end
43
+
44
+ # List/Search users
45
+ def starred(user_id, query = {})
46
+ query_access_level(query, :min_access_level)
47
+
48
+ client.request(:get, "users/#{user_id}/starred_projects", Project, query)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,46 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Projects < Common
5
+ @group_name = 'Stars'
6
+
7
+ doc 'Starrers' do
8
+ desc 'List the users who starred the specified project. [user id]'
9
+ example 'client.projects.starrers(5)'
10
+ result <<~DOC
11
+ => [#<User id: 1, username: root>, ...]
12
+
13
+ # Additional `starred_since` on User
14
+ users = client.projects.starrers(5)
15
+ users.first.starred_since
16
+ => 2020-02-26 14:31:02 -0700
17
+ DOC
18
+ end
19
+
20
+ doc 'Starrers' do
21
+ markdown <<~DOC
22
+ Note: starrers `User` response will include `starred_since`
23
+
24
+ | Attribute | Type | Required | Description |
25
+ | --------- | ---- | -------- | ----------- |
26
+ | search | string | no | Search for specific users. |
27
+
28
+ DOC
29
+ end
30
+
31
+ def starrers(project_id, search = '')
32
+ project_id = format_id(project_id)
33
+
34
+ results = if search.empty?
35
+ client.request(:get, "projects/#{project_id}/starrers", nil)
36
+ else
37
+ client.request(:get, "projects/#{project_id}/starrers", nil, search: search)
38
+ end
39
+
40
+ results.map do |star_data|
41
+ star_data.user[:starred_since] = Time.parse star_data.starred_since
42
+ User.new star_data.user
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Projects < Common
5
+ doc 'Update' do
6
+ title 'Submodule'
7
+ desc 'Update existing submodule reference in repository [Project ID, Submodule, Hash]'
8
+ example 'client.projects.submodule(16, "module/path", branch: "master", commit_sha: "123123")'
9
+
10
+ markdown <<~DOC
11
+ | Attribute | Type | Required | Description |
12
+ | --------- | ---- | -------- | ----------- |
13
+ | `submodule` | string | yes | URL encoded full path to the submodule. For example, `lib%2Fclass%2Erb` |
14
+ | `branch` | string | yes | Name of the branch to commit into |
15
+ | `commit_sha` | string | yes | Full commit SHA to update the submodule to |
16
+ | `commit_message` | string | no | Commit message. If no message is provided, a default one will be set |
17
+ DOC
18
+ end
19
+
20
+ doc 'Update' do
21
+ desc 'via Project'
22
+ example <<~DOC
23
+ project = client.projects.show(25)
24
+ project.housekeeping
25
+ DOC
26
+ end
27
+
28
+ def submodule(project_id, submodule_id, query)
29
+ project_id = format_id(project_id)
30
+
31
+ client.request(:put, "projects/#{project_id}/repository/submodules/#{submodule_id}", Commit, query)
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,27 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class Projects < Common
5
+ doc 'Update' do
6
+ title 'Transfer'
7
+ desc 'Transfer a project to a new namespace [Project ID ,Namespace Name/ID]'
8
+ example 'client.projects.transfer(25, "root")'
9
+ result '=> #<Project id: 25 badlands/chaurushunter>'
10
+ end
11
+
12
+ doc 'Update' do
13
+ desc 'via Project'
14
+ example <<~DOC
15
+ project = client.projects.show(25)
16
+ project.transfer('root')
17
+ DOC
18
+ end
19
+
20
+ def transfer(project_id, namespace_id)
21
+ project_id = format_id(project_id)
22
+ namespace_id = format_id(namespace_id)
23
+
24
+ client.request(:put, "projects/#{project_id}/transfer", Project, { namespace: namespace_id })
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,17 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Inspect Helper
4
+ class ProjectTriggers < Common
5
+ include ClassHelpers
6
+ end
7
+ end
8
+
9
+ # Top namespace
10
+ module LabClient
11
+ # Users Specifics
12
+ class Projects < Common
13
+ def triggers
14
+ ProjectTriggers.new(client)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,37 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectTriggers < Common
5
+ doc 'Create' do
6
+ desc 'Adds a trigger to a group. [Project ID, String]'
7
+ example <<~DOC
8
+ client.projects.triggers.create(16, 'sweet description')
9
+ DOC
10
+
11
+ result '=> #<ProjectTrigger id: 1>'
12
+ end
13
+
14
+ doc 'Create' do
15
+ markdown <<~DOC
16
+ | Attribute | Type | required | Description |
17
+ |-------------|---------|----------|--------------------------|
18
+ | description | string | yes | The trigger name |
19
+ DOC
20
+ end
21
+
22
+ doc 'Create' do
23
+ desc 'Via Project'
24
+ example <<~DOC
25
+ project = client.projects.show(16)
26
+ trigger = project.trigger_create('sweet description')
27
+ DOC
28
+ end
29
+
30
+ def create(project_id, description)
31
+ project_id = format_id(project_id)
32
+ query = { description: description }
33
+
34
+ client.request(:post, "projects/#{project_id}/triggers", ProjectTrigger, query)
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,33 @@
1
+ # Top namespace
2
+ module LabClient
3
+ # Specifics
4
+ class ProjectTriggers < Common
5
+ doc 'Delete' do
6
+ desc 'Removes a trigger from a project. [Project ID, Trigger ID]'
7
+ example 'client.projects.triggers.delete(16, 1)'
8
+ end
9
+
10
+ doc 'Delete' do
11
+ desc 'Via Project [Trigger ID]'
12
+ example <<~DOC
13
+ project = client.projects.show(100)
14
+ project.trigger_delete(3)
15
+ DOC
16
+ end
17
+
18
+ doc 'Delete' do
19
+ desc 'Via ProjectTrigger'
20
+ example <<~DOC
21
+ trigger = client.projects.triggers.show(100, 4)
22
+ trigger.delete
23
+ DOC
24
+ end
25
+
26
+ def delete(project_id, trigger_id)
27
+ project_id = format_id(project_id)
28
+ trigger_id = format_id(trigger_id)
29
+
30
+ client.request(:delete, "projects/#{project_id}/triggers/#{trigger_id}")
31
+ end
32
+ end
33
+ end