GitLab::API::v4(3pm) | User Contributed Perl Documentation | GitLab::API::v4(3pm) |
NAME
GitLab::API::v4 - A complete GitLab API v4 client.
SYNOPSIS
use GitLab::API::v4; my $api = GitLab::API::v4->new( url => $v4_api_url, private_token => $token, ); my $branches = $api->branches( $project_id );
DESCRIPTION
This module provides a one-to-one interface with the GitLab API v4. Much is not documented here as it would just be duplicating GitLab's own API Documentation <http://doc.gitlab.com/ce/api/README.html>.
Note that this distribution also includes the gitlab-api-v4 command-line interface (CLI).
Upgrading
If you are upgrading from GitLab::API::v3 make sure you read:
<https://docs.gitlab.com/ce/api/v3_to_v4.html>
Also, review the "Changes" file included in the distribution as it outlines the changes made to convert the v3 module to v4:
<https://github.com/bluefeet/GitLab-API-v4/blob/master/Changes>
Finally, be aware that many methods were added, removed, renamed, and/or altered. If you want to review exactly what was changed you can use GitHub's compare tool:
<https://github.com/bluefeet/GitLab-API-v4/compare/72e384775c9570f60f8ef68dee3a1eecd347fb69...master>
Or clone the repo and run this command:
"git diff 72e384775c9570f60f8ef68dee3a1eecd347fb69..HEAD -- author/sections/"
Credentials
Authentication credentials may be defined by setting either the "access_token" or "private_token" arguments.
If no credentials are supplied then the client will be anonymous and greatly limited in what it can do with the API.
Extra care has been taken to hide the token arguments behind closures. This way, if you dump your api object, your tokens won't accidentally leak into places you don't want them to.
Constants
The GitLab API, in rare cases, uses a hard-coded value to represent a state. To make life easier the GitLab::API::v4::Constants module exposes these states as named variables.
Exceptions
The API methods will all throw a useful exception if an unsuccessful response is received from the API. That is except for "GET" requests that return a 404 response - these will return "undef" for methods that return a value.
If you'd like to catch and handle these exceptions consider using Try::Tiny.
Logging
This module uses Log::Any and produces some debug messages here and there, but the most useful bits are the info messages produced just before each API call.
Project ID
Note that many API calls require a $project_id. This can be specified as a numeric project "ID" or, in many cases, maybe all cases, as a "NAMESPACE_PATH/PROJECT_PATH" string. The GitLab documentation on this point is vague.
REQUIRED ARGUMENTS
url
The URL to your v4 API endpoint. Typically this will be something like "https://git.example.com/api/v4".
OPTIONAL ARGUMENTS
access_token
A GitLab API OAuth2 token. If set then "private_token" may not be set.
See <https://docs.gitlab.com/ce/api/#oauth2-tokens>.
private_token
A GitLab API personal token. If set then "access_token" may not be set.
See <https://docs.gitlab.com/ce/api/#personal-access-tokens>.
retries
The number of times the request should be retried in case it fails (5XX HTTP response code). Defaults to 0 (false), meaning that a failed request will not be retried.
sudo_user
The user to execute API calls as. You may find it more useful to use the "sudo" method instead.
See <https://docs.gitlab.com/ce/api/#sudo>.
rest_client
An instance of GitLab::API::v4::RESTClient (or whatever "rest_client_class" is set to). Typically you will not be setting this as it defaults to a new instance and customization should not be necessary.
rest_client_class
The class to use when constructing the "rest_client". Defaults to GitLab::API::v4::RESTClient.
UTILITY METHODS
paginator
my $paginator = $api->paginator( $method, @method_args ); my $members = $api->paginator('group_members', $group_id); while (my $member = $members->next()) { ... } my $users_pager = $api->paginator('users'); while (my $users = $users_pager->next_page()) { ... } my $all_open_issues = $api->paginator( 'issues', $project_id, { state=>'opened' }, )->all();
Given a method who supports the "page" and "per_page" parameters, and returns an array ref, this will return a GitLab::API::v4::Paginator object that will allow you to walk the records one page or one record at a time.
sudo
$api->sudo('fred')->create_issue(...);
Returns a new instance of GitLab::API::v4 with the "sudo_user" argument set.
See <https://docs.gitlab.com/ce/api/#sudo>.
API METHODS
Award Emoji
See <https://docs.gitlab.com/ce/api/award_emoji.html>.
- issue_award_emojis
-
my $award_emojis = $api->issue_award_emojis( $project_id, $issue_iid, \%params, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/award_emoji" and returns the decoded response content.
- merge_request_award_emojis
-
my $award_emojis = $api->merge_request_award_emojis( $project_id, $merge_request_iid, \%params, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/award_emoji" and returns the decoded response content.
- snippet_award_emojis
-
my $award_emojis = $api->snippet_award_emojis( $project_id, $merge_request_id, \%params, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_id/award_emoji" and returns the decoded response content.
- issue_award_emoji
-
my $award_emoji = $api->issue_award_emoji( $project_id, $issue_iid, $award_id, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/award_emoji/:award_id" and returns the decoded response content.
- merge_request_award_emoji
-
my $award_emoji = $api->merge_request_award_emoji( $project_id, $merge_request_iid, $award_id, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/award_emoji/:award_id" and returns the decoded response content.
- snippet_award_emoji
-
my $award_emoji = $api->snippet_award_emoji( $project_id, $snippet_id, $award_id, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id/award_emoji/:award_id" and returns the decoded response content.
- create_issue_award_emoji
-
my $award_emoji = $api->create_issue_award_emoji( $project_id, $issue_iid, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/award_emoji" and returns the decoded response content.
- create_merge_request_award_emoji
-
my $award_emoji = $api->create_merge_request_award_emoji( $project_id, $merge_request_iid, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/award_emoji" and returns the decoded response content.
- create_snippet_award_emoji
-
my $award_emoji = $api->create_snippet_award_emoji( $project_id, $snippet_id, );
Sends a "POST" request to "projects/:project_id/snippets/:snippet_id/award_emoji" and returns the decoded response content.
- delete_issue_award_emoji
-
my $award_emoji = $api->delete_issue_award_emoji( $project_id, $issue_id, $award_id, );
Sends a "DELETE" request to "projects/:project_id/issues/:issue_id/award_emoji/:award_id" and returns the decoded response content.
- delete_merge_request_award_emoji
-
my $award_emoji = $api->delete_merge_request_award_emoji( $project_id, $merge_request_id, $award_id, );
Sends a "DELETE" request to "projects/:project_id/merge_requests/:merge_request_id/award_emoji/:award_id" and returns the decoded response content.
- delete_snippet_award_emoji
-
my $award_emoji = $api->delete_snippet_award_emoji( $project_id, $snippet_id, $award_id, );
Sends a "DELETE" request to "projects/:project_id/snippets/:snippet_id/award_emoji/:award_id" and returns the decoded response content.
- issue_note_award_emojis
-
my $award_emojis = $api->issue_note_award_emojis( $project_id, $issue_iid, $note_id, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji" and returns the decoded response content.
- issue_note_award_emoji
-
my $award_emoji = $api->issue_note_award_emoji( $project_id, $issue_iid, $note_id, $award_id, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id" and returns the decoded response content.
- create_issue_note_award_emoji
-
my $award_emoji = $api->create_issue_note_award_emoji( $project_id, $issue_iid, $note_id, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji" and returns the decoded response content.
- delete_issue_note_award_emoji
-
my $award_emoji = $api->delete_issue_note_award_emoji( $project_id, $issue_iid, $note_id, $award_id, );
Sends a "DELETE" request to "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id" and returns the decoded response content.
- merge_request_note_award_emojis
-
my $award_emojis = $api->merge_request_note_award_emojis( $project_id, $merge_request_iid, $note_id, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji" and returns the decoded response content.
- merge_request_note_award_emoji
-
my $award_emoji = $api->merge_request_note_award_emoji( $project_id, $merge_request_iid, $note_id, $award_id, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji/:award_id" and returns the decoded response content.
- create_merge_request_note_award_emoji
-
my $award_emoji = $api->create_merge_request_note_award_emoji( $project_id, $merge_request_iid, $note_id, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji" and returns the decoded response content.
- delete_merge_request_note_award_emoji
-
my $award_emoji = $api->delete_merge_request_note_award_emoji( $project_id, $merge_request_iid, $note_id, $award_id, );
Sends a "DELETE" request to "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji/:award_id" and returns the decoded response content.
Branches
See <https://docs.gitlab.com/ce/api/branches.html>.
- branches
-
my $branches = $api->branches( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/repository/branches" and returns the decoded response content.
- branch
-
my $branch = $api->branch( $project_id, $branch_name, );
Sends a "GET" request to "projects/:project_id/repository/branches/:branch_name" and returns the decoded response content.
- create_branch
-
my $branch = $api->create_branch( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/repository/branches" and returns the decoded response content.
- delete_branch
-
$api->delete_branch( $project_id, $branch_name, );
Sends a "DELETE" request to "projects/:project_id/repository/branches/:branch_name".
- delete_merged_branches
-
$api->delete_merged_branches( $project_id, );
Sends a "DELETE" request to "projects/:project_id/repository/merged_branches".
Broadcast Messages
See <https://docs.gitlab.com/ce/api/broadcast_messages.html>.
- broadcast_messages
-
my $messages = $api->broadcast_messages( \%params, );
Sends a "GET" request to "broadcast_messages" and returns the decoded response content.
- broadcast_message
-
my $message = $api->broadcast_message( $message_id, );
Sends a "GET" request to "broadcast_messages/:message_id" and returns the decoded response content.
- create_broadcast_message
-
my $message = $api->create_broadcast_message( \%params, );
Sends a "POST" request to "broadcast_messages" and returns the decoded response content.
- edit_broadcast_message
-
my $message = $api->edit_broadcast_message( $message_id, \%params, );
Sends a "PUT" request to "broadcast_messages/:message_id" and returns the decoded response content.
- delete_broadcast_message
-
$api->delete_broadcast_message( $message_id, );
Sends a "DELETE" request to "broadcast_messages/:message_id".
Project-level Variables
See <https://docs.gitlab.com/ce/api/project_level_variables.html>.
- project_variables
-
my $variables = $api->project_variables( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/variables" and returns the decoded response content.
- project_variable
-
my $variable = $api->project_variable( $project_id, $variable_key, );
Sends a "GET" request to "projects/:project_id/variables/:variable_key" and returns the decoded response content.
- create_project_variable
-
my $variable = $api->create_project_variable( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/variables" and returns the decoded response content.
- edit_project_variable
-
my $variable = $api->edit_project_variable( $project_id, $variable_key, \%params, );
Sends a "PUT" request to "projects/:project_id/variables/:variable_key" and returns the decoded response content.
- delete_project_variable
-
$api->delete_project_variable( $project_id, $variable_key, );
Sends a "DELETE" request to "projects/:project_id/variables/:variable_key".
Group-level Variables
See <https://docs.gitlab.com/ce/api/group_level_variables.html>.
- group_variables
-
my $variables = $api->group_variables( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/variables" and returns the decoded response content.
- group_variable
-
my $variable = $api->group_variable( $group_id, $variable_key, );
Sends a "GET" request to "groups/:group_id/variables/:variable_key" and returns the decoded response content.
- create_group_variable
-
my $variable = $api->create_group_variable( $group_id, \%params, );
Sends a "POST" request to "groups/:group_id/variables" and returns the decoded response content.
- edit_group_variable
-
my $variable = $api->edit_group_variable( $group_id, $variable_key, \%params, );
Sends a "PUT" request to "groups/:group_id/variables/:variable_key" and returns the decoded response content.
- delete_group_variable
-
$api->delete_group_variable( $group_id, $variable_key, );
Sends a "DELETE" request to "groups/:group_id/variables/:variable_key".
Snippets
See <https://docs.gitlab.com/ce/api/snippets.html>.
- snippets
-
my $snippets = $api->snippets();
Sends a "GET" request to "snippets" and returns the decoded response content.
- snippet
-
my $snippet = $api->snippet( $snippet_id, );
Sends a "GET" request to "snippets/:snippet_id" and returns the decoded response content.
- create_snippet
-
my $snippet = $api->create_snippet( \%params, );
Sends a "POST" request to "snippets" and returns the decoded response content.
- edit_snippet
-
my $snippet = $api->edit_snippet( $snippet_id, \%params, );
Sends a "PUT" request to "snippets/:snippet_id" and returns the decoded response content.
- delete_snippet
-
$api->delete_snippet( $snippet_id, );
Sends a "DELETE" request to "snippets/:snippet_id".
- public_snippets
-
my $snippets = $api->public_snippets( \%params, );
Sends a "GET" request to "snippets/public" and returns the decoded response content.
- snippet_user_agent_detail
-
my $user_agent = $api->snippet_user_agent_detail( $snippet_id, );
Sends a "GET" request to "snippets/:snippet_id/user_agent_detail" and returns the decoded response content.
Commits
See <https://docs.gitlab.com/ce/api/commits.html>.
- commits
-
my $commits = $api->commits( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/repository/commits" and returns the decoded response content.
- create_commit
-
my $commit = $api->create_commit( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/repository/commits" and returns the decoded response content.
- commit
-
my $commit = $api->commit( $project_id, $commit_sha, );
Sends a "GET" request to "projects/:project_id/repository/commits/:commit_sha" and returns the decoded response content.
- commit_refs
-
my $refs = $api->commit_refs( $project_id, $commit_sha, \%params, );
Sends a "GET" request to "projects/:project_id/repository/commits/:commit_sha/refs" and returns the decoded response content.
- cherry_pick_commit
-
my $commit = $api->cherry_pick_commit( $project_id, $commit_sha, \%params, );
Sends a "POST" request to "projects/:project_id/repository/commits/:commit_sha/cherry_pick" and returns the decoded response content.
- commit_diff
-
my $diff = $api->commit_diff( $project_id, $commit_sha, \%params, );
Sends a "GET" request to "projects/:project_id/repository/commits/:commit_sha/diff" and returns the decoded response content.
- commit_comments
-
my $comments = $api->commit_comments( $project_id, $commit_sha, \%params, );
Sends a "GET" request to "projects/:project_id/repository/commits/:commit_sha/comments" and returns the decoded response content.
- create_commit_comment
-
$api->create_commit_comment( $project_id, $commit_sha, \%params, );
Sends a "POST" request to "projects/:project_id/repository/commits/:commit_sha/comments".
- commit_statuses
-
my $build_statuses = $api->commit_statuses( $project_id, $commit_sha, \%params, );
Sends a "GET" request to "projects/:project_id/repository/commits/:commit_sha/statuses" and returns the decoded response content.
- create_commit_status
-
my $build_status = $api->create_commit_status( $project_id, $commit_sha, \%params, );
Sends a "POST" request to "projects/:project_id/statuses/:commit_sha" and returns the decoded response content.
Container Registry
See <https://docs.gitlab.com/ce/api/container_registry.html>.
- registry_repositories_in_project
-
my $registry_repositories = $api->registry_repositories_in_project( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/registry/repositories" and returns the decoded response content.
- registry_repositories_in_group
-
my $registry_repositories = $api->registry_repositories_in_group( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/registry/repositories" and returns the decoded response content.
- delete_registry_repository
-
$api->delete_registry_repository( $project_id, $repository_id, );
Sends a "DELETE" request to "projects/:project_id/registry/repositories/:repository_id".
-
my $tags = $api->registry_repository_tags( $project_id, $repository_id, );
Sends a "GET" request to "projects/:project_id/registry/repositories/:repository_id/tags" and returns the decoded response content.
- registry_repository_tag
-
my $tag = $api->registry_repository_tag( $project_id, $repository_id, $tag_name, );
Sends a "GET" request to "projects/:project_id/registry/repositories/:repository_id/tags/:tag_name" and returns the decoded response content.
- delete_registry_repository_tag
-
$api->delete_registry_repository_tag( $project_id, $repository_id, $tag_name, );
Sends a "DELETE" request to "projects/:project_id/registry/repositories/:repository_id/tags/:tag_name".
-
$api->bulk_delete_registry_repository_tags( $project_id, $repository_id, \%params, );
Sends a "DELETE" request to "projects/:project_id/registry/repositories/:repository_id/tags".
Custom Attributes
See <https://docs.gitlab.com/ce/api/custom_attributes.html>.
- custom_user_attributes
-
my $attributes = $api->custom_user_attributes( $user_id, );
Sends a "GET" request to "users/:user_id/custom_attributes" and returns the decoded response content.
- custom_group_attributes
-
my $attributes = $api->custom_group_attributes( $group_id, );
Sends a "GET" request to "groups/:group_id/custom_attributes" and returns the decoded response content.
- custom_project_attributes
-
my $attributes = $api->custom_project_attributes( $project_id, );
Sends a "GET" request to "projects/:project_id/custom_attributes" and returns the decoded response content.
- custom_user_attribute
-
my $attribute = $api->custom_user_attribute( $user_id, $attribute_key, );
Sends a "GET" request to "users/:user_id/custom_attributes/:attribute_key" and returns the decoded response content.
- custom_group_attribute
-
my $attribute = $api->custom_group_attribute( $group_id, $attribute_key, );
Sends a "GET" request to "groups/:group_id/custom_attributes/:attribute_key" and returns the decoded response content.
- custom_project_attribute
-
my $attribute = $api->custom_project_attribute( $project_id, $attribute_key, );
Sends a "GET" request to "projects/:project_id/custom_attributes/:attribute_key" and returns the decoded response content.
- set_custom_user_attribute
-
my $attribute = $api->set_custom_user_attribute( $user_id, $attribute_key, \%params, );
Sends a "PUT" request to "users/:user_id/custom_attributes/:attribute_key" and returns the decoded response content.
- set_custom_group_attribute
-
my $attribute = $api->set_custom_group_attribute( $group_id, $attribute_key, \%params, );
Sends a "PUT" request to "groups/:group_id/custom_attributes/:attribute_key" and returns the decoded response content.
- set_custom_project_attribute
-
my $attribute = $api->set_custom_project_attribute( $project_id, $attribute_key, \%params, );
Sends a "PUT" request to "projects/:project_id/custom_attributes/:attribute_key" and returns the decoded response content.
- delete_custom_user_attribute
-
$api->delete_custom_user_attribute( $user_id, $attribute_key, );
Sends a "DELETE" request to "users/:user_id/custom_attributes/:attribute_key".
- delete_custom_group_attribute
-
$api->delete_custom_group_attribute( $group_id, $attribute_key, );
Sends a "DELETE" request to "groups/:group_id/custom_attributes/:attribute_key".
- delete_custom_project_attribute
-
$api->delete_custom_project_attribute( $project_id, $attribute_key, );
Sends a "DELETE" request to "projects/:project_id/custom_attributes/:attribute_key".
Deployments
See <https://docs.gitlab.com/ce/api/deployments.html>.
- deployments
-
my $deployments = $api->deployments( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/deployments" and returns the decoded response content.
- deployment
-
my $deployment = $api->deployment( $project_id, $deployment_id, );
Sends a "GET" request to "projects/:project_id/deployments/:deployment_id" and returns the decoded response content.
Deploy Keys
See <https://docs.gitlab.com/ce/api/deploy_keys.html>.
- all_deploy_keys
-
my $keys = $api->all_deploy_keys( \%params, );
Sends a "GET" request to "deploy_keys" and returns the decoded response content.
- deploy_keys
-
my $keys = $api->deploy_keys( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/deploy_keys" and returns the decoded response content.
- deploy_key
-
my $key = $api->deploy_key( $project_id, $key_id, );
Sends a "GET" request to "projects/:project_id/deploy_keys/:key_id" and returns the decoded response content.
- create_deploy_key
-
my $key = $api->create_deploy_key( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/deploy_keys" and returns the decoded response content.
- delete_deploy_key
-
$api->delete_deploy_key( $project_id, $key_id, );
Sends a "DELETE" request to "projects/:project_id/deploy_keys/:key_id".
- enable_deploy_key
-
my $key = $api->enable_deploy_key( $project_id, $key_id, );
Sends a "POST" request to "projects/:project_id/deploy_keys/:key_id/enable" and returns the decoded response content.
Environments
See <https://docs.gitlab.com/ce/api/environments.html>.
- environments
-
my $environments = $api->environments( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/environments" and returns the decoded response content.
- create_environment
-
my $environment = $api->create_environment( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/environments" and returns the decoded response content.
- edit_environment
-
my $environment = $api->edit_environment( $project_id, $environments_id, \%params, );
Sends a "PUT" request to "projects/:project_id/environments/:environments_id" and returns the decoded response content.
- delete_environment
-
$api->delete_environment( $project_id, $environment_id, );
Sends a "DELETE" request to "projects/:project_id/environments/:environment_id".
- stop_environment
-
my $environment = $api->stop_environment( $project_id, $environment_id, );
Sends a "POST" request to "projects/:project_id/environments/:environment_id/stop" and returns the decoded response content.
Events
See <https://docs.gitlab.com/ce/api/events.html>.
- all_events
-
my $events = $api->all_events( \%params, );
Sends a "GET" request to "events" and returns the decoded response content.
- user_events
-
my $events = $api->user_events( $user_id, \%params, );
Sends a "GET" request to "users/:user_id/events" and returns the decoded response content.
- project_events
-
my $events = $api->project_events( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/events" and returns the decoded response content.
Feature flags
See <https://docs.gitlab.com/ce/api/features.html>.
- features
-
my $features = $api->features();
Sends a "GET" request to "features" and returns the decoded response content.
- set_feature
-
my $feature = $api->set_feature( $name, \%params, );
Sends a "POST" request to "features/:name" and returns the decoded response content.
Gitignores
See <https://docs.gitlab.com/ce/api/templates/gitignores.html>.
- gitignores_templates
-
my $templates = $api->gitignores_templates( \%params, );
Sends a "GET" request to "templates/gitignores" and returns the decoded response content.
- gitignores_template
-
my $template = $api->gitignores_template( $template_key, );
Sends a "GET" request to "templates/gitignores/:template_key" and returns the decoded response content.
GitLab CI YMLs
See <https://docs.gitlab.com/ce/api/templates/gitlab_ci_ymls.html>.
- gitlab_ci_ymls_templates
-
my $templates = $api->gitlab_ci_ymls_templates( \%params, );
Sends a "GET" request to "templates/gitlab_ci_ymls" and returns the decoded response content.
- gitlab_ci_ymls_template
-
my $template = $api->gitlab_ci_ymls_template( $template_key, );
Sends a "GET" request to "templates/gitlab_ci_ymls/:template_key" and returns the decoded response content.
Groups
See <https://docs.gitlab.com/ce/api/groups.html>.
- groups
-
my $groups = $api->groups( \%params, );
Sends a "GET" request to "groups" and returns the decoded response content.
- group_subgroups
-
my $subgroups = $api->group_subgroups( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/subgroups" and returns the decoded response content.
- group_projects
-
my $projects = $api->group_projects( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/projects" and returns the decoded response content.
- group
-
my $group = $api->group( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id" and returns the decoded response content.
- create_group
-
$api->create_group( \%params, );
Sends a "POST" request to "groups".
- transfer_project_to_group
-
$api->transfer_project_to_group( $group_id, $project_id, );
Sends a "POST" request to "groups/:group_id/projects/:project_id".
- edit_group
-
my $group = $api->edit_group( $group_id, \%params, );
Sends a "PUT" request to "groups/:group_id" and returns the decoded response content.
- delete_group
-
$api->delete_group( $group_id, );
Sends a "DELETE" request to "groups/:group_id".
- sync_group_with_ldap
-
$api->sync_group_with_ldap( $group_id, );
Sends a "POST" request to "groups/:group_id/ldap_sync".
- create_ldap_group_link
-
$api->create_ldap_group_link( $group_id, \%params, );
Sends a "POST" request to "groups/:group_id/ldap_group_links".
- delete_ldap_group_link
-
$api->delete_ldap_group_link( $group_id, $cn, );
Sends a "DELETE" request to "groups/:group_id/ldap_group_links/:cn".
- delete_ldap_provider_group_link
-
$api->delete_ldap_provider_group_link( $group_id, $provider, $cn, );
Sends a "DELETE" request to "groups/:group_id/ldap_group_links/:provider/:cn".
-
$api->share_group_with_group( $group_id, \%params, );
Sends a "POST" request to "groups/:group_id/share".
-
$api->unshare_group_with_group( $group_id, $shared_with_group_id, );
Sends a "DELETE" request to "groups/:group_id/share/:shared_with_group_id".
Group access requests
See <https://docs.gitlab.com/ce/api/access_requests.html>.
- group_access_requests
-
my $requests = $api->group_access_requests( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/access_requests" and returns the decoded response content.
- request_group_access
-
my $request = $api->request_group_access( $group_id, );
Sends a "POST" request to "groups/:group_id/access_requests" and returns the decoded response content.
- approve_group_access
-
my $request = $api->approve_group_access( $group_id, $user_id, );
Sends a "PUT" request to "groups/:group_id/access_requests/:user_id/approve" and returns the decoded response content.
- deny_group_access
-
$api->deny_group_access( $group_id, $user_id, );
Sends a "DELETE" request to "groups/:group_id/access_requests/:user_id".
Group badges
See <https://docs.gitlab.com/ce/api/group_badges.html>.
- group_badges
-
my $badges = $api->group_badges( $group_id, );
Sends a "GET" request to "groups/:group_id/badges" and returns the decoded response content.
- group_badge
-
my $badge = $api->group_badge( $group_id, $badge_id, );
Sends a "GET" request to "groups/:group_id/badges/:badge_id" and returns the decoded response content.
- create_group_badge
-
my $badge = $api->create_group_badge( $group_id, \%params, );
Sends a "POST" request to "groups/:group_id/badges" and returns the decoded response content.
- edit_group_badge
-
my $badge = $api->edit_group_badge( $group_id, $badge_id, \%params, );
Sends a "PUT" request to "groups/:group_id/badges/:badge_id" and returns the decoded response content.
- delete_group_badge
-
$api->delete_group_badge( $group_id, $badge_id, );
Sends a "DELETE" request to "groups/:group_id/badges/:badge_id".
- preview_group_badge
-
my $preview = $api->preview_group_badge( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/badges/render" and returns the decoded response content.
Group members
See <https://docs.gitlab.com/ce/api/members.html>.
- group_members
-
my $members = $api->group_members( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/members" and returns the decoded response content.
- all_group_members
-
my $members = $api->all_group_members( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/members/all" and returns the decoded response content.
- group_member
-
my $member = $api->group_member( $project_id, $user_id, );
Sends a "GET" request to "groups/:project_id/members/:user_id" and returns the decoded response content.
- add_group_member
-
my $member = $api->add_group_member( $group_id, \%params, );
Sends a "POST" request to "groups/:group_id/members" and returns the decoded response content.
- update_group_member
-
my $member = $api->update_group_member( $group_id, $user_id, \%params, );
Sends a "PUT" request to "groups/:group_id/members/:user_id" and returns the decoded response content.
- remove_group_member
-
$api->remove_group_member( $group_id, $user_id, );
Sends a "DELETE" request to "groups/:group_id/members/:user_id".
Issues
See <https://docs.gitlab.com/ce/api/issues.html>.
- global_issues
-
my $issues = $api->global_issues( \%params, );
Sends a "GET" request to "issues" and returns the decoded response content.
- group_issues
-
my $issues = $api->group_issues( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/issues" and returns the decoded response content.
- issues
-
my $issues = $api->issues( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/issues" and returns the decoded response content.
- issue
-
my $issue = $api->issue( $project_id, $issue_iid, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid" and returns the decoded response content.
- create_issue
-
my $issue = $api->create_issue( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/issues" and returns the decoded response content.
- edit_issue
-
my $issue = $api->edit_issue( $project_id, $issue_iid, \%params, );
Sends a "PUT" request to "projects/:project_id/issues/:issue_iid" and returns the decoded response content.
- delete_issue
-
$api->delete_issue( $project_id, $issue_iid, );
Sends a "DELETE" request to "projects/:project_id/issues/:issue_iid".
- move_issue
-
my $issue = $api->move_issue( $project_id, $issue_iid, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/move" and returns the decoded response content.
- subscribe_to_issue
-
my $issue = $api->subscribe_to_issue( $project_id, $issue_iid, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/subscribe" and returns the decoded response content.
- unsubscribe_from_issue
-
my $issue = $api->unsubscribe_from_issue( $project_id, $issue_iid, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/unsubscribe" and returns the decoded response content.
- create_issue_todo
-
my $todo = $api->create_issue_todo( $project_id, $issue_iid, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/todo" and returns the decoded response content.
- set_issue_time_estimate
-
my $tracking = $api->set_issue_time_estimate( $project_id, $issue_iid, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/time_estimate" and returns the decoded response content.
- reset_issue_time_estimate
-
my $tracking = $api->reset_issue_time_estimate( $project_id, $issue_iid, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/reset_time_estimate" and returns the decoded response content.
- add_issue_spent_time
-
my $tracking = $api->add_issue_spent_time( $project_id, $issue_iid, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/add_spent_time" and returns the decoded response content.
- reset_issue_spent_time
-
my $tracking = $api->reset_issue_spent_time( $project_id, $issue_iid, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/reset_spent_time" and returns the decoded response content.
- issue_time_stats
-
my $tracking = $api->issue_time_stats( $project_id, $issue_iid, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/time_stats" and returns the decoded response content.
- issue_closed_by
-
my $merge_requests = $api->issue_closed_by( $project_id, $issue_iid, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/closed_by" and returns the decoded response content.
- issue_user_agent_detail
-
my $user_agent = $api->issue_user_agent_detail( $project_id, $issue_iid, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/user_agent_detail" and returns the decoded response content.
Issue Boards
See <https://docs.gitlab.com/ce/api/boards.html>.
- project_boards
-
my $boards = $api->project_boards( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/boards" and returns the decoded response content.
- project_board_lists
-
my $lists = $api->project_board_lists( $project_id, $board_id, \%params, );
Sends a "GET" request to "projects/:project_id/boards/:board_id/lists" and returns the decoded response content.
- project_board_list
-
my $list = $api->project_board_list( $project_id, $board_id, $list_id, );
Sends a "GET" request to "projects/:project_id/boards/:board_id/lists/:list_id" and returns the decoded response content.
- create_project_board_list
-
my $list = $api->create_project_board_list( $project_id, $board_id, \%params, );
Sends a "POST" request to "projects/:project_id/boards/:board_id/lists" and returns the decoded response content.
- edit_project_board_list
-
my $list = $api->edit_project_board_list( $project_id, $board_id, $list_id, \%params, );
Sends a "PUT" request to "projects/:project_id/boards/:board_id/lists/:list_id" and returns the decoded response content.
- delete_project_board_list
-
$api->delete_project_board_list( $project_id, $board_id, $list_id, );
Sends a "DELETE" request to "projects/:project_id/boards/:board_id/lists/:list_id".
Group Issue Boards
See <https://docs.gitlab.com/ce/api/group_boards.html>.
- group_boards
-
my $boards = $api->group_boards( $group_id, );
Sends a "GET" request to "groups/:group_id/boards" and returns the decoded response content.
- group_board
-
my $board = $api->group_board( $group_id, $board_id, );
Sends a "GET" request to "groups/:group_id/boards/:board_id" and returns the decoded response content.
- group_board_lists
-
my $lists = $api->group_board_lists( $group_id, $board_id, );
Sends a "GET" request to "groups/:group_id/boards/:board_id/lists" and returns the decoded response content.
- group_board_list
-
my $list = $api->group_board_list( $group_id, $board_id, $list_id, );
Sends a "GET" request to "groups/:group_id/boards/:board_id/lists/:list_id" and returns the decoded response content.
- create_group_board_list
-
my $list = $api->create_group_board_list( $group_id, $board_id, \%params, );
Sends a "POST" request to "groups/:group_id/boards/:board_id/lists" and returns the decoded response content.
- edit_group_board_list
-
my $list = $api->edit_group_board_list( $group_id, $board_id, $list_id, \%params, );
Sends a "PUT" request to "groups/:group_id/boards/:board_id/lists/:list_id" and returns the decoded response content.
- delete_group_board_list
-
$api->delete_group_board_list( $group_id, $board_id, $list_id, );
Sends a "DELETE" request to "groups/:group_id/boards/:board_id/lists/:list_id".
Jobs
See <https://docs.gitlab.com/ce/api/jobs.html>.
- jobs
-
my $jobs = $api->jobs( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/jobs" and returns the decoded response content.
- pipeline_jobs
-
my $jobs = $api->pipeline_jobs( $project_id, $pipeline_id, \%params, );
Sends a "GET" request to "projects/:project_id/pipelines/:pipeline_id/jobs" and returns the decoded response content.
- job
-
my $job = $api->job( $project_id, $job_id, );
Sends a "GET" request to "projects/:project_id/jobs/:job_id" and returns the decoded response content.
- job_artifacts
-
my $artifacts = $api->job_artifacts( $project_id, $job_id, );
Sends a "GET" request to "projects/:project_id/jobs/:job_id/artifacts" and returns the decoded response content.
- job_artifacts_archive
-
my $archive = $api->job_artifacts_archive( $project_id, $ref_name, \%params, );
Sends a "GET" request to "projects/:project_id/jobs/artifacts/:ref_name/download" and returns the decoded response content.
- job_artifacts_file
-
my $file = $api->job_artifacts_file( $project_id, $job_id, $artifact_path, );
Sends a "GET" request to "projects/:project_id/jobs/:job_id/artifacts/:artifact_path" and returns the decoded response content.
- job_trace_file
-
my $file = $api->job_trace_file( $project_id, $job_id, );
Sends a "GET" request to "projects/:project_id/jobs/:job_id/trace" and returns the decoded response content.
- cancel_job
-
my $job = $api->cancel_job( $project_id, $job_id, );
Sends a "POST" request to "projects/:project_id/jobs/:job_id/cancel" and returns the decoded response content.
- retry_job
-
my $job = $api->retry_job( $project_id, $job_id, );
Sends a "POST" request to "projects/:project_id/jobs/:job_id/retry" and returns the decoded response content.
- erase_job
-
my $job = $api->erase_job( $project_id, $job_id, );
Sends a "POST" request to "projects/:project_id/jobs/:job_id/erase" and returns the decoded response content.
- keep_job_artifacts
-
my $job = $api->keep_job_artifacts( $project_id, $job_id, );
Sends a "POST" request to "projects/:project_id/jobs/:job_id/artifacts/keep" and returns the decoded response content.
- play_job
-
my $job = $api->play_job( $project_id, $job_id, );
Sends a "POST" request to "projects/:project_id/jobs/:job_id/play" and returns the decoded response content.
Keys
See <https://docs.gitlab.com/ce/api/keys.html>.
- key
-
my $key = $api->key( $key_id, );
Sends a "GET" request to "keys/:key_id" and returns the decoded response content.
Labels
See <https://docs.gitlab.com/ce/api/labels.html>.
- labels
-
my $labels = $api->labels( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/labels" and returns the decoded response content.
- create_label
-
my $label = $api->create_label( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/labels" and returns the decoded response content.
- delete_label
-
$api->delete_label( $project_id, \%params, );
Sends a "DELETE" request to "projects/:project_id/labels".
- edit_label
-
my $label = $api->edit_label( $project_id, \%params, );
Sends a "PUT" request to "projects/:project_id/labels" and returns the decoded response content.
- subscribe_to_label
-
my $label = $api->subscribe_to_label( $project_id, $label_id, );
Sends a "POST" request to "projects/:project_id/labels/:label_id/subscribe" and returns the decoded response content.
- unsubscribe_from_label
-
$api->unsubscribe_from_label( $project_id, $label_id, );
Sends a "POST" request to "projects/:project_id/labels/:label_id/unsubscribe".
Markdown
See <https://docs.gitlab.com/ce/api/markdown.html>.
- markdown
-
my $html = $api->markdown( \%params, );
Sends a "POST" request to "markdown" and returns the decoded response content.
Merge requests
See <https://docs.gitlab.com/ce/api/merge_requests.html>.
- global_merge_requests
-
my $merge_requests = $api->global_merge_requests( \%params, );
Sends a "GET" request to "merge_requests" and returns the decoded response content.
- merge_requests
-
my $merge_requests = $api->merge_requests( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/merge_requests" and returns the decoded response content.
- merge_request
-
my $merge_request = $api->merge_request( $project_id, $merge_request_iid, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid" and returns the decoded response content.
- merge_request_commits
-
my $commits = $api->merge_request_commits( $project_id, $merge_request_iid, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/commits" and returns the decoded response content.
- merge_request_with_changes
-
my $merge_request = $api->merge_request_with_changes( $project_id, $merge_request_iid, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/changes" and returns the decoded response content.
- create_merge_request
-
my $merge_request = $api->create_merge_request( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests" and returns the decoded response content.
- edit_merge_request
-
my $merge_request = $api->edit_merge_request( $project_id, $merge_request_iid, \%params, );
Sends a "PUT" request to "projects/:project_id/merge_requests/:merge_request_iid" and returns the decoded response content.
- delete_merge_request
-
$api->delete_merge_request( $project_id, $merge_request_iid, );
Sends a "DELETE" request to "projects/:project_id/merge_requests/:merge_request_iid".
- accept_merge_request
-
my $merge_request = $api->accept_merge_request( $project_id, $merge_request_iid, \%params, );
Sends a "PUT" request to "projects/:project_id/merge_requests/:merge_request_iid/merge" and returns the decoded response content.
- approve_merge_request
-
my $merge_request = $api->approve_merge_request( $project_id, $merge_request_iid, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/approve" and returns the decoded response content.
- unapprove_merge_request
-
my $merge_request = $api->unapprove_merge_request( $project_id, $merge_request_iid, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/unapprove" and returns the decoded response content.
- cancel_merge_when_pipeline_succeeds
-
my $merge_request = $api->cancel_merge_when_pipeline_succeeds( $project_id, $merge_request_iid, );
Sends a "PUT" request to "projects/:project_id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds" and returns the decoded response content.
- merge_request_closes_issues
-
my $issues = $api->merge_request_closes_issues( $project_id, $merge_request_iid, \%params, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/closes_issues" and returns the decoded response content.
- subscribe_to_merge_request
-
my $merge_request = $api->subscribe_to_merge_request( $project_id, $merge_request_iid, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/subscribe" and returns the decoded response content.
- unsubscribe_from_merge_request
-
my $merge_request = $api->unsubscribe_from_merge_request( $project_id, $merge_request_iid, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/unsubscribe" and returns the decoded response content.
- create_merge_request_todo
-
my $todo = $api->create_merge_request_todo( $project_id, $merge_request_iid, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/todo" and returns the decoded response content.
- merge_request_diff_versions
-
my $versions = $api->merge_request_diff_versions( $project_id, $merge_request_iid, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/versions" and returns the decoded response content.
- merge_request_diff_version
-
my $version = $api->merge_request_diff_version( $project_id, $merge_request_iid, $version_id, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/versions/:version_id" and returns the decoded response content.
- set_merge_request_time_estimate
-
my $tracking = $api->set_merge_request_time_estimate( $project_id, $merge_request_iid, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/time_estimate" and returns the decoded response content.
- reset_merge_request_time_estimate
-
my $tracking = $api->reset_merge_request_time_estimate( $project_id, $merge_request_iid, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/reset_time_estimate" and returns the decoded response content.
- add_merge_request_spent_time
-
my $tracking = $api->add_merge_request_spent_time( $project_id, $merge_request_iid, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/add_spent_time" and returns the decoded response content.
- reset_merge_request_spent_time
-
my $tracking = $api->reset_merge_request_spent_time( $project_id, $merge_request_iid, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/reset_spent_time" and returns the decoded response content.
- merge_request_time_stats
-
my $tracking = $api->merge_request_time_stats( $project_id, $merge_request_iid, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/time_stats" and returns the decoded response content.
Milestones
See <https://docs.gitlab.com/ce/api/milestones.html>.
- project_milestones
-
my $milestones = $api->project_milestones( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/milestones" and returns the decoded response content.
- project_milestone
-
my $milestone = $api->project_milestone( $project_id, $milestone_id, );
Sends a "GET" request to "projects/:project_id/milestones/:milestone_id" and returns the decoded response content.
- create_project_milestone
-
my $milestone = $api->create_project_milestone( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/milestones" and returns the decoded response content.
- edit_project_milestone
-
my $milestone = $api->edit_project_milestone( $project_id, $milestone_id, \%params, );
Sends a "PUT" request to "projects/:project_id/milestones/:milestone_id" and returns the decoded response content.
- project_milestone_issues
-
my $issues = $api->project_milestone_issues( $project_id, $milestone_id, \%params, );
Sends a "GET" request to "projects/:project_id/milestones/:milestone_id/issues" and returns the decoded response content.
- project_milestone_merge_requests
-
my $merge_requests = $api->project_milestone_merge_requests( $project_id, $milestone_id, \%params, );
Sends a "GET" request to "projects/:project_id/milestones/:milestone_id/merge_requests" and returns the decoded response content.
Group milestones
See <https://docs.gitlab.com/ce/api/group_milestones.html>.
- group_milestones
-
my $milestones = $api->group_milestones( $group_id, \%params, );
Sends a "GET" request to "groups/:group_id/milestones" and returns the decoded response content.
- group_milestone
-
my $milestone = $api->group_milestone( $group_id, $milestone_id, );
Sends a "GET" request to "groups/:group_id/milestones/:milestone_id" and returns the decoded response content.
- create_group_milestone
-
my $milestone = $api->create_group_milestone( $group_id, \%params, );
Sends a "POST" request to "groups/:group_id/milestones" and returns the decoded response content.
- edit_group_milestone
-
my $milestone = $api->edit_group_milestone( $group_id, $milestone_id, \%params, );
Sends a "PUT" request to "groups/:group_id/milestones/:milestone_id" and returns the decoded response content.
- group_milestone_issues
-
my $issues = $api->group_milestone_issues( $group_id, $milestone_id, \%params, );
Sends a "GET" request to "groups/:group_id/milestones/:milestone_id/issues" and returns the decoded response content.
- group_milestone_merge_requests
-
my $merge_requests = $api->group_milestone_merge_requests( $group_id, $milestone_id, \%params, );
Sends a "GET" request to "groups/:group_id/milestones/:milestone_id/merge_requests" and returns the decoded response content.
Namespaces
See <https://docs.gitlab.com/ce/api/namespaces.html>.
- namespaces
-
my $namespaces = $api->namespaces( \%params, );
Sends a "GET" request to "namespaces" and returns the decoded response content.
- namespace
-
my $namespace = $api->namespace( $namespace_id, );
Sends a "GET" request to "namespaces/:namespace_id" and returns the decoded response content.
Notes
See <https://docs.gitlab.com/ce/api/notes.html>.
- issue_notes
-
my $notes = $api->issue_notes( $project_id, $issue_iid, \%params, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/notes" and returns the decoded response content.
- issue_note
-
my $note = $api->issue_note( $project_id, $issue_iid, $note_id, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/notes/:note_id" and returns the decoded response content.
- create_issue_note
-
my $note = $api->create_issue_note( $project_id, $issue_iid, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/notes" and returns the decoded response content.
- edit_issue_note
-
$api->edit_issue_note( $project_id, $issue_iid, $note_id, \%params, );
Sends a "PUT" request to "projects/:project_id/issues/:issue_iid/notes/:note_id".
- delete_issue_note
-
$api->delete_issue_note( $project_id, $issue_iid, $note_id, );
Sends a "DELETE" request to "projects/:project_id/issues/:issue_iid/notes/:note_id".
- snippet_notes
-
my $notes = $api->snippet_notes( $project_id, $snippet_id, \%params, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id/notes" and returns the decoded response content.
- snippet_note
-
my $note = $api->snippet_note( $project_id, $snippet_id, $note_id, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id/notes/:note_id" and returns the decoded response content.
- create_snippet_note
-
my $note = $api->create_snippet_note( $project_id, $snippet_id, \%params, );
Sends a "POST" request to "projects/:project_id/snippets/:snippet_id/notes" and returns the decoded response content.
- edit_snippet_note
-
$api->edit_snippet_note( $project_id, $snippet_id, $note_id, \%params, );
Sends a "PUT" request to "projects/:project_id/snippets/:snippet_id/notes/:note_id".
- delete_snippet_note
-
$api->delete_snippet_note( $project_id, $snippet_id, $note_id, );
Sends a "DELETE" request to "projects/:project_id/snippets/:snippet_id/notes/:note_id".
- merge_request_notes
-
my $notes = $api->merge_request_notes( $project_id, $merge_request_iid, \%params, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/notes" and returns the decoded response content.
- merge_request_note
-
my $note = $api->merge_request_note( $project_id, $merge_request_iid, $note_id, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id" and returns the decoded response content.
- create_merge_request_note
-
my $note = $api->create_merge_request_note( $project_id, $merge_request_iid, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/notes" and returns the decoded response content.
- edit_merge_request_note
-
$api->edit_merge_request_note( $project_id, $merge_request_iid, $note_id, \%params, );
Sends a "PUT" request to "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id".
- delete_merge_request_note
-
$api->delete_merge_request_note( $project_id, $merge_request_iid, $note_id, );
Sends a "DELETE" request to "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id".
Discussions
See <https://docs.gitlab.com/ce/api/discussions.html>.
- issue_discussions
-
my $discussions = $api->issue_discussions( $project_id, $issue_iid, \%params, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/discussions" and returns the decoded response content.
- issue_discussion
-
my $discussion = $api->issue_discussion( $project_id, $issue_iid, $discussion_id, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/discussions/:discussion_id" and returns the decoded response content.
- create_issue_discussion
-
my $discussion = $api->create_issue_discussion( $project_id, $issue_iid, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/discussions" and returns the decoded response content.
- create_issue_discussion_note
-
$api->create_issue_discussion_note( $project_id, $issue_iid, $discussion_id, \%params, );
Sends a "POST" request to "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes".
- edit_issue_discussion_note
-
$api->edit_issue_discussion_note( $project_id, $issue_iid, $discussion_id, $note_id, \%params, );
Sends a "PUT" request to "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id".
- delete_issue_discussion_note
-
$api->delete_issue_discussion_note( $project_id, $issue_iid, $discussion_id, $note_id, );
Sends a "DELETE" request to "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id".
- project_snippet_discussions
-
my $discussions = $api->project_snippet_discussions( $project_id, $snippet_id, \%params, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id/discussions" and returns the decoded response content.
- project_snippet_discussion
-
my $discussion = $api->project_snippet_discussion( $project_id, $snippet_id, $discussion_id, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id" and returns the decoded response content.
- create_project_snippet_discussion
-
my $discussion = $api->create_project_snippet_discussion( $project_id, $snippet_id, \%params, );
Sends a "POST" request to "projects/:project_id/snippets/:snippet_id/discussions" and returns the decoded response content.
- create_project_snippet_discussion_note
-
$api->create_project_snippet_discussion_note( $project_id, $snippet_id, $discussion_id, \%params, );
Sends a "POST" request to "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes".
- edit_project_snippet_discussion_note
-
$api->edit_project_snippet_discussion_note( $project_id, $snippet_id, $discussion_id, $note_id, \%params, );
Sends a "PUT" request to "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id".
- delete_project_snippet_discussion_note
-
$api->delete_project_snippet_discussion_note( $project_id, $snippet_id, $discussion_id, $note_id, );
Sends a "DELETE" request to "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id".
- merge_request_discussions
-
my $discussions = $api->merge_request_discussions( $project_id, $merge_request_iid, \%params, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/discussions" and returns the decoded response content.
- merge_request_discussion
-
my $discussion = $api->merge_request_discussion( $project_id, $merge_request_iid, $discussion_id, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id" and returns the decoded response content.
- create_merge_request_discussion
-
my $discussion = $api->create_merge_request_discussion( $project_id, $merge_request_iid, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/discussions" and returns the decoded response content.
- resolve_merge_request_discussion
-
$api->resolve_merge_request_discussion( $project_id, $merge_request_iid, $discussion_id, \%params, );
Sends a "PUT" request to "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id".
- create_merge_request_discussion_note
-
$api->create_merge_request_discussion_note( $project_id, $merge_request_iid, $discussion_id, \%params, );
Sends a "POST" request to "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes".
- edit_merge_request_discussion_note
-
$api->edit_merge_request_discussion_note( $project_id, $merge_request_iid, $discussion_id, $note_id, \%params, );
Sends a "PUT" request to "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id".
- delete_merge_request_discussion_note
-
$api->delete_merge_request_discussion_note( $project_id, $merge_request_iid, $discussion_id, $note_id, );
Sends a "DELETE" request to "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id".
- commit_discussions
-
my $discussions = $api->commit_discussions( $project_id, $commit_id, \%params, );
Sends a "GET" request to "projects/:project_id/commits/:commit_id/discussions" and returns the decoded response content.
- commit_discussion
-
my $discussion = $api->commit_discussion( $project_id, $commit_id, $discussion_id, );
Sends a "GET" request to "projects/:project_id/commits/:commit_id/discussions/:discussion_id" and returns the decoded response content.
- create_commit_discussion
-
my $discussion = $api->create_commit_discussion( $project_id, $commit_id, \%params, );
Sends a "POST" request to "projects/:project_id/commits/:commit_id/discussions" and returns the decoded response content.
- create_commit_discussion_note
-
$api->create_commit_discussion_note( $project_id, $commit_id, $discussion_id, \%params, );
Sends a "POST" request to "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes".
- edit_commit_discussion_note
-
$api->edit_commit_discussion_note( $project_id, $commit_id, $discussion_id, $note_id, \%params, );
Sends a "PUT" request to "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes/:note_id".
- delete_commit_discussion_note
-
$api->delete_commit_discussion_note( $project_id, $commit_id, $discussion_id, $note_id, );
Sends a "DELETE" request to "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes/:note_id".
Resource label events
See <https://docs.gitlab.com/ce/api/resource_label_events.html>.
- issue_resource_label_events
-
my $events = $api->issue_resource_label_events( $project_id, $issue_iid, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/resource_label_events" and returns the decoded response content.
- issue_resource_label_event
-
my $event = $api->issue_resource_label_event( $project_id, $issue_iid, $resource_label_event_id, );
Sends a "GET" request to "projects/:project_id/issues/:issue_iid/resource_label_events/:resource_label_event_id" and returns the decoded response content.
- merge_request_resource_label_events
-
my $events = $api->merge_request_resource_label_events( $project_id, $merge_request_iid, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/resource_label_events" and returns the decoded response content.
- merge_request_resource_label_event
-
my $event = $api->merge_request_resource_label_event( $project_id, $merge_request_iid, $resource_label_event_id, );
Sends a "GET" request to "projects/:project_id/merge_requests/:merge_request_iid/resource_label_events/:resource_label_event_id" and returns the decoded response content.
Notification settings
See <https://docs.gitlab.com/ce/api/notification_settings.html>.
- global_notification_settings
-
my $settings = $api->global_notification_settings();
Sends a "GET" request to "notification_settings" and returns the decoded response content.
- set_global_notification_settings
-
my $settings = $api->set_global_notification_settings( \%params, );
Sends a "PUT" request to "notification_settings" and returns the decoded response content.
- group_notification_settings
-
my $settings = $api->group_notification_settings( $group_id, );
Sends a "GET" request to "groups/:group_id/notification_settings" and returns the decoded response content.
- project_notification_settings
-
my $settings = $api->project_notification_settings( $project_id, );
Sends a "GET" request to "projects/:project_id/notification_settings" and returns the decoded response content.
- set_group_notification_settings
-
my $settings = $api->set_group_notification_settings( $group_id, \%params, );
Sends a "PUT" request to "groups/:group_id/notification_settings" and returns the decoded response content.
- set_project_notification_settings
-
my $settings = $api->set_project_notification_settings( $project_id, \%params, );
Sends a "PUT" request to "projects/:project_id/notification_settings" and returns the decoded response content.
Licenses
See <https://docs.gitlab.com/ce/api/templates/licenses.html>.
- license_templates
-
my $templates = $api->license_templates( \%params, );
Sends a "GET" request to "templates/licenses" and returns the decoded response content.
- license_template
-
my $template = $api->license_template( $template_key, \%params, );
Sends a "GET" request to "templates/licenses/:template_key" and returns the decoded response content.
Pages domains
See <https://docs.gitlab.com/ce/api/pages_domains.html>.
- global_pages_domains
-
my $domains = $api->global_pages_domains( \%params, );
Sends a "GET" request to "pages/domains" and returns the decoded response content.
- pages_domains
-
my $domains = $api->pages_domains( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/pages/domains" and returns the decoded response content.
- pages_domain
-
my $domain = $api->pages_domain( $project_id, $domain, );
Sends a "GET" request to "projects/:project_id/pages/domains/:domain" and returns the decoded response content.
- create_pages_domain
-
my $domain = $api->create_pages_domain( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/pages/domains" and returns the decoded response content.
- edit_pages_domain
-
my $domain = $api->edit_pages_domain( $project_id, $domain, \%params, );
Sends a "PUT" request to "projects/:project_id/pages/domains/:domain" and returns the decoded response content.
- delete_pages_domain
-
$api->delete_pages_domain( $project_id, $domain, );
Sends a "DELETE" request to "projects/:project_id/pages/domains/:domain".
Pipelines
See <https://docs.gitlab.com/ce/api/pipelines.html>.
- pipelines
-
my $pipelines = $api->pipelines( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/pipelines" and returns the decoded response content.
- pipeline
-
my $pipeline = $api->pipeline( $project_id, $pipeline_id, );
Sends a "GET" request to "projects/:project_id/pipelines/:pipeline_id" and returns the decoded response content.
- create_pipeline
-
my $pipeline = $api->create_pipeline( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/pipeline" and returns the decoded response content.
Git ref (branch or tag) name must be specified in the "ref" field of the %params hash. It's also possible to pass variables to a pipeline in the "variables" field like in the following example:
my $pipeline = $api->create_pipeline( $project_id, { 'ref' => 'master', variables => [ { 'key' => 'VARIABLE1', 'value' => 'VALUE1' }, { 'key' => 'VARIABLE2', 'value' => 'VALUE2' }, ], }, );
- retry_pipeline_jobs
-
my $pipeline = $api->retry_pipeline_jobs( $project_id, $pipeline_id, );
Sends a "POST" request to "projects/:project_id/pipelines/:pipeline_id/retry" and returns the decoded response content.
- cancel_pipeline_jobs
-
my $pipeline = $api->cancel_pipeline_jobs( $project_id, $pipeline_id, );
Sends a "POST" request to "projects/:project_id/pipelines/:pipeline_id/cancel" and returns the decoded response content.
- delete_pipeline
-
$api->delete_pipeline( $project_id, $pipeline_id, );
Sends a "DELETE" request to "projects/:project_id/pipelines/:pipeline_id".
Pipeline triggers
See <https://docs.gitlab.com/ce/api/pipeline_triggers.html>.
- triggers
-
my $triggers = $api->triggers( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/triggers" and returns the decoded response content.
- trigger
-
my $trigger = $api->trigger( $project_id, $trigger_id, );
Sends a "GET" request to "projects/:project_id/triggers/:trigger_id" and returns the decoded response content.
- create_trigger
-
my $trigger = $api->create_trigger( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/triggers" and returns the decoded response content.
- edit_trigger
-
my $trigger = $api->edit_trigger( $project_id, $trigger_id, \%params, );
Sends a "PUT" request to "projects/:project_id/triggers/:trigger_id" and returns the decoded response content.
- take_ownership_of_trigger
-
my $trigger = $api->take_ownership_of_trigger( $project_id, $trigger_id, );
Sends a "POST" request to "projects/:project_id/triggers/:trigger_id/take_ownership" and returns the decoded response content.
- delete_trigger
-
$api->delete_trigger( $project_id, $trigger_id, );
Sends a "DELETE" request to "projects/:project_id/triggers/:trigger_id".
- trigger_pipeline
-
my $pipeline = $api->trigger_pipeline( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/trigger/pipeline" and returns the decoded response content.
The API authentication token ("private_token" or "access_token" parameters in a constructor) is not needed when using this method, however You must pass trigger token (generated at the trigger creation) as "token" field and git ref name as "ref" field in the %params hash. You can also pass variables to be set in a pipeline in the "variables" field. Example:
my $pipeline = $api->trigger_pipeline( $project_id, { token => 'd69dba9162ab6ac72fa0993496286ada', 'ref' => 'master', variables => { variable1 => 'value1', variable2 => 'value2', }, }, );
Read more at <https://docs.gitlab.com/ce/ci/triggers/#triggering-a-pipeline>.
Pipeline schedules
See <https://docs.gitlab.com/ce/api/pipeline_schedules.html>.
- pipeline_schedules
-
my $schedules = $api->pipeline_schedules( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/pipeline_schedules" and returns the decoded response content.
- pipeline_schedule
-
my $schedule = $api->pipeline_schedule( $project_id, $pipeline_schedule_id, );
Sends a "GET" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and returns the decoded response content.
- create_pipeline_schedule
-
my $schedule = $api->create_pipeline_schedule( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/pipeline_schedules" and returns the decoded response content.
- edit_pipeline_schedule
-
my $schedule = $api->edit_pipeline_schedule( $project_id, $pipeline_schedule_id, \%params, );
Sends a "PUT" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and returns the decoded response content.
- take_ownership_of_pipeline_schedule
-
my $schedule = $api->take_ownership_of_pipeline_schedule( $project_id, $pipeline_schedule_id, );
Sends a "POST" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/take_ownership" and returns the decoded response content.
- run_pipeline_schedule
-
my $variable = $api->run_pipeline_schedule( $project_id, $pipeline_schedule_id, );
Sends a "POST" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/play" and returns the decoded response content.
- delete_pipeline_schedule
-
my $schedule = $api->delete_pipeline_schedule( $project_id, $pipeline_schedule_id, );
Sends a "DELETE" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and returns the decoded response content.
- create_pipeline_schedule_variable
-
my $variable = $api->create_pipeline_schedule_variable( $project_id, $pipeline_schedule_id, \%params, );
Sends a "POST" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables" and returns the decoded response content.
- edit_pipeline_schedule_variable
-
my $variable = $api->edit_pipeline_schedule_variable( $project_id, $pipeline_schedule_id, $variable_key, \%params, );
Sends a "PUT" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables/:variable_key" and returns the decoded response content.
- delete_pipeline_schedule_variable
-
my $variable = $api->delete_pipeline_schedule_variable( $project_id, $pipeline_schedule_id, $variable_key, );
Sends a "DELETE" request to "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables/:variable_key" and returns the decoded response content.
Projects
See <https://docs.gitlab.com/ce/api/projects.html>.
- projects
-
my $projects = $api->projects( \%params, );
Sends a "GET" request to "projects" and returns the decoded response content.
- user_projects
-
my $projects = $api->user_projects( $user_id, \%params, );
Sends a "GET" request to "users/:user_id/projects" and returns the decoded response content.
- project
-
my $project = $api->project( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id" and returns the decoded response content.
- project_users
-
my $users = $api->project_users( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/users" and returns the decoded response content.
- create_project
-
my $project = $api->create_project( \%params, );
Sends a "POST" request to "projects" and returns the decoded response content.
- create_project_for_user
-
$api->create_project_for_user( $user_id, \%params, );
Sends a "POST" request to "projects/user/:user_id".
- edit_project
-
$api->edit_project( $project_id, \%params, );
Sends a "PUT" request to "projects/:project_id".
- edit_project_multipart
-
$api->edit_project_multipart( $project_id, \%params, );
Sends a "PUT" request to "projects/:project_id".
The request will have "multipart/form-data" header set for uploading files.
- fork_project
-
$api->fork_project( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/fork".
- project_forks
-
my $forks = $api->project_forks( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/forks" and returns the decoded response content.
- start_project
-
my $project = $api->start_project( $project_id, );
Sends a "POST" request to "projects/:project_id/star" and returns the decoded response content.
- unstar_project
-
my $project = $api->unstar_project( $project_id, );
Sends a "POST" request to "projects/:project_id/unstar" and returns the decoded response content.
- project_languages
-
my $languages = $api->project_languages( $project_id, );
Sends a "GET" request to "projects/:project_id/languages" and returns the decoded response content.
- archive_project
-
my $project = $api->archive_project( $project_id, );
Sends a "POST" request to "projects/:project_id/archive" and returns the decoded response content.
- unarchive_project
-
my $project = $api->unarchive_project( $project_id, );
Sends a "POST" request to "projects/:project_id/unarchive" and returns the decoded response content.
- delete_project
-
$api->delete_project( $project_id, );
Sends a "DELETE" request to "projects/:project_id".
- upload_file_to_project
-
my $upload = $api->upload_file_to_project( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/uploads" and returns the decoded response content.
The "file" parameter must point to a readable file on the local filesystem.
-
$api->share_project_with_group( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/share".
-
$api->unshare_project_with_group( $project_id, $group_id, );
Sends a "DELETE" request to "projects/:project_id/share/:group_id".
- project_hooks
-
my $hooks = $api->project_hooks( $project_id, );
Sends a "GET" request to "projects/:project_id/hooks" and returns the decoded response content.
- project_hook
-
my $hook = $api->project_hook( $project_id, $hook_id, );
Sends a "GET" request to "projects/:project_id/hooks/:hook_id" and returns the decoded response content.
- create_project_hook
-
my $hook = $api->create_project_hook( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/hooks" and returns the decoded response content.
- edit_project_hook
-
my $hook = $api->edit_project_hook( $project_id, $hook_id, \%params, );
Sends a "PUT" request to "projects/:project_id/hooks/:hook_id" and returns the decoded response content.
- delete_project_hook
-
$api->delete_project_hook( $project_id, $hook_id, );
Sends a "DELETE" request to "projects/:project_id/hooks/:hook_id".
- set_project_fork
-
$api->set_project_fork( $project_id, $from_project_id, );
Sends a "POST" request to "projects/:project_id/fork/:from_project_id".
- clear_project_fork
-
$api->clear_project_fork( $project_id, );
Sends a "DELETE" request to "projects/:project_id/fork".
- start_housekeeping
-
$api->start_housekeeping( $project_id, );
Sends a "POST" request to "projects/:project_id/housekeeping".
- transfer_project_to_namespace
-
$api->transfer_project_to_namespace( $project_id, \%params, );
Sends a "PUT" request to "projects/:project_id/transfer".
Project access requests
See <https://docs.gitlab.com/ce/api/access_requests.html>.
- project_access_requests
-
my $requests = $api->project_access_requests( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/access_requests" and returns the decoded response content.
- request_project_access
-
my $request = $api->request_project_access( $project_id, );
Sends a "POST" request to "projects/:project_id/access_requests" and returns the decoded response content.
- approve_project_access
-
my $request = $api->approve_project_access( $project_id, $user_id, );
Sends a "PUT" request to "projects/:project_id/access_requests/:user_id/approve" and returns the decoded response content.
- deny_project_access
-
$api->deny_project_access( $project_id, $user_id, );
Sends a "DELETE" request to "projects/:project_id/access_requests/:user_id".
Project badges
See <https://docs.gitlab.com/ce/api/project_badges.html>.
- project_badges
-
my $badges = $api->project_badges( $project_id, );
Sends a "GET" request to "projects/:project_id/badges" and returns the decoded response content.
- project_badge
-
my $badge = $api->project_badge( $project_id, $badge_id, );
Sends a "GET" request to "projects/:project_id/badges/:badge_id" and returns the decoded response content.
- create_project_badge
-
my $badge = $api->create_project_badge( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/badges" and returns the decoded response content.
- edit_project_badge
-
my $badge = $api->edit_project_badge( $project_id, $badge_id, \%params, );
Sends a "PUT" request to "projects/:project_id/badges/:badge_id" and returns the decoded response content.
- delete_project_badge
-
$api->delete_project_badge( $project_id, $badge_id, );
Sends a "DELETE" request to "projects/:project_id/badges/:badge_id".
- preview_project_badge
-
my $preview = $api->preview_project_badge( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/badges/render" and returns the decoded response content.
Project import/export
See <https://docs.gitlab.com/ce/api/project_import_export.html>.
- schedule_project_export
-
$api->schedule_project_export( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/export".
- project_export_status
-
my $status = $api->project_export_status( $project_id, );
Sends a "GET" request to "projects/:project_id/export" and returns the decoded response content.
- download_project_export
-
my $download = $api->download_project_export( $project_id, );
Sends a "GET" request to "projects/:project_id/export/download" and returns the decoded response content.
- schedule_project_import
-
$api->schedule_project_import( \%params, );
Sends a "POST" request to "projects/import".
- project_import_status
-
my $status = $api->project_import_status( $project_id, );
Sends a "GET" request to "projects/:project_id/import" and returns the decoded response content.
Project members
See <https://docs.gitlab.com/ce/api/members.html>.
- project_members
-
my $members = $api->project_members( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/members" and returns the decoded response content.
- all_project_members
-
my $members = $api->all_project_members( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/members/all" and returns the decoded response content.
- project_member
-
my $member = $api->project_member( $project_id, $user_id, );
Sends a "GET" request to "projects/:project_id/members/:user_id" and returns the decoded response content.
- add_project_member
-
my $member = $api->add_project_member( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/members" and returns the decoded response content.
- update_project_member
-
my $member = $api->update_project_member( $project_id, $user_id, \%params, );
Sends a "PUT" request to "projects/:project_id/members/:user_id" and returns the decoded response content.
- remove_project_member
-
$api->remove_project_member( $project_id, $user_id, );
Sends a "DELETE" request to "projects/:project_id/members/:user_id".
Project snippets
See <https://docs.gitlab.com/ce/api/project_snippets.html>.
- project_snippets
-
my $snippets = $api->project_snippets( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/snippets" and returns the decoded response content.
- project_snippet
-
my $snippet = $api->project_snippet( $project_id, $snippet_id, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id" and returns the decoded response content.
- create_project_snippet
-
$api->create_project_snippet( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/snippets".
- edit_project_snippet
-
$api->edit_project_snippet( $project_id, $snippet_id, \%params, );
Sends a "PUT" request to "projects/:project_id/snippets/:snippet_id".
- delete_project_snippet
-
$api->delete_project_snippet( $project_id, $snippet_id, );
Sends a "DELETE" request to "projects/:project_id/snippets/:snippet_id".
- project_snippet_content
-
my $content = $api->project_snippet_content( $project_id, $snippet_id, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id/raw" and returns the decoded response content.
- project_snippet_user_agent_detail
-
my $user_agent = $api->project_snippet_user_agent_detail( $project_id, $snippet_id, );
Sends a "GET" request to "projects/:project_id/snippets/:snippet_id/user_agent_detail" and returns the decoded response content.
Protected branches
See <https://docs.gitlab.com/ce/api/protected_branches.html>.
- protected_branches
-
my $branches = $api->protected_branches( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/protected_branches" and returns the decoded response content.
- protected_branch
-
my $branch = $api->protected_branch( $project_id, $branch_name, );
Sends a "GET" request to "projects/:project_id/protected_branches/:branch_name" and returns the decoded response content.
- protect_branch
-
my $branch = $api->protect_branch( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/protected_branches" and returns the decoded response content.
- unprotect_branch
-
$api->unprotect_branch( $project_id, $branch_name, );
Sends a "DELETE" request to "projects/:project_id/protected_branches/:branch_name".
Protected tags
See <https://docs.gitlab.com/ce/api/protected_tags.html>.
-
my $tags = $api->protected_tags( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/protected_tags" and returns the decoded response content.
- protected_tag
-
my $tag = $api->protected_tag( $project_id, $tag_name, );
Sends a "GET" request to "projects/:project_id/protected_tags/:tag_name" and returns the decoded response content.
- protect_tag
-
my $tag = $api->protect_tag( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/protected_tags" and returns the decoded response content.
- unprotect_tag
-
$api->unprotect_tag( $project_id, $tag_name, );
Sends a "DELETE" request to "projects/:project_id/protected_tags/:tag_name".
Releases
See <https://docs.gitlab.com/ce/api/releases/index.html>.
- releases
-
my $releases = $api->releases( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/releases" and returns the decoded response content.
- release
-
my $release = $api->release( $project_id, $tag_name, );
Sends a "GET" request to "projects/:project_id/releases/:tag_name" and returns the decoded response content.
- create_release
-
my $release = $api->create_release( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/releases" and returns the decoded response content.
- update_release
-
my $release = $api->update_release( $project_id, $tag_name, \%params, );
Sends a "PUT" request to "projects/:project_id/releases/:tag_name" and returns the decoded response content.
- delete_release
-
my $release = $api->delete_release( $project_id, $tag_name, );
Sends a "DELETE" request to "projects/:project_id/releases/:tag_name" and returns the decoded response content.
Release Links
See <https://docs.gitlab.com/ce/api/releases/links.html>.
- release_links
-
my $links = $api->release_links( $project_id, $tag_name, \%params, );
Sends a "GET" request to "projects/:project_id/releases/:tag_name/assets/links" and returns the decoded response content.
- release_link
-
my $link = $api->release_link( $project_id, $tag_name, $link_id, );
Sends a "GET" request to "projects/:project_id/releases/:tag_name/assets/links/:link_id" and returns the decoded response content.
- create_release_link
-
my $link = $api->create_release_link( $project_id, $tag_name, \%params, );
Sends a "POST" request to "projects/:project_id/releases/:tag_name/assets/links" and returns the decoded response content.
- update_release_link
-
my $link = $api->update_release_link( $project_id, $tag_name, $link_id, \%params, );
Sends a "PUT" request to "projects/:project_id/releases/:tag_name/assets/links/:link_id" and returns the decoded response content.
- delete_release_link
-
my $link = $api->delete_release_link( $project_id, $tag_name, $link_id, );
Sends a "DELETE" request to "projects/:project_id/releases/:tag_name/assets/links/:link_id" and returns the decoded response content.
Remote Mirrors
See <https://docs.gitlab.com/ce/api/remote_mirrors.html>.
- remote_mirrors
-
my $mirrors = $api->remote_mirrors( $project_id, );
Sends a "GET" request to "projects/:project_id/remote_mirrors" and returns the decoded response content.
- create_remote_mirror
-
my $mirror = $api->create_remote_mirror( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/remote_mirrors" and returns the decoded response content.
- edit_remote_mirror
-
my $mirror = $api->edit_remote_mirror( $project_id, $mirror_id, \%params, );
Sends a "PUT" request to "projects/:project_id/remote_mirrors/:mirror_id" and returns the decoded response content.
Repositories
See <https://docs.gitlab.com/ce/api/repositories.html>.
- tree
-
my $tree = $api->tree( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/repository/tree" and returns the decoded response content.
- blob
-
my $blob = $api->blob( $project_id, $sha, );
Sends a "GET" request to "projects/:project_id/repository/blobs/:sha" and returns the decoded response content.
- raw_blob
-
my $raw_blob = $api->raw_blob( $project_id, $sha, );
Sends a "GET" request to "projects/:project_id/repository/blobs/:sha/raw" and returns the decoded response content.
- archive
-
my $archive = $api->archive( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/repository/archive" and returns the raw response content.
- compare
-
my $comparison = $api->compare( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/repository/compare" and returns the decoded response content.
- contributors
-
my $contributors = $api->contributors( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/repository/contributors" and returns the decoded response content.
Repository files
See <https://docs.gitlab.com/ce/api/repository_files.html>.
- file
-
my $file = $api->file( $project_id, $file_path, \%params, );
Sends a "GET" request to "projects/:project_id/repository/files/:file_path" and returns the decoded response content.
- raw_file
-
my $content = $api->raw_file( $project_id, $file_path, \%params, );
Sends a "GET" request to "projects/:project_id/repository/files/:file_path/raw" and returns the raw response content.
- create_file
-
$api->create_file( $project_id, $file_path, \%params, );
Sends a "POST" request to "projects/:project_id/repository/files/:file_path".
- edit_file
-
$api->edit_file( $project_id, $file_path, \%params, );
Sends a "PUT" request to "projects/:project_id/repository/files/:file_path".
- delete_file
-
$api->delete_file( $project_id, $file_path, \%params, );
Sends a "DELETE" request to "projects/:project_id/repository/files/:file_path".
Runners
See <https://docs.gitlab.com/ce/api/runners.html>.
- runners
-
my $runners = $api->runners( \%params, );
Sends a "GET" request to "runners" and returns the decoded response content.
- all_runners
-
my $runners = $api->all_runners( \%params, );
Sends a "GET" request to "runners/all" and returns the decoded response content.
- runner
-
my $runner = $api->runner( $runner_id, );
Sends a "GET" request to "runners/:runner_id" and returns the decoded response content.
- update_runner
-
my $runner = $api->update_runner( $runner_id, \%params, );
Sends a "PUT" request to "runners/:runner_id" and returns the decoded response content.
- delete_runner
-
$api->delete_runner( $runner_id, );
Sends a "DELETE" request to "runners/:runner_id".
- runner_jobs
-
my $jobs = $api->runner_jobs( $runner_id, \%params, );
Sends a "GET" request to "runners/:runner_id/jobs" and returns the decoded response content.
- project_runners
-
my $runners = $api->project_runners( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/runners" and returns the decoded response content.
- enable_project_runner
-
my $runner = $api->enable_project_runner( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/runners" and returns the decoded response content.
- disable_project_runner
-
my $runner = $api->disable_project_runner( $project_id, $runner_id, );
Sends a "DELETE" request to "projects/:project_id/runners/:runner_id" and returns the decoded response content.
Search
See <https://docs.gitlab.com/ce/api/search.html>.
- search
-
my $results = $api->search( \%params, );
Sends a "GET" request to "search" and returns the decoded response content.
Services
See <https://docs.gitlab.com/ce/api/services.html>.
- project_service
-
my $service = $api->project_service( $project_id, $service_name, );
Sends a "GET" request to "projects/:project_id/services/:service_name" and returns the decoded response content.
- edit_project_service
-
$api->edit_project_service( $project_id, $service_name, \%params, );
Sends a "PUT" request to "projects/:project_id/services/:service_name".
- delete_project_service
-
$api->delete_project_service( $project_id, $service_name, );
Sends a "DELETE" request to "projects/:project_id/services/:service_name".
Application settings
See <https://docs.gitlab.com/ce/api/settings.html>.
- settings
-
my $settings = $api->settings();
Sends a "GET" request to "application/settings" and returns the decoded response content.
- update_settings
-
my $settings = $api->update_settings( \%params, );
Sends a "PUT" request to "application/settings" and returns the decoded response content.
Application statistics
See <https://docs.gitlab.com/ce/api/statistics.html>.
- statistics
-
my $statistics = $api->statistics();
Sends a "GET" request to "application/statistics" and returns the decoded response content.
Sidekiq Metrics
See <https://docs.gitlab.com/ce/api/sidekiq_metrics.html>.
- queue_metrics
-
my $metrics = $api->queue_metrics();
Sends a "GET" request to "sidekiq/queue_metrics" and returns the decoded response content.
- process_metrics
-
my $metrics = $api->process_metrics();
Sends a "GET" request to "sidekiq/process_metrics" and returns the decoded response content.
- job_stats
-
my $stats = $api->job_stats();
Sends a "GET" request to "sidekiq/job_stats" and returns the decoded response content.
- compound_metrics
-
my $metrics = $api->compound_metrics();
Sends a "GET" request to "sidekiq/compound_metrics" and returns the decoded response content.
System hooks
See <https://docs.gitlab.com/ce/api/system_hooks.html>.
- hooks
-
my $hooks = $api->hooks( \%params, );
Sends a "GET" request to "hooks" and returns the decoded response content.
- create_hook
-
$api->create_hook( \%params, );
Sends a "POST" request to "hooks".
- test_hook
-
my $hook = $api->test_hook( $hook_id, );
Sends a "GET" request to "hooks/:hook_id" and returns the decoded response content.
- delete_hook
-
$api->delete_hook( $hook_id, );
Sends a "DELETE" request to "hooks/:hook_id".
Tags
See <https://docs.gitlab.com/ce/api/tags.html>.
-
my $tags = $api->tags( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/repository/tags" and returns the decoded response content.
- tag
-
my $tag = $api->tag( $project_id, $tag_name, );
Sends a "GET" request to "projects/:project_id/repository/tags/:tag_name" and returns the decoded response content.
- create_tag
-
my $tag = $api->create_tag( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/repository/tags" and returns the decoded response content.
- delete_tag
-
$api->delete_tag( $project_id, $tag_name, );
Sends a "DELETE" request to "projects/:project_id/repository/tags/:tag_name".
- create_tag_release
-
my $release = $api->create_tag_release( $project_id, $tag_name, \%params, );
Sends a "POST" request to "projects/:project_id/repository/tags/:tag_name/release" and returns the decoded response content.
- update_tag_release
-
my $release = $api->update_tag_release( $project_id, $tag_name, \%params, );
Sends a "PUT" request to "projects/:project_id/repository/tags/:tag_name/release" and returns the decoded response content.
Todos
See <https://docs.gitlab.com/ce/api/todos.html>.
- todos
-
my $todos = $api->todos( \%params, );
Sends a "GET" request to "todos" and returns the decoded response content.
- mark_todo_done
-
my $todo = $api->mark_todo_done( $todo_id, );
Sends a "POST" request to "todos/:todo_id/mark_as_done" and returns the decoded response content.
- mark_all_todos_done
-
$api->mark_all_todos_done();
Sends a "POST" request to "todos/mark_as_done".
Users
See <https://docs.gitlab.com/ce/api/users.html>.
- users
-
my $users = $api->users( \%params, );
Sends a "GET" request to "users" and returns the decoded response content.
- user
-
my $user = $api->user( $user_id, );
Sends a "GET" request to "users/:user_id" and returns the decoded response content.
- create_user
-
$api->create_user( \%params, );
Sends a "POST" request to "users".
- edit_user
-
$api->edit_user( $user_id, \%params, );
Sends a "PUT" request to "users/:user_id".
- delete_user
-
$api->delete_user( $user_id, \%params, );
Sends a "DELETE" request to "users/:user_id".
- current_user
-
my $user = $api->current_user();
Sends a "GET" request to "user" and returns the decoded response content.
- current_user_ssh_keys
-
my $keys = $api->current_user_ssh_keys( \%params, );
Sends a "GET" request to "user/keys" and returns the decoded response content.
- user_ssh_keys
-
my $keys = $api->user_ssh_keys( $user_id, \%params, );
Sends a "GET" request to "users/:user_id/keys" and returns the decoded response content.
- user_ssh_key
-
my $key = $api->user_ssh_key( $key_id, );
Sends a "GET" request to "user/keys/:key_id" and returns the decoded response content.
- create_current_user_ssh_key
-
$api->create_current_user_ssh_key( \%params, );
Sends a "POST" request to "user/keys".
- create_user_ssh_key
-
$api->create_user_ssh_key( $user_id, \%params, );
Sends a "POST" request to "users/:user_id/keys".
- delete_current_user_ssh_key
-
$api->delete_current_user_ssh_key( $key_id, );
Sends a "DELETE" request to "user/keys/:key_id".
- delete_user_ssh_key
-
$api->delete_user_ssh_key( $user_id, $key_id, );
Sends a "DELETE" request to "users/:user_id/keys/:key_id".
- current_user_gpg_keys
-
my $keys = $api->current_user_gpg_keys( \%params, );
Sends a "GET" request to "user/gpg_keys" and returns the decoded response content.
- current_user_gpg_key
-
my $key = $api->current_user_gpg_key( $key_id, );
Sends a "GET" request to "user/gpg_keys/:key_id" and returns the decoded response content.
- create_current_user_gpg_key
-
$api->create_current_user_gpg_key( \%params, );
Sends a "POST" request to "user/gpg_keys".
- delete_current_user_gpg_key
-
$api->delete_current_user_gpg_key( $key_id, );
Sends a "DELETE" request to "user/gpg_keys/:key_id".
- user_gpg_keys
-
my $keys = $api->user_gpg_keys( $user_id, \%params, );
Sends a "GET" request to "users/:user_id/gpg_keys" and returns the decoded response content.
- user_gpg_key
-
my $key = $api->user_gpg_key( $user_id, $key_id, );
Sends a "GET" request to "users/:user_id/gpg_keys/:key_id" and returns the decoded response content.
- create_user_gpg_key
-
my $keys = $api->create_user_gpg_key( $user_id, \%params, );
Sends a "POST" request to "users/:user_id/gpg_keys" and returns the decoded response content.
- delete_user_gpg_key
-
$api->delete_user_gpg_key( $user_id, $key_id, );
Sends a "DELETE" request to "users/:user_id/gpg_keys/:key_id".
- current_user_emails
-
my $emails = $api->current_user_emails( \%params, );
Sends a "GET" request to "user/emails" and returns the decoded response content.
- user_emails
-
my $emails = $api->user_emails( $user_id, \%params, );
Sends a "GET" request to "users/:user_id/emails" and returns the decoded response content.
- current_user_email
-
my $email = $api->current_user_email( $email_id, );
Sends a "GET" request to "user/emails/:email_id" and returns the decoded response content.
- create_current_user_email
-
my $email = $api->create_current_user_email( \%params, );
Sends a "POST" request to "user/emails" and returns the decoded response content.
- create_user_email
-
my $email = $api->create_user_email( $user_id, \%params, );
Sends a "POST" request to "users/:user_id/emails" and returns the decoded response content.
- delete_current_user_email
-
$api->delete_current_user_email( $email_id, );
Sends a "DELETE" request to "user/emails/:email_id".
- delete_user_email
-
$api->delete_user_email( $user_id, $email_id, );
Sends a "DELETE" request to "users/:user_id/emails/:email_id".
- block_user
-
my $success = $api->block_user( $user_id, );
Sends a "POST" request to "users/:user_id/block" and returns the decoded response content.
- unblock_user
-
my $success = $api->unblock_user( $user_id, );
Sends a "POST" request to "users/:user_id/unblock" and returns the decoded response content.
- approve_user
-
$api->approve_user( $user_id, );
Sends a "POST" request to "users/:user_id/approve".
- reject_user
-
$api->reject_user( $user_id, );
Sends a "POST" request to "users/:user_id/reject".
- activate_user
-
$api->activate_user( $user_id, );
Sends a "POST" request to "users/:user_id/activate".
- deactivate_user
-
$api->deactivate_user( $user_id, );
Sends a "POST" request to "users/:user_id/deactivate".
- ban_user
-
$api->ban_user( $user_id, );
Sends a "POST" request to "users/:user_id/ban".
- unban_user
-
$api->unban_user( $user_id, );
Sends a "POST" request to "users/:user_id/unban".
- user_impersonation_tokens
-
my $tokens = $api->user_impersonation_tokens( $user_id, \%params, );
Sends a "GET" request to "users/:user_id/impersonation_tokens" and returns the decoded response content.
- user_impersonation_token
-
my $token = $api->user_impersonation_token( $user_id, $impersonation_token_id, );
Sends a "GET" request to "users/:user_id/impersonation_tokens/:impersonation_token_id" and returns the decoded response content.
- create_user_impersonation_token
-
my $token = $api->create_user_impersonation_token( $user_id, \%params, );
Sends a "POST" request to "users/:user_id/impersonation_tokens" and returns the decoded response content.
- delete_user_impersonation_token
-
$api->delete_user_impersonation_token( $user_id, $impersonation_token_id, );
Sends a "DELETE" request to "users/:user_id/impersonation_tokens/:impersonation_token_id".
- all_user_activities
-
my $activities = $api->all_user_activities( \%params, );
Sends a "GET" request to "user/activities" and returns the decoded response content.
- user_memberships
-
my $memberships = $api->user_memberships( $user_id, \%params, );
Sends a "GET" request to "users/:user_id/memberships" and returns the decoded response content.
Validate the .gitlab-ci.yml
See <https://docs.gitlab.com/ce/api/lint.html>.
- lint
-
my $result = $api->lint( \%params, );
Sends a "POST" request to "lint" and returns the decoded response content.
Version
See <https://docs.gitlab.com/ce/api/version.html>.
- version
-
my $version = $api->version();
Sends a "GET" request to "version" and returns the decoded response content.
Wikis
See <https://docs.gitlab.com/ce/api/wikis.html>.
- wiki_pages
-
my $pages = $api->wiki_pages( $project_id, \%params, );
Sends a "GET" request to "projects/:project_id/wikis" and returns the decoded response content.
- wiki_page
-
my $pages = $api->wiki_page( $project_id, $slug, );
Sends a "GET" request to "projects/:project_id/wikis/:slug" and returns the decoded response content.
- create_wiki_page
-
my $page = $api->create_wiki_page( $project_id, \%params, );
Sends a "POST" request to "projects/:project_id/wikis" and returns the decoded response content.
- edit_wiki_page
-
my $page = $api->edit_wiki_page( $project_id, $slug, \%params, );
Sends a "PUT" request to "projects/:project_id/wikis/:slug" and returns the decoded response content.
- delete_wiki_page
-
$api->delete_wiki_page( $project_id, $slug, );
Sends a "DELETE" request to "projects/:project_id/wikis/:slug".
CONTRIBUTING
This module is auto-generated from a set of YAML files defining the interface of GitLab's API. If you'd like to contribute to this module then please feel free to make a fork on GitHub <https://github.com/bluefeet/GitLab-API-v4> and submit a pull request, just make sure you edit the files in the "authors/" directory instead of "lib/GitLab/API/v4.pm" directly.
Please see <https://github.com/bluefeet/GitLab-API-v4/blob/master/author/README.pod> for more information.
Alternatively, you can open a ticket <https://github.com/bluefeet/GitLab-API-v4/issues>.
SUPPORT
Please submit bugs and feature requests to the GitLab-API-v4 GitHub issue tracker:
<https://github.com/bluefeet/GitLab-API-v4/issues>
AUTHOR
Aran Clary Deltac <bluefeet@gmail.com>
CONTRIBUTORS
Dotan Dimet <dotan@corky.net> Nigel Gregoire <nigelgregoire@gmail.com> trunov-ms <trunov.ms@gmail.com> Marek R. Sotola <Marek.R.Sotola@nasa.gov> Jose Joaquin Atria <jjatria@gmail.com> Dave Webb <github@d5ve.com> Simon Ruderich <simon@ruderich.org> royce55 <royce@ecs.vuw.ac.nz> gregor herrmann <gregoa@debian.org> Luc Didry <luc@didry.org> Kieren Diment <kieren.diment@staples.com.au> Dmitry Frolov <dmitry.frolov@gmail.com> Thomas Klausner <domm@plix.at> Graham Knop <haarg@haarg.org> Stig Palmquist <git@stig.io> Dan Book <grinnz@grinnz.com> James Wright <jwright@ecstuning.com> Jonathan Taylor <jon@stackhaus.com> g0t mi1k <have.you.g0tmi1k@gmail.com>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2023-06-13 | perl v5.36.0 |