1GitLab::API::v4(3pm)  User Contributed Perl Documentation GitLab::API::v4(3pm)
2
3
4

NAME

6       GitLab::API::v4 - A complete GitLab API v4 client.
7

SYNOPSIS

9           use GitLab::API::v4;
10
11           my $api = GitLab::API::v4->new(
12               url           => $v4_api_url,
13               private_token => $token,
14           );
15
16           my $branches = $api->branches( $project_id );
17

DESCRIPTION

19       This module provides a one-to-one interface with the GitLab API v4.
20       Much is not documented here as it would just be duplicating GitLab's
21       own API Documentation <http://doc.gitlab.com/ce/api/README.html>.
22
23       Note that this distribution also includes the gitlab-api-v4 command-
24       line interface (CLI).
25
26   Upgrading
27       If you are upgrading from GitLab::API::v3 make sure you read:
28
29       <https://docs.gitlab.com/ce/api/v3_to_v4.html>
30
31       Also, review the "Changes" file included in the distribution as it
32       outlines the changes made to convert the v3 module to v4:
33
34       <https://github.com/bluefeet/GitLab-API-v4/blob/master/Changes>
35
36       Finally, be aware that many methods were added, removed, renamed,
37       and/or altered.  If you want to review exactly what was changed you can
38       use GitHub's compare tool:
39
40       <https://github.com/bluefeet/GitLab-API-v4/compare/72e384775c9570f60f8ef68dee3a1eecd347fb69...master>
41
42       Or clone the repo and run this command:
43
44       "git diff 72e384775c9570f60f8ef68dee3a1eecd347fb69..HEAD --
45       author/sections/"
46
47   Credentials
48       Authentication credentials may be defined by setting either the
49       "access_token" or "private_token" arguments.
50
51       If no credentials are supplied then the client will be anonymous and
52       greatly limited in what it can do with the API.
53
54       Extra care has been taken to hide the token arguments behind closures.
55       This way, if you dump your api object, your tokens won't accidentally
56       leak into places you don't want them to.
57
58   Constants
59       The GitLab API, in rare cases, uses a hard-coded value to represent a
60       state.  To make life easier the GitLab::API::v4::Constants module
61       exposes these states as named variables.
62
63   Exceptions
64       The API methods will all throw a useful exception if an unsuccessful
65       response is received from the API.  That is except for "GET" requests
66       that return a 404 response - these will return "undef" for methods that
67       return a value.
68
69       If you'd like to catch and handle these exceptions consider using
70       Try::Tiny.
71
72   Logging
73       This module uses Log::Any and produces some debug messages here and
74       there, but the most useful bits are the info messages produced just
75       before each API call.
76
77   Project ID
78       Note that many API calls require a $project_id.  This can be specified
79       as a numeric project "ID" or, in many cases, maybe all cases, as a
80       "NAMESPACE_PATH/PROJECT_PATH" string.  The GitLab documentation on this
81       point is vague.
82

REQUIRED ARGUMENTS

84   url
85       The URL to your v4 API endpoint.  Typically this will be something like
86       "https://git.example.com/api/v4".
87

OPTIONAL ARGUMENTS

89   access_token
90       A GitLab API OAuth2 token.  If set then "private_token" may not be set.
91
92       See <https://docs.gitlab.com/ce/api/#oauth2-tokens>.
93
94   private_token
95       A GitLab API personal token.  If set then "access_token" may not be
96       set.
97
98       See <https://docs.gitlab.com/ce/api/#personal-access-tokens>.
99
100   retries
101       The number of times the request should be retried in case it fails (5XX
102       HTTP response code).  Defaults to 0 (false), meaning that a failed
103       request will not be retried.
104
105   sudo_user
106       The user to execute API calls as.  You may find it more useful to use
107       the "sudo" method instead.
108
109       See <https://docs.gitlab.com/ce/api/#sudo>.
110
111   rest_client
112       An instance of GitLab::API::v4::RESTClient (or whatever
113       "rest_client_class" is set to).  Typically you will not be setting this
114       as it defaults to a new instance and customization should not be
115       necessary.
116
117   rest_client_class
118       The class to use when constructing the "rest_client".  Defaults to
119       GitLab::API::v4::RESTClient.
120

UTILITY METHODS

122   paginator
123           my $paginator = $api->paginator( $method, @method_args );
124
125           my $members = $api->paginator('group_members', $group_id);
126           while (my $member = $members->next()) {
127               ...
128           }
129
130           my $users_pager = $api->paginator('users');
131           while (my $users = $users_pager->next_page()) {
132               ...
133           }
134
135           my $all_open_issues = $api->paginator(
136               'issues',
137               $project_id,
138               { state=>'opened' },
139           )->all();
140
141       Given a method who supports the "page" and "per_page" parameters, and
142       returns an array ref, this will return a GitLab::API::v4::Paginator
143       object that will allow you to walk the records one page or one record
144       at a time.
145
146   sudo
147           $api->sudo('fred')->create_issue(...);
148
149       Returns a new instance of GitLab::API::v4 with the "sudo_user" argument
150       set.
151
152       See <https://docs.gitlab.com/ce/api/#sudo>.
153

API METHODS

155   Award Emoji
156       See <https://docs.gitlab.com/ce/api/award_emoji.html>.
157
158       issue_award_emojis
159               my $award_emojis = $api->issue_award_emojis(
160                   $project_id,
161                   $issue_iid,
162                   \%params,
163               );
164
165           Sends a "GET" request to
166           "projects/:project_id/issues/:issue_iid/award_emoji" and returns
167           the decoded response content.
168
169       merge_request_award_emojis
170               my $award_emojis = $api->merge_request_award_emojis(
171                   $project_id,
172                   $merge_request_iid,
173                   \%params,
174               );
175
176           Sends a "GET" request to
177           "projects/:project_id/merge_requests/:merge_request_iid/award_emoji"
178           and returns the decoded response content.
179
180       snippet_award_emojis
181               my $award_emojis = $api->snippet_award_emojis(
182                   $project_id,
183                   $merge_request_id,
184                   \%params,
185               );
186
187           Sends a "GET" request to
188           "projects/:project_id/merge_requests/:merge_request_id/award_emoji"
189           and returns the decoded response content.
190
191       issue_award_emoji
192               my $award_emoji = $api->issue_award_emoji(
193                   $project_id,
194                   $issue_iid,
195                   $award_id,
196               );
197
198           Sends a "GET" request to
199           "projects/:project_id/issues/:issue_iid/award_emoji/:award_id" and
200           returns the decoded response content.
201
202       merge_request_award_emoji
203               my $award_emoji = $api->merge_request_award_emoji(
204                   $project_id,
205                   $merge_request_iid,
206                   $award_id,
207               );
208
209           Sends a "GET" request to
210           "projects/:project_id/merge_requests/:merge_request_iid/award_emoji/:award_id"
211           and returns the decoded response content.
212
213       snippet_award_emoji
214               my $award_emoji = $api->snippet_award_emoji(
215                   $project_id,
216                   $snippet_id,
217                   $award_id,
218               );
219
220           Sends a "GET" request to
221           "projects/:project_id/snippets/:snippet_id/award_emoji/:award_id"
222           and returns the decoded response content.
223
224       create_issue_award_emoji
225               my $award_emoji = $api->create_issue_award_emoji(
226                   $project_id,
227                   $issue_iid,
228                   \%params,
229               );
230
231           Sends a "POST" request to
232           "projects/:project_id/issues/:issue_iid/award_emoji" and returns
233           the decoded response content.
234
235       create_merge_request_award_emoji
236               my $award_emoji = $api->create_merge_request_award_emoji(
237                   $project_id,
238                   $merge_request_iid,
239                   \%params,
240               );
241
242           Sends a "POST" request to
243           "projects/:project_id/merge_requests/:merge_request_iid/award_emoji"
244           and returns the decoded response content.
245
246       create_snippet_award_emoji
247               my $award_emoji = $api->create_snippet_award_emoji(
248                   $project_id,
249                   $snippet_id,
250               );
251
252           Sends a "POST" request to
253           "projects/:project_id/snippets/:snippet_id/award_emoji" and returns
254           the decoded response content.
255
256       delete_issue_award_emoji
257               my $award_emoji = $api->delete_issue_award_emoji(
258                   $project_id,
259                   $issue_id,
260                   $award_id,
261               );
262
263           Sends a "DELETE" request to
264           "projects/:project_id/issues/:issue_id/award_emoji/:award_id" and
265           returns the decoded response content.
266
267       delete_merge_request_award_emoji
268               my $award_emoji = $api->delete_merge_request_award_emoji(
269                   $project_id,
270                   $merge_request_id,
271                   $award_id,
272               );
273
274           Sends a "DELETE" request to
275           "projects/:project_id/merge_requests/:merge_request_id/award_emoji/:award_id"
276           and returns the decoded response content.
277
278       delete_snippet_award_emoji
279               my $award_emoji = $api->delete_snippet_award_emoji(
280                   $project_id,
281                   $snippet_id,
282                   $award_id,
283               );
284
285           Sends a "DELETE" request to
286           "projects/:project_id/snippets/:snippet_id/award_emoji/:award_id"
287           and returns the decoded response content.
288
289       issue_note_award_emojis
290               my $award_emojis = $api->issue_note_award_emojis(
291                   $project_id,
292                   $issue_iid,
293                   $note_id,
294               );
295
296           Sends a "GET" request to
297           "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji"
298           and returns the decoded response content.
299
300       issue_note_award_emoji
301               my $award_emoji = $api->issue_note_award_emoji(
302                   $project_id,
303                   $issue_iid,
304                   $note_id,
305                   $award_id,
306               );
307
308           Sends a "GET" request to
309           "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id"
310           and returns the decoded response content.
311
312       create_issue_note_award_emoji
313               my $award_emoji = $api->create_issue_note_award_emoji(
314                   $project_id,
315                   $issue_iid,
316                   $note_id,
317                   \%params,
318               );
319
320           Sends a "POST" request to
321           "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji"
322           and returns the decoded response content.
323
324       delete_issue_note_award_emoji
325               my $award_emoji = $api->delete_issue_note_award_emoji(
326                   $project_id,
327                   $issue_iid,
328                   $note_id,
329                   $award_id,
330               );
331
332           Sends a "DELETE" request to
333           "projects/:project_id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id"
334           and returns the decoded response content.
335
336       merge_request_note_award_emojis
337               my $award_emojis = $api->merge_request_note_award_emojis(
338                   $project_id,
339                   $merge_request_iid,
340                   $note_id,
341               );
342
343           Sends a "GET" request to
344           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji"
345           and returns the decoded response content.
346
347       merge_request_note_award_emoji
348               my $award_emoji = $api->merge_request_note_award_emoji(
349                   $project_id,
350                   $merge_request_iid,
351                   $note_id,
352                   $award_id,
353               );
354
355           Sends a "GET" request to
356           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji/:award_id"
357           and returns the decoded response content.
358
359       create_merge_request_note_award_emoji
360               my $award_emoji = $api->create_merge_request_note_award_emoji(
361                   $project_id,
362                   $merge_request_iid,
363                   $note_id,
364                   \%params,
365               );
366
367           Sends a "POST" request to
368           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji"
369           and returns the decoded response content.
370
371       delete_merge_request_note_award_emoji
372               my $award_emoji = $api->delete_merge_request_note_award_emoji(
373                   $project_id,
374                   $merge_request_iid,
375                   $note_id,
376                   $award_id,
377               );
378
379           Sends a "DELETE" request to
380           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id/award_emoji/:award_id"
381           and returns the decoded response content.
382
383   Branches
384       See <https://docs.gitlab.com/ce/api/branches.html>.
385
386       branches
387               my $branches = $api->branches(
388                   $project_id,
389                   \%params,
390               );
391
392           Sends a "GET" request to "projects/:project_id/repository/branches"
393           and returns the decoded response content.
394
395       branch
396               my $branch = $api->branch(
397                   $project_id,
398                   $branch_name,
399               );
400
401           Sends a "GET" request to
402           "projects/:project_id/repository/branches/:branch_name" and returns
403           the decoded response content.
404
405       create_branch
406               my $branch = $api->create_branch(
407                   $project_id,
408                   \%params,
409               );
410
411           Sends a "POST" request to
412           "projects/:project_id/repository/branches" and returns the decoded
413           response content.
414
415       delete_branch
416               $api->delete_branch(
417                   $project_id,
418                   $branch_name,
419               );
420
421           Sends a "DELETE" request to
422           "projects/:project_id/repository/branches/:branch_name".
423
424       delete_merged_branches
425               $api->delete_merged_branches(
426                   $project_id,
427               );
428
429           Sends a "DELETE" request to
430           "projects/:project_id/repository/merged_branches".
431
432   Broadcast Messages
433       See <https://docs.gitlab.com/ce/api/broadcast_messages.html>.
434
435       broadcast_messages
436               my $messages = $api->broadcast_messages(
437                   \%params,
438               );
439
440           Sends a "GET" request to "broadcast_messages" and returns the
441           decoded response content.
442
443       broadcast_message
444               my $message = $api->broadcast_message(
445                   $message_id,
446               );
447
448           Sends a "GET" request to "broadcast_messages/:message_id" and
449           returns the decoded response content.
450
451       create_broadcast_message
452               my $message = $api->create_broadcast_message(
453                   \%params,
454               );
455
456           Sends a "POST" request to "broadcast_messages" and returns the
457           decoded response content.
458
459       edit_broadcast_message
460               my $message = $api->edit_broadcast_message(
461                   $message_id,
462                   \%params,
463               );
464
465           Sends a "PUT" request to "broadcast_messages/:message_id" and
466           returns the decoded response content.
467
468       delete_broadcast_message
469               $api->delete_broadcast_message(
470                   $message_id,
471               );
472
473           Sends a "DELETE" request to "broadcast_messages/:message_id".
474
475   Project-level Variables
476       See <https://docs.gitlab.com/ce/api/project_level_variables.html>.
477
478       project_variables
479               my $variables = $api->project_variables(
480                   $project_id,
481                   \%params,
482               );
483
484           Sends a "GET" request to "projects/:project_id/variables" and
485           returns the decoded response content.
486
487       project_variable
488               my $variable = $api->project_variable(
489                   $project_id,
490                   $variable_key,
491               );
492
493           Sends a "GET" request to
494           "projects/:project_id/variables/:variable_key" and returns the
495           decoded response content.
496
497       create_project_variable
498               my $variable = $api->create_project_variable(
499                   $project_id,
500                   \%params,
501               );
502
503           Sends a "POST" request to "projects/:project_id/variables" and
504           returns the decoded response content.
505
506       edit_project_variable
507               my $variable = $api->edit_project_variable(
508                   $project_id,
509                   $variable_key,
510                   \%params,
511               );
512
513           Sends a "PUT" request to
514           "projects/:project_id/variables/:variable_key" and returns the
515           decoded response content.
516
517       delete_project_variable
518               $api->delete_project_variable(
519                   $project_id,
520                   $variable_key,
521               );
522
523           Sends a "DELETE" request to
524           "projects/:project_id/variables/:variable_key".
525
526   Group-level Variables
527       See <https://docs.gitlab.com/ce/api/group_level_variables.html>.
528
529       group_variables
530               my $variables = $api->group_variables(
531                   $group_id,
532                   \%params,
533               );
534
535           Sends a "GET" request to "groups/:group_id/variables" and returns
536           the decoded response content.
537
538       group_variable
539               my $variable = $api->group_variable(
540                   $group_id,
541                   $variable_key,
542               );
543
544           Sends a "GET" request to "groups/:group_id/variables/:variable_key"
545           and returns the decoded response content.
546
547       create_group_variable
548               my $variable = $api->create_group_variable(
549                   $group_id,
550                   \%params,
551               );
552
553           Sends a "POST" request to "groups/:group_id/variables" and returns
554           the decoded response content.
555
556       edit_group_variable
557               my $variable = $api->edit_group_variable(
558                   $group_id,
559                   $variable_key,
560                   \%params,
561               );
562
563           Sends a "PUT" request to "groups/:group_id/variables/:variable_key"
564           and returns the decoded response content.
565
566       delete_group_variable
567               $api->delete_group_variable(
568                   $group_id,
569                   $variable_key,
570               );
571
572           Sends a "DELETE" request to
573           "groups/:group_id/variables/:variable_key".
574
575   Snippets
576       See <https://docs.gitlab.com/ce/api/snippets.html>.
577
578       snippets
579               my $snippets = $api->snippets();
580
581           Sends a "GET" request to "snippets" and returns the decoded
582           response content.
583
584       snippet
585               my $snippet = $api->snippet(
586                   $snippet_id,
587               );
588
589           Sends a "GET" request to "snippets/:snippet_id" and returns the
590           decoded response content.
591
592       create_snippet
593               my $snippet = $api->create_snippet(
594                   \%params,
595               );
596
597           Sends a "POST" request to "snippets" and returns the decoded
598           response content.
599
600       edit_snippet
601               my $snippet = $api->edit_snippet(
602                   $snippet_id,
603                   \%params,
604               );
605
606           Sends a "PUT" request to "snippets/:snippet_id" and returns the
607           decoded response content.
608
609       delete_snippet
610               $api->delete_snippet(
611                   $snippet_id,
612               );
613
614           Sends a "DELETE" request to "snippets/:snippet_id".
615
616       public_snippets
617               my $snippets = $api->public_snippets(
618                   \%params,
619               );
620
621           Sends a "GET" request to "snippets/public" and returns the decoded
622           response content.
623
624       snippet_user_agent_detail
625               my $user_agent = $api->snippet_user_agent_detail(
626                   $snippet_id,
627               );
628
629           Sends a "GET" request to "snippets/:snippet_id/user_agent_detail"
630           and returns the decoded response content.
631
632   Commits
633       See <https://docs.gitlab.com/ce/api/commits.html>.
634
635       commits
636               my $commits = $api->commits(
637                   $project_id,
638                   \%params,
639               );
640
641           Sends a "GET" request to "projects/:project_id/repository/commits"
642           and returns the decoded response content.
643
644       create_commit
645               my $commit = $api->create_commit(
646                   $project_id,
647                   \%params,
648               );
649
650           Sends a "POST" request to "projects/:project_id/repository/commits"
651           and returns the decoded response content.
652
653       commit
654               my $commit = $api->commit(
655                   $project_id,
656                   $commit_sha,
657               );
658
659           Sends a "GET" request to
660           "projects/:project_id/repository/commits/:commit_sha" and returns
661           the decoded response content.
662
663       commit_refs
664               my $refs = $api->commit_refs(
665                   $project_id,
666                   $commit_sha,
667                   \%params,
668               );
669
670           Sends a "GET" request to
671           "projects/:project_id/repository/commits/:commit_sha/refs" and
672           returns the decoded response content.
673
674       cherry_pick_commit
675               my $commit = $api->cherry_pick_commit(
676                   $project_id,
677                   $commit_sha,
678                   \%params,
679               );
680
681           Sends a "POST" request to
682           "projects/:project_id/repository/commits/:commit_sha/cherry_pick"
683           and returns the decoded response content.
684
685       commit_diff
686               my $diff = $api->commit_diff(
687                   $project_id,
688                   $commit_sha,
689                   \%params,
690               );
691
692           Sends a "GET" request to
693           "projects/:project_id/repository/commits/:commit_sha/diff" and
694           returns the decoded response content.
695
696       commit_comments
697               my $comments = $api->commit_comments(
698                   $project_id,
699                   $commit_sha,
700                   \%params,
701               );
702
703           Sends a "GET" request to
704           "projects/:project_id/repository/commits/:commit_sha/comments" and
705           returns the decoded response content.
706
707       create_commit_comment
708               $api->create_commit_comment(
709                   $project_id,
710                   $commit_sha,
711                   \%params,
712               );
713
714           Sends a "POST" request to
715           "projects/:project_id/repository/commits/:commit_sha/comments".
716
717       commit_statuses
718               my $build_statuses = $api->commit_statuses(
719                   $project_id,
720                   $commit_sha,
721                   \%params,
722               );
723
724           Sends a "GET" request to
725           "projects/:project_id/repository/commits/:commit_sha/statuses" and
726           returns the decoded response content.
727
728       create_commit_status
729               my $build_status = $api->create_commit_status(
730                   $project_id,
731                   $commit_sha,
732                   \%params,
733               );
734
735           Sends a "POST" request to
736           "projects/:project_id/statuses/:commit_sha" and returns the decoded
737           response content.
738
739   Container Registry
740       See <https://docs.gitlab.com/ce/api/container_registry.html>.
741
742       registry_repositories_in_project
743               my $registry_repositories = $api->registry_repositories_in_project(
744                   $project_id,
745                   \%params,
746               );
747
748           Sends a "GET" request to
749           "projects/:project_id/registry/repositories" and returns the
750           decoded response content.
751
752       registry_repositories_in_group
753               my $registry_repositories = $api->registry_repositories_in_group(
754                   $group_id,
755                   \%params,
756               );
757
758           Sends a "GET" request to "groups/:group_id/registry/repositories"
759           and returns the decoded response content.
760
761       delete_registry_repository
762               $api->delete_registry_repository(
763                   $project_id,
764                   $repository_id,
765               );
766
767           Sends a "DELETE" request to
768           "projects/:project_id/registry/repositories/:repository_id".
769
770       registry_repository_tags
771               my $tags = $api->registry_repository_tags(
772                   $project_id,
773                   $repository_id,
774               );
775
776           Sends a "GET" request to
777           "projects/:project_id/registry/repositories/:repository_id/tags"
778           and returns the decoded response content.
779
780       registry_repository_tag
781               my $tag = $api->registry_repository_tag(
782                   $project_id,
783                   $repository_id,
784                   $tag_name,
785               );
786
787           Sends a "GET" request to
788           "projects/:project_id/registry/repositories/:repository_id/tags/:tag_name"
789           and returns the decoded response content.
790
791       delete_registry_repository_tag
792               $api->delete_registry_repository_tag(
793                   $project_id,
794                   $repository_id,
795                   $tag_name,
796               );
797
798           Sends a "DELETE" request to
799           "projects/:project_id/registry/repositories/:repository_id/tags/:tag_name".
800
801       bulk_delete_registry_repository_tags
802               $api->bulk_delete_registry_repository_tags(
803                   $project_id,
804                   $repository_id,
805                   \%params,
806               );
807
808           Sends a "DELETE" request to
809           "projects/:project_id/registry/repositories/:repository_id/tags".
810
811   Custom Attributes
812       See <https://docs.gitlab.com/ce/api/custom_attributes.html>.
813
814       custom_user_attributes
815               my $attributes = $api->custom_user_attributes(
816                   $user_id,
817               );
818
819           Sends a "GET" request to "users/:user_id/custom_attributes" and
820           returns the decoded response content.
821
822       custom_group_attributes
823               my $attributes = $api->custom_group_attributes(
824                   $group_id,
825               );
826
827           Sends a "GET" request to "groups/:group_id/custom_attributes" and
828           returns the decoded response content.
829
830       custom_project_attributes
831               my $attributes = $api->custom_project_attributes(
832                   $project_id,
833               );
834
835           Sends a "GET" request to "projects/:project_id/custom_attributes"
836           and returns the decoded response content.
837
838       custom_user_attribute
839               my $attribute = $api->custom_user_attribute(
840                   $user_id,
841                   $attribute_key,
842               );
843
844           Sends a "GET" request to
845           "users/:user_id/custom_attributes/:attribute_key" and returns the
846           decoded response content.
847
848       custom_group_attribute
849               my $attribute = $api->custom_group_attribute(
850                   $group_id,
851                   $attribute_key,
852               );
853
854           Sends a "GET" request to
855           "groups/:group_id/custom_attributes/:attribute_key" and returns the
856           decoded response content.
857
858       custom_project_attribute
859               my $attribute = $api->custom_project_attribute(
860                   $project_id,
861                   $attribute_key,
862               );
863
864           Sends a "GET" request to
865           "projects/:project_id/custom_attributes/:attribute_key" and returns
866           the decoded response content.
867
868       set_custom_user_attribute
869               my $attribute = $api->set_custom_user_attribute(
870                   $user_id,
871                   $attribute_key,
872                   \%params,
873               );
874
875           Sends a "PUT" request to
876           "users/:user_id/custom_attributes/:attribute_key" and returns the
877           decoded response content.
878
879       set_custom_group_attribute
880               my $attribute = $api->set_custom_group_attribute(
881                   $group_id,
882                   $attribute_key,
883                   \%params,
884               );
885
886           Sends a "PUT" request to
887           "groups/:group_id/custom_attributes/:attribute_key" and returns the
888           decoded response content.
889
890       set_custom_project_attribute
891               my $attribute = $api->set_custom_project_attribute(
892                   $project_id,
893                   $attribute_key,
894                   \%params,
895               );
896
897           Sends a "PUT" request to
898           "projects/:project_id/custom_attributes/:attribute_key" and returns
899           the decoded response content.
900
901       delete_custom_user_attribute
902               $api->delete_custom_user_attribute(
903                   $user_id,
904                   $attribute_key,
905               );
906
907           Sends a "DELETE" request to
908           "users/:user_id/custom_attributes/:attribute_key".
909
910       delete_custom_group_attribute
911               $api->delete_custom_group_attribute(
912                   $group_id,
913                   $attribute_key,
914               );
915
916           Sends a "DELETE" request to
917           "groups/:group_id/custom_attributes/:attribute_key".
918
919       delete_custom_project_attribute
920               $api->delete_custom_project_attribute(
921                   $project_id,
922                   $attribute_key,
923               );
924
925           Sends a "DELETE" request to
926           "projects/:project_id/custom_attributes/:attribute_key".
927
928   Deployments
929       See <https://docs.gitlab.com/ce/api/deployments.html>.
930
931       deployments
932               my $deployments = $api->deployments(
933                   $project_id,
934                   \%params,
935               );
936
937           Sends a "GET" request to "projects/:project_id/deployments" and
938           returns the decoded response content.
939
940       deployment
941               my $deployment = $api->deployment(
942                   $project_id,
943                   $deployment_id,
944               );
945
946           Sends a "GET" request to
947           "projects/:project_id/deployments/:deployment_id" and returns the
948           decoded response content.
949
950   Deploy Keys
951       See <https://docs.gitlab.com/ce/api/deploy_keys.html>.
952
953       all_deploy_keys
954               my $keys = $api->all_deploy_keys(
955                   \%params,
956               );
957
958           Sends a "GET" request to "deploy_keys" and returns the decoded
959           response content.
960
961       deploy_keys
962               my $keys = $api->deploy_keys(
963                   $project_id,
964                   \%params,
965               );
966
967           Sends a "GET" request to "projects/:project_id/deploy_keys" and
968           returns the decoded response content.
969
970       deploy_key
971               my $key = $api->deploy_key(
972                   $project_id,
973                   $key_id,
974               );
975
976           Sends a "GET" request to "projects/:project_id/deploy_keys/:key_id"
977           and returns the decoded response content.
978
979       create_deploy_key
980               my $key = $api->create_deploy_key(
981                   $project_id,
982                   \%params,
983               );
984
985           Sends a "POST" request to "projects/:project_id/deploy_keys" and
986           returns the decoded response content.
987
988       delete_deploy_key
989               $api->delete_deploy_key(
990                   $project_id,
991                   $key_id,
992               );
993
994           Sends a "DELETE" request to
995           "projects/:project_id/deploy_keys/:key_id".
996
997       enable_deploy_key
998               my $key = $api->enable_deploy_key(
999                   $project_id,
1000                   $key_id,
1001               );
1002
1003           Sends a "POST" request to
1004           "projects/:project_id/deploy_keys/:key_id/enable" and returns the
1005           decoded response content.
1006
1007   Environments
1008       See <https://docs.gitlab.com/ce/api/environments.html>.
1009
1010       environments
1011               my $environments = $api->environments(
1012                   $project_id,
1013                   \%params,
1014               );
1015
1016           Sends a "GET" request to "projects/:project_id/environments" and
1017           returns the decoded response content.
1018
1019       create_environment
1020               my $environment = $api->create_environment(
1021                   $project_id,
1022                   \%params,
1023               );
1024
1025           Sends a "POST" request to "projects/:project_id/environments" and
1026           returns the decoded response content.
1027
1028       edit_environment
1029               my $environment = $api->edit_environment(
1030                   $project_id,
1031                   $environments_id,
1032                   \%params,
1033               );
1034
1035           Sends a "PUT" request to
1036           "projects/:project_id/environments/:environments_id" and returns
1037           the decoded response content.
1038
1039       delete_environment
1040               $api->delete_environment(
1041                   $project_id,
1042                   $environment_id,
1043               );
1044
1045           Sends a "DELETE" request to
1046           "projects/:project_id/environments/:environment_id".
1047
1048       stop_environment
1049               my $environment = $api->stop_environment(
1050                   $project_id,
1051                   $environment_id,
1052               );
1053
1054           Sends a "POST" request to
1055           "projects/:project_id/environments/:environment_id/stop" and
1056           returns the decoded response content.
1057
1058   Events
1059       See <https://docs.gitlab.com/ce/api/events.html>.
1060
1061       all_events
1062               my $events = $api->all_events(
1063                   \%params,
1064               );
1065
1066           Sends a "GET" request to "events" and returns the decoded response
1067           content.
1068
1069       user_events
1070               my $events = $api->user_events(
1071                   $user_id,
1072                   \%params,
1073               );
1074
1075           Sends a "GET" request to "users/:user_id/events" and returns the
1076           decoded response content.
1077
1078       project_events
1079               my $events = $api->project_events(
1080                   $project_id,
1081                   \%params,
1082               );
1083
1084           Sends a "GET" request to "projects/:project_id/events" and returns
1085           the decoded response content.
1086
1087   Feature flags
1088       See <https://docs.gitlab.com/ce/api/features.html>.
1089
1090       features
1091               my $features = $api->features();
1092
1093           Sends a "GET" request to "features" and returns the decoded
1094           response content.
1095
1096       set_feature
1097               my $feature = $api->set_feature(
1098                   $name,
1099                   \%params,
1100               );
1101
1102           Sends a "POST" request to "features/:name" and returns the decoded
1103           response content.
1104
1105   Gitignores
1106       See <https://docs.gitlab.com/ce/api/templates/gitignores.html>.
1107
1108       gitignores_templates
1109               my $templates = $api->gitignores_templates(
1110                   \%params,
1111               );
1112
1113           Sends a "GET" request to "templates/gitignores" and returns the
1114           decoded response content.
1115
1116       gitignores_template
1117               my $template = $api->gitignores_template(
1118                   $template_key,
1119               );
1120
1121           Sends a "GET" request to "templates/gitignores/:template_key" and
1122           returns the decoded response content.
1123
1124   GitLab CI YMLs
1125       See <https://docs.gitlab.com/ce/api/templates/gitlab_ci_ymls.html>.
1126
1127       gitlab_ci_ymls_templates
1128               my $templates = $api->gitlab_ci_ymls_templates(
1129                   \%params,
1130               );
1131
1132           Sends a "GET" request to "templates/gitlab_ci_ymls" and returns the
1133           decoded response content.
1134
1135       gitlab_ci_ymls_template
1136               my $template = $api->gitlab_ci_ymls_template(
1137                   $template_key,
1138               );
1139
1140           Sends a "GET" request to "templates/gitlab_ci_ymls/:template_key"
1141           and returns the decoded response content.
1142
1143   Groups
1144       See <https://docs.gitlab.com/ce/api/groups.html>.
1145
1146       groups
1147               my $groups = $api->groups(
1148                   \%params,
1149               );
1150
1151           Sends a "GET" request to "groups" and returns the decoded response
1152           content.
1153
1154       group_subgroups
1155               my $subgroups = $api->group_subgroups(
1156                   $group_id,
1157                   \%params,
1158               );
1159
1160           Sends a "GET" request to "groups/:group_id/subgroups" and returns
1161           the decoded response content.
1162
1163       group_projects
1164               my $projects = $api->group_projects(
1165                   $group_id,
1166                   \%params,
1167               );
1168
1169           Sends a "GET" request to "groups/:group_id/projects" and returns
1170           the decoded response content.
1171
1172       group
1173               my $group = $api->group(
1174                   $group_id,
1175                   \%params,
1176               );
1177
1178           Sends a "GET" request to "groups/:group_id" and returns the decoded
1179           response content.
1180
1181       create_group
1182               $api->create_group(
1183                   \%params,
1184               );
1185
1186           Sends a "POST" request to "groups".
1187
1188       transfer_project_to_group
1189               $api->transfer_project_to_group(
1190                   $group_id,
1191                   $project_id,
1192               );
1193
1194           Sends a "POST" request to "groups/:group_id/projects/:project_id".
1195
1196       edit_group
1197               my $group = $api->edit_group(
1198                   $group_id,
1199                   \%params,
1200               );
1201
1202           Sends a "PUT" request to "groups/:group_id" and returns the decoded
1203           response content.
1204
1205       delete_group
1206               $api->delete_group(
1207                   $group_id,
1208               );
1209
1210           Sends a "DELETE" request to "groups/:group_id".
1211
1212       sync_group_with_ldap
1213               $api->sync_group_with_ldap(
1214                   $group_id,
1215               );
1216
1217           Sends a "POST" request to "groups/:group_id/ldap_sync".
1218
1219       create_ldap_group_link
1220               $api->create_ldap_group_link(
1221                   $group_id,
1222                   \%params,
1223               );
1224
1225           Sends a "POST" request to "groups/:group_id/ldap_group_links".
1226
1227       delete_ldap_group_link
1228               $api->delete_ldap_group_link(
1229                   $group_id,
1230                   $cn,
1231               );
1232
1233           Sends a "DELETE" request to
1234           "groups/:group_id/ldap_group_links/:cn".
1235
1236       delete_ldap_provider_group_link
1237               $api->delete_ldap_provider_group_link(
1238                   $group_id,
1239                   $provider,
1240                   $cn,
1241               );
1242
1243           Sends a "DELETE" request to
1244           "groups/:group_id/ldap_group_links/:provider/:cn".
1245
1246       share_group_with_group
1247               $api->share_group_with_group(
1248                   $group_id,
1249                   \%params,
1250               );
1251
1252           Sends a "POST" request to "groups/:group_id/share".
1253
1254       unshare_group_with_group
1255               $api->unshare_group_with_group(
1256                   $group_id,
1257                   $shared_with_group_id,
1258               );
1259
1260           Sends a "DELETE" request to
1261           "groups/:group_id/share/:shared_with_group_id".
1262
1263   Group access requests
1264       See <https://docs.gitlab.com/ce/api/access_requests.html>.
1265
1266       group_access_requests
1267               my $requests = $api->group_access_requests(
1268                   $group_id,
1269                   \%params,
1270               );
1271
1272           Sends a "GET" request to "groups/:group_id/access_requests" and
1273           returns the decoded response content.
1274
1275       request_group_access
1276               my $request = $api->request_group_access(
1277                   $group_id,
1278               );
1279
1280           Sends a "POST" request to "groups/:group_id/access_requests" and
1281           returns the decoded response content.
1282
1283       approve_group_access
1284               my $request = $api->approve_group_access(
1285                   $group_id,
1286                   $user_id,
1287               );
1288
1289           Sends a "PUT" request to
1290           "groups/:group_id/access_requests/:user_id/approve" and returns the
1291           decoded response content.
1292
1293       deny_group_access
1294               $api->deny_group_access(
1295                   $group_id,
1296                   $user_id,
1297               );
1298
1299           Sends a "DELETE" request to
1300           "groups/:group_id/access_requests/:user_id".
1301
1302   Group badges
1303       See <https://docs.gitlab.com/ce/api/group_badges.html>.
1304
1305       group_badges
1306               my $badges = $api->group_badges(
1307                   $group_id,
1308               );
1309
1310           Sends a "GET" request to "groups/:group_id/badges" and returns the
1311           decoded response content.
1312
1313       group_badge
1314               my $badge = $api->group_badge(
1315                   $group_id,
1316                   $badge_id,
1317               );
1318
1319           Sends a "GET" request to "groups/:group_id/badges/:badge_id" and
1320           returns the decoded response content.
1321
1322       create_group_badge
1323               my $badge = $api->create_group_badge(
1324                   $group_id,
1325                   \%params,
1326               );
1327
1328           Sends a "POST" request to "groups/:group_id/badges" and returns the
1329           decoded response content.
1330
1331       edit_group_badge
1332               my $badge = $api->edit_group_badge(
1333                   $group_id,
1334                   $badge_id,
1335                   \%params,
1336               );
1337
1338           Sends a "PUT" request to "groups/:group_id/badges/:badge_id" and
1339           returns the decoded response content.
1340
1341       delete_group_badge
1342               $api->delete_group_badge(
1343                   $group_id,
1344                   $badge_id,
1345               );
1346
1347           Sends a "DELETE" request to "groups/:group_id/badges/:badge_id".
1348
1349       preview_group_badge
1350               my $preview = $api->preview_group_badge(
1351                   $group_id,
1352                   \%params,
1353               );
1354
1355           Sends a "GET" request to "groups/:group_id/badges/render" and
1356           returns the decoded response content.
1357
1358   Group members
1359       See <https://docs.gitlab.com/ce/api/members.html>.
1360
1361       group_members
1362               my $members = $api->group_members(
1363                   $group_id,
1364                   \%params,
1365               );
1366
1367           Sends a "GET" request to "groups/:group_id/members" and returns the
1368           decoded response content.
1369
1370       all_group_members
1371               my $members = $api->all_group_members(
1372                   $group_id,
1373                   \%params,
1374               );
1375
1376           Sends a "GET" request to "groups/:group_id/members/all" and returns
1377           the decoded response content.
1378
1379       group_member
1380               my $member = $api->group_member(
1381                   $project_id,
1382                   $user_id,
1383               );
1384
1385           Sends a "GET" request to "groups/:project_id/members/:user_id" and
1386           returns the decoded response content.
1387
1388       add_group_member
1389               my $member = $api->add_group_member(
1390                   $group_id,
1391                   \%params,
1392               );
1393
1394           Sends a "POST" request to "groups/:group_id/members" and returns
1395           the decoded response content.
1396
1397       update_group_member
1398               my $member = $api->update_group_member(
1399                   $group_id,
1400                   $user_id,
1401                   \%params,
1402               );
1403
1404           Sends a "PUT" request to "groups/:group_id/members/:user_id" and
1405           returns the decoded response content.
1406
1407       remove_group_member
1408               $api->remove_group_member(
1409                   $group_id,
1410                   $user_id,
1411               );
1412
1413           Sends a "DELETE" request to "groups/:group_id/members/:user_id".
1414
1415   Issues
1416       See <https://docs.gitlab.com/ce/api/issues.html>.
1417
1418       global_issues
1419               my $issues = $api->global_issues(
1420                   \%params,
1421               );
1422
1423           Sends a "GET" request to "issues" and returns the decoded response
1424           content.
1425
1426       group_issues
1427               my $issues = $api->group_issues(
1428                   $group_id,
1429                   \%params,
1430               );
1431
1432           Sends a "GET" request to "groups/:group_id/issues" and returns the
1433           decoded response content.
1434
1435       issues
1436               my $issues = $api->issues(
1437                   $project_id,
1438                   \%params,
1439               );
1440
1441           Sends a "GET" request to "projects/:project_id/issues" and returns
1442           the decoded response content.
1443
1444       issue
1445               my $issue = $api->issue(
1446                   $project_id,
1447                   $issue_iid,
1448               );
1449
1450           Sends a "GET" request to "projects/:project_id/issues/:issue_iid"
1451           and returns the decoded response content.
1452
1453       create_issue
1454               my $issue = $api->create_issue(
1455                   $project_id,
1456                   \%params,
1457               );
1458
1459           Sends a "POST" request to "projects/:project_id/issues" and returns
1460           the decoded response content.
1461
1462       edit_issue
1463               my $issue = $api->edit_issue(
1464                   $project_id,
1465                   $issue_iid,
1466                   \%params,
1467               );
1468
1469           Sends a "PUT" request to "projects/:project_id/issues/:issue_iid"
1470           and returns the decoded response content.
1471
1472       delete_issue
1473               $api->delete_issue(
1474                   $project_id,
1475                   $issue_iid,
1476               );
1477
1478           Sends a "DELETE" request to
1479           "projects/:project_id/issues/:issue_iid".
1480
1481       move_issue
1482               my $issue = $api->move_issue(
1483                   $project_id,
1484                   $issue_iid,
1485                   \%params,
1486               );
1487
1488           Sends a "POST" request to
1489           "projects/:project_id/issues/:issue_iid/move" and returns the
1490           decoded response content.
1491
1492       subscribe_to_issue
1493               my $issue = $api->subscribe_to_issue(
1494                   $project_id,
1495                   $issue_iid,
1496               );
1497
1498           Sends a "POST" request to
1499           "projects/:project_id/issues/:issue_iid/subscribe" and returns the
1500           decoded response content.
1501
1502       unsubscribe_from_issue
1503               my $issue = $api->unsubscribe_from_issue(
1504                   $project_id,
1505                   $issue_iid,
1506               );
1507
1508           Sends a "POST" request to
1509           "projects/:project_id/issues/:issue_iid/unsubscribe" and returns
1510           the decoded response content.
1511
1512       create_issue_todo
1513               my $todo = $api->create_issue_todo(
1514                   $project_id,
1515                   $issue_iid,
1516               );
1517
1518           Sends a "POST" request to
1519           "projects/:project_id/issues/:issue_iid/todo" and returns the
1520           decoded response content.
1521
1522       set_issue_time_estimate
1523               my $tracking = $api->set_issue_time_estimate(
1524                   $project_id,
1525                   $issue_iid,
1526                   \%params,
1527               );
1528
1529           Sends a "POST" request to
1530           "projects/:project_id/issues/:issue_iid/time_estimate" and returns
1531           the decoded response content.
1532
1533       reset_issue_time_estimate
1534               my $tracking = $api->reset_issue_time_estimate(
1535                   $project_id,
1536                   $issue_iid,
1537               );
1538
1539           Sends a "POST" request to
1540           "projects/:project_id/issues/:issue_iid/reset_time_estimate" and
1541           returns the decoded response content.
1542
1543       add_issue_spent_time
1544               my $tracking = $api->add_issue_spent_time(
1545                   $project_id,
1546                   $issue_iid,
1547                   \%params,
1548               );
1549
1550           Sends a "POST" request to
1551           "projects/:project_id/issues/:issue_iid/add_spent_time" and returns
1552           the decoded response content.
1553
1554       reset_issue_spent_time
1555               my $tracking = $api->reset_issue_spent_time(
1556                   $project_id,
1557                   $issue_iid,
1558               );
1559
1560           Sends a "POST" request to
1561           "projects/:project_id/issues/:issue_iid/reset_spent_time" and
1562           returns the decoded response content.
1563
1564       issue_time_stats
1565               my $tracking = $api->issue_time_stats(
1566                   $project_id,
1567                   $issue_iid,
1568               );
1569
1570           Sends a "GET" request to
1571           "projects/:project_id/issues/:issue_iid/time_stats" and returns the
1572           decoded response content.
1573
1574       issue_closed_by
1575               my $merge_requests = $api->issue_closed_by(
1576                   $project_id,
1577                   $issue_iid,
1578               );
1579
1580           Sends a "GET" request to
1581           "projects/:project_id/issues/:issue_iid/closed_by" and returns the
1582           decoded response content.
1583
1584       issue_user_agent_detail
1585               my $user_agent = $api->issue_user_agent_detail(
1586                   $project_id,
1587                   $issue_iid,
1588               );
1589
1590           Sends a "GET" request to
1591           "projects/:project_id/issues/:issue_iid/user_agent_detail" and
1592           returns the decoded response content.
1593
1594   Issue Boards
1595       See <https://docs.gitlab.com/ce/api/boards.html>.
1596
1597       project_boards
1598               my $boards = $api->project_boards(
1599                   $project_id,
1600                   \%params,
1601               );
1602
1603           Sends a "GET" request to "projects/:project_id/boards" and returns
1604           the decoded response content.
1605
1606       project_board_lists
1607               my $lists = $api->project_board_lists(
1608                   $project_id,
1609                   $board_id,
1610                   \%params,
1611               );
1612
1613           Sends a "GET" request to
1614           "projects/:project_id/boards/:board_id/lists" and returns the
1615           decoded response content.
1616
1617       project_board_list
1618               my $list = $api->project_board_list(
1619                   $project_id,
1620                   $board_id,
1621                   $list_id,
1622               );
1623
1624           Sends a "GET" request to
1625           "projects/:project_id/boards/:board_id/lists/:list_id" and returns
1626           the decoded response content.
1627
1628       create_project_board_list
1629               my $list = $api->create_project_board_list(
1630                   $project_id,
1631                   $board_id,
1632                   \%params,
1633               );
1634
1635           Sends a "POST" request to
1636           "projects/:project_id/boards/:board_id/lists" and returns the
1637           decoded response content.
1638
1639       edit_project_board_list
1640               my $list = $api->edit_project_board_list(
1641                   $project_id,
1642                   $board_id,
1643                   $list_id,
1644                   \%params,
1645               );
1646
1647           Sends a "PUT" request to
1648           "projects/:project_id/boards/:board_id/lists/:list_id" and returns
1649           the decoded response content.
1650
1651       delete_project_board_list
1652               $api->delete_project_board_list(
1653                   $project_id,
1654                   $board_id,
1655                   $list_id,
1656               );
1657
1658           Sends a "DELETE" request to
1659           "projects/:project_id/boards/:board_id/lists/:list_id".
1660
1661   Group Issue Boards
1662       See <https://docs.gitlab.com/ce/api/group_boards.html>.
1663
1664       group_boards
1665               my $boards = $api->group_boards(
1666                   $group_id,
1667               );
1668
1669           Sends a "GET" request to "groups/:group_id/boards" and returns the
1670           decoded response content.
1671
1672       group_board
1673               my $board = $api->group_board(
1674                   $group_id,
1675                   $board_id,
1676               );
1677
1678           Sends a "GET" request to "groups/:group_id/boards/:board_id" and
1679           returns the decoded response content.
1680
1681       group_board_lists
1682               my $lists = $api->group_board_lists(
1683                   $group_id,
1684                   $board_id,
1685               );
1686
1687           Sends a "GET" request to "groups/:group_id/boards/:board_id/lists"
1688           and returns the decoded response content.
1689
1690       group_board_list
1691               my $list = $api->group_board_list(
1692                   $group_id,
1693                   $board_id,
1694                   $list_id,
1695               );
1696
1697           Sends a "GET" request to
1698           "groups/:group_id/boards/:board_id/lists/:list_id" and returns the
1699           decoded response content.
1700
1701       create_group_board_list
1702               my $list = $api->create_group_board_list(
1703                   $group_id,
1704                   $board_id,
1705                   \%params,
1706               );
1707
1708           Sends a "POST" request to "groups/:group_id/boards/:board_id/lists"
1709           and returns the decoded response content.
1710
1711       edit_group_board_list
1712               my $list = $api->edit_group_board_list(
1713                   $group_id,
1714                   $board_id,
1715                   $list_id,
1716                   \%params,
1717               );
1718
1719           Sends a "PUT" request to
1720           "groups/:group_id/boards/:board_id/lists/:list_id" and returns the
1721           decoded response content.
1722
1723       delete_group_board_list
1724               $api->delete_group_board_list(
1725                   $group_id,
1726                   $board_id,
1727                   $list_id,
1728               );
1729
1730           Sends a "DELETE" request to
1731           "groups/:group_id/boards/:board_id/lists/:list_id".
1732
1733   Jobs
1734       See <https://docs.gitlab.com/ce/api/jobs.html>.
1735
1736       jobs
1737               my $jobs = $api->jobs(
1738                   $project_id,
1739                   \%params,
1740               );
1741
1742           Sends a "GET" request to "projects/:project_id/jobs" and returns
1743           the decoded response content.
1744
1745       pipeline_jobs
1746               my $jobs = $api->pipeline_jobs(
1747                   $project_id,
1748                   $pipeline_id,
1749                   \%params,
1750               );
1751
1752           Sends a "GET" request to
1753           "projects/:project_id/pipelines/:pipeline_id/jobs" and returns the
1754           decoded response content.
1755
1756       job
1757               my $job = $api->job(
1758                   $project_id,
1759                   $job_id,
1760               );
1761
1762           Sends a "GET" request to "projects/:project_id/jobs/:job_id" and
1763           returns the decoded response content.
1764
1765       job_artifacts
1766               my $artifacts = $api->job_artifacts(
1767                   $project_id,
1768                   $job_id,
1769               );
1770
1771           Sends a "GET" request to
1772           "projects/:project_id/jobs/:job_id/artifacts" and returns the
1773           decoded response content.
1774
1775       job_artifacts_archive
1776               my $archive = $api->job_artifacts_archive(
1777                   $project_id,
1778                   $ref_name,
1779                   \%params,
1780               );
1781
1782           Sends a "GET" request to
1783           "projects/:project_id/jobs/artifacts/:ref_name/download" and
1784           returns the decoded response content.
1785
1786       job_artifacts_file
1787               my $file = $api->job_artifacts_file(
1788                   $project_id,
1789                   $job_id,
1790                   $artifact_path,
1791               );
1792
1793           Sends a "GET" request to
1794           "projects/:project_id/jobs/:job_id/artifacts/:artifact_path" and
1795           returns the decoded response content.
1796
1797       job_trace_file
1798               my $file = $api->job_trace_file(
1799                   $project_id,
1800                   $job_id,
1801               );
1802
1803           Sends a "GET" request to "projects/:project_id/jobs/:job_id/trace"
1804           and returns the decoded response content.
1805
1806       cancel_job
1807               my $job = $api->cancel_job(
1808                   $project_id,
1809                   $job_id,
1810               );
1811
1812           Sends a "POST" request to
1813           "projects/:project_id/jobs/:job_id/cancel" and returns the decoded
1814           response content.
1815
1816       retry_job
1817               my $job = $api->retry_job(
1818                   $project_id,
1819                   $job_id,
1820               );
1821
1822           Sends a "POST" request to "projects/:project_id/jobs/:job_id/retry"
1823           and returns the decoded response content.
1824
1825       erase_job
1826               my $job = $api->erase_job(
1827                   $project_id,
1828                   $job_id,
1829               );
1830
1831           Sends a "POST" request to "projects/:project_id/jobs/:job_id/erase"
1832           and returns the decoded response content.
1833
1834       keep_job_artifacts
1835               my $job = $api->keep_job_artifacts(
1836                   $project_id,
1837                   $job_id,
1838               );
1839
1840           Sends a "POST" request to
1841           "projects/:project_id/jobs/:job_id/artifacts/keep" and returns the
1842           decoded response content.
1843
1844       play_job
1845               my $job = $api->play_job(
1846                   $project_id,
1847                   $job_id,
1848               );
1849
1850           Sends a "POST" request to "projects/:project_id/jobs/:job_id/play"
1851           and returns the decoded response content.
1852
1853   Keys
1854       See <https://docs.gitlab.com/ce/api/keys.html>.
1855
1856       key
1857               my $key = $api->key(
1858                   $key_id,
1859               );
1860
1861           Sends a "GET" request to "keys/:key_id" and returns the decoded
1862           response content.
1863
1864   Labels
1865       See <https://docs.gitlab.com/ce/api/labels.html>.
1866
1867       labels
1868               my $labels = $api->labels(
1869                   $project_id,
1870                   \%params,
1871               );
1872
1873           Sends a "GET" request to "projects/:project_id/labels" and returns
1874           the decoded response content.
1875
1876       create_label
1877               my $label = $api->create_label(
1878                   $project_id,
1879                   \%params,
1880               );
1881
1882           Sends a "POST" request to "projects/:project_id/labels" and returns
1883           the decoded response content.
1884
1885       delete_label
1886               $api->delete_label(
1887                   $project_id,
1888                   \%params,
1889               );
1890
1891           Sends a "DELETE" request to "projects/:project_id/labels".
1892
1893       edit_label
1894               my $label = $api->edit_label(
1895                   $project_id,
1896                   \%params,
1897               );
1898
1899           Sends a "PUT" request to "projects/:project_id/labels" and returns
1900           the decoded response content.
1901
1902       subscribe_to_label
1903               my $label = $api->subscribe_to_label(
1904                   $project_id,
1905                   $label_id,
1906               );
1907
1908           Sends a "POST" request to
1909           "projects/:project_id/labels/:label_id/subscribe" and returns the
1910           decoded response content.
1911
1912       unsubscribe_from_label
1913               $api->unsubscribe_from_label(
1914                   $project_id,
1915                   $label_id,
1916               );
1917
1918           Sends a "POST" request to
1919           "projects/:project_id/labels/:label_id/unsubscribe".
1920
1921   Markdown
1922       See <https://docs.gitlab.com/ce/api/markdown.html>.
1923
1924       markdown
1925               my $html = $api->markdown(
1926                   \%params,
1927               );
1928
1929           Sends a "POST" request to "markdown" and returns the decoded
1930           response content.
1931
1932   Merge requests
1933       See <https://docs.gitlab.com/ce/api/merge_requests.html>.
1934
1935       global_merge_requests
1936               my $merge_requests = $api->global_merge_requests(
1937                   \%params,
1938               );
1939
1940           Sends a "GET" request to "merge_requests" and returns the decoded
1941           response content.
1942
1943       merge_requests
1944               my $merge_requests = $api->merge_requests(
1945                   $project_id,
1946                   \%params,
1947               );
1948
1949           Sends a "GET" request to "projects/:project_id/merge_requests" and
1950           returns the decoded response content.
1951
1952       merge_request
1953               my $merge_request = $api->merge_request(
1954                   $project_id,
1955                   $merge_request_iid,
1956               );
1957
1958           Sends a "GET" request to
1959           "projects/:project_id/merge_requests/:merge_request_iid" and
1960           returns the decoded response content.
1961
1962       merge_request_commits
1963               my $commits = $api->merge_request_commits(
1964                   $project_id,
1965                   $merge_request_iid,
1966               );
1967
1968           Sends a "GET" request to
1969           "projects/:project_id/merge_requests/:merge_request_iid/commits"
1970           and returns the decoded response content.
1971
1972       merge_request_with_changes
1973               my $merge_request = $api->merge_request_with_changes(
1974                   $project_id,
1975                   $merge_request_iid,
1976               );
1977
1978           Sends a "GET" request to
1979           "projects/:project_id/merge_requests/:merge_request_iid/changes"
1980           and returns the decoded response content.
1981
1982       create_merge_request
1983               my $merge_request = $api->create_merge_request(
1984                   $project_id,
1985                   \%params,
1986               );
1987
1988           Sends a "POST" request to "projects/:project_id/merge_requests" and
1989           returns the decoded response content.
1990
1991       edit_merge_request
1992               my $merge_request = $api->edit_merge_request(
1993                   $project_id,
1994                   $merge_request_iid,
1995                   \%params,
1996               );
1997
1998           Sends a "PUT" request to
1999           "projects/:project_id/merge_requests/:merge_request_iid" and
2000           returns the decoded response content.
2001
2002       delete_merge_request
2003               $api->delete_merge_request(
2004                   $project_id,
2005                   $merge_request_iid,
2006               );
2007
2008           Sends a "DELETE" request to
2009           "projects/:project_id/merge_requests/:merge_request_iid".
2010
2011       accept_merge_request
2012               my $merge_request = $api->accept_merge_request(
2013                   $project_id,
2014                   $merge_request_iid,
2015                   \%params,
2016               );
2017
2018           Sends a "PUT" request to
2019           "projects/:project_id/merge_requests/:merge_request_iid/merge" and
2020           returns the decoded response content.
2021
2022       approve_merge_request
2023               my $merge_request = $api->approve_merge_request(
2024                   $project_id,
2025                   $merge_request_iid,
2026                   \%params,
2027               );
2028
2029           Sends a "POST" request to
2030           "projects/:project_id/merge_requests/:merge_request_iid/approve"
2031           and returns the decoded response content.
2032
2033       unapprove_merge_request
2034               my $merge_request = $api->unapprove_merge_request(
2035                   $project_id,
2036                   $merge_request_iid,
2037                   \%params,
2038               );
2039
2040           Sends a "POST" request to
2041           "projects/:project_id/merge_requests/:merge_request_iid/unapprove"
2042           and returns the decoded response content.
2043
2044       cancel_merge_when_pipeline_succeeds
2045               my $merge_request = $api->cancel_merge_when_pipeline_succeeds(
2046                   $project_id,
2047                   $merge_request_iid,
2048               );
2049
2050           Sends a "PUT" request to
2051           "projects/:project_id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds"
2052           and returns the decoded response content.
2053
2054       merge_request_closes_issues
2055               my $issues = $api->merge_request_closes_issues(
2056                   $project_id,
2057                   $merge_request_iid,
2058                   \%params,
2059               );
2060
2061           Sends a "GET" request to
2062           "projects/:project_id/merge_requests/:merge_request_iid/closes_issues"
2063           and returns the decoded response content.
2064
2065       subscribe_to_merge_request
2066               my $merge_request = $api->subscribe_to_merge_request(
2067                   $project_id,
2068                   $merge_request_iid,
2069               );
2070
2071           Sends a "POST" request to
2072           "projects/:project_id/merge_requests/:merge_request_iid/subscribe"
2073           and returns the decoded response content.
2074
2075       unsubscribe_from_merge_request
2076               my $merge_request = $api->unsubscribe_from_merge_request(
2077                   $project_id,
2078                   $merge_request_iid,
2079               );
2080
2081           Sends a "POST" request to
2082           "projects/:project_id/merge_requests/:merge_request_iid/unsubscribe"
2083           and returns the decoded response content.
2084
2085       create_merge_request_todo
2086               my $todo = $api->create_merge_request_todo(
2087                   $project_id,
2088                   $merge_request_iid,
2089               );
2090
2091           Sends a "POST" request to
2092           "projects/:project_id/merge_requests/:merge_request_iid/todo" and
2093           returns the decoded response content.
2094
2095       merge_request_diff_versions
2096               my $versions = $api->merge_request_diff_versions(
2097                   $project_id,
2098                   $merge_request_iid,
2099               );
2100
2101           Sends a "GET" request to
2102           "projects/:project_id/merge_requests/:merge_request_iid/versions"
2103           and returns the decoded response content.
2104
2105       merge_request_diff_version
2106               my $version = $api->merge_request_diff_version(
2107                   $project_id,
2108                   $merge_request_iid,
2109                   $version_id,
2110               );
2111
2112           Sends a "GET" request to
2113           "projects/:project_id/merge_requests/:merge_request_iid/versions/:version_id"
2114           and returns the decoded response content.
2115
2116       set_merge_request_time_estimate
2117               my $tracking = $api->set_merge_request_time_estimate(
2118                   $project_id,
2119                   $merge_request_iid,
2120                   \%params,
2121               );
2122
2123           Sends a "POST" request to
2124           "projects/:project_id/merge_requests/:merge_request_iid/time_estimate"
2125           and returns the decoded response content.
2126
2127       reset_merge_request_time_estimate
2128               my $tracking = $api->reset_merge_request_time_estimate(
2129                   $project_id,
2130                   $merge_request_iid,
2131               );
2132
2133           Sends a "POST" request to
2134           "projects/:project_id/merge_requests/:merge_request_iid/reset_time_estimate"
2135           and returns the decoded response content.
2136
2137       add_merge_request_spent_time
2138               my $tracking = $api->add_merge_request_spent_time(
2139                   $project_id,
2140                   $merge_request_iid,
2141                   \%params,
2142               );
2143
2144           Sends a "POST" request to
2145           "projects/:project_id/merge_requests/:merge_request_iid/add_spent_time"
2146           and returns the decoded response content.
2147
2148       reset_merge_request_spent_time
2149               my $tracking = $api->reset_merge_request_spent_time(
2150                   $project_id,
2151                   $merge_request_iid,
2152               );
2153
2154           Sends a "POST" request to
2155           "projects/:project_id/merge_requests/:merge_request_iid/reset_spent_time"
2156           and returns the decoded response content.
2157
2158       merge_request_time_stats
2159               my $tracking = $api->merge_request_time_stats(
2160                   $project_id,
2161                   $merge_request_iid,
2162               );
2163
2164           Sends a "GET" request to
2165           "projects/:project_id/merge_requests/:merge_request_iid/time_stats"
2166           and returns the decoded response content.
2167
2168   Milestones
2169       See <https://docs.gitlab.com/ce/api/milestones.html>.
2170
2171       project_milestones
2172               my $milestones = $api->project_milestones(
2173                   $project_id,
2174                   \%params,
2175               );
2176
2177           Sends a "GET" request to "projects/:project_id/milestones" and
2178           returns the decoded response content.
2179
2180       project_milestone
2181               my $milestone = $api->project_milestone(
2182                   $project_id,
2183                   $milestone_id,
2184               );
2185
2186           Sends a "GET" request to
2187           "projects/:project_id/milestones/:milestone_id" and returns the
2188           decoded response content.
2189
2190       create_project_milestone
2191               my $milestone = $api->create_project_milestone(
2192                   $project_id,
2193                   \%params,
2194               );
2195
2196           Sends a "POST" request to "projects/:project_id/milestones" and
2197           returns the decoded response content.
2198
2199       edit_project_milestone
2200               my $milestone = $api->edit_project_milestone(
2201                   $project_id,
2202                   $milestone_id,
2203                   \%params,
2204               );
2205
2206           Sends a "PUT" request to
2207           "projects/:project_id/milestones/:milestone_id" and returns the
2208           decoded response content.
2209
2210       project_milestone_issues
2211               my $issues = $api->project_milestone_issues(
2212                   $project_id,
2213                   $milestone_id,
2214                   \%params,
2215               );
2216
2217           Sends a "GET" request to
2218           "projects/:project_id/milestones/:milestone_id/issues" and returns
2219           the decoded response content.
2220
2221       project_milestone_merge_requests
2222               my $merge_requests = $api->project_milestone_merge_requests(
2223                   $project_id,
2224                   $milestone_id,
2225                   \%params,
2226               );
2227
2228           Sends a "GET" request to
2229           "projects/:project_id/milestones/:milestone_id/merge_requests" and
2230           returns the decoded response content.
2231
2232   Group milestones
2233       See <https://docs.gitlab.com/ce/api/group_milestones.html>.
2234
2235       group_milestones
2236               my $milestones = $api->group_milestones(
2237                   $group_id,
2238                   \%params,
2239               );
2240
2241           Sends a "GET" request to "groups/:group_id/milestones" and returns
2242           the decoded response content.
2243
2244       group_milestone
2245               my $milestone = $api->group_milestone(
2246                   $group_id,
2247                   $milestone_id,
2248               );
2249
2250           Sends a "GET" request to
2251           "groups/:group_id/milestones/:milestone_id" and returns the decoded
2252           response content.
2253
2254       create_group_milestone
2255               my $milestone = $api->create_group_milestone(
2256                   $group_id,
2257                   \%params,
2258               );
2259
2260           Sends a "POST" request to "groups/:group_id/milestones" and returns
2261           the decoded response content.
2262
2263       edit_group_milestone
2264               my $milestone = $api->edit_group_milestone(
2265                   $group_id,
2266                   $milestone_id,
2267                   \%params,
2268               );
2269
2270           Sends a "PUT" request to
2271           "groups/:group_id/milestones/:milestone_id" and returns the decoded
2272           response content.
2273
2274       group_milestone_issues
2275               my $issues = $api->group_milestone_issues(
2276                   $group_id,
2277                   $milestone_id,
2278                   \%params,
2279               );
2280
2281           Sends a "GET" request to
2282           "groups/:group_id/milestones/:milestone_id/issues" and returns the
2283           decoded response content.
2284
2285       group_milestone_merge_requests
2286               my $merge_requests = $api->group_milestone_merge_requests(
2287                   $group_id,
2288                   $milestone_id,
2289                   \%params,
2290               );
2291
2292           Sends a "GET" request to
2293           "groups/:group_id/milestones/:milestone_id/merge_requests" and
2294           returns the decoded response content.
2295
2296   Namespaces
2297       See <https://docs.gitlab.com/ce/api/namespaces.html>.
2298
2299       namespaces
2300               my $namespaces = $api->namespaces(
2301                   \%params,
2302               );
2303
2304           Sends a "GET" request to "namespaces" and returns the decoded
2305           response content.
2306
2307       namespace
2308               my $namespace = $api->namespace(
2309                   $namespace_id,
2310               );
2311
2312           Sends a "GET" request to "namespaces/:namespace_id" and returns the
2313           decoded response content.
2314
2315   Notes
2316       See <https://docs.gitlab.com/ce/api/notes.html>.
2317
2318       issue_notes
2319               my $notes = $api->issue_notes(
2320                   $project_id,
2321                   $issue_iid,
2322                   \%params,
2323               );
2324
2325           Sends a "GET" request to
2326           "projects/:project_id/issues/:issue_iid/notes" and returns the
2327           decoded response content.
2328
2329       issue_note
2330               my $note = $api->issue_note(
2331                   $project_id,
2332                   $issue_iid,
2333                   $note_id,
2334               );
2335
2336           Sends a "GET" request to
2337           "projects/:project_id/issues/:issue_iid/notes/:note_id" and returns
2338           the decoded response content.
2339
2340       create_issue_note
2341               my $note = $api->create_issue_note(
2342                   $project_id,
2343                   $issue_iid,
2344                   \%params,
2345               );
2346
2347           Sends a "POST" request to
2348           "projects/:project_id/issues/:issue_iid/notes" and returns the
2349           decoded response content.
2350
2351       edit_issue_note
2352               $api->edit_issue_note(
2353                   $project_id,
2354                   $issue_iid,
2355                   $note_id,
2356                   \%params,
2357               );
2358
2359           Sends a "PUT" request to
2360           "projects/:project_id/issues/:issue_iid/notes/:note_id".
2361
2362       delete_issue_note
2363               $api->delete_issue_note(
2364                   $project_id,
2365                   $issue_iid,
2366                   $note_id,
2367               );
2368
2369           Sends a "DELETE" request to
2370           "projects/:project_id/issues/:issue_iid/notes/:note_id".
2371
2372       snippet_notes
2373               my $notes = $api->snippet_notes(
2374                   $project_id,
2375                   $snippet_id,
2376                   \%params,
2377               );
2378
2379           Sends a "GET" request to
2380           "projects/:project_id/snippets/:snippet_id/notes" and returns the
2381           decoded response content.
2382
2383       snippet_note
2384               my $note = $api->snippet_note(
2385                   $project_id,
2386                   $snippet_id,
2387                   $note_id,
2388               );
2389
2390           Sends a "GET" request to
2391           "projects/:project_id/snippets/:snippet_id/notes/:note_id" and
2392           returns the decoded response content.
2393
2394       create_snippet_note
2395               my $note = $api->create_snippet_note(
2396                   $project_id,
2397                   $snippet_id,
2398                   \%params,
2399               );
2400
2401           Sends a "POST" request to
2402           "projects/:project_id/snippets/:snippet_id/notes" and returns the
2403           decoded response content.
2404
2405       edit_snippet_note
2406               $api->edit_snippet_note(
2407                   $project_id,
2408                   $snippet_id,
2409                   $note_id,
2410                   \%params,
2411               );
2412
2413           Sends a "PUT" request to
2414           "projects/:project_id/snippets/:snippet_id/notes/:note_id".
2415
2416       delete_snippet_note
2417               $api->delete_snippet_note(
2418                   $project_id,
2419                   $snippet_id,
2420                   $note_id,
2421               );
2422
2423           Sends a "DELETE" request to
2424           "projects/:project_id/snippets/:snippet_id/notes/:note_id".
2425
2426       merge_request_notes
2427               my $notes = $api->merge_request_notes(
2428                   $project_id,
2429                   $merge_request_iid,
2430                   \%params,
2431               );
2432
2433           Sends a "GET" request to
2434           "projects/:project_id/merge_requests/:merge_request_iid/notes" and
2435           returns the decoded response content.
2436
2437       merge_request_note
2438               my $note = $api->merge_request_note(
2439                   $project_id,
2440                   $merge_request_iid,
2441                   $note_id,
2442               );
2443
2444           Sends a "GET" request to
2445           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id"
2446           and returns the decoded response content.
2447
2448       create_merge_request_note
2449               my $note = $api->create_merge_request_note(
2450                   $project_id,
2451                   $merge_request_iid,
2452                   \%params,
2453               );
2454
2455           Sends a "POST" request to
2456           "projects/:project_id/merge_requests/:merge_request_iid/notes" and
2457           returns the decoded response content.
2458
2459       edit_merge_request_note
2460               $api->edit_merge_request_note(
2461                   $project_id,
2462                   $merge_request_iid,
2463                   $note_id,
2464                   \%params,
2465               );
2466
2467           Sends a "PUT" request to
2468           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id".
2469
2470       delete_merge_request_note
2471               $api->delete_merge_request_note(
2472                   $project_id,
2473                   $merge_request_iid,
2474                   $note_id,
2475               );
2476
2477           Sends a "DELETE" request to
2478           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id".
2479
2480   Discussions
2481       See <https://docs.gitlab.com/ce/api/discussions.html>.
2482
2483       issue_discussions
2484               my $discussions = $api->issue_discussions(
2485                   $project_id,
2486                   $issue_iid,
2487                   \%params,
2488               );
2489
2490           Sends a "GET" request to
2491           "projects/:project_id/issues/:issue_iid/discussions" and returns
2492           the decoded response content.
2493
2494       issue_discussion
2495               my $discussion = $api->issue_discussion(
2496                   $project_id,
2497                   $issue_iid,
2498                   $discussion_id,
2499               );
2500
2501           Sends a "GET" request to
2502           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id"
2503           and returns the decoded response content.
2504
2505       create_issue_discussion
2506               my $discussion = $api->create_issue_discussion(
2507                   $project_id,
2508                   $issue_iid,
2509                   \%params,
2510               );
2511
2512           Sends a "POST" request to
2513           "projects/:project_id/issues/:issue_iid/discussions" and returns
2514           the decoded response content.
2515
2516       create_issue_discussion_note
2517               $api->create_issue_discussion_note(
2518                   $project_id,
2519                   $issue_iid,
2520                   $discussion_id,
2521                   \%params,
2522               );
2523
2524           Sends a "POST" request to
2525           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes".
2526
2527       edit_issue_discussion_note
2528               $api->edit_issue_discussion_note(
2529                   $project_id,
2530                   $issue_iid,
2531                   $discussion_id,
2532                   $note_id,
2533                   \%params,
2534               );
2535
2536           Sends a "PUT" request to
2537           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id".
2538
2539       delete_issue_discussion_note
2540               $api->delete_issue_discussion_note(
2541                   $project_id,
2542                   $issue_iid,
2543                   $discussion_id,
2544                   $note_id,
2545               );
2546
2547           Sends a "DELETE" request to
2548           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id".
2549
2550       project_snippet_discussions
2551               my $discussions = $api->project_snippet_discussions(
2552                   $project_id,
2553                   $snippet_id,
2554                   \%params,
2555               );
2556
2557           Sends a "GET" request to
2558           "projects/:project_id/snippets/:snippet_id/discussions" and returns
2559           the decoded response content.
2560
2561       project_snippet_discussion
2562               my $discussion = $api->project_snippet_discussion(
2563                   $project_id,
2564                   $snippet_id,
2565                   $discussion_id,
2566               );
2567
2568           Sends a "GET" request to
2569           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id"
2570           and returns the decoded response content.
2571
2572       create_project_snippet_discussion
2573               my $discussion = $api->create_project_snippet_discussion(
2574                   $project_id,
2575                   $snippet_id,
2576                   \%params,
2577               );
2578
2579           Sends a "POST" request to
2580           "projects/:project_id/snippets/:snippet_id/discussions" and returns
2581           the decoded response content.
2582
2583       create_project_snippet_discussion_note
2584               $api->create_project_snippet_discussion_note(
2585                   $project_id,
2586                   $snippet_id,
2587                   $discussion_id,
2588                   \%params,
2589               );
2590
2591           Sends a "POST" request to
2592           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes".
2593
2594       edit_project_snippet_discussion_note
2595               $api->edit_project_snippet_discussion_note(
2596                   $project_id,
2597                   $snippet_id,
2598                   $discussion_id,
2599                   $note_id,
2600                   \%params,
2601               );
2602
2603           Sends a "PUT" request to
2604           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id".
2605
2606       delete_project_snippet_discussion_note
2607               $api->delete_project_snippet_discussion_note(
2608                   $project_id,
2609                   $snippet_id,
2610                   $discussion_id,
2611                   $note_id,
2612               );
2613
2614           Sends a "DELETE" request to
2615           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id".
2616
2617       merge_request_discussions
2618               my $discussions = $api->merge_request_discussions(
2619                   $project_id,
2620                   $merge_request_iid,
2621                   \%params,
2622               );
2623
2624           Sends a "GET" request to
2625           "projects/:project_id/merge_requests/:merge_request_iid/discussions"
2626           and returns the decoded response content.
2627
2628       merge_request_discussion
2629               my $discussion = $api->merge_request_discussion(
2630                   $project_id,
2631                   $merge_request_iid,
2632                   $discussion_id,
2633               );
2634
2635           Sends a "GET" request to
2636           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id"
2637           and returns the decoded response content.
2638
2639       create_merge_request_discussion
2640               my $discussion = $api->create_merge_request_discussion(
2641                   $project_id,
2642                   $merge_request_iid,
2643                   \%params,
2644               );
2645
2646           Sends a "POST" request to
2647           "projects/:project_id/merge_requests/:merge_request_iid/discussions"
2648           and returns the decoded response content.
2649
2650       resolve_merge_request_discussion
2651               $api->resolve_merge_request_discussion(
2652                   $project_id,
2653                   $merge_request_iid,
2654                   $discussion_id,
2655                   \%params,
2656               );
2657
2658           Sends a "PUT" request to
2659           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id".
2660
2661       create_merge_request_discussion_note
2662               $api->create_merge_request_discussion_note(
2663                   $project_id,
2664                   $merge_request_iid,
2665                   $discussion_id,
2666                   \%params,
2667               );
2668
2669           Sends a "POST" request to
2670           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes".
2671
2672       edit_merge_request_discussion_note
2673               $api->edit_merge_request_discussion_note(
2674                   $project_id,
2675                   $merge_request_iid,
2676                   $discussion_id,
2677                   $note_id,
2678                   \%params,
2679               );
2680
2681           Sends a "PUT" request to
2682           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id".
2683
2684       delete_merge_request_discussion_note
2685               $api->delete_merge_request_discussion_note(
2686                   $project_id,
2687                   $merge_request_iid,
2688                   $discussion_id,
2689                   $note_id,
2690               );
2691
2692           Sends a "DELETE" request to
2693           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id".
2694
2695       commit_discussions
2696               my $discussions = $api->commit_discussions(
2697                   $project_id,
2698                   $commit_id,
2699                   \%params,
2700               );
2701
2702           Sends a "GET" request to
2703           "projects/:project_id/commits/:commit_id/discussions" and returns
2704           the decoded response content.
2705
2706       commit_discussion
2707               my $discussion = $api->commit_discussion(
2708                   $project_id,
2709                   $commit_id,
2710                   $discussion_id,
2711               );
2712
2713           Sends a "GET" request to
2714           "projects/:project_id/commits/:commit_id/discussions/:discussion_id"
2715           and returns the decoded response content.
2716
2717       create_commit_discussion
2718               my $discussion = $api->create_commit_discussion(
2719                   $project_id,
2720                   $commit_id,
2721                   \%params,
2722               );
2723
2724           Sends a "POST" request to
2725           "projects/:project_id/commits/:commit_id/discussions" and returns
2726           the decoded response content.
2727
2728       create_commit_discussion_note
2729               $api->create_commit_discussion_note(
2730                   $project_id,
2731                   $commit_id,
2732                   $discussion_id,
2733                   \%params,
2734               );
2735
2736           Sends a "POST" request to
2737           "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes".
2738
2739       edit_commit_discussion_note
2740               $api->edit_commit_discussion_note(
2741                   $project_id,
2742                   $commit_id,
2743                   $discussion_id,
2744                   $note_id,
2745                   \%params,
2746               );
2747
2748           Sends a "PUT" request to
2749           "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes/:note_id".
2750
2751       delete_commit_discussion_note
2752               $api->delete_commit_discussion_note(
2753                   $project_id,
2754                   $commit_id,
2755                   $discussion_id,
2756                   $note_id,
2757               );
2758
2759           Sends a "DELETE" request to
2760           "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes/:note_id".
2761
2762   Resource label events
2763       See <https://docs.gitlab.com/ce/api/resource_label_events.html>.
2764
2765       issue_resource_label_events
2766               my $events = $api->issue_resource_label_events(
2767                   $project_id,
2768                   $issue_iid,
2769               );
2770
2771           Sends a "GET" request to
2772           "projects/:project_id/issues/:issue_iid/resource_label_events" and
2773           returns the decoded response content.
2774
2775       issue_resource_label_event
2776               my $event = $api->issue_resource_label_event(
2777                   $project_id,
2778                   $issue_iid,
2779                   $resource_label_event_id,
2780               );
2781
2782           Sends a "GET" request to
2783           "projects/:project_id/issues/:issue_iid/resource_label_events/:resource_label_event_id"
2784           and returns the decoded response content.
2785
2786       merge_request_resource_label_events
2787               my $events = $api->merge_request_resource_label_events(
2788                   $project_id,
2789                   $merge_request_iid,
2790               );
2791
2792           Sends a "GET" request to
2793           "projects/:project_id/merge_requests/:merge_request_iid/resource_label_events"
2794           and returns the decoded response content.
2795
2796       merge_request_resource_label_event
2797               my $event = $api->merge_request_resource_label_event(
2798                   $project_id,
2799                   $merge_request_iid,
2800                   $resource_label_event_id,
2801               );
2802
2803           Sends a "GET" request to
2804           "projects/:project_id/merge_requests/:merge_request_iid/resource_label_events/:resource_label_event_id"
2805           and returns the decoded response content.
2806
2807   Notification settings
2808       See <https://docs.gitlab.com/ce/api/notification_settings.html>.
2809
2810       global_notification_settings
2811               my $settings = $api->global_notification_settings();
2812
2813           Sends a "GET" request to "notification_settings" and returns the
2814           decoded response content.
2815
2816       set_global_notification_settings
2817               my $settings = $api->set_global_notification_settings(
2818                   \%params,
2819               );
2820
2821           Sends a "PUT" request to "notification_settings" and returns the
2822           decoded response content.
2823
2824       group_notification_settings
2825               my $settings = $api->group_notification_settings(
2826                   $group_id,
2827               );
2828
2829           Sends a "GET" request to "groups/:group_id/notification_settings"
2830           and returns the decoded response content.
2831
2832       project_notification_settings
2833               my $settings = $api->project_notification_settings(
2834                   $project_id,
2835               );
2836
2837           Sends a "GET" request to
2838           "projects/:project_id/notification_settings" and returns the
2839           decoded response content.
2840
2841       set_group_notification_settings
2842               my $settings = $api->set_group_notification_settings(
2843                   $group_id,
2844                   \%params,
2845               );
2846
2847           Sends a "PUT" request to "groups/:group_id/notification_settings"
2848           and returns the decoded response content.
2849
2850       set_project_notification_settings
2851               my $settings = $api->set_project_notification_settings(
2852                   $project_id,
2853                   \%params,
2854               );
2855
2856           Sends a "PUT" request to
2857           "projects/:project_id/notification_settings" and returns the
2858           decoded response content.
2859
2860   Licenses
2861       See <https://docs.gitlab.com/ce/api/templates/licenses.html>.
2862
2863       license_templates
2864               my $templates = $api->license_templates(
2865                   \%params,
2866               );
2867
2868           Sends a "GET" request to "templates/licenses" and returns the
2869           decoded response content.
2870
2871       license_template
2872               my $template = $api->license_template(
2873                   $template_key,
2874                   \%params,
2875               );
2876
2877           Sends a "GET" request to "templates/licenses/:template_key" and
2878           returns the decoded response content.
2879
2880   Pages domains
2881       See <https://docs.gitlab.com/ce/api/pages_domains.html>.
2882
2883       global_pages_domains
2884               my $domains = $api->global_pages_domains(
2885                   \%params,
2886               );
2887
2888           Sends a "GET" request to "pages/domains" and returns the decoded
2889           response content.
2890
2891       pages_domains
2892               my $domains = $api->pages_domains(
2893                   $project_id,
2894                   \%params,
2895               );
2896
2897           Sends a "GET" request to "projects/:project_id/pages/domains" and
2898           returns the decoded response content.
2899
2900       pages_domain
2901               my $domain = $api->pages_domain(
2902                   $project_id,
2903                   $domain,
2904               );
2905
2906           Sends a "GET" request to
2907           "projects/:project_id/pages/domains/:domain" and returns the
2908           decoded response content.
2909
2910       create_pages_domain
2911               my $domain = $api->create_pages_domain(
2912                   $project_id,
2913                   \%params,
2914               );
2915
2916           Sends a "POST" request to "projects/:project_id/pages/domains" and
2917           returns the decoded response content.
2918
2919       edit_pages_domain
2920               my $domain = $api->edit_pages_domain(
2921                   $project_id,
2922                   $domain,
2923                   \%params,
2924               );
2925
2926           Sends a "PUT" request to
2927           "projects/:project_id/pages/domains/:domain" and returns the
2928           decoded response content.
2929
2930       delete_pages_domain
2931               $api->delete_pages_domain(
2932                   $project_id,
2933                   $domain,
2934               );
2935
2936           Sends a "DELETE" request to
2937           "projects/:project_id/pages/domains/:domain".
2938
2939   Pipelines
2940       See <https://docs.gitlab.com/ce/api/pipelines.html>.
2941
2942       pipelines
2943               my $pipelines = $api->pipelines(
2944                   $project_id,
2945                   \%params,
2946               );
2947
2948           Sends a "GET" request to "projects/:project_id/pipelines" and
2949           returns the decoded response content.
2950
2951       pipeline
2952               my $pipeline = $api->pipeline(
2953                   $project_id,
2954                   $pipeline_id,
2955               );
2956
2957           Sends a "GET" request to
2958           "projects/:project_id/pipelines/:pipeline_id" and returns the
2959           decoded response content.
2960
2961       create_pipeline
2962               my $pipeline = $api->create_pipeline(
2963                   $project_id,
2964                   \%params,
2965               );
2966
2967           Sends a "POST" request to "projects/:project_id/pipeline" and
2968           returns the decoded response content.
2969
2970           Git ref (branch or tag) name must be specified in the "ref" field
2971           of the %params hash. It's also possible to pass variables to a
2972           pipeline in the "variables" field like in the following example:
2973
2974               my $pipeline = $api->create_pipeline(
2975                   $project_id,
2976                   {
2977                       'ref'     => 'master',
2978                       variables => [
2979                           { 'key' => 'VARIABLE1', 'value' => 'VALUE1' },
2980                           { 'key' => 'VARIABLE2', 'value' => 'VALUE2' },
2981                       ],
2982                   },
2983               );
2984
2985       retry_pipeline_jobs
2986               my $pipeline = $api->retry_pipeline_jobs(
2987                   $project_id,
2988                   $pipeline_id,
2989               );
2990
2991           Sends a "POST" request to
2992           "projects/:project_id/pipelines/:pipeline_id/retry" and returns the
2993           decoded response content.
2994
2995       cancel_pipeline_jobs
2996               my $pipeline = $api->cancel_pipeline_jobs(
2997                   $project_id,
2998                   $pipeline_id,
2999               );
3000
3001           Sends a "POST" request to
3002           "projects/:project_id/pipelines/:pipeline_id/cancel" and returns
3003           the decoded response content.
3004
3005       delete_pipeline
3006               $api->delete_pipeline(
3007                   $project_id,
3008                   $pipeline_id,
3009               );
3010
3011           Sends a "DELETE" request to
3012           "projects/:project_id/pipelines/:pipeline_id".
3013
3014   Pipeline triggers
3015       See <https://docs.gitlab.com/ce/api/pipeline_triggers.html>.
3016
3017       triggers
3018               my $triggers = $api->triggers(
3019                   $project_id,
3020                   \%params,
3021               );
3022
3023           Sends a "GET" request to "projects/:project_id/triggers" and
3024           returns the decoded response content.
3025
3026       trigger
3027               my $trigger = $api->trigger(
3028                   $project_id,
3029                   $trigger_id,
3030               );
3031
3032           Sends a "GET" request to
3033           "projects/:project_id/triggers/:trigger_id" and returns the decoded
3034           response content.
3035
3036       create_trigger
3037               my $trigger = $api->create_trigger(
3038                   $project_id,
3039                   \%params,
3040               );
3041
3042           Sends a "POST" request to "projects/:project_id/triggers" and
3043           returns the decoded response content.
3044
3045       edit_trigger
3046               my $trigger = $api->edit_trigger(
3047                   $project_id,
3048                   $trigger_id,
3049                   \%params,
3050               );
3051
3052           Sends a "PUT" request to
3053           "projects/:project_id/triggers/:trigger_id" and returns the decoded
3054           response content.
3055
3056       take_ownership_of_trigger
3057               my $trigger = $api->take_ownership_of_trigger(
3058                   $project_id,
3059                   $trigger_id,
3060               );
3061
3062           Sends a "POST" request to
3063           "projects/:project_id/triggers/:trigger_id/take_ownership" and
3064           returns the decoded response content.
3065
3066       delete_trigger
3067               $api->delete_trigger(
3068                   $project_id,
3069                   $trigger_id,
3070               );
3071
3072           Sends a "DELETE" request to
3073           "projects/:project_id/triggers/:trigger_id".
3074
3075       trigger_pipeline
3076               my $pipeline = $api->trigger_pipeline(
3077                   $project_id,
3078                   \%params,
3079               );
3080
3081           Sends a "POST" request to "projects/:project_id/trigger/pipeline"
3082           and returns the decoded response content.
3083
3084           The API authentication token ("private_token" or "access_token"
3085           parameters in a constructor) is not needed when using this method,
3086           however You must pass trigger token (generated at the trigger
3087           creation) as "token" field and git ref name as "ref" field in the
3088           %params hash. You can also pass variables to be set in a pipeline
3089           in the "variables" field. Example:
3090
3091               my $pipeline = $api->trigger_pipeline(
3092                   $project_id,
3093                   {
3094                       token => 'd69dba9162ab6ac72fa0993496286ada',
3095                       'ref' => 'master',
3096                       variables => {
3097                           variable1 => 'value1',
3098                           variable2 => 'value2',
3099                       },
3100                   },
3101               );
3102
3103           Read more at
3104           <https://docs.gitlab.com/ce/ci/triggers/#triggering-a-pipeline>.
3105
3106   Pipeline schedules
3107       See <https://docs.gitlab.com/ce/api/pipeline_schedules.html>.
3108
3109       pipeline_schedules
3110               my $schedules = $api->pipeline_schedules(
3111                   $project_id,
3112                   \%params,
3113               );
3114
3115           Sends a "GET" request to "projects/:project_id/pipeline_schedules"
3116           and returns the decoded response content.
3117
3118       pipeline_schedule
3119               my $schedule = $api->pipeline_schedule(
3120                   $project_id,
3121                   $pipeline_schedule_id,
3122               );
3123
3124           Sends a "GET" request to
3125           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and
3126           returns the decoded response content.
3127
3128       create_pipeline_schedule
3129               my $schedule = $api->create_pipeline_schedule(
3130                   $project_id,
3131                   \%params,
3132               );
3133
3134           Sends a "POST" request to "projects/:project_id/pipeline_schedules"
3135           and returns the decoded response content.
3136
3137       edit_pipeline_schedule
3138               my $schedule = $api->edit_pipeline_schedule(
3139                   $project_id,
3140                   $pipeline_schedule_id,
3141                   \%params,
3142               );
3143
3144           Sends a "PUT" request to
3145           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and
3146           returns the decoded response content.
3147
3148       take_ownership_of_pipeline_schedule
3149               my $schedule = $api->take_ownership_of_pipeline_schedule(
3150                   $project_id,
3151                   $pipeline_schedule_id,
3152               );
3153
3154           Sends a "POST" request to
3155           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/take_ownership"
3156           and returns the decoded response content.
3157
3158       run_pipeline_schedule
3159               my $variable = $api->run_pipeline_schedule(
3160                   $project_id,
3161                   $pipeline_schedule_id,
3162               );
3163
3164           Sends a "POST" request to
3165           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/play"
3166           and returns the decoded response content.
3167
3168       delete_pipeline_schedule
3169               my $schedule = $api->delete_pipeline_schedule(
3170                   $project_id,
3171                   $pipeline_schedule_id,
3172               );
3173
3174           Sends a "DELETE" request to
3175           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and
3176           returns the decoded response content.
3177
3178       create_pipeline_schedule_variable
3179               my $variable = $api->create_pipeline_schedule_variable(
3180                   $project_id,
3181                   $pipeline_schedule_id,
3182                   \%params,
3183               );
3184
3185           Sends a "POST" request to
3186           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables"
3187           and returns the decoded response content.
3188
3189       edit_pipeline_schedule_variable
3190               my $variable = $api->edit_pipeline_schedule_variable(
3191                   $project_id,
3192                   $pipeline_schedule_id,
3193                   $variable_key,
3194                   \%params,
3195               );
3196
3197           Sends a "PUT" request to
3198           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables/:variable_key"
3199           and returns the decoded response content.
3200
3201       delete_pipeline_schedule_variable
3202               my $variable = $api->delete_pipeline_schedule_variable(
3203                   $project_id,
3204                   $pipeline_schedule_id,
3205                   $variable_key,
3206               );
3207
3208           Sends a "DELETE" request to
3209           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables/:variable_key"
3210           and returns the decoded response content.
3211
3212   Projects
3213       See <https://docs.gitlab.com/ce/api/projects.html>.
3214
3215       projects
3216               my $projects = $api->projects(
3217                   \%params,
3218               );
3219
3220           Sends a "GET" request to "projects" and returns the decoded
3221           response content.
3222
3223       user_projects
3224               my $projects = $api->user_projects(
3225                   $user_id,
3226                   \%params,
3227               );
3228
3229           Sends a "GET" request to "users/:user_id/projects" and returns the
3230           decoded response content.
3231
3232       project
3233               my $project = $api->project(
3234                   $project_id,
3235                   \%params,
3236               );
3237
3238           Sends a "GET" request to "projects/:project_id" and returns the
3239           decoded response content.
3240
3241       project_users
3242               my $users = $api->project_users(
3243                   $project_id,
3244                   \%params,
3245               );
3246
3247           Sends a "GET" request to "projects/:project_id/users" and returns
3248           the decoded response content.
3249
3250       create_project
3251               my $project = $api->create_project(
3252                   \%params,
3253               );
3254
3255           Sends a "POST" request to "projects" and returns the decoded
3256           response content.
3257
3258       create_project_for_user
3259               $api->create_project_for_user(
3260                   $user_id,
3261                   \%params,
3262               );
3263
3264           Sends a "POST" request to "projects/user/:user_id".
3265
3266       edit_project
3267               $api->edit_project(
3268                   $project_id,
3269                   \%params,
3270               );
3271
3272           Sends a "PUT" request to "projects/:project_id".
3273
3274       fork_project
3275               $api->fork_project(
3276                   $project_id,
3277                   \%params,
3278               );
3279
3280           Sends a "POST" request to "projects/:project_id/fork".
3281
3282       project_forks
3283               my $forks = $api->project_forks(
3284                   $project_id,
3285                   \%params,
3286               );
3287
3288           Sends a "GET" request to "projects/:project_id/forks" and returns
3289           the decoded response content.
3290
3291       start_project
3292               my $project = $api->start_project(
3293                   $project_id,
3294               );
3295
3296           Sends a "POST" request to "projects/:project_id/star" and returns
3297           the decoded response content.
3298
3299       unstar_project
3300               my $project = $api->unstar_project(
3301                   $project_id,
3302               );
3303
3304           Sends a "POST" request to "projects/:project_id/unstar" and returns
3305           the decoded response content.
3306
3307       project_languages
3308               my $languages = $api->project_languages(
3309                   $project_id,
3310               );
3311
3312           Sends a "GET" request to "projects/:project_id/languages" and
3313           returns the decoded response content.
3314
3315       archive_project
3316               my $project = $api->archive_project(
3317                   $project_id,
3318               );
3319
3320           Sends a "POST" request to "projects/:project_id/archive" and
3321           returns the decoded response content.
3322
3323       unarchive_project
3324               my $project = $api->unarchive_project(
3325                   $project_id,
3326               );
3327
3328           Sends a "POST" request to "projects/:project_id/unarchive" and
3329           returns the decoded response content.
3330
3331       delete_project
3332               $api->delete_project(
3333                   $project_id,
3334               );
3335
3336           Sends a "DELETE" request to "projects/:project_id".
3337
3338       upload_file_to_project
3339               my $upload = $api->upload_file_to_project(
3340                   $project_id,
3341                   \%params,
3342               );
3343
3344           Sends a "POST" request to "projects/:project_id/uploads" and
3345           returns the decoded response content.
3346
3347           The "file" parameter must point to a readable file on the local
3348           filesystem.
3349
3350       share_project_with_group
3351               $api->share_project_with_group(
3352                   $project_id,
3353                   \%params,
3354               );
3355
3356           Sends a "POST" request to "projects/:project_id/share".
3357
3358       unshare_project_with_group
3359               $api->unshare_project_with_group(
3360                   $project_id,
3361                   $group_id,
3362               );
3363
3364           Sends a "DELETE" request to "projects/:project_id/share/:group_id".
3365
3366       project_hooks
3367               my $hooks = $api->project_hooks(
3368                   $project_id,
3369               );
3370
3371           Sends a "GET" request to "projects/:project_id/hooks" and returns
3372           the decoded response content.
3373
3374       project_hook
3375               my $hook = $api->project_hook(
3376                   $project_id,
3377                   $hook_id,
3378               );
3379
3380           Sends a "GET" request to "projects/:project_id/hooks/:hook_id" and
3381           returns the decoded response content.
3382
3383       create_project_hook
3384               my $hook = $api->create_project_hook(
3385                   $project_id,
3386                   \%params,
3387               );
3388
3389           Sends a "POST" request to "projects/:project_id/hooks" and returns
3390           the decoded response content.
3391
3392       edit_project_hook
3393               my $hook = $api->edit_project_hook(
3394                   $project_id,
3395                   $hook_id,
3396                   \%params,
3397               );
3398
3399           Sends a "PUT" request to "projects/:project_id/hooks/:hook_id" and
3400           returns the decoded response content.
3401
3402       delete_project_hook
3403               $api->delete_project_hook(
3404                   $project_id,
3405                   $hook_id,
3406               );
3407
3408           Sends a "DELETE" request to "projects/:project_id/hooks/:hook_id".
3409
3410       set_project_fork
3411               $api->set_project_fork(
3412                   $project_id,
3413                   $from_project_id,
3414               );
3415
3416           Sends a "POST" request to
3417           "projects/:project_id/fork/:from_project_id".
3418
3419       clear_project_fork
3420               $api->clear_project_fork(
3421                   $project_id,
3422               );
3423
3424           Sends a "DELETE" request to "projects/:project_id/fork".
3425
3426       start_housekeeping
3427               $api->start_housekeeping(
3428                   $project_id,
3429               );
3430
3431           Sends a "POST" request to "projects/:project_id/housekeeping".
3432
3433       transfer_project_to_namespace
3434               $api->transfer_project_to_namespace(
3435                   $project_id,
3436                   \%params,
3437               );
3438
3439           Sends a "PUT" request to "projects/:project_id/transfer".
3440
3441   Project access requests
3442       See <https://docs.gitlab.com/ce/api/access_requests.html>.
3443
3444       project_access_requests
3445               my $requests = $api->project_access_requests(
3446                   $project_id,
3447                   \%params,
3448               );
3449
3450           Sends a "GET" request to "projects/:project_id/access_requests" and
3451           returns the decoded response content.
3452
3453       request_project_access
3454               my $request = $api->request_project_access(
3455                   $project_id,
3456               );
3457
3458           Sends a "POST" request to "projects/:project_id/access_requests"
3459           and returns the decoded response content.
3460
3461       approve_project_access
3462               my $request = $api->approve_project_access(
3463                   $project_id,
3464                   $user_id,
3465               );
3466
3467           Sends a "PUT" request to
3468           "projects/:project_id/access_requests/:user_id/approve" and returns
3469           the decoded response content.
3470
3471       deny_project_access
3472               $api->deny_project_access(
3473                   $project_id,
3474                   $user_id,
3475               );
3476
3477           Sends a "DELETE" request to
3478           "projects/:project_id/access_requests/:user_id".
3479
3480   Project badges
3481       See <https://docs.gitlab.com/ce/api/project_badges.html>.
3482
3483       project_badges
3484               my $badges = $api->project_badges(
3485                   $project_id,
3486               );
3487
3488           Sends a "GET" request to "projects/:project_id/badges" and returns
3489           the decoded response content.
3490
3491       project_badge
3492               my $badge = $api->project_badge(
3493                   $project_id,
3494                   $badge_id,
3495               );
3496
3497           Sends a "GET" request to "projects/:project_id/badges/:badge_id"
3498           and returns the decoded response content.
3499
3500       create_project_badge
3501               my $badge = $api->create_project_badge(
3502                   $project_id,
3503                   \%params,
3504               );
3505
3506           Sends a "POST" request to "projects/:project_id/badges" and returns
3507           the decoded response content.
3508
3509       edit_project_badge
3510               my $badge = $api->edit_project_badge(
3511                   $project_id,
3512                   $badge_id,
3513                   \%params,
3514               );
3515
3516           Sends a "PUT" request to "projects/:project_id/badges/:badge_id"
3517           and returns the decoded response content.
3518
3519       delete_project_badge
3520               $api->delete_project_badge(
3521                   $project_id,
3522                   $badge_id,
3523               );
3524
3525           Sends a "DELETE" request to
3526           "projects/:project_id/badges/:badge_id".
3527
3528       preview_project_badge
3529               my $preview = $api->preview_project_badge(
3530                   $project_id,
3531                   \%params,
3532               );
3533
3534           Sends a "GET" request to "projects/:project_id/badges/render" and
3535           returns the decoded response content.
3536
3537   Project import/export
3538       See <https://docs.gitlab.com/ce/api/project_import_export.html>.
3539
3540       schedule_project_export
3541               $api->schedule_project_export(
3542                   $project_id,
3543                   \%params,
3544               );
3545
3546           Sends a "POST" request to "projects/:project_id/export".
3547
3548       project_export_status
3549               my $status = $api->project_export_status(
3550                   $project_id,
3551               );
3552
3553           Sends a "GET" request to "projects/:project_id/export" and returns
3554           the decoded response content.
3555
3556       download_project_export
3557               my $download = $api->download_project_export(
3558                   $project_id,
3559               );
3560
3561           Sends a "GET" request to "projects/:project_id/export/download" and
3562           returns the decoded response content.
3563
3564       schedule_project_import
3565               $api->schedule_project_import(
3566                   \%params,
3567               );
3568
3569           Sends a "POST" request to "projects/import".
3570
3571       project_import_status
3572               my $status = $api->project_import_status(
3573                   $project_id,
3574               );
3575
3576           Sends a "GET" request to "projects/:project_id/import" and returns
3577           the decoded response content.
3578
3579   Project members
3580       See <https://docs.gitlab.com/ce/api/members.html>.
3581
3582       project_members
3583               my $members = $api->project_members(
3584                   $project_id,
3585                   \%params,
3586               );
3587
3588           Sends a "GET" request to "projects/:project_id/members" and returns
3589           the decoded response content.
3590
3591       all_project_members
3592               my $members = $api->all_project_members(
3593                   $project_id,
3594                   \%params,
3595               );
3596
3597           Sends a "GET" request to "projects/:project_id/members/all" and
3598           returns the decoded response content.
3599
3600       project_member
3601               my $member = $api->project_member(
3602                   $project_id,
3603                   $user_id,
3604               );
3605
3606           Sends a "GET" request to "projects/:project_id/members/:user_id"
3607           and returns the decoded response content.
3608
3609       add_project_member
3610               my $member = $api->add_project_member(
3611                   $project_id,
3612                   \%params,
3613               );
3614
3615           Sends a "POST" request to "projects/:project_id/members" and
3616           returns the decoded response content.
3617
3618       update_project_member
3619               my $member = $api->update_project_member(
3620                   $project_id,
3621                   $user_id,
3622                   \%params,
3623               );
3624
3625           Sends a "PUT" request to "projects/:project_id/members/:user_id"
3626           and returns the decoded response content.
3627
3628       remove_project_member
3629               $api->remove_project_member(
3630                   $project_id,
3631                   $user_id,
3632               );
3633
3634           Sends a "DELETE" request to
3635           "projects/:project_id/members/:user_id".
3636
3637   Project snippets
3638       See <https://docs.gitlab.com/ce/api/project_snippets.html>.
3639
3640       project_snippets
3641               my $snippets = $api->project_snippets(
3642                   $project_id,
3643                   \%params,
3644               );
3645
3646           Sends a "GET" request to "projects/:project_id/snippets" and
3647           returns the decoded response content.
3648
3649       project_snippet
3650               my $snippet = $api->project_snippet(
3651                   $project_id,
3652                   $snippet_id,
3653               );
3654
3655           Sends a "GET" request to
3656           "projects/:project_id/snippets/:snippet_id" and returns the decoded
3657           response content.
3658
3659       create_project_snippet
3660               $api->create_project_snippet(
3661                   $project_id,
3662                   \%params,
3663               );
3664
3665           Sends a "POST" request to "projects/:project_id/snippets".
3666
3667       edit_project_snippet
3668               $api->edit_project_snippet(
3669                   $project_id,
3670                   $snippet_id,
3671                   \%params,
3672               );
3673
3674           Sends a "PUT" request to
3675           "projects/:project_id/snippets/:snippet_id".
3676
3677       delete_project_snippet
3678               $api->delete_project_snippet(
3679                   $project_id,
3680                   $snippet_id,
3681               );
3682
3683           Sends a "DELETE" request to
3684           "projects/:project_id/snippets/:snippet_id".
3685
3686       project_snippet_content
3687               my $content = $api->project_snippet_content(
3688                   $project_id,
3689                   $snippet_id,
3690               );
3691
3692           Sends a "GET" request to
3693           "projects/:project_id/snippets/:snippet_id/raw" and returns the
3694           decoded response content.
3695
3696       project_snippet_user_agent_detail
3697               my $user_agent = $api->project_snippet_user_agent_detail(
3698                   $project_id,
3699                   $snippet_id,
3700               );
3701
3702           Sends a "GET" request to
3703           "projects/:project_id/snippets/:snippet_id/user_agent_detail" and
3704           returns the decoded response content.
3705
3706   Protected branches
3707       See <https://docs.gitlab.com/ce/api/protected_branches.html>.
3708
3709       protected_branches
3710               my $branches = $api->protected_branches(
3711                   $project_id,
3712                   \%params,
3713               );
3714
3715           Sends a "GET" request to "projects/:project_id/protected_branches"
3716           and returns the decoded response content.
3717
3718       protected_branch
3719               my $branch = $api->protected_branch(
3720                   $project_id,
3721                   $branch_name,
3722               );
3723
3724           Sends a "GET" request to
3725           "projects/:project_id/protected_branches/:branch_name" and returns
3726           the decoded response content.
3727
3728       protect_branch
3729               my $branch = $api->protect_branch(
3730                   $project_id,
3731                   \%params,
3732               );
3733
3734           Sends a "POST" request to "projects/:project_id/protected_branches"
3735           and returns the decoded response content.
3736
3737       unprotect_branch
3738               $api->unprotect_branch(
3739                   $project_id,
3740                   $branch_name,
3741               );
3742
3743           Sends a "DELETE" request to
3744           "projects/:project_id/protected_branches/:branch_name".
3745
3746   Protected tags
3747       See <https://docs.gitlab.com/ce/api/protected_tags.html>.
3748
3749       protected_tags
3750               my $tags = $api->protected_tags(
3751                   $project_id,
3752                   \%params,
3753               );
3754
3755           Sends a "GET" request to "projects/:project_id/protected_tags" and
3756           returns the decoded response content.
3757
3758       protected_tag
3759               my $tag = $api->protected_tag(
3760                   $project_id,
3761                   $tag_name,
3762               );
3763
3764           Sends a "GET" request to
3765           "projects/:project_id/protected_tags/:tag_name" and returns the
3766           decoded response content.
3767
3768       protect_tag
3769               my $tag = $api->protect_tag(
3770                   $project_id,
3771                   \%params,
3772               );
3773
3774           Sends a "POST" request to "projects/:project_id/protected_tags" and
3775           returns the decoded response content.
3776
3777       unprotect_tag
3778               $api->unprotect_tag(
3779                   $project_id,
3780                   $tag_name,
3781               );
3782
3783           Sends a "DELETE" request to
3784           "projects/:project_id/protected_tags/:tag_name".
3785
3786   Releases
3787       See <https://docs.gitlab.com/ce/api/releases/index.html>.
3788
3789       releases
3790               my $releases = $api->releases(
3791                   $project_id,
3792                   \%params,
3793               );
3794
3795           Sends a "GET" request to "projects/:project_id/releases" and
3796           returns the decoded response content.
3797
3798       release
3799               my $release = $api->release(
3800                   $project_id,
3801                   $tag_name,
3802               );
3803
3804           Sends a "GET" request to "projects/:project_id/releases/:tag_name"
3805           and returns the decoded response content.
3806
3807       create_release
3808               my $release = $api->create_release(
3809                   $project_id,
3810                   \%params,
3811               );
3812
3813           Sends a "POST" request to "projects/:project_id/releases" and
3814           returns the decoded response content.
3815
3816       update_release
3817               my $release = $api->update_release(
3818                   $project_id,
3819                   $tag_name,
3820                   \%params,
3821               );
3822
3823           Sends a "PUT" request to "projects/:project_id/releases/:tag_name"
3824           and returns the decoded response content.
3825
3826       delete_release
3827               my $release = $api->delete_release(
3828                   $project_id,
3829                   $tag_name,
3830               );
3831
3832           Sends a "DELETE" request to
3833           "projects/:project_id/releases/:tag_name" and returns the decoded
3834           response content.
3835
3836   Release Links
3837       See <https://docs.gitlab.com/ce/api/releases/links.html>.
3838
3839       release_links
3840               my $links = $api->release_links(
3841                   $project_id,
3842                   $tag_name,
3843                   \%params,
3844               );
3845
3846           Sends a "GET" request to
3847           "projects/:project_id/releases/:tag_name/assets/links" and returns
3848           the decoded response content.
3849
3850       release_link
3851               my $link = $api->release_link(
3852                   $project_id,
3853                   $tag_name,
3854                   $link_id,
3855               );
3856
3857           Sends a "GET" request to
3858           "projects/:project_id/releases/:tag_name/assets/links/:link_id" and
3859           returns the decoded response content.
3860
3861       create_release_link
3862               my $link = $api->create_release_link(
3863                   $project_id,
3864                   $tag_name,
3865                   \%params,
3866               );
3867
3868           Sends a "POST" request to
3869           "projects/:project_id/releases/:tag_name/assets/links" and returns
3870           the decoded response content.
3871
3872       update_release_link
3873               my $link = $api->update_release_link(
3874                   $project_id,
3875                   $tag_name,
3876                   $link_id,
3877                   \%params,
3878               );
3879
3880           Sends a "PUT" request to
3881           "projects/:project_id/releases/:tag_name/assets/links/:link_id" and
3882           returns the decoded response content.
3883
3884       delete_release_link
3885               my $link = $api->delete_release_link(
3886                   $project_id,
3887                   $tag_name,
3888                   $link_id,
3889               );
3890
3891           Sends a "DELETE" request to
3892           "projects/:project_id/releases/:tag_name/assets/links/:link_id" and
3893           returns the decoded response content.
3894
3895   Remote Mirrors
3896       See <https://docs.gitlab.com/ce/api/remote_mirrors.html>.
3897
3898       remote_mirrors
3899               my $mirrors = $api->remote_mirrors(
3900                   $project_id,
3901               );
3902
3903           Sends a "GET" request to "projects/:project_id/remote_mirrors" and
3904           returns the decoded response content.
3905
3906       create_remote_mirror
3907               my $mirror = $api->create_remote_mirror(
3908                   $project_id,
3909                   \%params,
3910               );
3911
3912           Sends a "POST" request to "projects/:project_id/remote_mirrors" and
3913           returns the decoded response content.
3914
3915       edit_remote_mirror
3916               my $mirror = $api->edit_remote_mirror(
3917                   $project_id,
3918                   $mirror_id,
3919                   \%params,
3920               );
3921
3922           Sends a "PUT" request to
3923           "projects/:project_id/remote_mirrors/:mirror_id" and returns the
3924           decoded response content.
3925
3926   Repositories
3927       See <https://docs.gitlab.com/ce/api/repositories.html>.
3928
3929       tree
3930               my $tree = $api->tree(
3931                   $project_id,
3932                   \%params,
3933               );
3934
3935           Sends a "GET" request to "projects/:project_id/repository/tree" and
3936           returns the decoded response content.
3937
3938       blob
3939               my $blob = $api->blob(
3940                   $project_id,
3941                   $sha,
3942               );
3943
3944           Sends a "GET" request to
3945           "projects/:project_id/repository/blobs/:sha" and returns the
3946           decoded response content.
3947
3948       raw_blob
3949               my $raw_blob = $api->raw_blob(
3950                   $project_id,
3951                   $sha,
3952               );
3953
3954           Sends a "GET" request to
3955           "projects/:project_id/repository/blobs/:sha/raw" and returns the
3956           decoded response content.
3957
3958       archive
3959               my $archive = $api->archive(
3960                   $project_id,
3961                   \%params,
3962               );
3963
3964           Sends a "GET" request to "projects/:project_id/repository/archive"
3965           and returns the raw response content.
3966
3967       compare
3968               my $comparison = $api->compare(
3969                   $project_id,
3970                   \%params,
3971               );
3972
3973           Sends a "GET" request to "projects/:project_id/repository/compare"
3974           and returns the decoded response content.
3975
3976       contributors
3977               my $contributors = $api->contributors(
3978                   $project_id,
3979                   \%params,
3980               );
3981
3982           Sends a "GET" request to
3983           "projects/:project_id/repository/contributors" and returns the
3984           decoded response content.
3985
3986   Repository files
3987       See <https://docs.gitlab.com/ce/api/repository_files.html>.
3988
3989       file
3990               my $file = $api->file(
3991                   $project_id,
3992                   $file_path,
3993                   \%params,
3994               );
3995
3996           Sends a "GET" request to
3997           "projects/:project_id/repository/files/:file_path" and returns the
3998           decoded response content.
3999
4000       raw_file
4001               my $content = $api->raw_file(
4002                   $project_id,
4003                   $file_path,
4004                   \%params,
4005               );
4006
4007           Sends a "GET" request to
4008           "projects/:project_id/repository/files/:file_path/raw" and returns
4009           the raw response content.
4010
4011       create_file
4012               $api->create_file(
4013                   $project_id,
4014                   $file_path,
4015                   \%params,
4016               );
4017
4018           Sends a "POST" request to
4019           "projects/:project_id/repository/files/:file_path".
4020
4021       edit_file
4022               $api->edit_file(
4023                   $project_id,
4024                   $file_path,
4025                   \%params,
4026               );
4027
4028           Sends a "PUT" request to
4029           "projects/:project_id/repository/files/:file_path".
4030
4031       delete_file
4032               $api->delete_file(
4033                   $project_id,
4034                   $file_path,
4035                   \%params,
4036               );
4037
4038           Sends a "DELETE" request to
4039           "projects/:project_id/repository/files/:file_path".
4040
4041   Runners
4042       See <https://docs.gitlab.com/ce/api/runners.html>.
4043
4044       runners
4045               my $runners = $api->runners(
4046                   \%params,
4047               );
4048
4049           Sends a "GET" request to "runners" and returns the decoded response
4050           content.
4051
4052       all_runners
4053               my $runners = $api->all_runners(
4054                   \%params,
4055               );
4056
4057           Sends a "GET" request to "runners/all" and returns the decoded
4058           response content.
4059
4060       runner
4061               my $runner = $api->runner(
4062                   $runner_id,
4063               );
4064
4065           Sends a "GET" request to "runners/:runner_id" and returns the
4066           decoded response content.
4067
4068       update_runner
4069               my $runner = $api->update_runner(
4070                   $runner_id,
4071                   \%params,
4072               );
4073
4074           Sends a "PUT" request to "runners/:runner_id" and returns the
4075           decoded response content.
4076
4077       delete_runner
4078               $api->delete_runner(
4079                   $runner_id,
4080               );
4081
4082           Sends a "DELETE" request to "runners/:runner_id".
4083
4084       runner_jobs
4085               my $jobs = $api->runner_jobs(
4086                   $runner_id,
4087                   \%params,
4088               );
4089
4090           Sends a "GET" request to "runners/:runner_id/jobs" and returns the
4091           decoded response content.
4092
4093       project_runners
4094               my $runners = $api->project_runners(
4095                   $project_id,
4096                   \%params,
4097               );
4098
4099           Sends a "GET" request to "projects/:project_id/runners" and returns
4100           the decoded response content.
4101
4102       enable_project_runner
4103               my $runner = $api->enable_project_runner(
4104                   $project_id,
4105                   \%params,
4106               );
4107
4108           Sends a "POST" request to "projects/:project_id/runners" and
4109           returns the decoded response content.
4110
4111       disable_project_runner
4112               my $runner = $api->disable_project_runner(
4113                   $project_id,
4114                   $runner_id,
4115               );
4116
4117           Sends a "DELETE" request to
4118           "projects/:project_id/runners/:runner_id" and returns the decoded
4119           response content.
4120
4121   Search
4122       See <https://docs.gitlab.com/ce/api/search.html>.
4123
4124       search
4125               my $results = $api->search(
4126                   \%params,
4127               );
4128
4129           Sends a "GET" request to "search" and returns the decoded response
4130           content.
4131
4132   Services
4133       See <https://docs.gitlab.com/ce/api/services.html>.
4134
4135       project_service
4136               my $service = $api->project_service(
4137                   $project_id,
4138                   $service_name,
4139               );
4140
4141           Sends a "GET" request to
4142           "projects/:project_id/services/:service_name" and returns the
4143           decoded response content.
4144
4145       edit_project_service
4146               $api->edit_project_service(
4147                   $project_id,
4148                   $service_name,
4149                   \%params,
4150               );
4151
4152           Sends a "PUT" request to
4153           "projects/:project_id/services/:service_name".
4154
4155       delete_project_service
4156               $api->delete_project_service(
4157                   $project_id,
4158                   $service_name,
4159               );
4160
4161           Sends a "DELETE" request to
4162           "projects/:project_id/services/:service_name".
4163
4164   Application settings
4165       See <https://docs.gitlab.com/ce/api/settings.html>.
4166
4167       settings
4168               my $settings = $api->settings();
4169
4170           Sends a "GET" request to "application/settings" and returns the
4171           decoded response content.
4172
4173       update_settings
4174               my $settings = $api->update_settings(
4175                   \%params,
4176               );
4177
4178           Sends a "PUT" request to "application/settings" and returns the
4179           decoded response content.
4180
4181   Application statistics
4182       See <https://docs.gitlab.com/ce/api/statistics.html>.
4183
4184       statistics
4185               my $statistics = $api->statistics();
4186
4187           Sends a "GET" request to "application/statistics" and returns the
4188           decoded response content.
4189
4190   Sidekiq Metrics
4191       See <https://docs.gitlab.com/ce/api/sidekiq_metrics.html>.
4192
4193       queue_metrics
4194               my $metrics = $api->queue_metrics();
4195
4196           Sends a "GET" request to "sidekiq/queue_metrics" and returns the
4197           decoded response content.
4198
4199       process_metrics
4200               my $metrics = $api->process_metrics();
4201
4202           Sends a "GET" request to "sidekiq/process_metrics" and returns the
4203           decoded response content.
4204
4205       job_stats
4206               my $stats = $api->job_stats();
4207
4208           Sends a "GET" request to "sidekiq/job_stats" and returns the
4209           decoded response content.
4210
4211       compound_metrics
4212               my $metrics = $api->compound_metrics();
4213
4214           Sends a "GET" request to "sidekiq/compound_metrics" and returns the
4215           decoded response content.
4216
4217   System hooks
4218       See <https://docs.gitlab.com/ce/api/system_hooks.html>.
4219
4220       hooks
4221               my $hooks = $api->hooks(
4222                   \%params,
4223               );
4224
4225           Sends a "GET" request to "hooks" and returns the decoded response
4226           content.
4227
4228       create_hook
4229               $api->create_hook(
4230                   \%params,
4231               );
4232
4233           Sends a "POST" request to "hooks".
4234
4235       test_hook
4236               my $hook = $api->test_hook(
4237                   $hook_id,
4238               );
4239
4240           Sends a "GET" request to "hooks/:hook_id" and returns the decoded
4241           response content.
4242
4243       delete_hook
4244               $api->delete_hook(
4245                   $hook_id,
4246               );
4247
4248           Sends a "DELETE" request to "hooks/:hook_id".
4249
4250   Tags
4251       See <https://docs.gitlab.com/ce/api/tags.html>.
4252
4253       tags
4254               my $tags = $api->tags(
4255                   $project_id,
4256                   \%params,
4257               );
4258
4259           Sends a "GET" request to "projects/:project_id/repository/tags" and
4260           returns the decoded response content.
4261
4262       tag
4263               my $tag = $api->tag(
4264                   $project_id,
4265                   $tag_name,
4266               );
4267
4268           Sends a "GET" request to
4269           "projects/:project_id/repository/tags/:tag_name" and returns the
4270           decoded response content.
4271
4272       create_tag
4273               my $tag = $api->create_tag(
4274                   $project_id,
4275                   \%params,
4276               );
4277
4278           Sends a "POST" request to "projects/:project_id/repository/tags"
4279           and returns the decoded response content.
4280
4281       delete_tag
4282               $api->delete_tag(
4283                   $project_id,
4284                   $tag_name,
4285               );
4286
4287           Sends a "DELETE" request to
4288           "projects/:project_id/repository/tags/:tag_name".
4289
4290       create_tag_release
4291               my $release = $api->create_tag_release(
4292                   $project_id,
4293                   $tag_name,
4294                   \%params,
4295               );
4296
4297           Sends a "POST" request to
4298           "projects/:project_id/repository/tags/:tag_name/release" and
4299           returns the decoded response content.
4300
4301       update_tag_release
4302               my $release = $api->update_tag_release(
4303                   $project_id,
4304                   $tag_name,
4305                   \%params,
4306               );
4307
4308           Sends a "PUT" request to
4309           "projects/:project_id/repository/tags/:tag_name/release" and
4310           returns the decoded response content.
4311
4312   Todos
4313       See <https://docs.gitlab.com/ce/api/todos.html>.
4314
4315       todos
4316               my $todos = $api->todos(
4317                   \%params,
4318               );
4319
4320           Sends a "GET" request to "todos" and returns the decoded response
4321           content.
4322
4323       mark_todo_done
4324               my $todo = $api->mark_todo_done(
4325                   $todo_id,
4326               );
4327
4328           Sends a "POST" request to "todos/:todo_id/mark_as_done" and returns
4329           the decoded response content.
4330
4331       mark_all_todos_done
4332               $api->mark_all_todos_done();
4333
4334           Sends a "POST" request to "todos/mark_as_done".
4335
4336   Users
4337       See <https://docs.gitlab.com/ce/api/users.html>.
4338
4339       users
4340               my $users = $api->users(
4341                   \%params,
4342               );
4343
4344           Sends a "GET" request to "users" and returns the decoded response
4345           content.
4346
4347       user
4348               my $user = $api->user(
4349                   $user_id,
4350               );
4351
4352           Sends a "GET" request to "users/:user_id" and returns the decoded
4353           response content.
4354
4355       create_user
4356               $api->create_user(
4357                   \%params,
4358               );
4359
4360           Sends a "POST" request to "users".
4361
4362       edit_user
4363               $api->edit_user(
4364                   $user_id,
4365                   \%params,
4366               );
4367
4368           Sends a "PUT" request to "users/:user_id".
4369
4370       delete_user
4371               $api->delete_user(
4372                   $user_id,
4373                   \%params,
4374               );
4375
4376           Sends a "DELETE" request to "users/:user_id".
4377
4378       current_user
4379               my $user = $api->current_user();
4380
4381           Sends a "GET" request to "user" and returns the decoded response
4382           content.
4383
4384       current_user_ssh_keys
4385               my $keys = $api->current_user_ssh_keys(
4386                   \%params,
4387               );
4388
4389           Sends a "GET" request to "user/keys" and returns the decoded
4390           response content.
4391
4392       user_ssh_keys
4393               my $keys = $api->user_ssh_keys(
4394                   $user_id,
4395                   \%params,
4396               );
4397
4398           Sends a "GET" request to "users/:user_id/keys" and returns the
4399           decoded response content.
4400
4401       user_ssh_key
4402               my $key = $api->user_ssh_key(
4403                   $key_id,
4404               );
4405
4406           Sends a "GET" request to "user/keys/:key_id" and returns the
4407           decoded response content.
4408
4409       create_current_user_ssh_key
4410               $api->create_current_user_ssh_key(
4411                   \%params,
4412               );
4413
4414           Sends a "POST" request to "user/keys".
4415
4416       create_user_ssh_key
4417               $api->create_user_ssh_key(
4418                   $user_id,
4419                   \%params,
4420               );
4421
4422           Sends a "POST" request to "users/:user_id/keys".
4423
4424       delete_current_user_ssh_key
4425               $api->delete_current_user_ssh_key(
4426                   $key_id,
4427               );
4428
4429           Sends a "DELETE" request to "user/keys/:key_id".
4430
4431       delete_user_ssh_key
4432               $api->delete_user_ssh_key(
4433                   $user_id,
4434                   $key_id,
4435               );
4436
4437           Sends a "DELETE" request to "users/:user_id/keys/:key_id".
4438
4439       current_user_gpg_keys
4440               my $keys = $api->current_user_gpg_keys(
4441                   \%params,
4442               );
4443
4444           Sends a "GET" request to "user/gpg_keys" and returns the decoded
4445           response content.
4446
4447       current_user_gpg_key
4448               my $key = $api->current_user_gpg_key(
4449                   $key_id,
4450               );
4451
4452           Sends a "GET" request to "user/gpg_keys/:key_id" and returns the
4453           decoded response content.
4454
4455       create_current_user_gpg_key
4456               $api->create_current_user_gpg_key(
4457                   \%params,
4458               );
4459
4460           Sends a "POST" request to "user/gpg_keys".
4461
4462       delete_current_user_gpg_key
4463               $api->delete_current_user_gpg_key(
4464                   $key_id,
4465               );
4466
4467           Sends a "DELETE" request to "user/gpg_keys/:key_id".
4468
4469       user_gpg_keys
4470               my $keys = $api->user_gpg_keys(
4471                   $user_id,
4472                   \%params,
4473               );
4474
4475           Sends a "GET" request to "users/:user_id/gpg_keys" and returns the
4476           decoded response content.
4477
4478       user_gpg_key
4479               my $key = $api->user_gpg_key(
4480                   $user_id,
4481                   $key_id,
4482               );
4483
4484           Sends a "GET" request to "users/:user_id/gpg_keys/:key_id" and
4485           returns the decoded response content.
4486
4487       create_user_gpg_key
4488               my $keys = $api->create_user_gpg_key(
4489                   $user_id,
4490                   \%params,
4491               );
4492
4493           Sends a "POST" request to "users/:user_id/gpg_keys" and returns the
4494           decoded response content.
4495
4496       delete_user_gpg_key
4497               $api->delete_user_gpg_key(
4498                   $user_id,
4499                   $key_id,
4500               );
4501
4502           Sends a "DELETE" request to "users/:user_id/gpg_keys/:key_id".
4503
4504       current_user_emails
4505               my $emails = $api->current_user_emails(
4506                   \%params,
4507               );
4508
4509           Sends a "GET" request to "user/emails" and returns the decoded
4510           response content.
4511
4512       user_emails
4513               my $emails = $api->user_emails(
4514                   $user_id,
4515                   \%params,
4516               );
4517
4518           Sends a "GET" request to "users/:user_id/emails" and returns the
4519           decoded response content.
4520
4521       current_user_email
4522               my $email = $api->current_user_email(
4523                   $email_id,
4524               );
4525
4526           Sends a "GET" request to "user/emails/:email_id" and returns the
4527           decoded response content.
4528
4529       create_current_user_email
4530               my $email = $api->create_current_user_email(
4531                   \%params,
4532               );
4533
4534           Sends a "POST" request to "user/emails" and returns the decoded
4535           response content.
4536
4537       create_user_email
4538               my $email = $api->create_user_email(
4539                   $user_id,
4540                   \%params,
4541               );
4542
4543           Sends a "POST" request to "users/:user_id/emails" and returns the
4544           decoded response content.
4545
4546       delete_current_user_email
4547               $api->delete_current_user_email(
4548                   $email_id,
4549               );
4550
4551           Sends a "DELETE" request to "user/emails/:email_id".
4552
4553       delete_user_email
4554               $api->delete_user_email(
4555                   $user_id,
4556                   $email_id,
4557               );
4558
4559           Sends a "DELETE" request to "users/:user_id/emails/:email_id".
4560
4561       block_user
4562               my $success = $api->block_user(
4563                   $user_id,
4564               );
4565
4566           Sends a "POST" request to "users/:user_id/block" and returns the
4567           decoded response content.
4568
4569       unblock_user
4570               my $success = $api->unblock_user(
4571                   $user_id,
4572               );
4573
4574           Sends a "POST" request to "users/:user_id/unblock" and returns the
4575           decoded response content.
4576
4577       approve_user
4578               $api->approve_user(
4579                   $user_id,
4580               );
4581
4582           Sends a "POST" request to "users/:user_id/approve".
4583
4584       reject_user
4585               $api->reject_user(
4586                   $user_id,
4587               );
4588
4589           Sends a "POST" request to "users/:user_id/reject".
4590
4591       activate_user
4592               $api->activate_user(
4593                   $user_id,
4594               );
4595
4596           Sends a "POST" request to "users/:user_id/activate".
4597
4598       deactivate_user
4599               $api->deactivate_user(
4600                   $user_id,
4601               );
4602
4603           Sends a "POST" request to "users/:user_id/deactivate".
4604
4605       ban_user
4606               $api->ban_user(
4607                   $user_id,
4608               );
4609
4610           Sends a "POST" request to "users/:user_id/ban".
4611
4612       unban_user
4613               $api->unban_user(
4614                   $user_id,
4615               );
4616
4617           Sends a "POST" request to "users/:user_id/unban".
4618
4619       user_impersonation_tokens
4620               my $tokens = $api->user_impersonation_tokens(
4621                   $user_id,
4622                   \%params,
4623               );
4624
4625           Sends a "GET" request to "users/:user_id/impersonation_tokens" and
4626           returns the decoded response content.
4627
4628       user_impersonation_token
4629               my $token = $api->user_impersonation_token(
4630                   $user_id,
4631                   $impersonation_token_id,
4632               );
4633
4634           Sends a "GET" request to
4635           "users/:user_id/impersonation_tokens/:impersonation_token_id" and
4636           returns the decoded response content.
4637
4638       create_user_impersonation_token
4639               my $token = $api->create_user_impersonation_token(
4640                   $user_id,
4641                   \%params,
4642               );
4643
4644           Sends a "POST" request to "users/:user_id/impersonation_tokens" and
4645           returns the decoded response content.
4646
4647       delete_user_impersonation_token
4648               $api->delete_user_impersonation_token(
4649                   $user_id,
4650                   $impersonation_token_id,
4651               );
4652
4653           Sends a "DELETE" request to
4654           "users/:user_id/impersonation_tokens/:impersonation_token_id".
4655
4656       all_user_activities
4657               my $activities = $api->all_user_activities(
4658                   \%params,
4659               );
4660
4661           Sends a "GET" request to "user/activities" and returns the decoded
4662           response content.
4663
4664       user_memberships
4665               my $memberships = $api->user_memberships(
4666                   $user_id,
4667                   \%params,
4668               );
4669
4670           Sends a "GET" request to "users/:user_id/memberships" and returns
4671           the decoded response content.
4672
4673   Validate the .gitlab-ci.yml
4674       See <https://docs.gitlab.com/ce/api/lint.html>.
4675
4676       lint
4677               my $result = $api->lint(
4678                   \%params,
4679               );
4680
4681           Sends a "POST" request to "lint" and returns the decoded response
4682           content.
4683
4684   Version
4685       See <https://docs.gitlab.com/ce/api/version.html>.
4686
4687       version
4688               my $version = $api->version();
4689
4690           Sends a "GET" request to "version" and returns the decoded response
4691           content.
4692
4693   Wikis
4694       See <https://docs.gitlab.com/ce/api/wikis.html>.
4695
4696       wiki_pages
4697               my $pages = $api->wiki_pages(
4698                   $project_id,
4699                   \%params,
4700               );
4701
4702           Sends a "GET" request to "projects/:project_id/wikis" and returns
4703           the decoded response content.
4704
4705       wiki_page
4706               my $pages = $api->wiki_page(
4707                   $project_id,
4708                   $slug,
4709               );
4710
4711           Sends a "GET" request to "projects/:project_id/wikis/:slug" and
4712           returns the decoded response content.
4713
4714       create_wiki_page
4715               my $page = $api->create_wiki_page(
4716                   $project_id,
4717                   \%params,
4718               );
4719
4720           Sends a "POST" request to "projects/:project_id/wikis" and returns
4721           the decoded response content.
4722
4723       edit_wiki_page
4724               my $page = $api->edit_wiki_page(
4725                   $project_id,
4726                   $slug,
4727                   \%params,
4728               );
4729
4730           Sends a "PUT" request to "projects/:project_id/wikis/:slug" and
4731           returns the decoded response content.
4732
4733       delete_wiki_page
4734               $api->delete_wiki_page(
4735                   $project_id,
4736                   $slug,
4737               );
4738
4739           Sends a "DELETE" request to "projects/:project_id/wikis/:slug".
4740

CONTRIBUTING

4742       This module is auto-generated from a set of YAML files defining the
4743       interface of GitLab's API.  If you'd like to contribute to this module
4744       then please feel free to make a fork on GitHub
4745       <https://github.com/bluefeet/GitLab-API-v4> and submit a pull request,
4746       just make sure you edit the files in the "authors/" directory instead
4747       of "lib/GitLab/API/v4.pm" directly.
4748
4749       Please see
4750       <https://github.com/bluefeet/GitLab-API-v4/blob/master/author/README.pod>
4751       for more information.
4752
4753       Alternatively, you can open a ticket
4754       <https://github.com/bluefeet/GitLab-API-v4/issues>.
4755

SUPPORT

4757       Please submit bugs and feature requests to the GitLab-API-v4 GitHub
4758       issue tracker:
4759
4760       <https://github.com/bluefeet/GitLab-API-v4/issues>
4761

AUTHOR

4763           Aran Clary Deltac <bluefeet@gmail.com>
4764

CONTRIBUTORS

4766           Dotan Dimet <dotan@corky.net>
4767           Nigel Gregoire <nigelgregoire@gmail.com>
4768           trunov-ms <trunov.ms@gmail.com>
4769           Marek R. Sotola <Marek.R.Sotola@nasa.gov>
4770           José Joaquín Atria <jjatria@gmail.com>
4771           Dave Webb <github@d5ve.com>
4772           Simon Ruderich <simon@ruderich.org>
4773           royce55 <royce@ecs.vuw.ac.nz>
4774           gregor herrmann <gregoa@debian.org>
4775           Luc Didry <luc@didry.org>
4776           Kieren Diment <kieren.diment@staples.com.au>
4777           Dmitry Frolov <dmitry.frolov@gmail.com>
4778           Thomas Klausner <domm@plix.at>
4779           Graham Knop <haarg@haarg.org>
4780           Stig Palmquist <git@stig.io>
4781           Dan Book <grinnz@grinnz.com>
4782           James Wright <jwright@ecstuning.com>
4783           Jonathan Taylor <jon@stackhaus.com>
4784           g0t mi1k <have.you.g0tmi1k@gmail.com>
4785

LICENSE

4787       This library is free software; you can redistribute it and/or modify it
4788       under the same terms as Perl itself.
4789
4790
4791
4792perl v5.38.0                      2023-07-20              GitLab::API::v4(3pm)
Impressum