Provided by: libgitlab-api-v4-perl_0.04-2_all 

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. CONSTANTS The GitLab API, in rare cases, uses a numeric 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 (hopefully) 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 either a numeric project "ID", or as a "NAMESPACE_PATH/PROJECT_PATH" in many cases. Perhaps even all cases, but 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>. 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>. retries The number of times the request should be retried in case it does not succeed. Defaults to 0 (false), meaning that a failed request will not be retried. rest_client An instance of GitLab::API::v4::RESTClient. Typically you will not be setting this as it defaults to a new instance and customization should not be necessary.
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>.
AWARD EMOJI METHODS
See <https://docs.gitlab.com/ce/api/award_emoji.html>. issue_award_emojis my $award_emojis = $api->issue_award_emojis( $project_id, $issue_iid, ); Sends a "GET" request to "/projects/:project_id/issues/:issue_iid/award_emoji" and returns the decoded/deserialized response body. merge_request_award_emojis my $award_emojis = $api->merge_request_award_emojis( $project_id, $merge_request_iid, ); Sends a "GET" request to "/projects/:project_id/merge_requests/:merge_request_iid/award_emoji" and returns the decoded/deserialized response body. snippet_award_emojis my $award_emojis = $api->snippet_award_emojis( $project_id, $merge_request_id, ); Sends a "GET" request to "/projects/:project_id/merge_requests/:merge_request_id/award_emoji" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body.
BRANCH METHODS
See <https://doc.gitlab.com/ce/api/branches.html>. branches my $branches = $api->branches( $project_id, ); Sends a "GET" request to "/projects/:project_id/repository/branches" and returns the decoded/deserialized response body. 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/deserialized response body. create_branch my $branch = $api->create_branch( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/repository/branches" and returns the decoded/deserialized response body. 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 MESSAGE METHODS
See <https://docs.gitlab.com/ce/api/broadcast_messages.html>. broadcast_messages my $messages = $api->broadcast_messages(); Sends a "GET" request to "/broadcast_messages" and returns the decoded/deserialized response body. broadcast_message my $message = $api->broadcast_message( $message_id, ); Sends a "GET" request to "/broadcast_messages/:message_id" and returns the decoded/deserialized response body. create_broadcast_message my $message = $api->create_broadcast_message( \%params, ); Sends a "POST" request to "/broadcast_messages" and returns the decoded/deserialized response body. 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/deserialized response body. delete_broadcast_message $api->delete_broadcast_message( $message_id, ); Sends a "DELETE" request to "/broadcast_messages/:message_id".
PROJECT LEVEL VARIABLE METHODS
See <https://docs.gitlab.com/ce/api/project_level_variables.html>. project_variables my $variables = $api->project_variables( $project_id, ); Sends a "GET" request to "/projects/:project_id/variables" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. delete_project_variable $api->delete_project_variable( $project_id, $variable_key, ); Sends a "DELETE" request to "/projects/:project_id/variables/:variable_key".
GROUP LEVEL VARIABLE METHODS
See <https://docs.gitlab.com/ce/api/group_level_variables.html>. group_variables my $variables = $api->group_variables( $group_id, ); Sends a "GET" request to "/groups/:group_id/variables" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. delete_group_variable $api->delete_group_variable( $group_id, $variable_key, ); Sends a "DELETE" request to "/groups/:group_id/variables/:variable_key".
COMMIT METHODS
See <https://doc.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/deserialized response body. create_commit my $commit = $api->create_commit( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/repository/commits" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. commit_diff my $diff = $api->commit_diff( $project_id, $commit_sha, ); Sends a "GET" request to "/projects/:project_id/repository/commits/:commit_sha/diff" and returns the decoded/deserialized response body. commit_comments my $comments = $api->commit_comments( $project_id, $commit_sha, ); Sends a "GET" request to "/projects/:project_id/repository/commits/:commit_sha/comments" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body.
CUSTOM ATTRIBUTE METHODS
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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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".
DEPLOYMENT METHODS
See <https://docs.gitlab.com/ce/api/deployments.html>. deployments my $deployments = $api->deployments( $project_id, ); Sends a "GET" request to "/projects/:project_id/deployments" and returns the decoded/deserialized response body. deployment my $deployment = $api->deployment( $project_id, $deployment_id, ); Sends a "GET" request to "/projects/:project_id/deployments/:deployment_id" and returns the decoded/deserialized response body.
DEPLOY KEY METHODS
See <https://docs.gitlab.com/ce/api/deploy_keys.html>. all_deploy_keys my $keys = $api->all_deploy_keys(); Sends a "GET" request to "/deploy_keys" and returns the decoded/deserialized response body. deploy_keys my $keys = $api->deploy_keys( $project_id, ); Sends a "GET" request to "/projects/:project_id/deploy_keys" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body.
ENVIRONMENT METHODS
See <https://docs.gitlab.com/ce/api/environments.html>. environments my $environments = $api->environments( $project_id, ); Sends a "GET" request to "/projects/:project_id/environments" and returns the decoded/deserialized response body. create_environment my $environment = $api->create_environment( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/environments" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body.
EVENT METHODS
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/deserialized response body. user_events my $events = $api->user_events( $user_id, \%params, ); Sends a "GET" request to "/users/:user_id/events" and returns the decoded/deserialized response body. project_events my $events = $api->project_events( $project_id, \%params, ); Sends a "GET" request to "/projects/:project_id/events" and returns the decoded/deserialized response body.
FEATURE FLAG METHODS
See <https://docs.gitlab.com/ce/api/features.html>. features my $features = $api->features(); Sends a "GET" request to "/features" and returns the decoded/deserialized response body. set_feature my $feature = $api->set_feature( $name, \%params, ); Sends a "POST" request to "/features/:name" and returns the decoded/deserialized response body.
GITIGNORES TEMPLATE METHODS
See <https://docs.gitlab.com/ce/api/templates/gitignores.html>. gitignores_templates my $templates = $api->gitignores_templates(); Sends a "GET" request to "/templates/gitignores" and returns the decoded/deserialized response body. gitignores_template my $template = $api->gitignores_template( $template_key, ); Sends a "GET" request to "/templates/gitignores/:template_key" and returns the decoded/deserialized response body.
GITLAB CI CONFIG TEMPLATE METHODS
See <https://docs.gitlab.com/ce/api/templates/gitlab_ci_ymls.html>. gitlab_ci_ymls_templates my $templates = $api->gitlab_ci_ymls_templates(); Sends a "GET" request to "/templates/gitlab_ci_ymls" and returns the decoded/deserialized response body. 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/deserialized response body.
GROUP METHODS
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/deserialized response body. group_subgroups my $subgroups = $api->group_subgroups( $group_id, \%params, ); Sends a "GET" request to "/groups/:group_id/subgroups" and returns the decoded/deserialized response body. group_projects my $projects = $api->group_projects( $group_id, \%params, ); Sends a "GET" request to "/groups/:group_id/projects" and returns the decoded/deserialized response body. group my $group = $api->group( $group_id, ); Sends a "GET" request to "/groups/:group_id" and returns the decoded/deserialized response body. 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/deserialized response body. 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".
GROUP AND PROJECT MEMBER METHODS
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/deserialized response body. project_members my $members = $api->project_members( $project_id, \%params, ); Sends a "GET" request to "/projects/:project_id/members" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. remove_group_member $api->remove_group_member( $group_id, $user_id, ); Sends a "DELETE" request to "/groups/:group_id/members/:user_id". remove_project_member $api->remove_project_member( $project_id, $user_id, ); Sends a "DELETE" request to "/projects/:project_id/members/:user_id".
ISSUE METHODS
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/deserialized response body. group_issues my $issues = $api->group_issues( $group_id, \%params, ); Sends a "GET" request to "/groups/:group_id/issues" and returns the decoded/deserialized response body. issues my $issues = $api->issues( $project_id, \%params, ); Sends a "GET" request to "/projects/:project_id/issues" and returns the decoded/deserialized response body. issue my $issue = $api->issue( $project_id, $issue_iid, ); Sends a "GET" request to "/projects/:project_id/issues/:issue_iid" and returns the decoded/deserialized response body. create_issue my $issue = $api->create_issue( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/issues" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body.
ISSUE BOARD METHODS
See <https://docs.gitlab.com/ce/api/boards.html>. project_boards my $boards = $api->project_boards( $project_id, ); Sends a "GET" request to "/projects/:project_id/boards" and returns the decoded/deserialized response body. project_board_lists my $lists = $api->project_board_lists( $project_id, $board_id, ); Sends a "GET" request to "/projects/:project_id/boards/:board_id/lists" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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".
JOB METHODS
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/deserialized response body. 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/deserialized response body. job my $job = $api->job( $project_id, $job_id, ); Sends a "GET" request to "/projects/:project_id/jobs/:job_id" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body.
KEY METHODS
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/deserialized response body.
LABEL METHODS
See <https://docs.gitlab.com/ce/api/labels.html>. labels my $labels = $api->labels( $project_id, ); Sends a "GET" request to "/projects/:project_id/labels" and returns the decoded/deserialized response body. create_label my $label = $api->create_label( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/labels" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. unsubscribe_from_label $api->unsubscribe_from_label( $project_id, $label_id, ); Sends a "POST" request to "/projects/:project_id/labels/:label_id/unsubscribe".
MERGE REQUEST METHODS
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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. merge_request_closes_issues my $issues = $api->merge_request_closes_issues( $project_id, $merge_request_iid, ); Sends a "GET" request to "/projects/:project_id/merge_requests/:merge_request_iid/closes_issues" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body.
PROJECT MILESTONE METHODS
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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. project_milestone_issues my $issues = $api->project_milestone_issues( $project_id, $milestone_id, ); Sends a "GET" request to "/projects/:project_id/milestones/:milestone_id/issues" and returns the decoded/deserialized response body. project_milestone_merge_requests my $merge_requests = $api->project_milestone_merge_requests( $project_id, $milestone_id, ); Sends a "GET" request to "/projects/:project_id/milestones/:milestone_id/merge_requests" and returns the decoded/deserialized response body.
GROUP MILESTONE METHODS
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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. group_milestone_issues my $issues = $api->group_milestone_issues( $group_id, $milestone_id, ); Sends a "GET" request to "/groups/:group_id/milestones/:milestone_id/issues" and returns the decoded/deserialized response body. group_milestone_merge_requests my $merge_requests = $api->group_milestone_merge_requests( $group_id, $milestone_id, ); Sends a "GET" request to "/groups/:group_id/milestones/:milestone_id/merge_requests" and returns the decoded/deserialized response body.
NAMESPACE METHODS
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/deserialized response body. namespace my $namespace = $api->namespace( $namespace_id, ); Sends a "GET" request to "/namespaces/:namespace_id" and returns the decoded/deserialized response body.
NOTE METHODS
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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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".
NOTIFICATION SETTING METHODS
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/deserialized response body. set_global_notification_settings my $settings = $api->set_global_notification_settings( \%params, ); Sends a "PUT" request to "/notification_settings" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body.
OPEN SOURCE LICENSE TEMPLATE METHODS
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/deserialized response body. license_template my $template = $api->license_template( $template_key, \%params, ); Sends a "GET" request to "/templates/licenses/:template_key" and returns the decoded/deserialized response body.
PAGE DOMAIN METHODS
See <https://docs.gitlab.com/ce/api/pages_domains.html>. global_pages_domains my $domains = $api->global_pages_domains(); Sends a "GET" request to "/pages/domains" and returns the decoded/deserialized response body. pages_domains my $domains = $api->pages_domains( $project_id, ); Sends a "GET" request to "/projects/:project_id/pages/domains" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. delete_pages_domain $api->delete_pages_domain( $project_id, $domain, ); Sends a "DELETE" request to "/projects/:project_id/pages/domains/:domain".
PIPELINE METHODS
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/deserialized response body. pipeline my $pipeline = $api->pipeline( $project_id, $pipeline_id, ); Sends a "GET" request to "/projects/:project_id/pipelines/:pipeline_id" and returns the decoded/deserialized response body. create_pipeline my $pipeline = $api->create_pipeline( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/pipeline" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body.
PIPELINE TRIGGER METHODS
See <https://docs.gitlab.com/ce/api/pipeline_triggers.html>. triggers my $triggers = $api->triggers( $project_id, ); Sends a "GET" request to "/projects/:project_id/triggers" and returns the decoded/deserialized response body. trigger my $trigger = $api->trigger( $project_id, $trigger_id, ); Sends a "GET" request to "/projects/:project_id/triggers/:trigger_id" and returns the decoded/deserialized response body. create_trigger my $trigger = $api->create_trigger( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/triggers" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. delete_trigger $api->delete_trigger( $project_id, $trigger_id, ); Sends a "DELETE" request to "/projects/:project_id/triggers/:trigger_id".
PIPELINE SCHEDULE METHODS
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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body.
PROJECT METHODS
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/deserialized response body. user_projects my $projects = $api->user_projects( $user_id, \%params, ); Sends a "GET" request to "/users/:user_id/projects" and returns the decoded/deserialized response body. project my $project = $api->project( $project_id, \%params, ); Sends a "GET" request to "/projects/:project_id" and returns the decoded/deserialized response body. project_users my $users = $api->project_users( $project_id, ); Sends a "GET" request to "/projects/:project_id/users" and returns the decoded/deserialized response body. create_project my $project = $api->create_project( \%params, ); Sends a "POST" request to "/projects" and returns the decoded/deserialized response body. 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". 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/deserialized response body. start_project my $project = $api->start_project( $project_id, ); Sends a "POST" request to "/projects/:project_id/star" and returns the decoded/deserialized response body. unstar_project my $project = $api->unstar_project( $project_id, ); Sends a "POST" request to "/projects/:project_id/unstar" and returns the decoded/deserialized response body. archive_project my $project = $api->archive_project( $project_id, ); Sends a "POST" request to "/projects/:project_id/archive" and returns the decoded/deserialized response body. unarchive_project my $project = $api->unarchive_project( $project_id, ); Sends a "POST" request to "/projects/:project_id/unarchive" and returns the decoded/deserialized response body. 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/deserialized response body. share_project_with_group $api->share_project_with_group( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/share". unshare_project_with_group $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/deserialized response body. project_hook my $hook = $api->project_hook( $project_id, $hook_id, ); Sends a "GET" request to "/project/:project_id/hooks/:hook_id" and returns the decoded/deserialized response body. create_project_hook $api->create_project_hook( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/hooks". edit_project_hook $api->edit_project_hook( $project_id, $hook_id, \%params, ); Sends a "PUT" request to "/projects/:project_id/hooks/:hook_id". delete_project_hook my $hook = $api->delete_project_hook( $project_id, $hook_id, ); Sends a "DELETE" request to "/projects/:project_id/hooks/:hook_id" and returns the decoded/deserialized response body. 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".
PROJECT ACCESS REQUEST METHODS
See <https://docs.gitlab.com/ce/api/access_requests.html>. group_access_requests my $requests = $api->group_access_requests( $group_id, ); Sends a "GET" request to "/groups/:group_id/access_requests" and returns the decoded/deserialized response body. project_access_requests my $requests = $api->project_access_requests( $project_id, ); Sends a "GET" request to "/projects/:project_id/access_requests" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. deny_group_access $api->deny_group_access( $group_id, $user_id, ); Sends a "DELETE" request to "/groups/:group_id/access_requests/:user_id". deny_project_access $api->deny_project_access( $project_id, $user_id, ); Sends a "DELETE" request to "/projects/:project_id/access_requests/:user_id".
PROJECT SNIPPET METHODS
See <https://docs.gitlab.com/ce/api/project_snippets.html>. snippets my $snippets = $api->snippets( $project_id, ); Sends a "GET" request to "/projects/:project_id/snippets" and returns the decoded/deserialized response body. snippet my $snippet = $api->snippet( $project_id, $snippet_id, ); Sends a "GET" request to "/projects/:project_id/snippets/:snippet_id" and returns the decoded/deserialized response body. create_snippet $api->create_snippet( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/snippets". edit_snippet $api->edit_snippet( $project_id, $snippet_id, \%params, ); Sends a "PUT" request to "/projects/:project_id/snippets/:snippet_id". delete_snippet $api->delete_snippet( $project_id, $snippet_id, ); Sends a "DELETE" request to "/projects/:project_id/snippets/:snippet_id". snippet_content my $content = $api->snippet_content( $project_id, $snippet_id, ); Sends a "GET" request to "/projects/:project_id/snippets/:snippet_id/raw" and returns the decoded/deserialized response body. snippet_user_agent_detail my $user_agent = $api->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/deserialized response body.
PROTECTED BRANCH METHODS
See <https://docs.gitlab.com/ce/api/protected_branches.html>. protected_branches my $branches = $api->protected_branches( $project_id, ); Sends a "GET" request to "/projects/:project_id/protected_branches" and returns the decoded/deserialized response body. 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/deserialized response body. protect_branch my $branch = $api->protect_branch( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/protected_branches" and returns the decoded/deserialized response body. unprotect_branch $api->unprotect_branch( $project_id, $branch_name, ); Sends a "DELETE" request to "/projects/:project_id/protected_branches/:branch_name".
REPOSITORY METHODS
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/deserialized response body. blob my $blob = $api->blob( $project_id, $sha, ); Sends a "GET" request to "/projects/:project_id/repository/blobs/:sha" and returns the decoded/deserialized response body. 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/deserialized response body. archive my $archive = $api->archive( $project_id, \%params, ); Sends a "GET" request to "/projects/:project_id/repository/archive" and returns the decoded/deserialized response body. compare my $comparison = $api->compare( $project_id, \%params, ); Sends a "GET" request to "/projects/:project_id/repository/compare" and returns the decoded/deserialized response body. contributors my $contributors = $api->contributors( $project_id, ); Sends a "GET" request to "/projects/:project_id/repository/contributors" and returns the decoded/deserialized response body.
FILE METHODS
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/deserialized response body. raw_file my $file = $api->raw_file( $project_id, $file_path, \%params, ); Sends a "GET" request to "/projects/:project_id/repository/files/:file_path/raw" and returns the decoded/deserialized response body. 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".
RUNNER METHODS
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/deserialized response body. all_runners my $runners = $api->all_runners( \%params, ); Sends a "GET" request to "/runners/all" and returns the decoded/deserialized response body. runner my $runner = $api->runner( $runner_id, ); Sends a "GET" request to "/runners/:runner_id" and returns the decoded/deserialized response body. update_runner my $runner = $api->update_runner( $runner_id, \%params, ); Sends a "PUT" request to "/runners/:runner_id" and returns the decoded/deserialized response body. delete_runner my $runner = $api->delete_runner( $runner_id, ); Sends a "DELETE" request to "/runners/:runner_id" and returns the decoded/deserialized response body. runner_jobs my $jobs = $api->runner_jobs( $runner_id, \%params, ); Sends a "GET" request to "/runners/:runner_id/jobs" and returns the decoded/deserialized response body. project_runners my $runners = $api->project_runners( $project_id, ); Sends a "GET" request to "/projects/:project_id/runners" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body.
SERVICE METHODS
See <https://docs.gitlab.com/ce/api/services.html>. 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".
SETTINGS METHODS
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/deserialized response body. update_settings my $settings = $api->update_settings( \%params, ); Sends a "PUT" request to "/application/settings" and returns the decoded/deserialized response body.
SIDEKIQ METRIC METHODS
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/deserialized response body. process_metrics my $metrics = $api->process_metrics(); Sends a "GET" request to "/sidekiq/process_metrics" and returns the decoded/deserialized response body. job_stats my $stats = $api->job_stats(); Sends a "GET" request to "/sidekiq/job_stats" and returns the decoded/deserialized response body. compound_metrics my $metrics = $api->compound_metrics(); Sends a "GET" request to "/sidekiq/compound_metrics" and returns the decoded/deserialized response body.
SYSTEM HOOK METHODS
See <https://docs.gitlab.com/ce/api/system_hooks.html>. hooks my $hooks = $api->hooks(); Sends a "GET" request to "/hooks" and returns the decoded/deserialized response body. 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/deserialized response body. delete_hook $api->delete_hook( $hook_id, ); Sends a "DELETE" request to "/hooks/:hook_id".
TAG METHODS
See <https://docs.gitlab.com/ce/api/tags.html>. tags my $tags = $api->tags( $project_id, ); Sends a "GET" request to "/projects/:project_id/repository/tags" and returns the decoded/deserialized response body. 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/deserialized response body. create_tag my $tag = $api->create_tag( $project_id, \%params, ); Sends a "POST" request to "/projects/:project_id/repository/tags" and returns the decoded/deserialized response body. delete_tag $api->delete_tag( $project_id, $tag_name, ); Sends a "DELETE" request to "/projects/:project_id/repository/tags/:tag_name". create_release $api->create_release( $project_id, $tag_name, \%params, ); Sends a "POST" request to "/projects/:project_id/repository/tags/:tag_name/release". edit_release $api->edit_release( $project_id, $tag_name, \%params, ); Sends a "PUT" request to "/projects/:project_id/repository/tags/:tag_name/release".
TODO METHODS
See <https://docs.gitlab.com/ce/api/todos.html>.
USER METHODS
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/deserialized response body. user my $user = $api->user( $user_id, ); Sends a "GET" request to "/users/:user_id" and returns the decoded/deserialized response body. 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 my $user = $api->delete_user( $user_id, ); Sends a "DELETE" request to "/users/:user_id" and returns the decoded/deserialized response body. current_user my $user = $api->current_user(); Sends a "GET" request to "/user" and returns the decoded/deserialized response body. current_user_ssh_keys my $keys = $api->current_user_ssh_keys(); Sends a "GET" request to "/user/keys" and returns the decoded/deserialized response body. user_ssh_keys my $keys = $api->user_ssh_keys( $user_id, ); Sends a "GET" request to "/users/:user_id/keys" and returns the decoded/deserialized response body. user_ssh_key my $key = $api->user_ssh_key( $key_id, ); Sends a "GET" request to "/user/keys/:key_id" and returns the decoded/deserialized response body. 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(); Sends a "GET" request to "/user/gpg_keys" and returns the decoded/deserialized response body. 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/deserialized response body. 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, ); Sends a "GET" request to "/users/:user_id/gpg_keys" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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(); Sends a "GET" request to "/user/emails" and returns the decoded/deserialized response body. user_emails my $emails = $api->user_emails( $user_id, ); Sends a "GET" request to "/users/:user_id/emails" and returns the decoded/deserialized response body. current_user_email my $email = $api->current_user_email( $email_id, ); Sends a "GET" request to "/user/emails/:email_id" and returns the decoded/deserialized response body. create_current_user_email my $email = $api->create_current_user_email( \%params, ); Sends a "POST" request to "/user/emails" and returns the decoded/deserialized response body. 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/deserialized response body. 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 $api->block_user( $user_id, ); Sends a "POST" request to "/users/:user_id/block". unblock_user $api->unblock_user( $user_id, ); Sends a "POST" request to "/users/:user_id/unblock". 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/deserialized response body. 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/deserialized response body. 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/deserialized response body. 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(); Sends a "GET" request to "/user/activities" and returns the decoded/deserialized response body.
VALIDATE CI CONFIGURATION METHODS
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/deserialized response body.
VERSION METHODS
See <https://docs.gitlab.com/ce/api/version.html>. version my $version = $api->version(); Sends a "GET" request to "/version" and returns the decoded/deserialized response body.
WIKI METHODS
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/deserialized response body. wiki_page my $pages = $api->wiki_page( $project_id, $slug, ); Sends a "GET" request to "/projects/:project_id/wikis/:slug" and returns the decoded/deserialized response body. 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/deserialized response body. 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/deserialized response body. delete_wiki_page $api->delete_wiki_page( $project_id, $slug, ); Sends a "DELETE" request to "/projects/:project_id/wikis/:slug".
SEE ALSO
Net::Gitlab purports to provide an interface to the GitLab API, but it is hard to tell due to a complete lack of documentation via either POD or unit tests.
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>.
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> • José Joaquín Atria <jjatria@gmail.com> • Dave Webb <github@d5ve.com>
ACKNOWLEDGEMENTS
Thanks to ZipRecruiter <https://www.ziprecruiter.com/> for encouraging their employees to contribute back to the open source ecosystem. Without their dedication to quality software development this distribution would not exist.
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.