gitlab-faraday 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/lib/gitlab/api.rb +16 -0
  3. data/lib/gitlab/client/access_requests.rb +103 -0
  4. data/lib/gitlab/client/application_settings.rb +172 -0
  5. data/lib/gitlab/client/avatar.rb +21 -0
  6. data/lib/gitlab/client/award_emojis.rb +137 -0
  7. data/lib/gitlab/client/boards.rb +146 -0
  8. data/lib/gitlab/client/branches.rb +135 -0
  9. data/lib/gitlab/client/broadcast_messages.rb +75 -0
  10. data/lib/gitlab/client/build_variables.rb +135 -0
  11. data/lib/gitlab/client/builds.rb +108 -0
  12. data/lib/gitlab/client/commits.rb +216 -0
  13. data/lib/gitlab/client/container_registry.rb +90 -0
  14. data/lib/gitlab/client/deployments.rb +34 -0
  15. data/lib/gitlab/client/environments.rb +89 -0
  16. data/lib/gitlab/client/epic_issues.rb +23 -0
  17. data/lib/gitlab/client/epics.rb +73 -0
  18. data/lib/gitlab/client/events.rb +60 -0
  19. data/lib/gitlab/client/features.rb +48 -0
  20. data/lib/gitlab/client/group_badges.rb +88 -0
  21. data/lib/gitlab/client/group_boards.rb +141 -0
  22. data/lib/gitlab/client/group_labels.rb +88 -0
  23. data/lib/gitlab/client/group_milestones.rb +94 -0
  24. data/lib/gitlab/client/groups.rb +526 -0
  25. data/lib/gitlab/client/issue_links.rb +48 -0
  26. data/lib/gitlab/client/issues.rb +242 -0
  27. data/lib/gitlab/client/jobs.rb +250 -0
  28. data/lib/gitlab/client/keys.rb +29 -0
  29. data/lib/gitlab/client/labels.rb +88 -0
  30. data/lib/gitlab/client/lint.rb +19 -0
  31. data/lib/gitlab/client/markdown.rb +23 -0
  32. data/lib/gitlab/client/merge_request_approvals.rb +265 -0
  33. data/lib/gitlab/client/merge_requests.rb +415 -0
  34. data/lib/gitlab/client/merge_trains.rb +55 -0
  35. data/lib/gitlab/client/milestones.rb +106 -0
  36. data/lib/gitlab/client/namespaces.rb +22 -0
  37. data/lib/gitlab/client/notes.rb +313 -0
  38. data/lib/gitlab/client/packages.rb +95 -0
  39. data/lib/gitlab/client/pipeline_schedules.rb +159 -0
  40. data/lib/gitlab/client/pipeline_triggers.rb +103 -0
  41. data/lib/gitlab/client/pipelines.rb +130 -0
  42. data/lib/gitlab/client/project_badges.rb +85 -0
  43. data/lib/gitlab/client/project_clusters.rb +83 -0
  44. data/lib/gitlab/client/project_exports.rb +54 -0
  45. data/lib/gitlab/client/project_release_links.rb +76 -0
  46. data/lib/gitlab/client/project_releases.rb +90 -0
  47. data/lib/gitlab/client/projects.rb +792 -0
  48. data/lib/gitlab/client/protected_tags.rb +59 -0
  49. data/lib/gitlab/client/remote_mirrors.rb +90 -0
  50. data/lib/gitlab/client/repositories.rb +130 -0
  51. data/lib/gitlab/client/repository_files.rb +131 -0
  52. data/lib/gitlab/client/repository_submodules.rb +27 -0
  53. data/lib/gitlab/client/resource_label_events.rb +82 -0
  54. data/lib/gitlab/client/resource_state_events.rb +57 -0
  55. data/lib/gitlab/client/runners.rb +278 -0
  56. data/lib/gitlab/client/search.rb +66 -0
  57. data/lib/gitlab/client/services.rb +53 -0
  58. data/lib/gitlab/client/sidekiq.rb +39 -0
  59. data/lib/gitlab/client/snippets.rb +95 -0
  60. data/lib/gitlab/client/system_hooks.rb +64 -0
  61. data/lib/gitlab/client/tags.rb +97 -0
  62. data/lib/gitlab/client/templates.rb +100 -0
  63. data/lib/gitlab/client/todos.rb +46 -0
  64. data/lib/gitlab/client/user_snippets.rb +114 -0
  65. data/lib/gitlab/client/users.rb +521 -0
  66. data/lib/gitlab/client/versions.rb +18 -0
  67. data/lib/gitlab/client/wikis.rb +79 -0
  68. data/lib/gitlab/client.rb +96 -0
  69. data/lib/gitlab/configuration.rb +36 -0
  70. data/lib/gitlab/error.rb +114 -0
  71. data/lib/gitlab/file_response.rb +43 -0
  72. data/lib/gitlab/headers/page_links.rb +32 -0
  73. data/lib/gitlab/headers/total.rb +24 -0
  74. data/lib/gitlab/objectified_hash.rb +44 -0
  75. data/lib/gitlab/paginated_response.rb +114 -0
  76. data/lib/gitlab/request.rb +144 -0
  77. data/lib/gitlab/version.rb +5 -0
  78. data/lib/gitlab.rb +36 -0
  79. metadata +156 -0
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Gitlab::Client
4
+ # Defines methods related to group labels.
5
+ #
6
+ # @note Requires GitLab 11.8+
7
+ # @see https://docs.gitlab.com/ee/api/group_labels.html
8
+ module GroupLabels
9
+ # Gets a list of group's labels.
10
+ #
11
+ # @example
12
+ # Gitlab.group_labels('globex')
13
+ #
14
+ # @param [Integer, String] group The ID or name of a group.
15
+ # @return [Array<Gitlab::ObjectifiedHash>]
16
+ def group_labels(group, options = {})
17
+ get("/groups/#{url_encode group}/labels", query: options)
18
+ end
19
+
20
+ # Creates a new group label.
21
+ #
22
+ # @example
23
+ # Gitlab.create_group_label('globex', 'Backlog', '#DD10AA')
24
+ #
25
+ # @param [Integer, String] group The ID or name of a group.
26
+ # @param [String] name The name of a label.
27
+ # @param [String] color The color of a label.
28
+ # @param [Hash] options A customizable set of options.
29
+ # @option options [String] :description The description of the label.
30
+ # @return [Gitlab::ObjectifiedHash] Information about created label.
31
+ def create_group_label(group, name, color, options = {})
32
+ post("/groups/#{url_encode group}/labels", body: options.merge(name: name, color: color))
33
+ end
34
+
35
+ # Updates a group label.
36
+ #
37
+ # @example
38
+ # Gitlab.edit_group_label('globex', 'Backlog', { new_name: 'Priority' })
39
+ # Gitlab.edit_group_label('globex', 'Backlog', { new_name: 'Priority', color: '#DD10AA' })
40
+ #
41
+ # @param [Integer, String] group The ID or name of a group.
42
+ # @param [String] name The name of a label.
43
+ # @param [Hash] options A customizable set of options.
44
+ # @option options [String] :new_name The new name of a label.
45
+ # @option options [String] :color The color of a label.
46
+ # @option options [String] :description The description of the label.
47
+ # @return [Gitlab::ObjectifiedHash] Information about updated label.
48
+ def edit_group_label(group, name, options = {})
49
+ put("/groups/#{url_encode group}/labels", body: options.merge(name: name))
50
+ end
51
+
52
+ # Deletes a group label.
53
+ #
54
+ # @example
55
+ # Gitlab.delete_group_label('globex', 'Backlog')
56
+ #
57
+ # @param [Integer, String] group The ID or name of a group.
58
+ # @param [String] name The name of a label.
59
+ # @return [Gitlab::ObjectifiedHash] Information about deleted label.
60
+ def delete_group_label(group, name)
61
+ delete("/groups/#{url_encode group}/labels/#{name}")
62
+ end
63
+
64
+ # Subscribes the user to a group label to receive notifications
65
+ #
66
+ # @example
67
+ # Gitlab.subscribe_to_group_label('globex', 'Backlog')
68
+ #
69
+ # @param [Integer, String] group The ID or name of a group.
70
+ # @param [String] name The name of a label.
71
+ # @return [Gitlab::ObjectifiedHash] Information about the label subscribed to.
72
+ def subscribe_to_group_label(group, name)
73
+ post("/groups/#{url_encode group}/labels/#{url_encode name}/subscribe")
74
+ end
75
+
76
+ # Unsubscribes the user from a group label to not receive notifications from it
77
+ #
78
+ # @example
79
+ # Gitlab.unsubscribe_from_group_label('globex', 'Backlog')
80
+ #
81
+ # @param [Integer, String] group The ID or name of a group.
82
+ # @param [String] name The name of a label.
83
+ # @return [Gitlab::ObjectifiedHash] Information about the label unsubscribed from.
84
+ def unsubscribe_from_group_label(group, name)
85
+ post("/groups/#{url_encode group}/labels/#{url_encode name}/unsubscribe")
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Gitlab::Client
4
+ # Defines methods related to group milestones.
5
+ # @see https://docs.gitlab.com/ee/api/group_milestones.html
6
+ module GroupMilestones
7
+ # Gets a list of a group's milestones.
8
+ #
9
+ # @example
10
+ # Gitlab.group_milestones(5)
11
+ #
12
+ # @param [Integer, String] id The ID or name of a group.
13
+ # @param [Hash] options A customizable set of options.
14
+ # @option options [Integer] :page The page number.
15
+ # @option options [Integer] :per_page The number of results per page.
16
+ # @return [Array<Gitlab::ObjectifiedHash>]
17
+ def group_milestones(id, options = {})
18
+ get("/groups/#{url_encode id}/milestones", query: options)
19
+ end
20
+
21
+ # Gets a single group milestone.
22
+ #
23
+ # @example
24
+ # Gitlab.group_milestone(5, 36)
25
+ #
26
+ # @param [Integer, String] id The ID or name of a group.
27
+ # @param [Integer] milestone_id The ID of a milestone.
28
+ # @return [Gitlab::ObjectifiedHash]
29
+ def group_milestone(id, milestone_id)
30
+ get("/groups/#{url_encode id}/milestones/#{milestone_id}")
31
+ end
32
+
33
+ # Creates a new group milestone.
34
+ #
35
+ # @example
36
+ # Gitlab.create_group_milestone(5, 'v1.0')
37
+ #
38
+ # @param [Integer, String] id The ID or name of a group.
39
+ # @param [String] title The title of a milestone.
40
+ # @param [Hash] options A customizable set of options.
41
+ # @option options [String] :description The description of a milestone.
42
+ # @option options [String] :due_date The due date of a milestone.
43
+ # @return [Gitlab::ObjectifiedHash] Information about created milestone.
44
+ def create_group_milestone(id, title, options = {})
45
+ body = { title: title }.merge(options)
46
+ post("/groups/#{url_encode id}/milestones", body: body)
47
+ end
48
+
49
+ # Updates a group milestone.
50
+ #
51
+ # @example
52
+ # Gitlab.edit_group_milestone(5, 2, { state_event: 'activate' })
53
+ #
54
+ # @param [Integer, String] id The ID or name of a group.
55
+ # @param [Integer] milestone_id The ID of a milestone.
56
+ # @param [Hash] options A customizable set of options.
57
+ # @option options [String] :title The title of a milestone.
58
+ # @option options [String] :description The description of a milestone.
59
+ # @option options [String] :due_date The due date of a milestone.
60
+ # @option options [String] :state_event The state of a milestone ('close' or 'activate').
61
+ # @return [Gitlab::ObjectifiedHash] Information about updated milestone.
62
+ def edit_group_milestone(id, milestone_id, options = {})
63
+ put("/groups/#{url_encode id}/milestones/#{milestone_id}", body: options)
64
+ end
65
+
66
+ # Gets the issues of a given group milestone.
67
+ #
68
+ # @example
69
+ # Gitlab.group_milestone_issues(5, 2)
70
+ #
71
+ # @param [Integer, String] id The ID or name of a group.
72
+ # @param [Integer, String] milestone_id The ID of a milestone.
73
+ # @option options [Integer] :page The page number.
74
+ # @option options [Integer] :per_page The number of results per page.
75
+ # @return [Array<Gitlab::ObjectifiedHash>]
76
+ def group_milestone_issues(id, milestone_id, options = {})
77
+ get("/groups/#{url_encode id}/milestones/#{milestone_id}/issues", query: options)
78
+ end
79
+
80
+ # Gets the merge_requests of a given group milestone.
81
+ #
82
+ # @example
83
+ # Gitlab.group_milestone_merge_requests(5, 2)
84
+ #
85
+ # @param [Integer, String] group The ID or name of a group.
86
+ # @param [Integer, String] milestone_id The ID of a milestone.
87
+ # @option options [Integer] :page The page number.
88
+ # @option options [Integer] :per_page The number of results per page.
89
+ # @return [Array<Gitlab::ObjectifiedHash>]
90
+ def group_milestone_merge_requests(id, milestone_id, options = {})
91
+ get("/groups/#{url_encode id}/milestones/#{milestone_id}/merge_requests", query: options)
92
+ end
93
+ end
94
+ end