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   Group access requests
1247       See <https://docs.gitlab.com/ce/api/access_requests.html>.
1248
1249       group_access_requests
1250               my $requests = $api->group_access_requests(
1251                   $group_id,
1252                   \%params,
1253               );
1254
1255           Sends a "GET" request to "groups/:group_id/access_requests" and
1256           returns the decoded response content.
1257
1258       request_group_access
1259               my $request = $api->request_group_access(
1260                   $group_id,
1261               );
1262
1263           Sends a "POST" request to "groups/:group_id/access_requests" and
1264           returns the decoded response content.
1265
1266       approve_group_access
1267               my $request = $api->approve_group_access(
1268                   $group_id,
1269                   $user_id,
1270               );
1271
1272           Sends a "PUT" request to
1273           "groups/:group_id/access_requests/:user_id/approve" and returns the
1274           decoded response content.
1275
1276       deny_group_access
1277               $api->deny_group_access(
1278                   $group_id,
1279                   $user_id,
1280               );
1281
1282           Sends a "DELETE" request to
1283           "groups/:group_id/access_requests/:user_id".
1284
1285   Group badges
1286       See <https://docs.gitlab.com/ce/api/group_badges.html>.
1287
1288       group_badges
1289               my $badges = $api->group_badges(
1290                   $group_id,
1291               );
1292
1293           Sends a "GET" request to "groups/:group_id/badges" and returns the
1294           decoded response content.
1295
1296       group_badge
1297               my $badge = $api->group_badge(
1298                   $group_id,
1299                   $badge_id,
1300               );
1301
1302           Sends a "GET" request to "groups/:group_id/badges/:badge_id" and
1303           returns the decoded response content.
1304
1305       create_group_badge
1306               my $badge = $api->create_group_badge(
1307                   $group_id,
1308                   \%params,
1309               );
1310
1311           Sends a "POST" request to "groups/:group_id/badges" and returns the
1312           decoded response content.
1313
1314       edit_group_badge
1315               my $badge = $api->edit_group_badge(
1316                   $group_id,
1317                   $badge_id,
1318                   \%params,
1319               );
1320
1321           Sends a "PUT" request to "groups/:group_id/badges/:badge_id" and
1322           returns the decoded response content.
1323
1324       delete_group_badge
1325               $api->delete_group_badge(
1326                   $group_id,
1327                   $badge_id,
1328               );
1329
1330           Sends a "DELETE" request to "groups/:group_id/badges/:badge_id".
1331
1332       preview_group_badge
1333               my $preview = $api->preview_group_badge(
1334                   $group_id,
1335                   \%params,
1336               );
1337
1338           Sends a "GET" request to "groups/:group_id/badges/render" and
1339           returns the decoded response content.
1340
1341   Group members
1342       See <https://docs.gitlab.com/ce/api/members.html>.
1343
1344       group_members
1345               my $members = $api->group_members(
1346                   $group_id,
1347                   \%params,
1348               );
1349
1350           Sends a "GET" request to "groups/:group_id/members" and returns the
1351           decoded response content.
1352
1353       all_group_members
1354               my $members = $api->all_group_members(
1355                   $group_id,
1356                   \%params,
1357               );
1358
1359           Sends a "GET" request to "groups/:group_id/members/all" and returns
1360           the decoded response content.
1361
1362       group_member
1363               my $member = $api->group_member(
1364                   $project_id,
1365                   $user_id,
1366               );
1367
1368           Sends a "GET" request to "groups/:project_id/members/:user_id" and
1369           returns the decoded response content.
1370
1371       add_group_member
1372               my $member = $api->add_group_member(
1373                   $group_id,
1374                   \%params,
1375               );
1376
1377           Sends a "POST" request to "groups/:group_id/members" and returns
1378           the decoded response content.
1379
1380       update_group_member
1381               my $member = $api->update_group_member(
1382                   $group_id,
1383                   $user_id,
1384                   \%params,
1385               );
1386
1387           Sends a "PUT" request to "groups/:group_id/members/:user_id" and
1388           returns the decoded response content.
1389
1390       remove_group_member
1391               $api->remove_group_member(
1392                   $group_id,
1393                   $user_id,
1394               );
1395
1396           Sends a "DELETE" request to "groups/:group_id/members/:user_id".
1397
1398   Issues
1399       See <https://docs.gitlab.com/ce/api/issues.html>.
1400
1401       global_issues
1402               my $issues = $api->global_issues(
1403                   \%params,
1404               );
1405
1406           Sends a "GET" request to "issues" and returns the decoded response
1407           content.
1408
1409       group_issues
1410               my $issues = $api->group_issues(
1411                   $group_id,
1412                   \%params,
1413               );
1414
1415           Sends a "GET" request to "groups/:group_id/issues" and returns the
1416           decoded response content.
1417
1418       issues
1419               my $issues = $api->issues(
1420                   $project_id,
1421                   \%params,
1422               );
1423
1424           Sends a "GET" request to "projects/:project_id/issues" and returns
1425           the decoded response content.
1426
1427       issue
1428               my $issue = $api->issue(
1429                   $project_id,
1430                   $issue_iid,
1431               );
1432
1433           Sends a "GET" request to "projects/:project_id/issues/:issue_iid"
1434           and returns the decoded response content.
1435
1436       create_issue
1437               my $issue = $api->create_issue(
1438                   $project_id,
1439                   \%params,
1440               );
1441
1442           Sends a "POST" request to "projects/:project_id/issues" and returns
1443           the decoded response content.
1444
1445       edit_issue
1446               my $issue = $api->edit_issue(
1447                   $project_id,
1448                   $issue_iid,
1449                   \%params,
1450               );
1451
1452           Sends a "PUT" request to "projects/:project_id/issues/:issue_iid"
1453           and returns the decoded response content.
1454
1455       delete_issue
1456               $api->delete_issue(
1457                   $project_id,
1458                   $issue_iid,
1459               );
1460
1461           Sends a "DELETE" request to
1462           "projects/:project_id/issues/:issue_iid".
1463
1464       move_issue
1465               my $issue = $api->move_issue(
1466                   $project_id,
1467                   $issue_iid,
1468                   \%params,
1469               );
1470
1471           Sends a "POST" request to
1472           "projects/:project_id/issues/:issue_iid/move" and returns the
1473           decoded response content.
1474
1475       subscribe_to_issue
1476               my $issue = $api->subscribe_to_issue(
1477                   $project_id,
1478                   $issue_iid,
1479               );
1480
1481           Sends a "POST" request to
1482           "projects/:project_id/issues/:issue_iid/subscribe" and returns the
1483           decoded response content.
1484
1485       unsubscribe_from_issue
1486               my $issue = $api->unsubscribe_from_issue(
1487                   $project_id,
1488                   $issue_iid,
1489               );
1490
1491           Sends a "POST" request to
1492           "projects/:project_id/issues/:issue_iid/unsubscribe" and returns
1493           the decoded response content.
1494
1495       create_issue_todo
1496               my $todo = $api->create_issue_todo(
1497                   $project_id,
1498                   $issue_iid,
1499               );
1500
1501           Sends a "POST" request to
1502           "projects/:project_id/issues/:issue_iid/todo" and returns the
1503           decoded response content.
1504
1505       set_issue_time_estimate
1506               my $tracking = $api->set_issue_time_estimate(
1507                   $project_id,
1508                   $issue_iid,
1509                   \%params,
1510               );
1511
1512           Sends a "POST" request to
1513           "projects/:project_id/issues/:issue_iid/time_estimate" and returns
1514           the decoded response content.
1515
1516       reset_issue_time_estimate
1517               my $tracking = $api->reset_issue_time_estimate(
1518                   $project_id,
1519                   $issue_iid,
1520               );
1521
1522           Sends a "POST" request to
1523           "projects/:project_id/issues/:issue_iid/reset_time_estimate" and
1524           returns the decoded response content.
1525
1526       add_issue_spent_time
1527               my $tracking = $api->add_issue_spent_time(
1528                   $project_id,
1529                   $issue_iid,
1530                   \%params,
1531               );
1532
1533           Sends a "POST" request to
1534           "projects/:project_id/issues/:issue_iid/add_spent_time" and returns
1535           the decoded response content.
1536
1537       reset_issue_spent_time
1538               my $tracking = $api->reset_issue_spent_time(
1539                   $project_id,
1540                   $issue_iid,
1541               );
1542
1543           Sends a "POST" request to
1544           "projects/:project_id/issues/:issue_iid/reset_spent_time" and
1545           returns the decoded response content.
1546
1547       issue_time_stats
1548               my $tracking = $api->issue_time_stats(
1549                   $project_id,
1550                   $issue_iid,
1551               );
1552
1553           Sends a "GET" request to
1554           "projects/:project_id/issues/:issue_iid/time_stats" and returns the
1555           decoded response content.
1556
1557       issue_closed_by
1558               my $merge_requests = $api->issue_closed_by(
1559                   $project_id,
1560                   $issue_iid,
1561               );
1562
1563           Sends a "GET" request to
1564           "projects/:project_id/issues/:issue_iid/closed_by" and returns the
1565           decoded response content.
1566
1567       issue_user_agent_detail
1568               my $user_agent = $api->issue_user_agent_detail(
1569                   $project_id,
1570                   $issue_iid,
1571               );
1572
1573           Sends a "GET" request to
1574           "projects/:project_id/issues/:issue_iid/user_agent_detail" and
1575           returns the decoded response content.
1576
1577   Issue Boards
1578       See <https://docs.gitlab.com/ce/api/boards.html>.
1579
1580       project_boards
1581               my $boards = $api->project_boards(
1582                   $project_id,
1583                   \%params,
1584               );
1585
1586           Sends a "GET" request to "projects/:project_id/boards" and returns
1587           the decoded response content.
1588
1589       project_board_lists
1590               my $lists = $api->project_board_lists(
1591                   $project_id,
1592                   $board_id,
1593                   \%params,
1594               );
1595
1596           Sends a "GET" request to
1597           "projects/:project_id/boards/:board_id/lists" and returns the
1598           decoded response content.
1599
1600       project_board_list
1601               my $list = $api->project_board_list(
1602                   $project_id,
1603                   $board_id,
1604                   $list_id,
1605               );
1606
1607           Sends a "GET" request to
1608           "projects/:project_id/boards/:board_id/lists/:list_id" and returns
1609           the decoded response content.
1610
1611       create_project_board_list
1612               my $list = $api->create_project_board_list(
1613                   $project_id,
1614                   $board_id,
1615                   \%params,
1616               );
1617
1618           Sends a "POST" request to
1619           "projects/:project_id/boards/:board_id/lists" and returns the
1620           decoded response content.
1621
1622       edit_project_board_list
1623               my $list = $api->edit_project_board_list(
1624                   $project_id,
1625                   $board_id,
1626                   $list_id,
1627                   \%params,
1628               );
1629
1630           Sends a "PUT" request to
1631           "projects/:project_id/boards/:board_id/lists/:list_id" and returns
1632           the decoded response content.
1633
1634       delete_project_board_list
1635               $api->delete_project_board_list(
1636                   $project_id,
1637                   $board_id,
1638                   $list_id,
1639               );
1640
1641           Sends a "DELETE" request to
1642           "projects/:project_id/boards/:board_id/lists/:list_id".
1643
1644   Group Issue Boards
1645       See <https://docs.gitlab.com/ce/api/group_boards.html>.
1646
1647       group_boards
1648               my $boards = $api->group_boards(
1649                   $group_id,
1650               );
1651
1652           Sends a "GET" request to "groups/:group_id/boards" and returns the
1653           decoded response content.
1654
1655       group_board
1656               my $board = $api->group_board(
1657                   $group_id,
1658                   $board_id,
1659               );
1660
1661           Sends a "GET" request to "groups/:group_id/boards/:board_id" and
1662           returns the decoded response content.
1663
1664       group_board_lists
1665               my $lists = $api->group_board_lists(
1666                   $group_id,
1667                   $board_id,
1668               );
1669
1670           Sends a "GET" request to "groups/:group_id/boards/:board_id/lists"
1671           and returns the decoded response content.
1672
1673       group_board_list
1674               my $list = $api->group_board_list(
1675                   $group_id,
1676                   $board_id,
1677                   $list_id,
1678               );
1679
1680           Sends a "GET" request to
1681           "groups/:group_id/boards/:board_id/lists/:list_id" and returns the
1682           decoded response content.
1683
1684       create_group_board_list
1685               my $list = $api->create_group_board_list(
1686                   $group_id,
1687                   $board_id,
1688                   \%params,
1689               );
1690
1691           Sends a "POST" request to "groups/:group_id/boards/:board_id/lists"
1692           and returns the decoded response content.
1693
1694       edit_group_board_list
1695               my $list = $api->edit_group_board_list(
1696                   $group_id,
1697                   $board_id,
1698                   $list_id,
1699                   \%params,
1700               );
1701
1702           Sends a "PUT" request to
1703           "groups/:group_id/boards/:board_id/lists/:list_id" and returns the
1704           decoded response content.
1705
1706       delete_group_board_list
1707               $api->delete_group_board_list(
1708                   $group_id,
1709                   $board_id,
1710                   $list_id,
1711               );
1712
1713           Sends a "DELETE" request to
1714           "groups/:group_id/boards/:board_id/lists/:list_id".
1715
1716   Jobs
1717       See <https://docs.gitlab.com/ce/api/jobs.html>.
1718
1719       jobs
1720               my $jobs = $api->jobs(
1721                   $project_id,
1722                   \%params,
1723               );
1724
1725           Sends a "GET" request to "projects/:project_id/jobs" and returns
1726           the decoded response content.
1727
1728       pipeline_jobs
1729               my $jobs = $api->pipeline_jobs(
1730                   $project_id,
1731                   $pipeline_id,
1732                   \%params,
1733               );
1734
1735           Sends a "GET" request to
1736           "projects/:project_id/pipelines/:pipeline_id/jobs" and returns the
1737           decoded response content.
1738
1739       job
1740               my $job = $api->job(
1741                   $project_id,
1742                   $job_id,
1743               );
1744
1745           Sends a "GET" request to "projects/:project_id/jobs/:job_id" and
1746           returns the decoded response content.
1747
1748       job_artifacts
1749               my $artifacts = $api->job_artifacts(
1750                   $project_id,
1751                   $job_id,
1752               );
1753
1754           Sends a "GET" request to
1755           "projects/:project_id/jobs/:job_id/artifacts" and returns the
1756           decoded response content.
1757
1758       job_artifacts_archive
1759               my $archive = $api->job_artifacts_archive(
1760                   $project_id,
1761                   $ref_name,
1762                   \%params,
1763               );
1764
1765           Sends a "GET" request to
1766           "projects/:project_id/jobs/artifacts/:ref_name/download" and
1767           returns the decoded response content.
1768
1769       job_artifacts_file
1770               my $file = $api->job_artifacts_file(
1771                   $project_id,
1772                   $job_id,
1773                   $artifact_path,
1774               );
1775
1776           Sends a "GET" request to
1777           "projects/:project_id/jobs/:job_id/artifacts/:artifact_path" and
1778           returns the decoded response content.
1779
1780       job_trace_file
1781               my $file = $api->job_trace_file(
1782                   $project_id,
1783                   $job_id,
1784               );
1785
1786           Sends a "GET" request to "projects/:project_id/jobs/:job_id/trace"
1787           and returns the decoded response content.
1788
1789       cancel_job
1790               my $job = $api->cancel_job(
1791                   $project_id,
1792                   $job_id,
1793               );
1794
1795           Sends a "POST" request to
1796           "projects/:project_id/jobs/:job_id/cancel" and returns the decoded
1797           response content.
1798
1799       retry_job
1800               my $job = $api->retry_job(
1801                   $project_id,
1802                   $job_id,
1803               );
1804
1805           Sends a "POST" request to "projects/:project_id/jobs/:job_id/retry"
1806           and returns the decoded response content.
1807
1808       erase_job
1809               my $job = $api->erase_job(
1810                   $project_id,
1811                   $job_id,
1812               );
1813
1814           Sends a "POST" request to "projects/:project_id/jobs/:job_id/erase"
1815           and returns the decoded response content.
1816
1817       keep_job_artifacts
1818               my $job = $api->keep_job_artifacts(
1819                   $project_id,
1820                   $job_id,
1821               );
1822
1823           Sends a "POST" request to
1824           "projects/:project_id/jobs/:job_id/artifacts/keep" and returns the
1825           decoded response content.
1826
1827       play_job
1828               my $job = $api->play_job(
1829                   $project_id,
1830                   $job_id,
1831               );
1832
1833           Sends a "POST" request to "projects/:project_id/jobs/:job_id/play"
1834           and returns the decoded response content.
1835
1836   Keys
1837       See <https://docs.gitlab.com/ce/api/keys.html>.
1838
1839       key
1840               my $key = $api->key(
1841                   $key_id,
1842               );
1843
1844           Sends a "GET" request to "keys/:key_id" and returns the decoded
1845           response content.
1846
1847   Labels
1848       See <https://docs.gitlab.com/ce/api/labels.html>.
1849
1850       labels
1851               my $labels = $api->labels(
1852                   $project_id,
1853                   \%params,
1854               );
1855
1856           Sends a "GET" request to "projects/:project_id/labels" and returns
1857           the decoded response content.
1858
1859       create_label
1860               my $label = $api->create_label(
1861                   $project_id,
1862                   \%params,
1863               );
1864
1865           Sends a "POST" request to "projects/:project_id/labels" and returns
1866           the decoded response content.
1867
1868       delete_label
1869               $api->delete_label(
1870                   $project_id,
1871                   \%params,
1872               );
1873
1874           Sends a "DELETE" request to "projects/:project_id/labels".
1875
1876       edit_label
1877               my $label = $api->edit_label(
1878                   $project_id,
1879                   \%params,
1880               );
1881
1882           Sends a "PUT" request to "projects/:project_id/labels" and returns
1883           the decoded response content.
1884
1885       subscribe_to_label
1886               my $label = $api->subscribe_to_label(
1887                   $project_id,
1888                   $label_id,
1889               );
1890
1891           Sends a "POST" request to
1892           "projects/:project_id/labels/:label_id/subscribe" and returns the
1893           decoded response content.
1894
1895       unsubscribe_from_label
1896               $api->unsubscribe_from_label(
1897                   $project_id,
1898                   $label_id,
1899               );
1900
1901           Sends a "POST" request to
1902           "projects/:project_id/labels/:label_id/unsubscribe".
1903
1904   Markdown
1905       See <https://docs.gitlab.com/ce/api/markdown.html>.
1906
1907       markdown
1908               my $html = $api->markdown(
1909                   \%params,
1910               );
1911
1912           Sends a "POST" request to "markdown" and returns the decoded
1913           response content.
1914
1915   Merge requests
1916       See <https://docs.gitlab.com/ce/api/merge_requests.html>.
1917
1918       global_merge_requests
1919               my $merge_requests = $api->global_merge_requests(
1920                   \%params,
1921               );
1922
1923           Sends a "GET" request to "merge_requests" and returns the decoded
1924           response content.
1925
1926       merge_requests
1927               my $merge_requests = $api->merge_requests(
1928                   $project_id,
1929                   \%params,
1930               );
1931
1932           Sends a "GET" request to "projects/:project_id/merge_requests" and
1933           returns the decoded response content.
1934
1935       merge_request
1936               my $merge_request = $api->merge_request(
1937                   $project_id,
1938                   $merge_request_iid,
1939               );
1940
1941           Sends a "GET" request to
1942           "projects/:project_id/merge_requests/:merge_request_iid" and
1943           returns the decoded response content.
1944
1945       merge_request_commits
1946               my $commits = $api->merge_request_commits(
1947                   $project_id,
1948                   $merge_request_iid,
1949               );
1950
1951           Sends a "GET" request to
1952           "projects/:project_id/merge_requests/:merge_request_iid/commits"
1953           and returns the decoded response content.
1954
1955       merge_request_with_changes
1956               my $merge_request = $api->merge_request_with_changes(
1957                   $project_id,
1958                   $merge_request_iid,
1959               );
1960
1961           Sends a "GET" request to
1962           "projects/:project_id/merge_requests/:merge_request_iid/changes"
1963           and returns the decoded response content.
1964
1965       create_merge_request
1966               my $merge_request = $api->create_merge_request(
1967                   $project_id,
1968                   \%params,
1969               );
1970
1971           Sends a "POST" request to "projects/:project_id/merge_requests" and
1972           returns the decoded response content.
1973
1974       edit_merge_request
1975               my $merge_request = $api->edit_merge_request(
1976                   $project_id,
1977                   $merge_request_iid,
1978                   \%params,
1979               );
1980
1981           Sends a "PUT" request to
1982           "projects/:project_id/merge_requests/:merge_request_iid" and
1983           returns the decoded response content.
1984
1985       delete_merge_request
1986               $api->delete_merge_request(
1987                   $project_id,
1988                   $merge_request_iid,
1989               );
1990
1991           Sends a "DELETE" request to
1992           "projects/:project_id/merge_requests/:merge_request_iid".
1993
1994       accept_merge_request
1995               my $merge_request = $api->accept_merge_request(
1996                   $project_id,
1997                   $merge_request_iid,
1998                   \%params,
1999               );
2000
2001           Sends a "PUT" request to
2002           "projects/:project_id/merge_requests/:merge_request_iid/merge" and
2003           returns the decoded response content.
2004
2005       cancel_merge_when_pipeline_succeeds
2006               my $merge_request = $api->cancel_merge_when_pipeline_succeeds(
2007                   $project_id,
2008                   $merge_request_iid,
2009               );
2010
2011           Sends a "PUT" request to
2012           "projects/:project_id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds"
2013           and returns the decoded response content.
2014
2015       merge_request_closes_issues
2016               my $issues = $api->merge_request_closes_issues(
2017                   $project_id,
2018                   $merge_request_iid,
2019                   \%params,
2020               );
2021
2022           Sends a "GET" request to
2023           "projects/:project_id/merge_requests/:merge_request_iid/closes_issues"
2024           and returns the decoded response content.
2025
2026       subscribe_to_merge_request
2027               my $merge_request = $api->subscribe_to_merge_request(
2028                   $project_id,
2029                   $merge_request_iid,
2030               );
2031
2032           Sends a "POST" request to
2033           "projects/:project_id/merge_requests/:merge_request_iid/subscribe"
2034           and returns the decoded response content.
2035
2036       unsubscribe_from_merge_request
2037               my $merge_request = $api->unsubscribe_from_merge_request(
2038                   $project_id,
2039                   $merge_request_iid,
2040               );
2041
2042           Sends a "POST" request to
2043           "projects/:project_id/merge_requests/:merge_request_iid/unsubscribe"
2044           and returns the decoded response content.
2045
2046       create_merge_request_todo
2047               my $todo = $api->create_merge_request_todo(
2048                   $project_id,
2049                   $merge_request_iid,
2050               );
2051
2052           Sends a "POST" request to
2053           "projects/:project_id/merge_requests/:merge_request_iid/todo" and
2054           returns the decoded response content.
2055
2056       merge_request_diff_versions
2057               my $versions = $api->merge_request_diff_versions(
2058                   $project_id,
2059                   $merge_request_iid,
2060               );
2061
2062           Sends a "GET" request to
2063           "projects/:project_id/merge_requests/:merge_request_iid/versions"
2064           and returns the decoded response content.
2065
2066       merge_request_diff_version
2067               my $version = $api->merge_request_diff_version(
2068                   $project_id,
2069                   $merge_request_iid,
2070                   $version_id,
2071               );
2072
2073           Sends a "GET" request to
2074           "projects/:project_id/merge_requests/:merge_request_iid/versions/:version_id"
2075           and returns the decoded response content.
2076
2077       set_merge_request_time_estimate
2078               my $tracking = $api->set_merge_request_time_estimate(
2079                   $project_id,
2080                   $merge_request_iid,
2081                   \%params,
2082               );
2083
2084           Sends a "POST" request to
2085           "projects/:project_id/merge_requests/:merge_request_iid/time_estimate"
2086           and returns the decoded response content.
2087
2088       reset_merge_request_time_estimate
2089               my $tracking = $api->reset_merge_request_time_estimate(
2090                   $project_id,
2091                   $merge_request_iid,
2092               );
2093
2094           Sends a "POST" request to
2095           "projects/:project_id/merge_requests/:merge_request_iid/reset_time_estimate"
2096           and returns the decoded response content.
2097
2098       add_merge_request_spent_time
2099               my $tracking = $api->add_merge_request_spent_time(
2100                   $project_id,
2101                   $merge_request_iid,
2102                   \%params,
2103               );
2104
2105           Sends a "POST" request to
2106           "projects/:project_id/merge_requests/:merge_request_iid/add_spent_time"
2107           and returns the decoded response content.
2108
2109       reset_merge_request_spent_time
2110               my $tracking = $api->reset_merge_request_spent_time(
2111                   $project_id,
2112                   $merge_request_iid,
2113               );
2114
2115           Sends a "POST" request to
2116           "projects/:project_id/merge_requests/:merge_request_iid/reset_spent_time"
2117           and returns the decoded response content.
2118
2119       merge_request_time_stats
2120               my $tracking = $api->merge_request_time_stats(
2121                   $project_id,
2122                   $merge_request_iid,
2123               );
2124
2125           Sends a "GET" request to
2126           "projects/:project_id/merge_requests/:merge_request_iid/time_stats"
2127           and returns the decoded response content.
2128
2129   Milestones
2130       See <https://docs.gitlab.com/ce/api/milestones.html>.
2131
2132       project_milestones
2133               my $milestones = $api->project_milestones(
2134                   $project_id,
2135                   \%params,
2136               );
2137
2138           Sends a "GET" request to "projects/:project_id/milestones" and
2139           returns the decoded response content.
2140
2141       project_milestone
2142               my $milestone = $api->project_milestone(
2143                   $project_id,
2144                   $milestone_id,
2145               );
2146
2147           Sends a "GET" request to
2148           "projects/:project_id/milestones/:milestone_id" and returns the
2149           decoded response content.
2150
2151       create_project_milestone
2152               my $milestone = $api->create_project_milestone(
2153                   $project_id,
2154                   \%params,
2155               );
2156
2157           Sends a "POST" request to "projects/:project_id/milestones" and
2158           returns the decoded response content.
2159
2160       edit_project_milestone
2161               my $milestone = $api->edit_project_milestone(
2162                   $project_id,
2163                   $milestone_id,
2164                   \%params,
2165               );
2166
2167           Sends a "PUT" request to
2168           "projects/:project_id/milestones/:milestone_id" and returns the
2169           decoded response content.
2170
2171       project_milestone_issues
2172               my $issues = $api->project_milestone_issues(
2173                   $project_id,
2174                   $milestone_id,
2175                   \%params,
2176               );
2177
2178           Sends a "GET" request to
2179           "projects/:project_id/milestones/:milestone_id/issues" and returns
2180           the decoded response content.
2181
2182       project_milestone_merge_requests
2183               my $merge_requests = $api->project_milestone_merge_requests(
2184                   $project_id,
2185                   $milestone_id,
2186                   \%params,
2187               );
2188
2189           Sends a "GET" request to
2190           "projects/:project_id/milestones/:milestone_id/merge_requests" and
2191           returns the decoded response content.
2192
2193   Group milestones
2194       See <https://docs.gitlab.com/ce/api/group_milestones.html>.
2195
2196       group_milestones
2197               my $milestones = $api->group_milestones(
2198                   $group_id,
2199                   \%params,
2200               );
2201
2202           Sends a "GET" request to "groups/:group_id/milestones" and returns
2203           the decoded response content.
2204
2205       group_milestone
2206               my $milestone = $api->group_milestone(
2207                   $group_id,
2208                   $milestone_id,
2209               );
2210
2211           Sends a "GET" request to
2212           "groups/:group_id/milestones/:milestone_id" and returns the decoded
2213           response content.
2214
2215       create_group_milestone
2216               my $milestone = $api->create_group_milestone(
2217                   $group_id,
2218                   \%params,
2219               );
2220
2221           Sends a "POST" request to "groups/:group_id/milestones" and returns
2222           the decoded response content.
2223
2224       edit_group_milestone
2225               my $milestone = $api->edit_group_milestone(
2226                   $group_id,
2227                   $milestone_id,
2228                   \%params,
2229               );
2230
2231           Sends a "PUT" request to
2232           "groups/:group_id/milestones/:milestone_id" and returns the decoded
2233           response content.
2234
2235       group_milestone_issues
2236               my $issues = $api->group_milestone_issues(
2237                   $group_id,
2238                   $milestone_id,
2239                   \%params,
2240               );
2241
2242           Sends a "GET" request to
2243           "groups/:group_id/milestones/:milestone_id/issues" and returns the
2244           decoded response content.
2245
2246       group_milestone_merge_requests
2247               my $merge_requests = $api->group_milestone_merge_requests(
2248                   $group_id,
2249                   $milestone_id,
2250                   \%params,
2251               );
2252
2253           Sends a "GET" request to
2254           "groups/:group_id/milestones/:milestone_id/merge_requests" and
2255           returns the decoded response content.
2256
2257   Namespaces
2258       See <https://docs.gitlab.com/ce/api/namespaces.html>.
2259
2260       namespaces
2261               my $namespaces = $api->namespaces(
2262                   \%params,
2263               );
2264
2265           Sends a "GET" request to "namespaces" and returns the decoded
2266           response content.
2267
2268       namespace
2269               my $namespace = $api->namespace(
2270                   $namespace_id,
2271               );
2272
2273           Sends a "GET" request to "namespaces/:namespace_id" and returns the
2274           decoded response content.
2275
2276   Notes
2277       See <https://docs.gitlab.com/ce/api/notes.html>.
2278
2279       issue_notes
2280               my $notes = $api->issue_notes(
2281                   $project_id,
2282                   $issue_iid,
2283                   \%params,
2284               );
2285
2286           Sends a "GET" request to
2287           "projects/:project_id/issues/:issue_iid/notes" and returns the
2288           decoded response content.
2289
2290       issue_note
2291               my $note = $api->issue_note(
2292                   $project_id,
2293                   $issue_iid,
2294                   $note_id,
2295               );
2296
2297           Sends a "GET" request to
2298           "projects/:project_id/issues/:issue_iid/notes/:note_id" and returns
2299           the decoded response content.
2300
2301       create_issue_note
2302               my $note = $api->create_issue_note(
2303                   $project_id,
2304                   $issue_iid,
2305                   \%params,
2306               );
2307
2308           Sends a "POST" request to
2309           "projects/:project_id/issues/:issue_iid/notes" and returns the
2310           decoded response content.
2311
2312       edit_issue_note
2313               $api->edit_issue_note(
2314                   $project_id,
2315                   $issue_iid,
2316                   $note_id,
2317                   \%params,
2318               );
2319
2320           Sends a "PUT" request to
2321           "projects/:project_id/issues/:issue_iid/notes/:note_id".
2322
2323       delete_issue_note
2324               $api->delete_issue_note(
2325                   $project_id,
2326                   $issue_iid,
2327                   $note_id,
2328               );
2329
2330           Sends a "DELETE" request to
2331           "projects/:project_id/issues/:issue_iid/notes/:note_id".
2332
2333       snippet_notes
2334               my $notes = $api->snippet_notes(
2335                   $project_id,
2336                   $snippet_id,
2337                   \%params,
2338               );
2339
2340           Sends a "GET" request to
2341           "projects/:project_id/snippets/:snippet_id/notes" and returns the
2342           decoded response content.
2343
2344       snippet_note
2345               my $note = $api->snippet_note(
2346                   $project_id,
2347                   $snippet_id,
2348                   $note_id,
2349               );
2350
2351           Sends a "GET" request to
2352           "projects/:project_id/snippets/:snippet_id/notes/:note_id" and
2353           returns the decoded response content.
2354
2355       create_snippet_note
2356               my $note = $api->create_snippet_note(
2357                   $project_id,
2358                   $snippet_id,
2359                   \%params,
2360               );
2361
2362           Sends a "POST" request to
2363           "projects/:project_id/snippets/:snippet_id/notes" and returns the
2364           decoded response content.
2365
2366       edit_snippet_note
2367               $api->edit_snippet_note(
2368                   $project_id,
2369                   $snippet_id,
2370                   $note_id,
2371                   \%params,
2372               );
2373
2374           Sends a "PUT" request to
2375           "projects/:project_id/snippets/:snippet_id/notes/:note_id".
2376
2377       delete_snippet_note
2378               $api->delete_snippet_note(
2379                   $project_id,
2380                   $snippet_id,
2381                   $note_id,
2382               );
2383
2384           Sends a "DELETE" request to
2385           "projects/:project_id/snippets/:snippet_id/notes/:note_id".
2386
2387       merge_request_notes
2388               my $notes = $api->merge_request_notes(
2389                   $project_id,
2390                   $merge_request_iid,
2391                   \%params,
2392               );
2393
2394           Sends a "GET" request to
2395           "projects/:project_id/merge_requests/:merge_request_iid/notes" and
2396           returns the decoded response content.
2397
2398       merge_request_note
2399               my $note = $api->merge_request_note(
2400                   $project_id,
2401                   $merge_request_iid,
2402                   $note_id,
2403               );
2404
2405           Sends a "GET" request to
2406           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id"
2407           and returns the decoded response content.
2408
2409       create_merge_request_note
2410               my $note = $api->create_merge_request_note(
2411                   $project_id,
2412                   $merge_request_iid,
2413                   \%params,
2414               );
2415
2416           Sends a "POST" request to
2417           "projects/:project_id/merge_requests/:merge_request_iid/notes" and
2418           returns the decoded response content.
2419
2420       edit_merge_request_note
2421               $api->edit_merge_request_note(
2422                   $project_id,
2423                   $merge_request_iid,
2424                   $note_id,
2425                   \%params,
2426               );
2427
2428           Sends a "PUT" request to
2429           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id".
2430
2431       delete_merge_request_note
2432               $api->delete_merge_request_note(
2433                   $project_id,
2434                   $merge_request_iid,
2435                   $note_id,
2436               );
2437
2438           Sends a "DELETE" request to
2439           "projects/:project_id/merge_requests/:merge_request_iid/notes/:note_id".
2440
2441   Discussions
2442       See <https://docs.gitlab.com/ce/api/discussions.html>.
2443
2444       issue_discussions
2445               my $discussions = $api->issue_discussions(
2446                   $project_id,
2447                   $issue_iid,
2448                   \%params,
2449               );
2450
2451           Sends a "GET" request to
2452           "projects/:project_id/issues/:issue_iid/discussions" and returns
2453           the decoded response content.
2454
2455       issue_discussion
2456               my $discussion = $api->issue_discussion(
2457                   $project_id,
2458                   $issue_iid,
2459                   $discussion_id,
2460               );
2461
2462           Sends a "GET" request to
2463           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id"
2464           and returns the decoded response content.
2465
2466       create_issue_discussion
2467               my $discussion = $api->create_issue_discussion(
2468                   $project_id,
2469                   $issue_iid,
2470                   \%params,
2471               );
2472
2473           Sends a "POST" request to
2474           "projects/:project_id/issues/:issue_iid/discussions" and returns
2475           the decoded response content.
2476
2477       create_issue_discussion_note
2478               $api->create_issue_discussion_note(
2479                   $project_id,
2480                   $issue_iid,
2481                   $discussion_id,
2482                   \%params,
2483               );
2484
2485           Sends a "POST" request to
2486           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes".
2487
2488       edit_issue_discussion_note
2489               $api->edit_issue_discussion_note(
2490                   $project_id,
2491                   $issue_iid,
2492                   $discussion_id,
2493                   $note_id,
2494                   \%params,
2495               );
2496
2497           Sends a "PUT" request to
2498           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id".
2499
2500       delete_issue_discussion_note
2501               $api->delete_issue_discussion_note(
2502                   $project_id,
2503                   $issue_iid,
2504                   $discussion_id,
2505                   $note_id,
2506               );
2507
2508           Sends a "DELETE" request to
2509           "projects/:project_id/issues/:issue_iid/discussions/:discussion_id/notes/:note_id".
2510
2511       project_snippet_discussions
2512               my $discussions = $api->project_snippet_discussions(
2513                   $project_id,
2514                   $snippet_id,
2515                   \%params,
2516               );
2517
2518           Sends a "GET" request to
2519           "projects/:project_id/snippets/:snippet_id/discussions" and returns
2520           the decoded response content.
2521
2522       project_snippet_discussion
2523               my $discussion = $api->project_snippet_discussion(
2524                   $project_id,
2525                   $snippet_id,
2526                   $discussion_id,
2527               );
2528
2529           Sends a "GET" request to
2530           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id"
2531           and returns the decoded response content.
2532
2533       create_project_snippet_discussion
2534               my $discussion = $api->create_project_snippet_discussion(
2535                   $project_id,
2536                   $snippet_id,
2537                   \%params,
2538               );
2539
2540           Sends a "POST" request to
2541           "projects/:project_id/snippets/:snippet_id/discussions" and returns
2542           the decoded response content.
2543
2544       create_project_snippet_discussion_note
2545               $api->create_project_snippet_discussion_note(
2546                   $project_id,
2547                   $snippet_id,
2548                   $discussion_id,
2549                   \%params,
2550               );
2551
2552           Sends a "POST" request to
2553           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes".
2554
2555       edit_project_snippet_discussion_note
2556               $api->edit_project_snippet_discussion_note(
2557                   $project_id,
2558                   $snippet_id,
2559                   $discussion_id,
2560                   $note_id,
2561                   \%params,
2562               );
2563
2564           Sends a "PUT" request to
2565           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id".
2566
2567       delete_project_snippet_discussion_note
2568               $api->delete_project_snippet_discussion_note(
2569                   $project_id,
2570                   $snippet_id,
2571                   $discussion_id,
2572                   $note_id,
2573               );
2574
2575           Sends a "DELETE" request to
2576           "projects/:project_id/snippets/:snippet_id/discussions/:discussion_id/notes/:note_id".
2577
2578       merge_request_discussions
2579               my $discussions = $api->merge_request_discussions(
2580                   $project_id,
2581                   $merge_request_iid,
2582                   \%params,
2583               );
2584
2585           Sends a "GET" request to
2586           "projects/:project_id/merge_requests/:merge_request_iid/discussions"
2587           and returns the decoded response content.
2588
2589       merge_request_discussion
2590               my $discussion = $api->merge_request_discussion(
2591                   $project_id,
2592                   $merge_request_iid,
2593                   $discussion_id,
2594               );
2595
2596           Sends a "GET" request to
2597           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id"
2598           and returns the decoded response content.
2599
2600       create_merge_request_discussion
2601               my $discussion = $api->create_merge_request_discussion(
2602                   $project_id,
2603                   $merge_request_iid,
2604                   \%params,
2605               );
2606
2607           Sends a "POST" request to
2608           "projects/:project_id/merge_requests/:merge_request_iid/discussions"
2609           and returns the decoded response content.
2610
2611       resolve_merge_request_discussion
2612               $api->resolve_merge_request_discussion(
2613                   $project_id,
2614                   $merge_request_iid,
2615                   $discussion_id,
2616                   \%params,
2617               );
2618
2619           Sends a "PUT" request to
2620           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id".
2621
2622       create_merge_request_discussion_note
2623               $api->create_merge_request_discussion_note(
2624                   $project_id,
2625                   $merge_request_iid,
2626                   $discussion_id,
2627                   \%params,
2628               );
2629
2630           Sends a "POST" request to
2631           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes".
2632
2633       edit_merge_request_discussion_note
2634               $api->edit_merge_request_discussion_note(
2635                   $project_id,
2636                   $merge_request_iid,
2637                   $discussion_id,
2638                   $note_id,
2639                   \%params,
2640               );
2641
2642           Sends a "PUT" request to
2643           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id".
2644
2645       delete_merge_request_discussion_note
2646               $api->delete_merge_request_discussion_note(
2647                   $project_id,
2648                   $merge_request_iid,
2649                   $discussion_id,
2650                   $note_id,
2651               );
2652
2653           Sends a "DELETE" request to
2654           "projects/:project_id/merge_requests/:merge_request_iid/discussions/:discussion_id/notes/:note_id".
2655
2656       commit_discussions
2657               my $discussions = $api->commit_discussions(
2658                   $project_id,
2659                   $commit_id,
2660                   \%params,
2661               );
2662
2663           Sends a "GET" request to
2664           "projects/:project_id/commits/:commit_id/discussions" and returns
2665           the decoded response content.
2666
2667       commit_discussion
2668               my $discussion = $api->commit_discussion(
2669                   $project_id,
2670                   $commit_id,
2671                   $discussion_id,
2672               );
2673
2674           Sends a "GET" request to
2675           "projects/:project_id/commits/:commit_id/discussions/:discussion_id"
2676           and returns the decoded response content.
2677
2678       create_commit_discussion
2679               my $discussion = $api->create_commit_discussion(
2680                   $project_id,
2681                   $commit_id,
2682                   \%params,
2683               );
2684
2685           Sends a "POST" request to
2686           "projects/:project_id/commits/:commit_id/discussions" and returns
2687           the decoded response content.
2688
2689       create_commit_discussion_note
2690               $api->create_commit_discussion_note(
2691                   $project_id,
2692                   $commit_id,
2693                   $discussion_id,
2694                   \%params,
2695               );
2696
2697           Sends a "POST" request to
2698           "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes".
2699
2700       edit_commit_discussion_note
2701               $api->edit_commit_discussion_note(
2702                   $project_id,
2703                   $commit_id,
2704                   $discussion_id,
2705                   $note_id,
2706                   \%params,
2707               );
2708
2709           Sends a "PUT" request to
2710           "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes/:note_id".
2711
2712       delete_commit_discussion_note
2713               $api->delete_commit_discussion_note(
2714                   $project_id,
2715                   $commit_id,
2716                   $discussion_id,
2717                   $note_id,
2718               );
2719
2720           Sends a "DELETE" request to
2721           "projects/:project_id/commits/:commit_id/discussions/:discussion_id/notes/:note_id".
2722
2723   Resource label events
2724       See <https://docs.gitlab.com/ce/api/resource_label_events.html>.
2725
2726       issue_resource_label_events
2727               my $events = $api->issue_resource_label_events(
2728                   $project_id,
2729                   $issue_iid,
2730               );
2731
2732           Sends a "GET" request to
2733           "projects/:project_id/issues/:issue_iid/resource_label_events" and
2734           returns the decoded response content.
2735
2736       issue_resource_label_event
2737               my $event = $api->issue_resource_label_event(
2738                   $project_id,
2739                   $issue_iid,
2740                   $resource_label_event_id,
2741               );
2742
2743           Sends a "GET" request to
2744           "projects/:project_id/issues/:issue_iid/resource_label_events/:resource_label_event_id"
2745           and returns the decoded response content.
2746
2747       merge_request_resource_label_events
2748               my $events = $api->merge_request_resource_label_events(
2749                   $project_id,
2750                   $merge_request_iid,
2751               );
2752
2753           Sends a "GET" request to
2754           "projects/:project_id/merge_requests/:merge_request_iid/resource_label_events"
2755           and returns the decoded response content.
2756
2757       merge_request_resource_label_event
2758               my $event = $api->merge_request_resource_label_event(
2759                   $project_id,
2760                   $merge_request_iid,
2761                   $resource_label_event_id,
2762               );
2763
2764           Sends a "GET" request to
2765           "projects/:project_id/merge_requests/:merge_request_iid/resource_label_events/:resource_label_event_id"
2766           and returns the decoded response content.
2767
2768   Notification settings
2769       See <https://docs.gitlab.com/ce/api/notification_settings.html>.
2770
2771       global_notification_settings
2772               my $settings = $api->global_notification_settings();
2773
2774           Sends a "GET" request to "notification_settings" and returns the
2775           decoded response content.
2776
2777       set_global_notification_settings
2778               my $settings = $api->set_global_notification_settings(
2779                   \%params,
2780               );
2781
2782           Sends a "PUT" request to "notification_settings" and returns the
2783           decoded response content.
2784
2785       group_notification_settings
2786               my $settings = $api->group_notification_settings(
2787                   $group_id,
2788               );
2789
2790           Sends a "GET" request to "groups/:group_id/notification_settings"
2791           and returns the decoded response content.
2792
2793       project_notification_settings
2794               my $settings = $api->project_notification_settings(
2795                   $project_id,
2796               );
2797
2798           Sends a "GET" request to
2799           "projects/:project_id/notification_settings" and returns the
2800           decoded response content.
2801
2802       set_group_notification_settings
2803               my $settings = $api->set_group_notification_settings(
2804                   $group_id,
2805                   \%params,
2806               );
2807
2808           Sends a "PUT" request to "groups/:group_id/notification_settings"
2809           and returns the decoded response content.
2810
2811       set_project_notification_settings
2812               my $settings = $api->set_project_notification_settings(
2813                   $project_id,
2814                   \%params,
2815               );
2816
2817           Sends a "PUT" request to
2818           "projects/:project_id/notification_settings" and returns the
2819           decoded response content.
2820
2821   Licenses
2822       See <https://docs.gitlab.com/ce/api/templates/licenses.html>.
2823
2824       license_templates
2825               my $templates = $api->license_templates(
2826                   \%params,
2827               );
2828
2829           Sends a "GET" request to "templates/licenses" and returns the
2830           decoded response content.
2831
2832       license_template
2833               my $template = $api->license_template(
2834                   $template_key,
2835                   \%params,
2836               );
2837
2838           Sends a "GET" request to "templates/licenses/:template_key" and
2839           returns the decoded response content.
2840
2841   Pages domains
2842       See <https://docs.gitlab.com/ce/api/pages_domains.html>.
2843
2844       global_pages_domains
2845               my $domains = $api->global_pages_domains(
2846                   \%params,
2847               );
2848
2849           Sends a "GET" request to "pages/domains" and returns the decoded
2850           response content.
2851
2852       pages_domains
2853               my $domains = $api->pages_domains(
2854                   $project_id,
2855                   \%params,
2856               );
2857
2858           Sends a "GET" request to "projects/:project_id/pages/domains" and
2859           returns the decoded response content.
2860
2861       pages_domain
2862               my $domain = $api->pages_domain(
2863                   $project_id,
2864                   $domain,
2865               );
2866
2867           Sends a "GET" request to
2868           "projects/:project_id/pages/domains/:domain" and returns the
2869           decoded response content.
2870
2871       create_pages_domain
2872               my $domain = $api->create_pages_domain(
2873                   $project_id,
2874                   \%params,
2875               );
2876
2877           Sends a "POST" request to "projects/:project_id/pages/domains" and
2878           returns the decoded response content.
2879
2880       edit_pages_domain
2881               my $domain = $api->edit_pages_domain(
2882                   $project_id,
2883                   $domain,
2884                   \%params,
2885               );
2886
2887           Sends a "PUT" request to
2888           "projects/:project_id/pages/domains/:domain" and returns the
2889           decoded response content.
2890
2891       delete_pages_domain
2892               $api->delete_pages_domain(
2893                   $project_id,
2894                   $domain,
2895               );
2896
2897           Sends a "DELETE" request to
2898           "projects/:project_id/pages/domains/:domain".
2899
2900   Pipelines
2901       See <https://docs.gitlab.com/ce/api/pipelines.html>.
2902
2903       pipelines
2904               my $pipelines = $api->pipelines(
2905                   $project_id,
2906                   \%params,
2907               );
2908
2909           Sends a "GET" request to "projects/:project_id/pipelines" and
2910           returns the decoded response content.
2911
2912       pipeline
2913               my $pipeline = $api->pipeline(
2914                   $project_id,
2915                   $pipeline_id,
2916               );
2917
2918           Sends a "GET" request to
2919           "projects/:project_id/pipelines/:pipeline_id" and returns the
2920           decoded response content.
2921
2922       create_pipeline
2923               my $pipeline = $api->create_pipeline(
2924                   $project_id,
2925                   \%params,
2926               );
2927
2928           Sends a "POST" request to "projects/:project_id/pipeline" and
2929           returns the decoded response content.
2930
2931           Git ref (branch or tag) name must be specified in the "ref" field
2932           of the %params hash. It's also possible to pass variables to a
2933           pipeline in the "variables" field like in the following example:
2934
2935               my $pipeline = $api->create_pipeline(
2936                   $project_id,
2937                   {
2938                       'ref'     => 'master',
2939                       variables => [
2940                           { 'key' => 'VARIABLE1', 'value' => 'VALUE1' },
2941                           { 'key' => 'VARIABLE2', 'value' => 'VALUE2' },
2942                       ],
2943                   },
2944               );
2945
2946       retry_pipeline_jobs
2947               my $pipeline = $api->retry_pipeline_jobs(
2948                   $project_id,
2949                   $pipeline_id,
2950               );
2951
2952           Sends a "POST" request to
2953           "projects/:project_id/pipelines/:pipeline_id/retry" and returns the
2954           decoded response content.
2955
2956       cancel_pipeline_jobs
2957               my $pipeline = $api->cancel_pipeline_jobs(
2958                   $project_id,
2959                   $pipeline_id,
2960               );
2961
2962           Sends a "POST" request to
2963           "projects/:project_id/pipelines/:pipeline_id/cancel" and returns
2964           the decoded response content.
2965
2966       delete_pipeline
2967               $api->delete_pipeline(
2968                   $project_id,
2969                   $pipeline_id,
2970               );
2971
2972           Sends a "DELETE" request to
2973           "projects/:project_id/pipelines/:pipeline_id".
2974
2975   Pipeline triggers
2976       See <https://docs.gitlab.com/ce/api/pipeline_triggers.html>.
2977
2978       triggers
2979               my $triggers = $api->triggers(
2980                   $project_id,
2981                   \%params,
2982               );
2983
2984           Sends a "GET" request to "projects/:project_id/triggers" and
2985           returns the decoded response content.
2986
2987       trigger
2988               my $trigger = $api->trigger(
2989                   $project_id,
2990                   $trigger_id,
2991               );
2992
2993           Sends a "GET" request to
2994           "projects/:project_id/triggers/:trigger_id" and returns the decoded
2995           response content.
2996
2997       create_trigger
2998               my $trigger = $api->create_trigger(
2999                   $project_id,
3000                   \%params,
3001               );
3002
3003           Sends a "POST" request to "projects/:project_id/triggers" and
3004           returns the decoded response content.
3005
3006       edit_trigger
3007               my $trigger = $api->edit_trigger(
3008                   $project_id,
3009                   $trigger_id,
3010                   \%params,
3011               );
3012
3013           Sends a "PUT" request to
3014           "projects/:project_id/triggers/:trigger_id" and returns the decoded
3015           response content.
3016
3017       take_ownership_of_trigger
3018               my $trigger = $api->take_ownership_of_trigger(
3019                   $project_id,
3020                   $trigger_id,
3021               );
3022
3023           Sends a "POST" request to
3024           "projects/:project_id/triggers/:trigger_id/take_ownership" and
3025           returns the decoded response content.
3026
3027       delete_trigger
3028               $api->delete_trigger(
3029                   $project_id,
3030                   $trigger_id,
3031               );
3032
3033           Sends a "DELETE" request to
3034           "projects/:project_id/triggers/:trigger_id".
3035
3036       trigger_pipeline
3037               my $pipeline = $api->trigger_pipeline(
3038                   $project_id,
3039                   \%params,
3040               );
3041
3042           Sends a "POST" request to "projects/:project_id/trigger/pipeline"
3043           and returns the decoded response content.
3044
3045           The API authentication token ("private_token" or "access_token"
3046           parameters in a constructor) is not needed when using this method,
3047           however You must pass trigger token (generated at the trigger
3048           creation) as "token" field and git ref name as "ref" field in the
3049           %params hash. You can also pass variables to be set in a pipeline
3050           in the "variables" field. Example:
3051
3052               my $pipeline = $api->trigger_pipeline(
3053                   $project_id,
3054                   {
3055                       token => 'd69dba9162ab6ac72fa0993496286ada',
3056                       'ref' => 'master',
3057                       variables => {
3058                           variable1 => 'value1',
3059                           variable2 => 'value2',
3060                       },
3061                   },
3062               );
3063
3064           Read more at
3065           <https://docs.gitlab.com/ce/ci/triggers/#triggering-a-pipeline>.
3066
3067   Pipeline schedules
3068       See <https://docs.gitlab.com/ce/api/pipeline_schedules.html>.
3069
3070       pipeline_schedules
3071               my $schedules = $api->pipeline_schedules(
3072                   $project_id,
3073                   \%params,
3074               );
3075
3076           Sends a "GET" request to "projects/:project_id/pipeline_schedules"
3077           and returns the decoded response content.
3078
3079       pipeline_schedule
3080               my $schedule = $api->pipeline_schedule(
3081                   $project_id,
3082                   $pipeline_schedule_id,
3083               );
3084
3085           Sends a "GET" request to
3086           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and
3087           returns the decoded response content.
3088
3089       create_pipeline_schedule
3090               my $schedule = $api->create_pipeline_schedule(
3091                   $project_id,
3092                   \%params,
3093               );
3094
3095           Sends a "POST" request to "projects/:project_id/pipeline_schedules"
3096           and returns the decoded response content.
3097
3098       edit_pipeline_schedule
3099               my $schedule = $api->edit_pipeline_schedule(
3100                   $project_id,
3101                   $pipeline_schedule_id,
3102                   \%params,
3103               );
3104
3105           Sends a "PUT" request to
3106           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and
3107           returns the decoded response content.
3108
3109       take_ownership_of_pipeline_schedule
3110               my $schedule = $api->take_ownership_of_pipeline_schedule(
3111                   $project_id,
3112                   $pipeline_schedule_id,
3113               );
3114
3115           Sends a "POST" request to
3116           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/take_ownership"
3117           and returns the decoded response content.
3118
3119       delete_pipeline_schedule
3120               my $schedule = $api->delete_pipeline_schedule(
3121                   $project_id,
3122                   $pipeline_schedule_id,
3123               );
3124
3125           Sends a "DELETE" request to
3126           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id" and
3127           returns the decoded response content.
3128
3129       create_pipeline_schedule_variable
3130               my $variable = $api->create_pipeline_schedule_variable(
3131                   $project_id,
3132                   $pipeline_schedule_id,
3133                   \%params,
3134               );
3135
3136           Sends a "POST" request to
3137           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables"
3138           and returns the decoded response content.
3139
3140       edit_pipeline_schedule_variable
3141               my $variable = $api->edit_pipeline_schedule_variable(
3142                   $project_id,
3143                   $pipeline_schedule_id,
3144                   $variable_key,
3145                   \%params,
3146               );
3147
3148           Sends a "PUT" request to
3149           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables/:variable_key"
3150           and returns the decoded response content.
3151
3152       delete_pipeline_schedule_variable
3153               my $variable = $api->delete_pipeline_schedule_variable(
3154                   $project_id,
3155                   $pipeline_schedule_id,
3156                   $variable_key,
3157               );
3158
3159           Sends a "DELETE" request to
3160           "projects/:project_id/pipeline_schedules/:pipeline_schedule_id/variables/:variable_key"
3161           and returns the decoded response content.
3162
3163   Projects
3164       See <https://docs.gitlab.com/ce/api/projects.html>.
3165
3166       projects
3167               my $projects = $api->projects(
3168                   \%params,
3169               );
3170
3171           Sends a "GET" request to "projects" and returns the decoded
3172           response content.
3173
3174       user_projects
3175               my $projects = $api->user_projects(
3176                   $user_id,
3177                   \%params,
3178               );
3179
3180           Sends a "GET" request to "users/:user_id/projects" and returns the
3181           decoded response content.
3182
3183       project
3184               my $project = $api->project(
3185                   $project_id,
3186                   \%params,
3187               );
3188
3189           Sends a "GET" request to "projects/:project_id" and returns the
3190           decoded response content.
3191
3192       project_users
3193               my $users = $api->project_users(
3194                   $project_id,
3195                   \%params,
3196               );
3197
3198           Sends a "GET" request to "projects/:project_id/users" and returns
3199           the decoded response content.
3200
3201       create_project
3202               my $project = $api->create_project(
3203                   \%params,
3204               );
3205
3206           Sends a "POST" request to "projects" and returns the decoded
3207           response content.
3208
3209       create_project_for_user
3210               $api->create_project_for_user(
3211                   $user_id,
3212                   \%params,
3213               );
3214
3215           Sends a "POST" request to "projects/user/:user_id".
3216
3217       edit_project
3218               $api->edit_project(
3219                   $project_id,
3220                   \%params,
3221               );
3222
3223           Sends a "PUT" request to "projects/:project_id".
3224
3225       fork_project
3226               $api->fork_project(
3227                   $project_id,
3228                   \%params,
3229               );
3230
3231           Sends a "POST" request to "projects/:project_id/fork".
3232
3233       project_forks
3234               my $forks = $api->project_forks(
3235                   $project_id,
3236                   \%params,
3237               );
3238
3239           Sends a "GET" request to "projects/:project_id/forks" and returns
3240           the decoded response content.
3241
3242       start_project
3243               my $project = $api->start_project(
3244                   $project_id,
3245               );
3246
3247           Sends a "POST" request to "projects/:project_id/star" and returns
3248           the decoded response content.
3249
3250       unstar_project
3251               my $project = $api->unstar_project(
3252                   $project_id,
3253               );
3254
3255           Sends a "POST" request to "projects/:project_id/unstar" and returns
3256           the decoded response content.
3257
3258       project_languages
3259               my $languages = $api->project_languages(
3260                   $project_id,
3261               );
3262
3263           Sends a "GET" request to "projects/:project_id/languages" and
3264           returns the decoded response content.
3265
3266       archive_project
3267               my $project = $api->archive_project(
3268                   $project_id,
3269               );
3270
3271           Sends a "POST" request to "projects/:project_id/archive" and
3272           returns the decoded response content.
3273
3274       unarchive_project
3275               my $project = $api->unarchive_project(
3276                   $project_id,
3277               );
3278
3279           Sends a "POST" request to "projects/:project_id/unarchive" and
3280           returns the decoded response content.
3281
3282       delete_project
3283               $api->delete_project(
3284                   $project_id,
3285               );
3286
3287           Sends a "DELETE" request to "projects/:project_id".
3288
3289       upload_file_to_project
3290               my $upload = $api->upload_file_to_project(
3291                   $project_id,
3292                   \%params,
3293               );
3294
3295           Sends a "POST" request to "projects/:project_id/uploads" and
3296           returns the decoded response content.
3297
3298           The "file" parameter must point to a readable file on the local
3299           filesystem.
3300
3301       share_project_with_group
3302               $api->share_project_with_group(
3303                   $project_id,
3304                   \%params,
3305               );
3306
3307           Sends a "POST" request to "projects/:project_id/share".
3308
3309       unshare_project_with_group
3310               $api->unshare_project_with_group(
3311                   $project_id,
3312                   $group_id,
3313               );
3314
3315           Sends a "DELETE" request to "projects/:project_id/share/:group_id".
3316
3317       project_hooks
3318               my $hooks = $api->project_hooks(
3319                   $project_id,
3320               );
3321
3322           Sends a "GET" request to "projects/:project_id/hooks" and returns
3323           the decoded response content.
3324
3325       project_hook
3326               my $hook = $api->project_hook(
3327                   $project_id,
3328                   $hook_id,
3329               );
3330
3331           Sends a "GET" request to "projects/:project_id/hooks/:hook_id" and
3332           returns the decoded response content.
3333
3334       create_project_hook
3335               my $hook = $api->create_project_hook(
3336                   $project_id,
3337                   \%params,
3338               );
3339
3340           Sends a "POST" request to "projects/:project_id/hooks" and returns
3341           the decoded response content.
3342
3343       edit_project_hook
3344               my $hook = $api->edit_project_hook(
3345                   $project_id,
3346                   $hook_id,
3347                   \%params,
3348               );
3349
3350           Sends a "PUT" request to "projects/:project_id/hooks/:hook_id" and
3351           returns the decoded response content.
3352
3353       delete_project_hook
3354               $api->delete_project_hook(
3355                   $project_id,
3356                   $hook_id,
3357               );
3358
3359           Sends a "DELETE" request to "projects/:project_id/hooks/:hook_id".
3360
3361       set_project_fork
3362               $api->set_project_fork(
3363                   $project_id,
3364                   $from_project_id,
3365               );
3366
3367           Sends a "POST" request to
3368           "projects/:project_id/fork/:from_project_id".
3369
3370       clear_project_fork
3371               $api->clear_project_fork(
3372                   $project_id,
3373               );
3374
3375           Sends a "DELETE" request to "projects/:project_id/fork".
3376
3377       start_housekeeping
3378               $api->start_housekeeping(
3379                   $project_id,
3380               );
3381
3382           Sends a "POST" request to "projects/:project_id/housekeeping".
3383
3384       transfer_project_to_namespace
3385               $api->transfer_project_to_namespace(
3386                   $project_id,
3387                   \%params,
3388               );
3389
3390           Sends a "PUT" request to "projects/:project_id/transfer".
3391
3392   Project access requests
3393       See <https://docs.gitlab.com/ce/api/access_requests.html>.
3394
3395       project_access_requests
3396               my $requests = $api->project_access_requests(
3397                   $project_id,
3398                   \%params,
3399               );
3400
3401           Sends a "GET" request to "projects/:project_id/access_requests" and
3402           returns the decoded response content.
3403
3404       request_project_access
3405               my $request = $api->request_project_access(
3406                   $project_id,
3407               );
3408
3409           Sends a "POST" request to "projects/:project_id/access_requests"
3410           and returns the decoded response content.
3411
3412       approve_project_access
3413               my $request = $api->approve_project_access(
3414                   $project_id,
3415                   $user_id,
3416               );
3417
3418           Sends a "PUT" request to
3419           "projects/:project_id/access_requests/:user_id/approve" and returns
3420           the decoded response content.
3421
3422       deny_project_access
3423               $api->deny_project_access(
3424                   $project_id,
3425                   $user_id,
3426               );
3427
3428           Sends a "DELETE" request to
3429           "projects/:project_id/access_requests/:user_id".
3430
3431   Project badges
3432       See <https://docs.gitlab.com/ce/api/project_badges.html>.
3433
3434       project_badges
3435               my $badges = $api->project_badges(
3436                   $project_id,
3437               );
3438
3439           Sends a "GET" request to "projects/:project_id/badges" and returns
3440           the decoded response content.
3441
3442       project_badge
3443               my $badge = $api->project_badge(
3444                   $project_id,
3445                   $badge_id,
3446               );
3447
3448           Sends a "GET" request to "projects/:project_id/badges/:badge_id"
3449           and returns the decoded response content.
3450
3451       create_project_badge
3452               my $badge = $api->create_project_badge(
3453                   $project_id,
3454                   \%params,
3455               );
3456
3457           Sends a "POST" request to "projects/:project_id/badges" and returns
3458           the decoded response content.
3459
3460       edit_project_badge
3461               my $badge = $api->edit_project_badge(
3462                   $project_id,
3463                   $badge_id,
3464                   \%params,
3465               );
3466
3467           Sends a "PUT" request to "projects/:project_id/badges/:badge_id"
3468           and returns the decoded response content.
3469
3470       delete_project_badge
3471               $api->delete_project_badge(
3472                   $project_id,
3473                   $badge_id,
3474               );
3475
3476           Sends a "DELETE" request to
3477           "projects/:project_id/badges/:badge_id".
3478
3479       preview_project_badge
3480               my $preview = $api->preview_project_badge(
3481                   $project_id,
3482                   \%params,
3483               );
3484
3485           Sends a "GET" request to "projects/:project_id/badges/render" and
3486           returns the decoded response content.
3487
3488   Project import/export
3489       See <https://docs.gitlab.com/ce/api/project_import_export.html>.
3490
3491       schedule_project_export
3492               $api->schedule_project_export(
3493                   $project_id,
3494                   \%params,
3495               );
3496
3497           Sends a "POST" request to "projects/:project_id/export".
3498
3499       project_export_status
3500               my $status = $api->project_export_status(
3501                   $project_id,
3502               );
3503
3504           Sends a "GET" request to "projects/:project_id/export" and returns
3505           the decoded response content.
3506
3507       download_project_export
3508               my $download = $api->download_project_export(
3509                   $project_id,
3510               );
3511
3512           Sends a "GET" request to "projects/:project_id/export/download" and
3513           returns the decoded response content.
3514
3515       schedule_project_import
3516               $api->schedule_project_import(
3517                   \%params,
3518               );
3519
3520           Sends a "POST" request to "projects/import".
3521
3522       project_import_status
3523               my $status = $api->project_import_status(
3524                   $project_id,
3525               );
3526
3527           Sends a "GET" request to "projects/:project_id/import" and returns
3528           the decoded response content.
3529
3530   Project members
3531       See <https://docs.gitlab.com/ce/api/members.html>.
3532
3533       project_members
3534               my $members = $api->project_members(
3535                   $project_id,
3536                   \%params,
3537               );
3538
3539           Sends a "GET" request to "projects/:project_id/members" and returns
3540           the decoded response content.
3541
3542       all_project_members
3543               my $members = $api->all_project_members(
3544                   $project_id,
3545                   \%params,
3546               );
3547
3548           Sends a "GET" request to "projects/:project_id/members/all" and
3549           returns the decoded response content.
3550
3551       project_member
3552               my $member = $api->project_member(
3553                   $project_id,
3554                   $user_id,
3555               );
3556
3557           Sends a "GET" request to "projects/:project_id/members/:user_id"
3558           and returns the decoded response content.
3559
3560       add_project_member
3561               my $member = $api->add_project_member(
3562                   $project_id,
3563                   \%params,
3564               );
3565
3566           Sends a "POST" request to "projects/:project_id/members" and
3567           returns the decoded response content.
3568
3569       update_project_member
3570               my $member = $api->update_project_member(
3571                   $project_id,
3572                   $user_id,
3573                   \%params,
3574               );
3575
3576           Sends a "PUT" request to "projects/:project_id/members/:user_id"
3577           and returns the decoded response content.
3578
3579       remove_project_member
3580               $api->remove_project_member(
3581                   $project_id,
3582                   $user_id,
3583               );
3584
3585           Sends a "DELETE" request to
3586           "projects/:project_id/members/:user_id".
3587
3588   Project snippets
3589       See <https://docs.gitlab.com/ce/api/project_snippets.html>.
3590
3591       project_snippets
3592               my $snippets = $api->project_snippets(
3593                   $project_id,
3594                   \%params,
3595               );
3596
3597           Sends a "GET" request to "projects/:project_id/snippets" and
3598           returns the decoded response content.
3599
3600       project_snippet
3601               my $snippet = $api->project_snippet(
3602                   $project_id,
3603                   $snippet_id,
3604               );
3605
3606           Sends a "GET" request to
3607           "projects/:project_id/snippets/:snippet_id" and returns the decoded
3608           response content.
3609
3610       create_project_snippet
3611               $api->create_project_snippet(
3612                   $project_id,
3613                   \%params,
3614               );
3615
3616           Sends a "POST" request to "projects/:project_id/snippets".
3617
3618       edit_project_snippet
3619               $api->edit_project_snippet(
3620                   $project_id,
3621                   $snippet_id,
3622                   \%params,
3623               );
3624
3625           Sends a "PUT" request to
3626           "projects/:project_id/snippets/:snippet_id".
3627
3628       delete_project_snippet
3629               $api->delete_project_snippet(
3630                   $project_id,
3631                   $snippet_id,
3632               );
3633
3634           Sends a "DELETE" request to
3635           "projects/:project_id/snippets/:snippet_id".
3636
3637       project_snippet_content
3638               my $content = $api->project_snippet_content(
3639                   $project_id,
3640                   $snippet_id,
3641               );
3642
3643           Sends a "GET" request to
3644           "projects/:project_id/snippets/:snippet_id/raw" and returns the
3645           decoded response content.
3646
3647       project_snippet_user_agent_detail
3648               my $user_agent = $api->project_snippet_user_agent_detail(
3649                   $project_id,
3650                   $snippet_id,
3651               );
3652
3653           Sends a "GET" request to
3654           "projects/:project_id/snippets/:snippet_id/user_agent_detail" and
3655           returns the decoded response content.
3656
3657   Protected branches
3658       See <https://docs.gitlab.com/ce/api/protected_branches.html>.
3659
3660       protected_branches
3661               my $branches = $api->protected_branches(
3662                   $project_id,
3663                   \%params,
3664               );
3665
3666           Sends a "GET" request to "projects/:project_id/protected_branches"
3667           and returns the decoded response content.
3668
3669       protected_branch
3670               my $branch = $api->protected_branch(
3671                   $project_id,
3672                   $branch_name,
3673               );
3674
3675           Sends a "GET" request to
3676           "projects/:project_id/protected_branches/:branch_name" and returns
3677           the decoded response content.
3678
3679       protect_branch
3680               my $branch = $api->protect_branch(
3681                   $project_id,
3682                   \%params,
3683               );
3684
3685           Sends a "POST" request to "projects/:project_id/protected_branches"
3686           and returns the decoded response content.
3687
3688       unprotect_branch
3689               $api->unprotect_branch(
3690                   $project_id,
3691                   $branch_name,
3692               );
3693
3694           Sends a "DELETE" request to
3695           "projects/:project_id/protected_branches/:branch_name".
3696
3697   Protected tags
3698       See <https://docs.gitlab.com/ce/api/protected_tags.html>.
3699
3700       protected_tags
3701               my $tags = $api->protected_tags(
3702                   $project_id,
3703                   \%params,
3704               );
3705
3706           Sends a "GET" request to "projects/:project_id/protected_tags" and
3707           returns the decoded response content.
3708
3709       protected_tag
3710               my $tag = $api->protected_tag(
3711                   $project_id,
3712                   $tag_name,
3713               );
3714
3715           Sends a "GET" request to
3716           "projects/:project_id/protected_tags/:tag_name" and returns the
3717           decoded response content.
3718
3719       protect_tag
3720               my $tag = $api->protect_tag(
3721                   $project_id,
3722                   \%params,
3723               );
3724
3725           Sends a "POST" request to "projects/:project_id/protected_tags" and
3726           returns the decoded response content.
3727
3728       unprotect_tag
3729               $api->unprotect_tag(
3730                   $project_id,
3731                   $tag_name,
3732               );
3733
3734           Sends a "DELETE" request to
3735           "projects/:project_id/protected_tags/:tag_name".
3736
3737   Releases
3738       See <https://docs.gitlab.com/ce/api/releases/index.html>.
3739
3740       releases
3741               my $releases = $api->releases(
3742                   $project_id,
3743                   \%params,
3744               );
3745
3746           Sends a "GET" request to "projects/:project_id/releases" and
3747           returns the decoded response content.
3748
3749       release
3750               my $release = $api->release(
3751                   $project_id,
3752                   $tag_name,
3753               );
3754
3755           Sends a "GET" request to "projects/:project_id/releases/:tag_name"
3756           and returns the decoded response content.
3757
3758       create_release
3759               my $release = $api->create_release(
3760                   $project_id,
3761                   \%params,
3762               );
3763
3764           Sends a "POST" request to "projects/:project_id/releases" and
3765           returns the decoded response content.
3766
3767       update_release
3768               my $release = $api->update_release(
3769                   $project_id,
3770                   $tag_name,
3771                   \%params,
3772               );
3773
3774           Sends a "PUT" request to "projects/:project_id/releases/:tag_name"
3775           and returns the decoded response content.
3776
3777       delete_release
3778               my $release = $api->delete_release(
3779                   $project_id,
3780                   $tag_name,
3781               );
3782
3783           Sends a "DELETE" request to
3784           "projects/:project_id/releases/:tag_name" and returns the decoded
3785           response content.
3786
3787   Release Links
3788       See <https://docs.gitlab.com/ce/api/releases/links.html>.
3789
3790       release_links
3791               my $links = $api->release_links(
3792                   $project_id,
3793                   $tag_name,
3794                   \%params,
3795               );
3796
3797           Sends a "GET" request to
3798           "projects/:project_id/releases/:tag_name/assets/links" and returns
3799           the decoded response content.
3800
3801       release_link
3802               my $link = $api->release_link(
3803                   $project_id,
3804                   $tag_name,
3805                   $link_id,
3806               );
3807
3808           Sends a "GET" request to
3809           "projects/:project_id/releases/:tag_name/assets/links/:link_id" and
3810           returns the decoded response content.
3811
3812       create_release_link
3813               my $link = $api->create_release_link(
3814                   $project_id,
3815                   $tag_name,
3816                   \%params,
3817               );
3818
3819           Sends a "POST" request to
3820           "projects/:project_id/releases/:tag_name/assets/links" and returns
3821           the decoded response content.
3822
3823       update_release_link
3824               my $link = $api->update_release_link(
3825                   $project_id,
3826                   $tag_name,
3827                   $link_id,
3828                   \%params,
3829               );
3830
3831           Sends a "PUT" request to
3832           "projects/:project_id/releases/:tag_name/assets/links/:link_id" and
3833           returns the decoded response content.
3834
3835       delete_release_link
3836               my $link = $api->delete_release_link(
3837                   $project_id,
3838                   $tag_name,
3839                   $link_id,
3840               );
3841
3842           Sends a "DELETE" request to
3843           "projects/:project_id/releases/:tag_name/assets/links/:link_id" and
3844           returns the decoded response content.
3845
3846   Repositories
3847       See <https://docs.gitlab.com/ce/api/repositories.html>.
3848
3849       tree
3850               my $tree = $api->tree(
3851                   $project_id,
3852                   \%params,
3853               );
3854
3855           Sends a "GET" request to "projects/:project_id/repository/tree" and
3856           returns the decoded response content.
3857
3858       blob
3859               my $blob = $api->blob(
3860                   $project_id,
3861                   $sha,
3862               );
3863
3864           Sends a "GET" request to
3865           "projects/:project_id/repository/blobs/:sha" and returns the
3866           decoded response content.
3867
3868       raw_blob
3869               my $raw_blob = $api->raw_blob(
3870                   $project_id,
3871                   $sha,
3872               );
3873
3874           Sends a "GET" request to
3875           "projects/:project_id/repository/blobs/:sha/raw" and returns the
3876           decoded response content.
3877
3878       archive
3879               my $archive = $api->archive(
3880                   $project_id,
3881                   \%params,
3882               );
3883
3884           Sends a "GET" request to "projects/:project_id/repository/archive"
3885           and returns the raw response content.
3886
3887       compare
3888               my $comparison = $api->compare(
3889                   $project_id,
3890                   \%params,
3891               );
3892
3893           Sends a "GET" request to "projects/:project_id/repository/compare"
3894           and returns the decoded response content.
3895
3896       contributors
3897               my $contributors = $api->contributors(
3898                   $project_id,
3899                   \%params,
3900               );
3901
3902           Sends a "GET" request to
3903           "projects/:project_id/repository/contributors" and returns the
3904           decoded response content.
3905
3906   Repository files
3907       See <https://docs.gitlab.com/ce/api/repository_files.html>.
3908
3909       file
3910               my $file = $api->file(
3911                   $project_id,
3912                   $file_path,
3913                   \%params,
3914               );
3915
3916           Sends a "GET" request to
3917           "projects/:project_id/repository/files/:file_path" and returns the
3918           decoded response content.
3919
3920       raw_file
3921               my $content = $api->raw_file(
3922                   $project_id,
3923                   $file_path,
3924                   \%params,
3925               );
3926
3927           Sends a "GET" request to
3928           "projects/:project_id/repository/files/:file_path/raw" and returns
3929           the raw response content.
3930
3931       create_file
3932               $api->create_file(
3933                   $project_id,
3934                   $file_path,
3935                   \%params,
3936               );
3937
3938           Sends a "POST" request to
3939           "projects/:project_id/repository/files/:file_path".
3940
3941       edit_file
3942               $api->edit_file(
3943                   $project_id,
3944                   $file_path,
3945                   \%params,
3946               );
3947
3948           Sends a "PUT" request to
3949           "projects/:project_id/repository/files/:file_path".
3950
3951       delete_file
3952               $api->delete_file(
3953                   $project_id,
3954                   $file_path,
3955                   \%params,
3956               );
3957
3958           Sends a "DELETE" request to
3959           "projects/:project_id/repository/files/:file_path".
3960
3961   Runners
3962       See <https://docs.gitlab.com/ce/api/runners.html>.
3963
3964       runners
3965               my $runners = $api->runners(
3966                   \%params,
3967               );
3968
3969           Sends a "GET" request to "runners" and returns the decoded response
3970           content.
3971
3972       all_runners
3973               my $runners = $api->all_runners(
3974                   \%params,
3975               );
3976
3977           Sends a "GET" request to "runners/all" and returns the decoded
3978           response content.
3979
3980       runner
3981               my $runner = $api->runner(
3982                   $runner_id,
3983               );
3984
3985           Sends a "GET" request to "runners/:runner_id" and returns the
3986           decoded response content.
3987
3988       update_runner
3989               my $runner = $api->update_runner(
3990                   $runner_id,
3991                   \%params,
3992               );
3993
3994           Sends a "PUT" request to "runners/:runner_id" and returns the
3995           decoded response content.
3996
3997       delete_runner
3998               $api->delete_runner(
3999                   $runner_id,
4000               );
4001
4002           Sends a "DELETE" request to "runners/:runner_id".
4003
4004       runner_jobs
4005               my $jobs = $api->runner_jobs(
4006                   $runner_id,
4007                   \%params,
4008               );
4009
4010           Sends a "GET" request to "runners/:runner_id/jobs" and returns the
4011           decoded response content.
4012
4013       project_runners
4014               my $runners = $api->project_runners(
4015                   $project_id,
4016                   \%params,
4017               );
4018
4019           Sends a "GET" request to "projects/:project_id/runners" and returns
4020           the decoded response content.
4021
4022       enable_project_runner
4023               my $runner = $api->enable_project_runner(
4024                   $project_id,
4025                   \%params,
4026               );
4027
4028           Sends a "POST" request to "projects/:project_id/runners" and
4029           returns the decoded response content.
4030
4031       disable_project_runner
4032               my $runner = $api->disable_project_runner(
4033                   $project_id,
4034                   $runner_id,
4035               );
4036
4037           Sends a "DELETE" request to
4038           "projects/:project_id/runners/:runner_id" and returns the decoded
4039           response content.
4040
4041   Search
4042       See <https://docs.gitlab.com/ce/api/search.html>.
4043
4044       search
4045               my $results = $api->search(
4046                   \%params,
4047               );
4048
4049           Sends a "GET" request to "search" and returns the decoded response
4050           content.
4051
4052   Services
4053       See <https://docs.gitlab.com/ce/api/services.html>.
4054
4055       project_service
4056               my $service = $api->project_service(
4057                   $project_id,
4058                   $service_name,
4059               );
4060
4061           Sends a "GET" request to
4062           "projects/:project_id/services/:service_name" and returns the
4063           decoded response content.
4064
4065       edit_project_service
4066               $api->edit_project_service(
4067                   $project_id,
4068                   $service_name,
4069                   \%params,
4070               );
4071
4072           Sends a "PUT" request to
4073           "projects/:project_id/services/:service_name".
4074
4075       delete_project_service
4076               $api->delete_project_service(
4077                   $project_id,
4078                   $service_name,
4079               );
4080
4081           Sends a "DELETE" request to
4082           "projects/:project_id/services/:service_name".
4083
4084   Application settings
4085       See <https://docs.gitlab.com/ce/api/settings.html>.
4086
4087       settings
4088               my $settings = $api->settings();
4089
4090           Sends a "GET" request to "application/settings" and returns the
4091           decoded response content.
4092
4093       update_settings
4094               my $settings = $api->update_settings(
4095                   \%params,
4096               );
4097
4098           Sends a "PUT" request to "application/settings" and returns the
4099           decoded response content.
4100
4101   Application statistics
4102       See <https://docs.gitlab.com/ce/api/statistics.html>.
4103
4104       statistics
4105               my $statistics = $api->statistics();
4106
4107           Sends a "GET" request to "application/statistics" and returns the
4108           decoded response content.
4109
4110   Sidekiq Metrics
4111       See <https://docs.gitlab.com/ce/api/sidekiq_metrics.html>.
4112
4113       queue_metrics
4114               my $metrics = $api->queue_metrics();
4115
4116           Sends a "GET" request to "sidekiq/queue_metrics" and returns the
4117           decoded response content.
4118
4119       process_metrics
4120               my $metrics = $api->process_metrics();
4121
4122           Sends a "GET" request to "sidekiq/process_metrics" and returns the
4123           decoded response content.
4124
4125       job_stats
4126               my $stats = $api->job_stats();
4127
4128           Sends a "GET" request to "sidekiq/job_stats" and returns the
4129           decoded response content.
4130
4131       compound_metrics
4132               my $metrics = $api->compound_metrics();
4133
4134           Sends a "GET" request to "sidekiq/compound_metrics" and returns the
4135           decoded response content.
4136
4137   System hooks
4138       See <https://docs.gitlab.com/ce/api/system_hooks.html>.
4139
4140       hooks
4141               my $hooks = $api->hooks(
4142                   \%params,
4143               );
4144
4145           Sends a "GET" request to "hooks" and returns the decoded response
4146           content.
4147
4148       create_hook
4149               $api->create_hook(
4150                   \%params,
4151               );
4152
4153           Sends a "POST" request to "hooks".
4154
4155       test_hook
4156               my $hook = $api->test_hook(
4157                   $hook_id,
4158               );
4159
4160           Sends a "GET" request to "hooks/:hook_id" and returns the decoded
4161           response content.
4162
4163       delete_hook
4164               $api->delete_hook(
4165                   $hook_id,
4166               );
4167
4168           Sends a "DELETE" request to "hooks/:hook_id".
4169
4170   Tags
4171       See <https://docs.gitlab.com/ce/api/tags.html>.
4172
4173       tags
4174               my $tags = $api->tags(
4175                   $project_id,
4176                   \%params,
4177               );
4178
4179           Sends a "GET" request to "projects/:project_id/repository/tags" and
4180           returns the decoded response content.
4181
4182       tag
4183               my $tag = $api->tag(
4184                   $project_id,
4185                   $tag_name,
4186               );
4187
4188           Sends a "GET" request to
4189           "projects/:project_id/repository/tags/:tag_name" and returns the
4190           decoded response content.
4191
4192       create_tag
4193               my $tag = $api->create_tag(
4194                   $project_id,
4195                   \%params,
4196               );
4197
4198           Sends a "POST" request to "projects/:project_id/repository/tags"
4199           and returns the decoded response content.
4200
4201       delete_tag
4202               $api->delete_tag(
4203                   $project_id,
4204                   $tag_name,
4205               );
4206
4207           Sends a "DELETE" request to
4208           "projects/:project_id/repository/tags/:tag_name".
4209
4210       create_tag_release
4211               my $release = $api->create_tag_release(
4212                   $project_id,
4213                   $tag_name,
4214                   \%params,
4215               );
4216
4217           Sends a "POST" request to
4218           "projects/:project_id/repository/tags/:tag_name/release" and
4219           returns the decoded response content.
4220
4221       update_tag_release
4222               my $release = $api->update_tag_release(
4223                   $project_id,
4224                   $tag_name,
4225                   \%params,
4226               );
4227
4228           Sends a "PUT" request to
4229           "projects/:project_id/repository/tags/:tag_name/release" and
4230           returns the decoded response content.
4231
4232   Todos
4233       See <https://docs.gitlab.com/ce/api/todos.html>.
4234
4235       todos
4236               my $todos = $api->todos(
4237                   \%params,
4238               );
4239
4240           Sends a "GET" request to "todos" and returns the decoded response
4241           content.
4242
4243       mark_todo_done
4244               my $todo = $api->mark_todo_done(
4245                   $todo_id,
4246               );
4247
4248           Sends a "POST" request to "todos/:todo_id/mark_as_done" and returns
4249           the decoded response content.
4250
4251       mark_all_todos_done
4252               $api->mark_all_todos_done();
4253
4254           Sends a "POST" request to "todos/mark_as_done".
4255
4256   Users
4257       See <https://docs.gitlab.com/ce/api/users.html>.
4258
4259       users
4260               my $users = $api->users(
4261                   \%params,
4262               );
4263
4264           Sends a "GET" request to "users" and returns the decoded response
4265           content.
4266
4267       user
4268               my $user = $api->user(
4269                   $user_id,
4270               );
4271
4272           Sends a "GET" request to "users/:user_id" and returns the decoded
4273           response content.
4274
4275       create_user
4276               $api->create_user(
4277                   \%params,
4278               );
4279
4280           Sends a "POST" request to "users".
4281
4282       edit_user
4283               $api->edit_user(
4284                   $user_id,
4285                   \%params,
4286               );
4287
4288           Sends a "PUT" request to "users/:user_id".
4289
4290       delete_user
4291               $api->delete_user(
4292                   $user_id,
4293                   \%params,
4294               );
4295
4296           Sends a "DELETE" request to "users/:user_id".
4297
4298       current_user
4299               my $user = $api->current_user();
4300
4301           Sends a "GET" request to "user" and returns the decoded response
4302           content.
4303
4304       current_user_ssh_keys
4305               my $keys = $api->current_user_ssh_keys(
4306                   \%params,
4307               );
4308
4309           Sends a "GET" request to "user/keys" and returns the decoded
4310           response content.
4311
4312       user_ssh_keys
4313               my $keys = $api->user_ssh_keys(
4314                   $user_id,
4315                   \%params,
4316               );
4317
4318           Sends a "GET" request to "users/:user_id/keys" and returns the
4319           decoded response content.
4320
4321       user_ssh_key
4322               my $key = $api->user_ssh_key(
4323                   $key_id,
4324               );
4325
4326           Sends a "GET" request to "user/keys/:key_id" and returns the
4327           decoded response content.
4328
4329       create_current_user_ssh_key
4330               $api->create_current_user_ssh_key(
4331                   \%params,
4332               );
4333
4334           Sends a "POST" request to "user/keys".
4335
4336       create_user_ssh_key
4337               $api->create_user_ssh_key(
4338                   $user_id,
4339                   \%params,
4340               );
4341
4342           Sends a "POST" request to "users/:user_id/keys".
4343
4344       delete_current_user_ssh_key
4345               $api->delete_current_user_ssh_key(
4346                   $key_id,
4347               );
4348
4349           Sends a "DELETE" request to "user/keys/:key_id".
4350
4351       delete_user_ssh_key
4352               $api->delete_user_ssh_key(
4353                   $user_id,
4354                   $key_id,
4355               );
4356
4357           Sends a "DELETE" request to "users/:user_id/keys/:key_id".
4358
4359       current_user_gpg_keys
4360               my $keys = $api->current_user_gpg_keys(
4361                   \%params,
4362               );
4363
4364           Sends a "GET" request to "user/gpg_keys" and returns the decoded
4365           response content.
4366
4367       current_user_gpg_key
4368               my $key = $api->current_user_gpg_key(
4369                   $key_id,
4370               );
4371
4372           Sends a "GET" request to "user/gpg_keys/:key_id" and returns the
4373           decoded response content.
4374
4375       create_current_user_gpg_key
4376               $api->create_current_user_gpg_key(
4377                   \%params,
4378               );
4379
4380           Sends a "POST" request to "user/gpg_keys".
4381
4382       delete_current_user_gpg_key
4383               $api->delete_current_user_gpg_key(
4384                   $key_id,
4385               );
4386
4387           Sends a "DELETE" request to "user/gpg_keys/:key_id".
4388
4389       user_gpg_keys
4390               my $keys = $api->user_gpg_keys(
4391                   $user_id,
4392                   \%params,
4393               );
4394
4395           Sends a "GET" request to "users/:user_id/gpg_keys" and returns the
4396           decoded response content.
4397
4398       user_gpg_key
4399               my $key = $api->user_gpg_key(
4400                   $user_id,
4401                   $key_id,
4402               );
4403
4404           Sends a "GET" request to "users/:user_id/gpg_keys/:key_id" and
4405           returns the decoded response content.
4406
4407       create_user_gpg_key
4408               my $keys = $api->create_user_gpg_key(
4409                   $user_id,
4410                   \%params,
4411               );
4412
4413           Sends a "POST" request to "users/:user_id/gpg_keys" and returns the
4414           decoded response content.
4415
4416       delete_user_gpg_key
4417               $api->delete_user_gpg_key(
4418                   $user_id,
4419                   $key_id,
4420               );
4421
4422           Sends a "DELETE" request to "users/:user_id/gpg_keys/:key_id".
4423
4424       current_user_emails
4425               my $emails = $api->current_user_emails(
4426                   \%params,
4427               );
4428
4429           Sends a "GET" request to "user/emails" and returns the decoded
4430           response content.
4431
4432       user_emails
4433               my $emails = $api->user_emails(
4434                   $user_id,
4435                   \%params,
4436               );
4437
4438           Sends a "GET" request to "users/:user_id/emails" and returns the
4439           decoded response content.
4440
4441       current_user_email
4442               my $email = $api->current_user_email(
4443                   $email_id,
4444               );
4445
4446           Sends a "GET" request to "user/emails/:email_id" and returns the
4447           decoded response content.
4448
4449       create_current_user_email
4450               my $email = $api->create_current_user_email(
4451                   \%params,
4452               );
4453
4454           Sends a "POST" request to "user/emails" and returns the decoded
4455           response content.
4456
4457       create_user_email
4458               my $email = $api->create_user_email(
4459                   $user_id,
4460                   \%params,
4461               );
4462
4463           Sends a "POST" request to "users/:user_id/emails" and returns the
4464           decoded response content.
4465
4466       delete_current_user_email
4467               $api->delete_current_user_email(
4468                   $email_id,
4469               );
4470
4471           Sends a "DELETE" request to "user/emails/:email_id".
4472
4473       delete_user_email
4474               $api->delete_user_email(
4475                   $user_id,
4476                   $email_id,
4477               );
4478
4479           Sends a "DELETE" request to "users/:user_id/emails/:email_id".
4480
4481       block_user
4482               my $success = $api->block_user(
4483                   $user_id,
4484               );
4485
4486           Sends a "POST" request to "users/:user_id/block" and returns the
4487           decoded response content.
4488
4489       unblock_user
4490               my $success = $api->unblock_user(
4491                   $user_id,
4492               );
4493
4494           Sends a "POST" request to "users/:user_id/unblock" and returns the
4495           decoded response content.
4496
4497       user_impersonation_tokens
4498               my $tokens = $api->user_impersonation_tokens(
4499                   $user_id,
4500                   \%params,
4501               );
4502
4503           Sends a "GET" request to "users/:user_id/impersonation_tokens" and
4504           returns the decoded response content.
4505
4506       user_impersonation_token
4507               my $token = $api->user_impersonation_token(
4508                   $user_id,
4509                   $impersonation_token_id,
4510               );
4511
4512           Sends a "GET" request to
4513           "users/:user_id/impersonation_tokens/:impersonation_token_id" and
4514           returns the decoded response content.
4515
4516       create_user_impersonation_token
4517               my $token = $api->create_user_impersonation_token(
4518                   $user_id,
4519                   \%params,
4520               );
4521
4522           Sends a "POST" request to "users/:user_id/impersonation_tokens" and
4523           returns the decoded response content.
4524
4525       delete_user_impersonation_token
4526               $api->delete_user_impersonation_token(
4527                   $user_id,
4528                   $impersonation_token_id,
4529               );
4530
4531           Sends a "DELETE" request to
4532           "users/:user_id/impersonation_tokens/:impersonation_token_id".
4533
4534       all_user_activities
4535               my $activities = $api->all_user_activities(
4536                   \%params,
4537               );
4538
4539           Sends a "GET" request to "user/activities" and returns the decoded
4540           response content.
4541
4542       user_memberships
4543               my $memberships = $api->user_memberships(
4544                   $user_id,
4545                   \%params,
4546               );
4547
4548           Sends a "GET" request to "users/:user_id/memberships" and returns
4549           the decoded response content.
4550
4551   Validate the .gitlab-ci.yml
4552       See <https://docs.gitlab.com/ce/api/lint.html>.
4553
4554       lint
4555               my $result = $api->lint(
4556                   \%params,
4557               );
4558
4559           Sends a "POST" request to "lint" and returns the decoded response
4560           content.
4561
4562   Version
4563       See <https://docs.gitlab.com/ce/api/version.html>.
4564
4565       version
4566               my $version = $api->version();
4567
4568           Sends a "GET" request to "version" and returns the decoded response
4569           content.
4570
4571   Wikis
4572       See <https://docs.gitlab.com/ce/api/wikis.html>.
4573
4574       wiki_pages
4575               my $pages = $api->wiki_pages(
4576                   $project_id,
4577                   \%params,
4578               );
4579
4580           Sends a "GET" request to "projects/:project_id/wikis" and returns
4581           the decoded response content.
4582
4583       wiki_page
4584               my $pages = $api->wiki_page(
4585                   $project_id,
4586                   $slug,
4587               );
4588
4589           Sends a "GET" request to "projects/:project_id/wikis/:slug" and
4590           returns the decoded response content.
4591
4592       create_wiki_page
4593               my $page = $api->create_wiki_page(
4594                   $project_id,
4595                   \%params,
4596               );
4597
4598           Sends a "POST" request to "projects/:project_id/wikis" and returns
4599           the decoded response content.
4600
4601       edit_wiki_page
4602               my $page = $api->edit_wiki_page(
4603                   $project_id,
4604                   $slug,
4605                   \%params,
4606               );
4607
4608           Sends a "PUT" request to "projects/:project_id/wikis/:slug" and
4609           returns the decoded response content.
4610
4611       delete_wiki_page
4612               $api->delete_wiki_page(
4613                   $project_id,
4614                   $slug,
4615               );
4616
4617           Sends a "DELETE" request to "projects/:project_id/wikis/:slug".
4618

CONTRIBUTING

4620       This module is auto-generated from a set of YAML files defining the
4621       interface of GitLab's API.  If you'd like to contribute to this module
4622       then please feel free to make a fork on GitHub
4623       <https://github.com/bluefeet/GitLab-API-v4> and submit a pull request,
4624       just make sure you edit the files in the "authors/" directory instead
4625       of "lib/GitLab/API/v4.pm" directly.
4626
4627       Please see
4628       <https://github.com/bluefeet/GitLab-API-v4/blob/master/author/README.pod>
4629       for more information.
4630
4631       Alternatively, you can open a ticket
4632       <https://github.com/bluefeet/GitLab-API-v4/issues>.
4633

SUPPORT

4635       Please submit bugs and feature requests to the GitLab-API-v4 GitHub
4636       issue tracker:
4637
4638       <https://github.com/bluefeet/GitLab-API-v4/issues>
4639

ACKNOWLEDGEMENTS

4641       Thanks to ZipRecruiter <https://www.ziprecruiter.com/> for encouraging
4642       their employees to contribute back to the open source ecosystem.
4643       Without their dedication to quality software development this
4644       distribution would not exist.
4645

AUTHORS

4647           Aran Clary Deltac <bluefeet@gmail.com>
4648           Dotan Dimet <dotan@corky.net>
4649           Nigel Gregoire <nigelgregoire@gmail.com>
4650           trunov-ms <trunov.ms@gmail.com>
4651           Marek R. Sotola <Marek.R.Sotola@nasa.gov>
4652           Jose Joaquin Atria <jjatria@gmail.com>
4653           Dave Webb <github@d5ve.com>
4654           Simon Ruderich <simon@ruderich.org>
4655           royce55 <royce@ecs.vuw.ac.nz>
4656           gregor herrmann <gregoa@debian.org>
4657           Luc Didry <luc@didry.org>
4658           Kieren Diment <kieren.diment@staples.com.au>
4659           Dmitry Frolov <dmitry.frolov@gmail.com>
4660           Thomas Klausner <domm@plix.at>
4661           Graham Knop <haarg@haarg.org>
4662

LICENSE

4664       This library is free software; you can redistribute it and/or modify it
4665       under the same terms as Perl itself.
4666
4667
4668
4669perl v5.34.0                      2021-07-22              GitLab::API::v4(3pm)
Impressum