labclient 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/labclient/access_levels.rb +47 -0
- data/lib/labclient/appearance/appearance.rb +7 -0
- data/lib/labclient/appearance/show.rb +19 -0
- data/lib/labclient/appearance/update.rb +37 -0
- data/lib/labclient/application_settings/application_setting.rb +10 -0
- data/lib/labclient/application_settings/show.rb +52 -0
- data/lib/labclient/application_settings/update.rb +53 -0
- data/lib/labclient/application_statistics/application_statistics.rb +17 -0
- data/lib/labclient/applications/application.rb +19 -0
- data/lib/labclient/applications/create.rb +36 -0
- data/lib/labclient/applications/delete.rb +35 -0
- data/lib/labclient/applications/list.rb +18 -0
- data/lib/labclient/approvals/client.rb +16 -0
- data/lib/labclient/approvals/merge_approval.rb +20 -0
- data/lib/labclient/approvals/merge_request/approve.rb +35 -0
- data/lib/labclient/approvals/merge_request/create_rule.rb +38 -0
- data/lib/labclient/approvals/merge_request/delete_rule.rb +27 -0
- data/lib/labclient/approvals/merge_request/rules.rb +27 -0
- data/lib/labclient/approvals/merge_request/show.rb +27 -0
- data/lib/labclient/approvals/merge_request/unapprove.rb +35 -0
- data/lib/labclient/approvals/merge_request/update.rb +28 -0
- data/lib/labclient/approvals/merge_request/update_rule.rb +40 -0
- data/lib/labclient/approvals/project/create_rule.rb +38 -0
- data/lib/labclient/approvals/project/delete_rule.rb +26 -0
- data/lib/labclient/approvals/project/rules.rb +26 -0
- data/lib/labclient/approvals/project/show.rb +38 -0
- data/lib/labclient/approvals/project/update.rb +53 -0
- data/lib/labclient/approvals/project/update_rule.rb +39 -0
- data/lib/labclient/approvals/rule.rb +36 -0
- data/lib/labclient/audit_events/audit_event.rb +12 -0
- data/lib/labclient/audit_events/group_list.rb +63 -0
- data/lib/labclient/audit_events/group_show.rb +27 -0
- data/lib/labclient/audit_events/instance_list.rb +73 -0
- data/lib/labclient/audit_events/instance_show.rb +19 -0
- data/lib/labclient/avatar/avatar.rb +14 -0
- data/lib/labclient/avatar/show.rb +27 -0
- data/lib/labclient/awards/award.rb +17 -0
- data/lib/labclient/awards/issues/client.rb +17 -0
- data/lib/labclient/awards/issues/create.rb +23 -0
- data/lib/labclient/awards/issues/delete.rb +20 -0
- data/lib/labclient/awards/issues/list.rb +22 -0
- data/lib/labclient/awards/issues/show.rb +22 -0
- data/lib/labclient/awards/merge_requests/client.rb +17 -0
- data/lib/labclient/awards/merge_requests/create.rb +23 -0
- data/lib/labclient/awards/merge_requests/delete.rb +20 -0
- data/lib/labclient/awards/merge_requests/list.rb +22 -0
- data/lib/labclient/awards/merge_requests/show.rb +22 -0
- data/lib/labclient/awards/snippets/client.rb +17 -0
- data/lib/labclient/awards/snippets/create.rb +23 -0
- data/lib/labclient/awards/snippets/delete.rb +20 -0
- data/lib/labclient/awards/snippets/list.rb +22 -0
- data/lib/labclient/awards/snippets/show.rb +22 -0
- data/lib/labclient/branches/branch.rb +15 -0
- data/lib/labclient/branches/delete.rb +24 -0
- data/lib/labclient/branches/delete_merged.rb +25 -0
- data/lib/labclient/branches/list.rb +35 -0
- data/lib/labclient/branches/show.rb +24 -0
- data/lib/labclient/broadcast_messages/broadcast_message.rb +31 -0
- data/lib/labclient/broadcast_messages/create.rb +66 -0
- data/lib/labclient/broadcast_messages/delete.rb +36 -0
- data/lib/labclient/broadcast_messages/list.rb +18 -0
- data/lib/labclient/broadcast_messages/show.rb +18 -0
- data/lib/labclient/broadcast_messages/update.rb +75 -0
- data/lib/labclient/ci_lint/ci_lint.rb +43 -0
- data/lib/labclient/class_helpers.rb +17 -0
- data/lib/labclient/client.rb +157 -0
- data/lib/labclient/commits/cherry_pick.rb +40 -0
- data/lib/labclient/commits/comment_create.rb +67 -0
- data/lib/labclient/commits/comments.rb +39 -0
- data/lib/labclient/commits/commit.rb +101 -0
- data/lib/labclient/commits/commit_comment.rb +14 -0
- data/lib/labclient/commits/commit_diff.rb +7 -0
- data/lib/labclient/commits/create.rb +83 -0
- data/lib/labclient/commits/diff.rb +39 -0
- data/lib/labclient/commits/list.rb +54 -0
- data/lib/labclient/commits/merge_requests.rb +40 -0
- data/lib/labclient/commits/project_helpers.rb +49 -0
- data/lib/labclient/commits/refs.rb +44 -0
- data/lib/labclient/commits/revert.rb +40 -0
- data/lib/labclient/commits/show.rb +25 -0
- data/lib/labclient/commits/status/list.rb +57 -0
- data/lib/labclient/commits/status/status.rb +14 -0
- data/lib/labclient/commits/status/update.rb +53 -0
- data/lib/labclient/common.rb +110 -0
- data/lib/labclient/curl.rb +27 -0
- data/lib/labclient/deploy_keys/add.rb +46 -0
- data/lib/labclient/deploy_keys/delete.rb +46 -0
- data/lib/labclient/deploy_keys/deploy_key.rb +30 -0
- data/lib/labclient/deploy_keys/enable.rb +38 -0
- data/lib/labclient/deploy_keys/list.rb +38 -0
- data/lib/labclient/deploy_keys/project_helpers.rb +29 -0
- data/lib/labclient/deploy_keys/show.rb +30 -0
- data/lib/labclient/deploy_keys/update.rb +53 -0
- data/lib/labclient/discussions/commits/client.rb +17 -0
- data/lib/labclient/discussions/commits/create.rb +32 -0
- data/lib/labclient/discussions/commits/delete.rb +20 -0
- data/lib/labclient/discussions/commits/list.rb +22 -0
- data/lib/labclient/discussions/commits/show.rb +22 -0
- data/lib/labclient/discussions/commits/update.rb +32 -0
- data/lib/labclient/discussions/discussion.rb +17 -0
- data/lib/labclient/discussions/epics/client.rb +17 -0
- data/lib/labclient/discussions/epics/create.rb +32 -0
- data/lib/labclient/discussions/epics/delete.rb +20 -0
- data/lib/labclient/discussions/epics/list.rb +22 -0
- data/lib/labclient/discussions/epics/show.rb +22 -0
- data/lib/labclient/discussions/epics/update.rb +32 -0
- data/lib/labclient/discussions/issues/client.rb +17 -0
- data/lib/labclient/discussions/issues/create.rb +32 -0
- data/lib/labclient/discussions/issues/delete.rb +20 -0
- data/lib/labclient/discussions/issues/list.rb +22 -0
- data/lib/labclient/discussions/issues/show.rb +22 -0
- data/lib/labclient/discussions/issues/update.rb +32 -0
- data/lib/labclient/discussions/merge_requests/client.rb +17 -0
- data/lib/labclient/discussions/merge_requests/create.rb +32 -0
- data/lib/labclient/discussions/merge_requests/delete.rb +20 -0
- data/lib/labclient/discussions/merge_requests/list.rb +22 -0
- data/lib/labclient/discussions/merge_requests/show.rb +22 -0
- data/lib/labclient/discussions/merge_requests/update.rb +32 -0
- data/lib/labclient/discussions/snippets/client.rb +17 -0
- data/lib/labclient/discussions/snippets/create.rb +32 -0
- data/lib/labclient/discussions/snippets/delete.rb +20 -0
- data/lib/labclient/discussions/snippets/list.rb +22 -0
- data/lib/labclient/discussions/snippets/show.rb +22 -0
- data/lib/labclient/discussions/snippets/update.rb +32 -0
- data/lib/labclient/docs.rb +107 -0
- data/lib/labclient/epics/create.rb +42 -0
- data/lib/labclient/epics/delete.rb +35 -0
- data/lib/labclient/epics/epic.rb +72 -0
- data/lib/labclient/epics/issues/add.rb +35 -0
- data/lib/labclient/epics/issues/list.rb +38 -0
- data/lib/labclient/epics/issues/remove.rb +37 -0
- data/lib/labclient/epics/issues/update.rb +44 -0
- data/lib/labclient/epics/list.rb +54 -0
- data/lib/labclient/epics/show.rb +29 -0
- data/lib/labclient/epics/todo.rb +27 -0
- data/lib/labclient/epics/update.rb +52 -0
- data/lib/labclient/error.rb +11 -0
- data/lib/labclient/events/event.rb +13 -0
- data/lib/labclient/events/list.rb +67 -0
- data/lib/labclient/events/project.rb +67 -0
- data/lib/labclient/events/user.rb +66 -0
- data/lib/labclient/files/create.rb +49 -0
- data/lib/labclient/files/delete.rb +43 -0
- data/lib/labclient/files/show.rb +48 -0
- data/lib/labclient/files/update.rb +49 -0
- data/lib/labclient/groups/access_requests/access_request.rb +34 -0
- data/lib/labclient/groups/access_requests/approve.rb +38 -0
- data/lib/labclient/groups/access_requests/client.rb +17 -0
- data/lib/labclient/groups/access_requests/create.rb +25 -0
- data/lib/labclient/groups/access_requests/deny.rb +25 -0
- data/lib/labclient/groups/access_requests/list.rb +24 -0
- data/lib/labclient/groups/badges/client.rb +17 -0
- data/lib/labclient/groups/badges/create.rb +49 -0
- data/lib/labclient/groups/badges/delete.rb +33 -0
- data/lib/labclient/groups/badges/group_badge.rb +47 -0
- data/lib/labclient/groups/badges/list.rb +28 -0
- data/lib/labclient/groups/badges/preview.rb +42 -0
- data/lib/labclient/groups/badges/show.rb +27 -0
- data/lib/labclient/groups/badges/update.rb +45 -0
- data/lib/labclient/groups/create.rb +31 -0
- data/lib/labclient/groups/delete.rb +25 -0
- data/lib/labclient/groups/group.rb +317 -0
- data/lib/labclient/groups/hooks/client.rb +17 -0
- data/lib/labclient/groups/hooks/create.rb +46 -0
- data/lib/labclient/groups/hooks/delete.rb +33 -0
- data/lib/labclient/groups/hooks/group_hook.rb +37 -0
- data/lib/labclient/groups/hooks/list.rb +31 -0
- data/lib/labclient/groups/hooks/show.rb +27 -0
- data/lib/labclient/groups/hooks/update.rb +55 -0
- data/lib/labclient/groups/labels/client.rb +17 -0
- data/lib/labclient/groups/labels/create.rb +39 -0
- data/lib/labclient/groups/labels/delete.rb +33 -0
- data/lib/labclient/groups/labels/group_label.rb +49 -0
- data/lib/labclient/groups/labels/list.rb +35 -0
- data/lib/labclient/groups/labels/show.rb +34 -0
- data/lib/labclient/groups/labels/subscribe.rb +35 -0
- data/lib/labclient/groups/labels/unsubscribe.rb +35 -0
- data/lib/labclient/groups/labels/update.rb +46 -0
- data/lib/labclient/groups/ldap/client.rb +18 -0
- data/lib/labclient/groups/ldap/create.rb +35 -0
- data/lib/labclient/groups/ldap/delete.rb +37 -0
- data/lib/labclient/groups/ldap/link.rb +17 -0
- data/lib/labclient/groups/ldap/list.rb +27 -0
- data/lib/labclient/groups/ldap/sync.rb +27 -0
- data/lib/labclient/groups/list.rb +76 -0
- data/lib/labclient/groups/milestones/burndown.rb +36 -0
- data/lib/labclient/groups/milestones/client.rb +17 -0
- data/lib/labclient/groups/milestones/create.rb +37 -0
- data/lib/labclient/groups/milestones/delete.rb +26 -0
- data/lib/labclient/groups/milestones/group_milestone.rb +52 -0
- data/lib/labclient/groups/milestones/issues.rb +29 -0
- data/lib/labclient/groups/milestones/list.rb +41 -0
- data/lib/labclient/groups/milestones/merge_requests.rb +29 -0
- data/lib/labclient/groups/milestones/show.rb +20 -0
- data/lib/labclient/groups/milestones/update.rb +45 -0
- data/lib/labclient/groups/projects.rb +54 -0
- data/lib/labclient/groups/restore.rb +26 -0
- data/lib/labclient/groups/runners.rb +33 -0
- data/lib/labclient/groups/search.rb +89 -0
- data/lib/labclient/groups/show.rb +37 -0
- data/lib/labclient/groups/subgroups.rb +47 -0
- data/lib/labclient/groups/transfer.rb +27 -0
- data/lib/labclient/groups/update.rb +34 -0
- data/lib/labclient/http.rb +87 -0
- data/lib/labclient/impersonation_tokens/create.rb +37 -0
- data/lib/labclient/impersonation_tokens/impersonation_token.rb +18 -0
- data/lib/labclient/impersonation_tokens/list.rb +29 -0
- data/lib/labclient/impersonation_tokens/revoke.rb +32 -0
- data/lib/labclient/impersonation_tokens/show.rb +18 -0
- data/lib/labclient/issues/agent_detail.rb +31 -0
- data/lib/labclient/issues/closed_by.rb +27 -0
- data/lib/labclient/issues/create.rb +29 -0
- data/lib/labclient/issues/delete.rb +26 -0
- data/lib/labclient/issues/group_issues.rb +29 -0
- data/lib/labclient/issues/issue.rb +114 -0
- data/lib/labclient/issues/list.rb +58 -0
- data/lib/labclient/issues/move.rb +28 -0
- data/lib/labclient/issues/notes.rb +18 -0
- data/lib/labclient/issues/participants.rb +35 -0
- data/lib/labclient/issues/project_issues.rb +31 -0
- data/lib/labclient/issues/related_merge_requests.rb +30 -0
- data/lib/labclient/issues/show.rb +21 -0
- data/lib/labclient/issues/subscribe.rb +31 -0
- data/lib/labclient/issues/time_stats.rb +157 -0
- data/lib/labclient/issues/todo.rb +31 -0
- data/lib/labclient/issues/unsubscribe.rb +31 -0
- data/lib/labclient/issues/update.rb +44 -0
- data/lib/labclient/jobs/artifacts.rb +49 -0
- data/lib/labclient/jobs/artifacts_latest.rb +39 -0
- data/lib/labclient/jobs/artifacts_path.rb +50 -0
- data/lib/labclient/jobs/cancel.rb +33 -0
- data/lib/labclient/jobs/delete.rb +33 -0
- data/lib/labclient/jobs/erase.rb +33 -0
- data/lib/labclient/jobs/job.rb +79 -0
- data/lib/labclient/jobs/keep.rb +33 -0
- data/lib/labclient/jobs/pipeline_list.rb +33 -0
- data/lib/labclient/jobs/play.rb +33 -0
- data/lib/labclient/jobs/project_list.rb +30 -0
- data/lib/labclient/jobs/retry.rb +33 -0
- data/lib/labclient/jobs/show.rb +25 -0
- data/lib/labclient/jobs/trace.rb +33 -0
- data/lib/labclient/keys/fingerprint.rb +27 -0
- data/lib/labclient/keys/key.rb +26 -0
- data/lib/labclient/keys/project.rb +68 -0
- data/lib/labclient/keys/show.rb +15 -0
- data/lib/labclient/keys/user.rb +66 -0
- data/lib/labclient/klass.rb +107 -0
- data/lib/labclient/license/add.rb +21 -0
- data/lib/labclient/license/delete.rb +17 -0
- data/lib/labclient/license/license.rb +12 -0
- data/lib/labclient/license/list.rb +71 -0
- data/lib/labclient/markdown/markdown.rb +28 -0
- data/lib/labclient/members/groups/add.rb +37 -0
- data/lib/labclient/members/groups/delete.rb +23 -0
- data/lib/labclient/members/groups/list.rb +67 -0
- data/lib/labclient/members/groups/show.rb +49 -0
- data/lib/labclient/members/groups/update.rb +36 -0
- data/lib/labclient/members/member.rb +56 -0
- data/lib/labclient/members/members.rb +15 -0
- data/lib/labclient/members/projects/add.rb +37 -0
- data/lib/labclient/members/projects/delete.rb +23 -0
- data/lib/labclient/members/projects/list.rb +66 -0
- data/lib/labclient/members/projects/show.rb +49 -0
- data/lib/labclient/members/projects/update.rb +36 -0
- data/lib/labclient/merge_requests/accept.rb +39 -0
- data/lib/labclient/merge_requests/cancel_auto_merge.rb +38 -0
- data/lib/labclient/merge_requests/change.rb +25 -0
- data/lib/labclient/merge_requests/changes.rb +34 -0
- data/lib/labclient/merge_requests/closes_issues.rb +35 -0
- data/lib/labclient/merge_requests/commits.rb +22 -0
- data/lib/labclient/merge_requests/create.rb +51 -0
- data/lib/labclient/merge_requests/delete.rb +31 -0
- data/lib/labclient/merge_requests/diff.rb +28 -0
- data/lib/labclient/merge_requests/diff_versions.rb +70 -0
- data/lib/labclient/merge_requests/list.rb +105 -0
- data/lib/labclient/merge_requests/merge_ref.rb +48 -0
- data/lib/labclient/merge_requests/merge_request.rb +211 -0
- data/lib/labclient/merge_requests/notes.rb +18 -0
- data/lib/labclient/merge_requests/participants.rb +36 -0
- data/lib/labclient/merge_requests/pipelines.rb +63 -0
- data/lib/labclient/merge_requests/rebase.rb +45 -0
- data/lib/labclient/merge_requests/show.rb +32 -0
- data/lib/labclient/merge_requests/subscribe.rb +31 -0
- data/lib/labclient/merge_requests/time_stats.rb +157 -0
- data/lib/labclient/merge_requests/todo.rb +31 -0
- data/lib/labclient/merge_requests/unsubscribe.rb +31 -0
- data/lib/labclient/merge_requests/update.rb +35 -0
- data/lib/labclient/namespaces/list.rb +30 -0
- data/lib/labclient/namespaces/namespace.rb +10 -0
- data/lib/labclient/namespaces/show.rb +18 -0
- data/lib/labclient/notes/epics/client.rb +17 -0
- data/lib/labclient/notes/epics/create.rb +32 -0
- data/lib/labclient/notes/epics/delete.rb +20 -0
- data/lib/labclient/notes/epics/list.rb +22 -0
- data/lib/labclient/notes/epics/show.rb +22 -0
- data/lib/labclient/notes/epics/update.rb +32 -0
- data/lib/labclient/notes/issues/client.rb +17 -0
- data/lib/labclient/notes/issues/create.rb +32 -0
- data/lib/labclient/notes/issues/delete.rb +20 -0
- data/lib/labclient/notes/issues/list.rb +22 -0
- data/lib/labclient/notes/issues/show.rb +22 -0
- data/lib/labclient/notes/issues/update.rb +32 -0
- data/lib/labclient/notes/merge_requests/client.rb +17 -0
- data/lib/labclient/notes/merge_requests/create.rb +32 -0
- data/lib/labclient/notes/merge_requests/delete.rb +20 -0
- data/lib/labclient/notes/merge_requests/list.rb +22 -0
- data/lib/labclient/notes/merge_requests/show.rb +22 -0
- data/lib/labclient/notes/merge_requests/update.rb +32 -0
- data/lib/labclient/notes/note.rb +17 -0
- data/lib/labclient/notes/snippets/client.rb +17 -0
- data/lib/labclient/notes/snippets/create.rb +32 -0
- data/lib/labclient/notes/snippets/delete.rb +20 -0
- data/lib/labclient/notes/snippets/list.rb +22 -0
- data/lib/labclient/notes/snippets/show.rb +22 -0
- data/lib/labclient/notes/snippets/update.rb +32 -0
- data/lib/labclient/notifications/list.rb +54 -0
- data/lib/labclient/notifications/update.rb +64 -0
- data/lib/labclient/open_struct.rb +14 -0
- data/lib/labclient/overview.rb +243 -0
- data/lib/labclient/paginated_response.rb +115 -0
- data/lib/labclient/pipelines/cancel.rb +34 -0
- data/lib/labclient/pipelines/create.rb +29 -0
- data/lib/labclient/pipelines/delete.rb +33 -0
- data/lib/labclient/pipelines/list.rb +50 -0
- data/lib/labclient/pipelines/pipeline.rb +48 -0
- data/lib/labclient/pipelines/retry.rb +34 -0
- data/lib/labclient/pipelines/show.rb +26 -0
- data/lib/labclient/pipelines/variables.rb +47 -0
- data/lib/labclient/projects/access_requests/access_request.rb +34 -0
- data/lib/labclient/projects/access_requests/approve.rb +38 -0
- data/lib/labclient/projects/access_requests/client.rb +17 -0
- data/lib/labclient/projects/access_requests/create.rb +25 -0
- data/lib/labclient/projects/access_requests/deny.rb +25 -0
- data/lib/labclient/projects/access_requests/list.rb +24 -0
- data/lib/labclient/projects/archive.rb +25 -0
- data/lib/labclient/projects/badges/client.rb +17 -0
- data/lib/labclient/projects/badges/create.rb +49 -0
- data/lib/labclient/projects/badges/delete.rb +33 -0
- data/lib/labclient/projects/badges/list.rb +28 -0
- data/lib/labclient/projects/badges/preview.rb +42 -0
- data/lib/labclient/projects/badges/project_badge.rb +47 -0
- data/lib/labclient/projects/badges/show.rb +27 -0
- data/lib/labclient/projects/badges/update.rb +45 -0
- data/lib/labclient/projects/clusters/add.rb +48 -0
- data/lib/labclient/projects/clusters/client.rb +17 -0
- data/lib/labclient/projects/clusters/delete.rb +37 -0
- data/lib/labclient/projects/clusters/list.rb +28 -0
- data/lib/labclient/projects/clusters/project_cluster.rb +38 -0
- data/lib/labclient/projects/clusters/show.rb +29 -0
- data/lib/labclient/projects/clusters/update.rb +37 -0
- data/lib/labclient/projects/create.rb +49 -0
- data/lib/labclient/projects/delete.rb +25 -0
- data/lib/labclient/projects/deployments/client.rb +17 -0
- data/lib/labclient/projects/deployments/create.rb +56 -0
- data/lib/labclient/projects/deployments/list.rb +67 -0
- data/lib/labclient/projects/deployments/merge_requests.rb +33 -0
- data/lib/labclient/projects/deployments/project_deployment.rb +39 -0
- data/lib/labclient/projects/deployments/show.rb +27 -0
- data/lib/labclient/projects/deployments/update.rb +52 -0
- data/lib/labclient/projects/environments/client.rb +17 -0
- data/lib/labclient/projects/environments/create.rb +37 -0
- data/lib/labclient/projects/environments/delete.rb +33 -0
- data/lib/labclient/projects/environments/list.rb +34 -0
- data/lib/labclient/projects/environments/project_environment.rb +44 -0
- data/lib/labclient/projects/environments/show.rb +27 -0
- data/lib/labclient/projects/environments/stop.rb +27 -0
- data/lib/labclient/projects/environments/update.rb +44 -0
- data/lib/labclient/projects/events.rb +19 -0
- data/lib/labclient/projects/forks/existing.rb +28 -0
- data/lib/labclient/projects/forks/fork.rb +44 -0
- data/lib/labclient/projects/forks/list.rb +39 -0
- data/lib/labclient/projects/forks/remove.rb +26 -0
- data/lib/labclient/projects/github_import.rb +23 -0
- data/lib/labclient/projects/hooks/client.rb +17 -0
- data/lib/labclient/projects/hooks/create.rb +46 -0
- data/lib/labclient/projects/hooks/delete.rb +33 -0
- data/lib/labclient/projects/hooks/list.rb +31 -0
- data/lib/labclient/projects/hooks/project_hook.rb +32 -0
- data/lib/labclient/projects/hooks/show.rb +27 -0
- data/lib/labclient/projects/hooks/update.rb +55 -0
- data/lib/labclient/projects/housekeeping.rb +29 -0
- data/lib/labclient/projects/labels/client.rb +17 -0
- data/lib/labclient/projects/labels/create.rb +39 -0
- data/lib/labclient/projects/labels/delete.rb +33 -0
- data/lib/labclient/projects/labels/list.rb +35 -0
- data/lib/labclient/projects/labels/project_label.rb +56 -0
- data/lib/labclient/projects/labels/promote.rb +35 -0
- data/lib/labclient/projects/labels/show.rb +34 -0
- data/lib/labclient/projects/labels/subscribe.rb +35 -0
- data/lib/labclient/projects/labels/unsubscribe.rb +35 -0
- data/lib/labclient/projects/labels/update.rb +46 -0
- data/lib/labclient/projects/languages.rb +28 -0
- data/lib/labclient/projects/list.rb +90 -0
- data/lib/labclient/projects/methods.rb +681 -0
- data/lib/labclient/projects/milestones/burndown.rb +36 -0
- data/lib/labclient/projects/milestones/client.rb +17 -0
- data/lib/labclient/projects/milestones/create.rb +37 -0
- data/lib/labclient/projects/milestones/delete.rb +26 -0
- data/lib/labclient/projects/milestones/issues.rb +29 -0
- data/lib/labclient/projects/milestones/list.rb +41 -0
- data/lib/labclient/projects/milestones/merge_requests.rb +29 -0
- data/lib/labclient/projects/milestones/project_milestone.rb +58 -0
- data/lib/labclient/projects/milestones/promote.rb +27 -0
- data/lib/labclient/projects/milestones/show.rb +20 -0
- data/lib/labclient/projects/milestones/update.rb +45 -0
- data/lib/labclient/projects/mirror_start.rb +26 -0
- data/lib/labclient/projects/mirrors/client.rb +17 -0
- data/lib/labclient/projects/mirrors/create.rb +41 -0
- data/lib/labclient/projects/mirrors/list.rb +32 -0
- data/lib/labclient/projects/mirrors/project_mirror.rb +30 -0
- data/lib/labclient/projects/mirrors/update.rb +45 -0
- data/lib/labclient/projects/pipeline_schedules/client.rb +17 -0
- data/lib/labclient/projects/pipeline_schedules/create.rb +35 -0
- data/lib/labclient/projects/pipeline_schedules/delete.rb +26 -0
- data/lib/labclient/projects/pipeline_schedules/list.rb +28 -0
- data/lib/labclient/projects/pipeline_schedules/pipeline_schedule.rb +69 -0
- data/lib/labclient/projects/pipeline_schedules/play.rb +29 -0
- data/lib/labclient/projects/pipeline_schedules/show.rb +20 -0
- data/lib/labclient/projects/pipeline_schedules/take_ownership.rb +29 -0
- data/lib/labclient/projects/pipeline_schedules/update.rb +43 -0
- data/lib/labclient/projects/pipeline_schedules/variables/client.rb +17 -0
- data/lib/labclient/projects/pipeline_schedules/variables/create.rb +41 -0
- data/lib/labclient/projects/pipeline_schedules/variables/delete.rb +38 -0
- data/lib/labclient/projects/pipeline_schedules/variables/update.rb +41 -0
- data/lib/labclient/projects/project.rb +17 -0
- data/lib/labclient/projects/push_rules/client.rb +17 -0
- data/lib/labclient/projects/push_rules/create.rb +44 -0
- data/lib/labclient/projects/push_rules/delete.rb +32 -0
- data/lib/labclient/projects/push_rules/push_rule.rb +31 -0
- data/lib/labclient/projects/push_rules/show.rb +31 -0
- data/lib/labclient/projects/push_rules/update.rb +51 -0
- data/lib/labclient/projects/reference.rb +254 -0
- data/lib/labclient/projects/release_links/client.rb +17 -0
- data/lib/labclient/projects/release_links/create.rb +40 -0
- data/lib/labclient/projects/release_links/delete.rb +34 -0
- data/lib/labclient/projects/release_links/list.rb +37 -0
- data/lib/labclient/projects/release_links/project_release_link.rb +42 -0
- data/lib/labclient/projects/release_links/show.rb +28 -0
- data/lib/labclient/projects/release_links/update.rb +45 -0
- data/lib/labclient/projects/releases/client.rb +17 -0
- data/lib/labclient/projects/releases/create.rb +47 -0
- data/lib/labclient/projects/releases/delete.rb +33 -0
- data/lib/labclient/projects/releases/evidence.rb +34 -0
- data/lib/labclient/projects/releases/list.rb +28 -0
- data/lib/labclient/projects/releases/project_release.rb +58 -0
- data/lib/labclient/projects/releases/show.rb +27 -0
- data/lib/labclient/projects/releases/update.rb +47 -0
- data/lib/labclient/projects/resources.rb +24 -0
- data/lib/labclient/projects/restore.rb +26 -0
- data/lib/labclient/projects/runners/client.rb +17 -0
- data/lib/labclient/projects/runners/disable.rb +25 -0
- data/lib/labclient/projects/runners/enable.rb +27 -0
- data/lib/labclient/projects/runners/list.rb +34 -0
- data/lib/labclient/projects/search.rb +91 -0
- data/lib/labclient/projects/services/client.rb +29 -0
- data/lib/labclient/projects/services/delete.rb +33 -0
- data/lib/labclient/projects/services/list.rb +27 -0
- data/lib/labclient/projects/services/project_service.rb +37 -0
- data/lib/labclient/projects/services/show.rb +27 -0
- data/lib/labclient/projects/services/update.rb +41 -0
- data/lib/labclient/projects/share.rb +56 -0
- data/lib/labclient/projects/show.rb +47 -0
- data/lib/labclient/projects/snapshot.rb +25 -0
- data/lib/labclient/projects/snippets/agent_detail.rb +30 -0
- data/lib/labclient/projects/snippets/client.rb +17 -0
- data/lib/labclient/projects/snippets/content.rb +32 -0
- data/lib/labclient/projects/snippets/create.rb +40 -0
- data/lib/labclient/projects/snippets/delete.rb +26 -0
- data/lib/labclient/projects/snippets/list.rb +20 -0
- data/lib/labclient/projects/snippets/project_snippet.rb +50 -0
- data/lib/labclient/projects/snippets/show.rb +20 -0
- data/lib/labclient/projects/snippets/update.rb +42 -0
- data/lib/labclient/projects/stars/star.rb +49 -0
- data/lib/labclient/projects/stars/starred_projects.rb +51 -0
- data/lib/labclient/projects/stars/starrers.rb +46 -0
- data/lib/labclient/projects/submodule.rb +34 -0
- data/lib/labclient/projects/transfer.rb +27 -0
- data/lib/labclient/projects/triggers/client.rb +17 -0
- data/lib/labclient/projects/triggers/create.rb +37 -0
- data/lib/labclient/projects/triggers/delete.rb +33 -0
- data/lib/labclient/projects/triggers/list.rb +28 -0
- data/lib/labclient/projects/triggers/project_trigger.rb +33 -0
- data/lib/labclient/projects/triggers/show.rb +27 -0
- data/lib/labclient/projects/unarchive.rb +25 -0
- data/lib/labclient/projects/unshare.rb +27 -0
- data/lib/labclient/projects/update.rb +37 -0
- data/lib/labclient/projects/upload.rb +28 -0
- data/lib/labclient/projects/user.rb +52 -0
- data/lib/labclient/projects/users.rb +39 -0
- data/lib/labclient/projects/variables/client.rb +17 -0
- data/lib/labclient/projects/variables/create.rb +49 -0
- data/lib/labclient/projects/variables/delete.rb +33 -0
- data/lib/labclient/projects/variables/list.rb +28 -0
- data/lib/labclient/projects/variables/project_variable.rb +42 -0
- data/lib/labclient/projects/variables/show.rb +27 -0
- data/lib/labclient/projects/variables/update.rb +47 -0
- data/lib/labclient/protected_branches/code_owner_approval.rb +26 -0
- data/lib/labclient/protected_branches/list.rb +35 -0
- data/lib/labclient/protected_branches/protect.rb +49 -0
- data/lib/labclient/protected_branches/show.rb +24 -0
- data/lib/labclient/protected_branches/unprotect.rb +24 -0
- data/lib/labclient/protected_tags/list.rb +29 -0
- data/lib/labclient/protected_tags/protect.rb +44 -0
- data/lib/labclient/protected_tags/show.rb +24 -0
- data/lib/labclient/protected_tags/unprotect.rb +24 -0
- data/lib/labclient/registry/delete.rb +25 -0
- data/lib/labclient/registry/group.rb +33 -0
- data/lib/labclient/registry/list.rb +31 -0
- data/lib/labclient/registry/repository.rb +26 -0
- data/lib/labclient/registry/tags/bulk.rb +30 -0
- data/lib/labclient/registry/tags/delete.rb +27 -0
- data/lib/labclient/registry/tags/details.rb +20 -0
- data/lib/labclient/registry/tags/list.rb +27 -0
- data/lib/labclient/registry/tags/tag.rb +23 -0
- data/lib/labclient/repository/alias.rb +14 -0
- data/lib/labclient/repository/archive.rb +34 -0
- data/lib/labclient/repository/blob.rb +32 -0
- data/lib/labclient/repository/compare.rb +31 -0
- data/lib/labclient/repository/contributors.rb +45 -0
- data/lib/labclient/repository/merge_base.rb +38 -0
- data/lib/labclient/repository/raw_blob.rb +27 -0
- data/lib/labclient/repository/tree.rb +35 -0
- data/lib/labclient/resource_labels/epics/client.rb +9 -0
- data/lib/labclient/resource_labels/epics/list.rb +30 -0
- data/lib/labclient/resource_labels/epics/show.rb +31 -0
- data/lib/labclient/resource_labels/issues/client.rb +9 -0
- data/lib/labclient/resource_labels/issues/list.rb +30 -0
- data/lib/labclient/resource_labels/issues/show.rb +31 -0
- data/lib/labclient/resource_labels/merge_requests/client.rb +9 -0
- data/lib/labclient/resource_labels/merge_requests/list.rb +30 -0
- data/lib/labclient/resource_labels/merge_requests/show.rb +31 -0
- data/lib/labclient/resource_labels/resource_label.rb +22 -0
- data/lib/labclient/runners/all.rb +24 -0
- data/lib/labclient/runners/delete.rb +14 -0
- data/lib/labclient/runners/jobs.rb +25 -0
- data/lib/labclient/runners/list.rb +24 -0
- data/lib/labclient/runners/register.rb +30 -0
- data/lib/labclient/runners/remove.rb +24 -0
- data/lib/labclient/runners/runner.rb +41 -0
- data/lib/labclient/runners/show.rb +16 -0
- data/lib/labclient/runners/update.rb +45 -0
- data/lib/labclient/runners/verify.rb +22 -0
- data/lib/labclient/search/search.rb +18 -0
- data/lib/labclient/snippets/agent_detail.rb +31 -0
- data/lib/labclient/snippets/content.rb +33 -0
- data/lib/labclient/snippets/create.rb +38 -0
- data/lib/labclient/snippets/delete.rb +35 -0
- data/lib/labclient/snippets/list.rb +18 -0
- data/lib/labclient/snippets/public.rb +26 -0
- data/lib/labclient/snippets/show.rb +18 -0
- data/lib/labclient/snippets/snippet.rb +39 -0
- data/lib/labclient/snippets/update.rb +46 -0
- data/lib/labclient/system_hooks/add.rb +33 -0
- data/lib/labclient/system_hooks/delete.rb +23 -0
- data/lib/labclient/system_hooks/list.rb +17 -0
- data/lib/labclient/system_hooks/system_hook.rb +19 -0
- data/lib/labclient/system_hooks/test.rb +25 -0
- data/lib/labclient/tags/create.rb +34 -0
- data/lib/labclient/tags/delete.rb +25 -0
- data/lib/labclient/tags/list.rb +34 -0
- data/lib/labclient/tags/release.rb +27 -0
- data/lib/labclient/tags/show.rb +26 -0
- data/lib/labclient/tags/tag.rb +16 -0
- data/lib/labclient/tags/update.rb +27 -0
- data/lib/labclient/todos/list.rb +36 -0
- data/lib/labclient/todos/mark_all_done.rb +18 -0
- data/lib/labclient/todos/mark_done.rb +29 -0
- data/lib/labclient/todos/todo.rb +22 -0
- data/lib/labclient/users/activate.rb +25 -0
- data/lib/labclient/users/activity.rb +23 -0
- data/lib/labclient/users/block.rb +25 -0
- data/lib/labclient/users/counts.rb +16 -0
- data/lib/labclient/users/create.rb +25 -0
- data/lib/labclient/users/current.rb +28 -0
- data/lib/labclient/users/deactivate.rb +25 -0
- data/lib/labclient/users/delete.rb +28 -0
- data/lib/labclient/users/delete_identity.rb +25 -0
- data/lib/labclient/users/email/client.rb +18 -0
- data/lib/labclient/users/email/create.rb +37 -0
- data/lib/labclient/users/email/delete.rb +33 -0
- data/lib/labclient/users/email/email.rb +11 -0
- data/lib/labclient/users/email/list.rb +33 -0
- data/lib/labclient/users/email/show.rb +17 -0
- data/lib/labclient/users/gpg/client.rb +18 -0
- data/lib/labclient/users/gpg/create.rb +37 -0
- data/lib/labclient/users/gpg/delete.rb +33 -0
- data/lib/labclient/users/gpg/gpg_key.rb +13 -0
- data/lib/labclient/users/gpg/list.rb +33 -0
- data/lib/labclient/users/gpg/show.rb +17 -0
- data/lib/labclient/users/keys/client.rb +18 -0
- data/lib/labclient/users/keys/create.rb +42 -0
- data/lib/labclient/users/keys/delete.rb +33 -0
- data/lib/labclient/users/keys/list.rb +33 -0
- data/lib/labclient/users/keys/show.rb +17 -0
- data/lib/labclient/users/list.rb +64 -0
- data/lib/labclient/users/memberships.rb +34 -0
- data/lib/labclient/users/search.rb +22 -0
- data/lib/labclient/users/show.rb +22 -0
- data/lib/labclient/users/status.rb +26 -0
- data/lib/labclient/users/status_set.rb +23 -0
- data/lib/labclient/users/unblock.rb +25 -0
- data/lib/labclient/users/update.rb +28 -0
- data/lib/labclient/users/user.rb +138 -0
- data/lib/labclient/version/show.rb +18 -0
- data/lib/labclient/version.rb +3 -0
- data/lib/labclient/wikis/create.rb +33 -0
- data/lib/labclient/wikis/delete.rb +32 -0
- data/lib/labclient/wikis/list.rb +26 -0
- data/lib/labclient/wikis/show.rb +25 -0
- data/lib/labclient/wikis/update.rb +42 -0
- data/lib/labclient/wikis/upload.rb +27 -0
- data/lib/labclient/wikis/wiki.rb +40 -0
- data/lib/labclient.rb +843 -0
- metadata +880 -0
@@ -0,0 +1,157 @@
|
|
1
|
+
# Top Namespace
|
2
|
+
module LabClient
|
3
|
+
# API Specifics
|
4
|
+
class Client
|
5
|
+
# include HTTParty
|
6
|
+
attr_accessor :settings, :resp, :klass, :link, :http
|
7
|
+
|
8
|
+
def inspect
|
9
|
+
"#<LabClient::Client url: \"#{@settings[:url]}\">"
|
10
|
+
end
|
11
|
+
|
12
|
+
# Helper to make subclasses directly accessible
|
13
|
+
def subclasses
|
14
|
+
self.class.instance_variable_get(:@subclasses)
|
15
|
+
end
|
16
|
+
|
17
|
+
# ----------
|
18
|
+
# Alias List
|
19
|
+
# approvals == merge_request_approvals
|
20
|
+
# repo == repository
|
21
|
+
# ----------
|
22
|
+
@subclasses = {
|
23
|
+
appearance: Appearances,
|
24
|
+
application_settings: ApplicationSettings,
|
25
|
+
application_statistics: ApplicationStatistics,
|
26
|
+
applications: Applications,
|
27
|
+
approvals: Approvals,
|
28
|
+
audit_events: AuditEvents,
|
29
|
+
avatar: Avatars,
|
30
|
+
awards: Awards,
|
31
|
+
branches: Branches,
|
32
|
+
broadcast_messages: BroadcastMessages,
|
33
|
+
ci_lint: CiLint,
|
34
|
+
commits: Commits,
|
35
|
+
deploy_keys: DeployKeys,
|
36
|
+
discussions: Discussions,
|
37
|
+
epics: Epics,
|
38
|
+
events: Events,
|
39
|
+
files: Files,
|
40
|
+
groups: Groups,
|
41
|
+
impersonation_tokens: ImpersonationTokens,
|
42
|
+
issues: Issues,
|
43
|
+
jobs: Jobs,
|
44
|
+
keys: Keys,
|
45
|
+
license: Licenses,
|
46
|
+
markdown: Markdown,
|
47
|
+
members: Members,
|
48
|
+
merge_request_approvals: Approvals,
|
49
|
+
merge_requests: MergeRequests,
|
50
|
+
namespaces: Namespaces,
|
51
|
+
notes: Notes,
|
52
|
+
notifications: Notifications,
|
53
|
+
pipelines: Pipelines,
|
54
|
+
project_runners: ProjectRunners,
|
55
|
+
projects: Projects,
|
56
|
+
protected_branches: ProtectedBranches,
|
57
|
+
protected_tags: ProtectedTags,
|
58
|
+
registry: Registry,
|
59
|
+
repo: Repositories,
|
60
|
+
repository: Repositories,
|
61
|
+
resource_labels: ResourceLabels,
|
62
|
+
runners: Runners,
|
63
|
+
snippets: Snippets,
|
64
|
+
system_hooks: SystemHooks,
|
65
|
+
tags: Tags,
|
66
|
+
todos: Todos,
|
67
|
+
users: Users,
|
68
|
+
version: Version,
|
69
|
+
wikis: Wikis
|
70
|
+
}
|
71
|
+
|
72
|
+
@subclasses.each do |name, obj|
|
73
|
+
define_method(name) do
|
74
|
+
obj.new(self)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def api_methods
|
79
|
+
subclasses.keys.sort
|
80
|
+
end
|
81
|
+
|
82
|
+
def help
|
83
|
+
puts 'Available Methods'
|
84
|
+
puts " - #{subclasses.keys.sort.join(' ')}\n\n"
|
85
|
+
puts "See help for each specific sub-category\n"
|
86
|
+
puts "- client.users.help\n"
|
87
|
+
puts "- client.users.api_methods\n"
|
88
|
+
|
89
|
+
nil
|
90
|
+
end
|
91
|
+
|
92
|
+
# Default setup, pull in settings
|
93
|
+
def initialize(settings = nil)
|
94
|
+
@settings = settings
|
95
|
+
@settings ||= fill_configuration
|
96
|
+
|
97
|
+
# Set Unspecified Defaults
|
98
|
+
unspecified_defaults
|
99
|
+
|
100
|
+
raise 'LabClient Error - Missing URL!' if @settings[:url].nil?
|
101
|
+
|
102
|
+
self.http = HTTP.new(@settings)
|
103
|
+
end
|
104
|
+
|
105
|
+
def unspecified_defaults
|
106
|
+
@settings[:paginate] = true if @settings[:paginate].nil?
|
107
|
+
@settings[:ssl_verify] = true if @settings[:ssl_verify].nil?
|
108
|
+
end
|
109
|
+
|
110
|
+
def home_file
|
111
|
+
ENV['HOME'] + '/.gitlab-labclient'
|
112
|
+
end
|
113
|
+
|
114
|
+
def fill_configuration
|
115
|
+
if File.exist? home_file
|
116
|
+
Oj.load_file(home_file, { symbol_keys: true })
|
117
|
+
else
|
118
|
+
{
|
119
|
+
url: ENV['LABCLIENT_URL'],
|
120
|
+
token: ENV['LABCLIENT_TOKEN']
|
121
|
+
}
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
def request(method, path, klass = nil, body = {}, dump_json = true)
|
126
|
+
@klass = klass
|
127
|
+
|
128
|
+
resp = http.request(method, path, body, dump_json)
|
129
|
+
|
130
|
+
raise LabClient::Error.new(resp), resp.friendly_error unless resp.success?
|
131
|
+
|
132
|
+
# Drop in raw path
|
133
|
+
resp.instance_variable_set(:@path, path)
|
134
|
+
|
135
|
+
process resp
|
136
|
+
rescue LabClient::Error => e
|
137
|
+
puts e.message
|
138
|
+
resp
|
139
|
+
end
|
140
|
+
|
141
|
+
# Assume we want OpenStruct if @klass is ever nil
|
142
|
+
def process(resp)
|
143
|
+
case resp.data
|
144
|
+
when OpenStruct
|
145
|
+
klass ? klass.new(resp.data, resp, self) : resp.data
|
146
|
+
when Array
|
147
|
+
if @klass.nil?
|
148
|
+
resp.data
|
149
|
+
else
|
150
|
+
PaginatedResponse.new(@klass, resp, self)
|
151
|
+
end
|
152
|
+
else
|
153
|
+
resp.data
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Specifics
|
4
|
+
class Commits < Common
|
5
|
+
doc 'Cherry Pick' do
|
6
|
+
desc 'Cherry picks a commit to a target branch. [Project ID, Commit ID, Target Branch]'
|
7
|
+
example <<~DOC
|
8
|
+
client.commits.cherry_pick(16, '92c2b96b', 'master')
|
9
|
+
DOC
|
10
|
+
|
11
|
+
result <<~DOC
|
12
|
+
=> #<Commit title: Update bar, sha: 1e64f40c>
|
13
|
+
DOC
|
14
|
+
end
|
15
|
+
|
16
|
+
doc 'Cherry Pick' do
|
17
|
+
desc 'Via Commit'
|
18
|
+
example <<~DOC
|
19
|
+
commit = client.commits.show(16, 'a0550a65')
|
20
|
+
commit.cherry_pick('new_branch')
|
21
|
+
DOC
|
22
|
+
end
|
23
|
+
|
24
|
+
doc 'Cherry Pick' do
|
25
|
+
desc 'Via Project'
|
26
|
+
example <<~DOC
|
27
|
+
project = client.projects.show(16)
|
28
|
+
project.commit_cherry_pick('a0550a65', 'target_branch)
|
29
|
+
DOC
|
30
|
+
end
|
31
|
+
|
32
|
+
def cherry_pick(project_id, commit_id, branch_name)
|
33
|
+
project_id = format_id(project_id)
|
34
|
+
commit_id = format_id(commit_id)
|
35
|
+
branch_name = format_id(branch_name)
|
36
|
+
|
37
|
+
client.request(:post, "projects/#{project_id}/repository/commits/#{commit_id}/cherry_pick", Commit, { branch: branch_name })
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Specifics
|
4
|
+
class Commits < Common
|
5
|
+
doc 'Comments' do
|
6
|
+
title 'Create'
|
7
|
+
desc 'Post comment to commit. [Project ID, Commit ID, Hash]'
|
8
|
+
example <<~DOC
|
9
|
+
client.commits.comment_create(16, '04d8c6be', note: 'hi there!')
|
10
|
+
DOC
|
11
|
+
|
12
|
+
result <<~DOC
|
13
|
+
=> [#<CommitComment title: another!>]
|
14
|
+
DOC
|
15
|
+
|
16
|
+
markdown <<~DOC
|
17
|
+
|
18
|
+
|
19
|
+
In order to post a comment in a particular line of a particular file, you must
|
20
|
+
specify the full commit SHA, the `path`, the `line` and `line_type` should be
|
21
|
+
`new`.
|
22
|
+
|
23
|
+
The comment will be added at the end of the last commit if at least one of the
|
24
|
+
cases below is valid:
|
25
|
+
|
26
|
+
- the `sha` is instead a branch or a tag and the `line` or `path` are invalid
|
27
|
+
- the `line` number is invalid (does not exist)
|
28
|
+
- the `path` is invalid (does not exist)
|
29
|
+
|
30
|
+
In any of the above cases, the response of `line`, `line_type` and `path` is
|
31
|
+
set to `null`.
|
32
|
+
|
33
|
+
|
34
|
+
| Attribute | Type | Required | Description |
|
35
|
+
| --------- | ---- | -------- | ----------- |
|
36
|
+
| note | string | yes | The text of the comment |
|
37
|
+
| path | string | no | The file path relative to the repository |
|
38
|
+
| line | integer | no | The line number where the comment should be placed |
|
39
|
+
| line_type | string | no | The line type. Takes new or old as arguments |
|
40
|
+
|
41
|
+
DOC
|
42
|
+
end
|
43
|
+
|
44
|
+
doc 'Comments' do
|
45
|
+
desc 'Via Commit'
|
46
|
+
example <<~DOC
|
47
|
+
commit = client.commits.show(16,)
|
48
|
+
commit.comments
|
49
|
+
DOC
|
50
|
+
end
|
51
|
+
|
52
|
+
doc 'Comments' do
|
53
|
+
desc 'Via Project'
|
54
|
+
example <<~DOC
|
55
|
+
project = client.projects.show(16)
|
56
|
+
project.commit_comments('a0550a65')
|
57
|
+
DOC
|
58
|
+
end
|
59
|
+
|
60
|
+
def comment_create(project_id, commit_id, query)
|
61
|
+
project_id = format_id(project_id)
|
62
|
+
commit_id = format_id(commit_id)
|
63
|
+
|
64
|
+
client.request(:post, "projects/#{project_id}/repository/commits/#{commit_id}/comments", CommitComment, query)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Specifics
|
4
|
+
class Commits < Common
|
5
|
+
doc 'Comments' do
|
6
|
+
desc 'Get the comments of a commit in a project. [Project ID, Commit ID]'
|
7
|
+
example <<~DOC
|
8
|
+
client.commits.comments(16, '92c2b96b')
|
9
|
+
DOC
|
10
|
+
|
11
|
+
result <<~DOC
|
12
|
+
=> [#<CommitComment title: another!>]
|
13
|
+
DOC
|
14
|
+
end
|
15
|
+
|
16
|
+
doc 'Comments' do
|
17
|
+
desc 'Via Commit'
|
18
|
+
example <<~DOC
|
19
|
+
commit = client.commits.show(16,)
|
20
|
+
commit.comments
|
21
|
+
DOC
|
22
|
+
end
|
23
|
+
|
24
|
+
doc 'Comments' do
|
25
|
+
desc 'Via Project'
|
26
|
+
example <<~DOC
|
27
|
+
project = client.projects.show(16)
|
28
|
+
project.commit_comments('a0550a65')
|
29
|
+
DOC
|
30
|
+
end
|
31
|
+
|
32
|
+
def comments(project_id, commit_id)
|
33
|
+
project_id = format_id(project_id)
|
34
|
+
commit_id = format_id(commit_id)
|
35
|
+
|
36
|
+
client.request(:get, "projects/#{project_id}/repository/commits/#{commit_id}/comments", CommitComment)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Inspect Helper
|
4
|
+
class Commit < Klass
|
5
|
+
include ClassHelpers
|
6
|
+
|
7
|
+
def inspect
|
8
|
+
"#<Commit title: #{title}, sha: #{short_id}>"
|
9
|
+
end
|
10
|
+
|
11
|
+
def refs(scope = :all)
|
12
|
+
# If from List Project ID isn't stored
|
13
|
+
project_id = collect_project_id if project_id.nil?
|
14
|
+
|
15
|
+
client.commits.refs(project_id, id, scope)
|
16
|
+
end
|
17
|
+
|
18
|
+
def cherry_pick(branch_name)
|
19
|
+
# If from List Project ID isn't stored
|
20
|
+
project_id = collect_project_id if project_id.nil?
|
21
|
+
|
22
|
+
client.commits.cherry_pick(project_id, id, branch_name)
|
23
|
+
end
|
24
|
+
|
25
|
+
def revert(branch_name)
|
26
|
+
# If from List Project ID isn't stored
|
27
|
+
project_id = collect_project_id if project_id.nil?
|
28
|
+
|
29
|
+
client.commits.revert(project_id, id, branch_name)
|
30
|
+
end
|
31
|
+
|
32
|
+
def diff
|
33
|
+
# If from List Project ID isn't stored
|
34
|
+
project_id = collect_project_id if project_id.nil?
|
35
|
+
|
36
|
+
client.commits.diff(project_id, id)
|
37
|
+
end
|
38
|
+
|
39
|
+
def merge_requests
|
40
|
+
# If from List Project ID isn't stored
|
41
|
+
project_id = collect_project_id if project_id.nil?
|
42
|
+
|
43
|
+
client.commits.merge_requests(project_id, id)
|
44
|
+
end
|
45
|
+
|
46
|
+
def comments
|
47
|
+
# If from List Project ID isn't stored
|
48
|
+
project_id = collect_project_id if project_id.nil?
|
49
|
+
|
50
|
+
client.commits.comments(project_id, id)
|
51
|
+
end
|
52
|
+
|
53
|
+
def comment(query)
|
54
|
+
# If from List Project ID isn't stored
|
55
|
+
project_id = collect_project_id if project_id.nil?
|
56
|
+
|
57
|
+
client.commits.comment_create(project_id, id, query)
|
58
|
+
end
|
59
|
+
|
60
|
+
def project
|
61
|
+
# If from List Project ID isn't stored
|
62
|
+
project_id = collect_project_id if project_id.nil?
|
63
|
+
|
64
|
+
client.projects.show(project_id)
|
65
|
+
end
|
66
|
+
|
67
|
+
def web_url
|
68
|
+
"#{project.web_url}/-/commit/#{id}"
|
69
|
+
end
|
70
|
+
|
71
|
+
def status(query = {})
|
72
|
+
# If from List Project ID isn't stored
|
73
|
+
project_id = collect_project_id if project_id.nil?
|
74
|
+
|
75
|
+
client.commits.status(project_id, id, query)
|
76
|
+
end
|
77
|
+
|
78
|
+
def status_update(query = {})
|
79
|
+
# If from List Project ID isn't stored
|
80
|
+
project_id = collect_project_id if project_id.nil?
|
81
|
+
|
82
|
+
client.commits.status_update(project_id, id, query)
|
83
|
+
end
|
84
|
+
|
85
|
+
date_time_attrs %i[committed_date authored_date created_at]
|
86
|
+
|
87
|
+
help do
|
88
|
+
subtitle 'Commit'
|
89
|
+
option 'refs', 'Get all references'
|
90
|
+
option 'cherry_pick', 'Cherry picks a commit to a target branch [Target Branch]'
|
91
|
+
option 'revert', 'Reverts a commit in a given branch [Target Branch]'
|
92
|
+
option 'diff', 'Get the diff'
|
93
|
+
option 'project', 'Show Commit Project'
|
94
|
+
option 'web_url', 'Generate project/web_url'
|
95
|
+
option 'comments', 'Get comments'
|
96
|
+
option 'comment', 'Create new comment [Hash]'
|
97
|
+
option 'status', 'List the statuses [Hash]'
|
98
|
+
option 'status_update', 'Adds or updates a build status [Hash]'
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Specifics
|
4
|
+
class Commits < Common
|
5
|
+
doc 'Create' do
|
6
|
+
desc 'Create a commit with multiple files and actions. [Project ID, Hash]'
|
7
|
+
example <<~DOC
|
8
|
+
payload = {
|
9
|
+
actions: [
|
10
|
+
{
|
11
|
+
action: 'create',
|
12
|
+
content: 'some content',
|
13
|
+
file_path: 'foo/bar'
|
14
|
+
}
|
15
|
+
],
|
16
|
+
branch: 'master',
|
17
|
+
commit_message: 'some commit message'
|
18
|
+
}
|
19
|
+
|
20
|
+
|
21
|
+
client.commits.create(16, payload)
|
22
|
+
DOC
|
23
|
+
|
24
|
+
result <<~DOC
|
25
|
+
=> #<Commit title: some commit message, sha: a0550a65>
|
26
|
+
DOC
|
27
|
+
|
28
|
+
markdown <<~DOC
|
29
|
+
| Attribute | Type | Required | Description |
|
30
|
+
| --------- | ---- | -------- | ----------- |
|
31
|
+
| id | integer/string | yes | The ID or [URL-encoded path of the project|
|
32
|
+
| branch | string | yes | Name of the branch to commit into. To create a new branch, also provide either start_branch or start_sha, and optionally start_project. |
|
33
|
+
| commit_message | string | yes | Commit message |
|
34
|
+
| start_branch | string | no | Name of the branch to start the new branch from |
|
35
|
+
| start_sha | string | no | SHA of the commit to start the new branch from |
|
36
|
+
| start_project | integer/string | no | The project ID or URL-encoded path of the project to start the new branch from. Defaults to the value of id. |
|
37
|
+
| actions[] | array | yes | An array of action hashes to commit as a batch. See the next table for what attributes it can take. |
|
38
|
+
| author_email | string | no | Specify the commit author's email address |
|
39
|
+
| author_name | string | no | Specify the commit author's name |
|
40
|
+
| stats | boolean | no | Include commit stats. Default is true |
|
41
|
+
| force | boolean | no | When true overwrites the target branch with a new commit based on the start_branch or start_sha |
|
42
|
+
|
43
|
+
##### Actions
|
44
|
+
|
45
|
+
| Attribute | Type | Required | Description |
|
46
|
+
| --------------------- | ---- | -------- | ----------- |
|
47
|
+
| action | string | yes | The action to perform, create, delete, move, update, chmod|
|
48
|
+
| file_path | string | yes | Full path to the file. Ex. lib/class.rb |
|
49
|
+
| previous_path | string | no | Original full path to the file being moved. Ex. lib/class1.rb. Only considered for move action. |
|
50
|
+
| content | string | no | File content, required for all except delete, chmod, and move. Move actions that do not specify content will preserve the existing file content, and any other value of content will overwrite the file content. |
|
51
|
+
| encoding | string | no | text or base64. text is default. |
|
52
|
+
| last_commit_id | string | no | Last known file commit id. Will be only considered in update, move and delete actions. |
|
53
|
+
| execute_filemode | boolean | no | When true/false enables/disables the execute flag on the file. Only considered for chmod action. |
|
54
|
+
DOC
|
55
|
+
end
|
56
|
+
|
57
|
+
doc 'Create' do
|
58
|
+
desc 'Via Project'
|
59
|
+
example <<~DOC
|
60
|
+
payload = {
|
61
|
+
actions: [
|
62
|
+
{
|
63
|
+
action: 'create',
|
64
|
+
content: 'some content',
|
65
|
+
file_path: 'foo/bar'
|
66
|
+
}
|
67
|
+
],
|
68
|
+
branch: 'master',
|
69
|
+
commit_message: 'some commit message'
|
70
|
+
}
|
71
|
+
|
72
|
+
project = client.projects.show(16)
|
73
|
+
project.commit_create(payload)
|
74
|
+
DOC
|
75
|
+
end
|
76
|
+
|
77
|
+
def create(project_id, query = {})
|
78
|
+
project_id = format_id(project_id)
|
79
|
+
|
80
|
+
client.request(:post, "projects/#{project_id}/repository/commits", Commit, query)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Specifics
|
4
|
+
class Commits < Common
|
5
|
+
doc 'Diff' do
|
6
|
+
desc 'Diffs a commit in a given branch. [Project ID, Commit ID]'
|
7
|
+
example <<~DOC
|
8
|
+
client.commits.diff(16, '92c2b96b')
|
9
|
+
DOC
|
10
|
+
|
11
|
+
result <<~DOC
|
12
|
+
=> #<Commit title: Update bar, sha: 1e64f40c>
|
13
|
+
DOC
|
14
|
+
end
|
15
|
+
|
16
|
+
doc 'Diff' do
|
17
|
+
desc 'Via Commit'
|
18
|
+
example <<~DOC
|
19
|
+
commit = client.commits.show(16,)
|
20
|
+
commit.diff('new_branch')
|
21
|
+
DOC
|
22
|
+
end
|
23
|
+
|
24
|
+
doc 'Diff' do
|
25
|
+
desc 'Via Project'
|
26
|
+
example <<~DOC
|
27
|
+
project = client.projects.show(16)
|
28
|
+
project.commit_diff('a0550a65')
|
29
|
+
DOC
|
30
|
+
end
|
31
|
+
|
32
|
+
def diff(project_id, commit_id)
|
33
|
+
project_id = format_id(project_id)
|
34
|
+
commit_id = format_id(commit_id)
|
35
|
+
|
36
|
+
client.request(:get, "projects/#{project_id}/repository/commits/#{commit_id}/diff", CommitDiff)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Specifics
|
4
|
+
class Commits < Common
|
5
|
+
doc 'List' do
|
6
|
+
desc 'List repository commits. [Project ID, Hash]'
|
7
|
+
example 'client.commits.list(16)'
|
8
|
+
result <<~DOC
|
9
|
+
=> [#<Commit title: Update README.md, sha: ae5cd273>, #<Commit title: Add README.md, sha: 04d8c6be>]
|
10
|
+
DOC
|
11
|
+
|
12
|
+
markdown <<~DOC
|
13
|
+
| Attribute | Type | Required | Description |
|
14
|
+
| --------- | ---- | -------- | ----------- |
|
15
|
+
| ref_name | string | no | The name of a repository branch, tag or revision range, or if not given the default branch |
|
16
|
+
| since | string | no | Only commits after or on this date will be returned in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ |
|
17
|
+
| until | string | no | Only commits before or on this date will be returned in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ |
|
18
|
+
| path | string | no | The file path |
|
19
|
+
| all | boolean | no | Retrieve every commit from the repository |
|
20
|
+
| with_stats | boolean | no | Stats about each commit will be added to the response |
|
21
|
+
| first_parent | boolean | no | Follow only the first parent commit upon seeing a merge commit |
|
22
|
+
| order | string | no | List commits in order. Possible values: default, [topo](https://git-scm.com/docs/git-log#Documentation/git-log.txt---topo-order). Defaults to default, the commits are shown in reverse chronological order. |
|
23
|
+
DOC
|
24
|
+
end
|
25
|
+
|
26
|
+
doc 'List' do
|
27
|
+
desc 'Filter by ref_name'
|
28
|
+
example 'client.commits.list(16, ref_name: :master)'
|
29
|
+
end
|
30
|
+
|
31
|
+
doc 'List' do
|
32
|
+
desc 'Via Project'
|
33
|
+
example <<~DOC
|
34
|
+
project = client.projects.show(16)
|
35
|
+
project.commits
|
36
|
+
DOC
|
37
|
+
end
|
38
|
+
|
39
|
+
doc 'List' do
|
40
|
+
desc 'Since with Time Helper'
|
41
|
+
example 'client.commits.list(315, since: 1.month.ago)'
|
42
|
+
end
|
43
|
+
|
44
|
+
def list(project_id, query = {})
|
45
|
+
project_id = format_id(project_id)
|
46
|
+
|
47
|
+
%i[since until].each do |field|
|
48
|
+
query[field] = query[field].to_time.iso8601 if format_time?(query[field])
|
49
|
+
end
|
50
|
+
|
51
|
+
client.request(:get, "projects/#{project_id}/repository/commits", Commit, query)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Specifics
|
4
|
+
class Commits < Common
|
5
|
+
doc 'Show' do
|
6
|
+
title 'Merge Requests'
|
7
|
+
desc 'Get a list of Merge Requests related to the specified commit. [Project ID, Commit ID]'
|
8
|
+
example <<~DOC
|
9
|
+
client.commits.merge_requests(16, 'a0550a65')
|
10
|
+
DOC
|
11
|
+
|
12
|
+
result <<~DOC
|
13
|
+
=> [#<MergeRequest id: 12, title: Update README.md, state: opened>]
|
14
|
+
DOC
|
15
|
+
end
|
16
|
+
|
17
|
+
doc 'Show' do
|
18
|
+
desc 'Via Commit'
|
19
|
+
example <<~DOC
|
20
|
+
commit = client.commits.show(16, 'a0550a65')
|
21
|
+
commit.merge_requests
|
22
|
+
DOC
|
23
|
+
end
|
24
|
+
|
25
|
+
doc 'Show' do
|
26
|
+
desc 'Via Project'
|
27
|
+
example <<~DOC
|
28
|
+
project = client.projects.show(16)
|
29
|
+
project.commit_merge_requests('a0550a65')
|
30
|
+
DOC
|
31
|
+
end
|
32
|
+
|
33
|
+
def merge_requests(project_id, commit_id)
|
34
|
+
project_id = format_id(project_id)
|
35
|
+
commit_id = format_id(commit_id)
|
36
|
+
|
37
|
+
client.request(:get, "projects/#{project_id}/repository/commits/#{commit_id}/merge_requests", MergeRequest)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# Top namespace
|
2
|
+
module LabClient
|
3
|
+
# Helper Methods for Projects
|
4
|
+
module ProjectCommits
|
5
|
+
def commits(query = {})
|
6
|
+
client.commits.list(id, query)
|
7
|
+
end
|
8
|
+
|
9
|
+
def commit_create(query = {})
|
10
|
+
client.commits.create(id, query)
|
11
|
+
end
|
12
|
+
|
13
|
+
def commit_refs(commit_id, scope = :all)
|
14
|
+
client.commits.refs(id, commit_id, scope)
|
15
|
+
end
|
16
|
+
|
17
|
+
def commit_cherry_pick(commit_id, branch_name)
|
18
|
+
client.commits.cherry_pick(id, commit_id, branch_name)
|
19
|
+
end
|
20
|
+
|
21
|
+
def commit_revert(commit_id, branch_name)
|
22
|
+
client.commits.revert(id, commit_id, branch_name)
|
23
|
+
end
|
24
|
+
|
25
|
+
def commit_diff(commit_id)
|
26
|
+
client.commits.diff(id, commit_id)
|
27
|
+
end
|
28
|
+
|
29
|
+
def commit_comments(commit_id)
|
30
|
+
client.commits.comments(id, commit_id)
|
31
|
+
end
|
32
|
+
|
33
|
+
def commit_comment_create(commit_id, query)
|
34
|
+
client.commits.comment_create(id, commit_id, query)
|
35
|
+
end
|
36
|
+
|
37
|
+
def commit_merge_requests(commit_id)
|
38
|
+
client.commits.merge_requests(id, commit_id)
|
39
|
+
end
|
40
|
+
|
41
|
+
def commit_status(commit_id, query = {})
|
42
|
+
client.commits.status(id, commit_id, query)
|
43
|
+
end
|
44
|
+
|
45
|
+
def commit_status_update(commit_id, query = {})
|
46
|
+
client.commits.status_update(id, commit_id, query)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|