Module: Gitlab::Client::Projects
- Included in:
- Gitlab::Client
- Defined in:
- lib/gitlab/client/projects.rb
Overview
Defines methods related to projects.
Instance Method Summary collapse
-
#add_project_hook(project, url, options = {}) ⇒ Gitlab::ObjectifiedHash
Adds a new hook to the project.
-
#add_push_rule(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Adds a project push rule.
-
#add_team_member(project, id, access_level) ⇒ Gitlab::ObjectifiedHash
Adds a user to project team.
-
#create_deploy_key(project, title, key, options = {}) ⇒ Gitlab::ObjectifiedHash
Creates a new deploy key.
-
#create_fork(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Forks a project into the user namespace.
-
#create_project(name, options = {}) ⇒ Gitlab::ObjectifiedHash
Creates a new project.
-
#delete_deploy_key(project, id) ⇒ Gitlab::ObjectifiedHash
Deletes a deploy key from project.
-
#delete_project(id) ⇒ Gitlab::ObjectifiedHash
Deletes a project.
-
#delete_project_hook(project, id) ⇒ Gitlab::ObjectifiedHash
Deletes a hook from project.
-
#delete_push_rule(id) ⇒ Gitlab::ObjectifiedHash
Deletes a push rule from a project.
-
#deploy_key(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a single project deploy key.
-
#deploy_keys(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a project deploy keys.
-
#disable_deploy_key(project, key) ⇒ Gitlab::ObjectifiedHash
Disables a deploy key at the project.
-
#edit_project(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates an existing project.
-
#edit_project_hook(project, id, url, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates a project hook URL.
-
#edit_push_rule(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates a project push rule.
-
#edit_team_member(project, id, access_level) ⇒ Array<Gitlab::ObjectifiedHash>
Updates a team member’s project access level.
-
#enable_deploy_key(project, key) ⇒ Gitlab::ObjectifiedHash
Enables a deploy key at the project.
-
#make_forked_from(project, id) ⇒ Gitlab::ObjectifiedHash
Mark this project as forked from the other.
-
#project(id) ⇒ Gitlab::ObjectifiedHash
Gets information about a project.
-
#project_forks(id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of all visible projects across GitLab for the authenticated user.
-
#project_hook(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a project hook.
-
#project_hooks(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of project hooks.
-
#project_search(query, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
(also: #search_projects)
Search for projects by name.
-
#projects(options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of projects owned by the authenticated user.
-
#push_rule(id) ⇒ Gitlab::ObjectifiedHash
Gets a project push rule.
-
#remove_forked(project) ⇒ Gitlab::ObjectifiedHash
Remove a forked_from relationship for a project.
-
#remove_team_member(project, id) ⇒ Gitlab::ObjectifiedHash
Removes a user from project team.
-
#share_project_with_group(project, id, group_access) ⇒ Object
Share project with group.
-
#star_project(id) ⇒ Gitlab::ObjectifiedHash
Stars a project.
-
#team_member(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a project team member.
-
#team_members(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of project team members.
-
#unshare_project_with_group(project, id) ⇒ void
Unshare project with group.
-
#unstar_project(id) ⇒ Gitlab::ObjectifiedHash
Unstars a project.
-
#user_projects(user_id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of visible projects for the given user.
Instance Method Details
#add_project_hook(project, url, options = {}) ⇒ Gitlab::ObjectifiedHash
Adds a new hook to the project.
197 198 199 200 |
# File 'lib/gitlab/client/projects.rb', line 197 def add_project_hook(project, url, ={}) body = { url: url }.merge() post("/projects/#{url_encode project}/hooks", body: body) end |
#add_push_rule(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Adds a project push rule.
256 257 258 |
# File 'lib/gitlab/client/projects.rb', line 256 def add_push_rule(id, ={}) post("/projects/#{url_encode id}/push_rule", body: ) end |
#add_team_member(project, id, access_level) ⇒ Gitlab::ObjectifiedHash
Adds a user to project team.
125 126 127 |
# File 'lib/gitlab/client/projects.rb', line 125 def add_team_member(project, id, access_level) post("/projects/#{url_encode project}/members", body: { user_id: id, access_level: access_level }) end |
#create_deploy_key(project, title, key, options = {}) ⇒ Gitlab::ObjectifiedHash
Creates a new deploy key.
347 348 349 |
# File 'lib/gitlab/client/projects.rb', line 347 def create_deploy_key(project, title, key, = {}) post("/projects/#{url_encode project}/deploy_keys", body: { title: title, key: key }.merge()) end |
#create_fork(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Forks a project into the user namespace.
397 398 399 |
# File 'lib/gitlab/client/projects.rb', line 397 def create_fork(id, ={}) post("/projects/#{url_encode id}/fork", body: ) end |
#create_project(name, options = {}) ⇒ Gitlab::ObjectifiedHash
Creates a new project.
71 72 73 74 |
# File 'lib/gitlab/client/projects.rb', line 71 def create_project(name, ={}) url = [:user_id] ? "/projects/user/#{[:user_id]}" : "/projects" post(url, body: { name: name }.merge()) end |
#delete_deploy_key(project, id) ⇒ Gitlab::ObjectifiedHash
Deletes a deploy key from project.
383 384 385 |
# File 'lib/gitlab/client/projects.rb', line 383 def delete_deploy_key(project, id) delete("/projects/#{url_encode project}/deploy_keys/#{id}") end |
#delete_project(id) ⇒ Gitlab::ObjectifiedHash
Deletes a project.
83 84 85 |
# File 'lib/gitlab/client/projects.rb', line 83 def delete_project(id) delete("/projects/#{url_encode id}") end |
#delete_project_hook(project, id) ⇒ Gitlab::ObjectifiedHash
Deletes a hook from project.
229 230 231 |
# File 'lib/gitlab/client/projects.rb', line 229 def delete_project_hook(project, id) delete("/projects/#{url_encode project}/hooks/#{id}") end |
#delete_push_rule(id) ⇒ Gitlab::ObjectifiedHash
Deletes a push rule from a project.
283 284 285 |
# File 'lib/gitlab/client/projects.rb', line 283 def delete_push_rule(id) delete("/projects/#{url_encode id}/push_rule") end |
#deploy_key(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a single project deploy key.
333 334 335 |
# File 'lib/gitlab/client/projects.rb', line 333 def deploy_key(project, id) get("/projects/#{url_encode project}/deploy_keys/#{id}") end |
#deploy_keys(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a project deploy keys.
321 322 323 |
# File 'lib/gitlab/client/projects.rb', line 321 def deploy_keys(project, ={}) get("/projects/#{url_encode project}/deploy_keys", query: ) end |
#disable_deploy_key(project, key) ⇒ Gitlab::ObjectifiedHash
Disables a deploy key at the project.
371 372 373 |
# File 'lib/gitlab/client/projects.rb', line 371 def disable_deploy_key(project, key) post("/projects/#{url_encode project}/deploy_keys/#{key}/disable", body: { id: project, key_id: key }) end |
#edit_project(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates an existing project.
(Any provided options will be passed to Gitlab. See Gitlab docs for all valid options)
434 435 436 |
# File 'lib/gitlab/client/projects.rb', line 434 def edit_project(id, ={}) put("/projects/#{url_encode id}", body: ) end |
#edit_project_hook(project, id, url, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates a project hook URL.
216 217 218 219 |
# File 'lib/gitlab/client/projects.rb', line 216 def edit_project_hook(project, id, url, ={}) body = { url: url }.merge() put("/projects/#{url_encode project}/hooks/#{id}", body: body) end |
#edit_push_rule(id, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates a project push rule.
271 272 273 |
# File 'lib/gitlab/client/projects.rb', line 271 def edit_push_rule(id, ={}) put("/projects/#{url_encode id}/push_rule", body: ) end |
#edit_team_member(project, id, access_level) ⇒ Array<Gitlab::ObjectifiedHash>
Updates a team member’s project access level.
139 140 141 |
# File 'lib/gitlab/client/projects.rb', line 139 def edit_team_member(project, id, access_level) put("/projects/#{url_encode project}/members/#{id}", body: { access_level: access_level }) end |
#enable_deploy_key(project, key) ⇒ Gitlab::ObjectifiedHash
Enables a deploy key at the project.
359 360 361 |
# File 'lib/gitlab/client/projects.rb', line 359 def enable_deploy_key(project, key) post("/projects/#{url_encode project}/deploy_keys/#{key}/enable", body: { id: project, key_id: key }) end |
#make_forked_from(project, id) ⇒ Gitlab::ObjectifiedHash
Mark this project as forked from the other
295 296 297 |
# File 'lib/gitlab/client/projects.rb', line 295 def make_forked_from(project, id) post("/projects/#{url_encode project}/fork/#{id}") end |
#project(id) ⇒ Gitlab::ObjectifiedHash
Gets information about a project.
46 47 48 |
# File 'lib/gitlab/client/projects.rb', line 46 def project(id) get("/projects/#{url_encode id}") end |
#project_forks(id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of all visible projects across GitLab for the authenticated user. When accessed without authentication, only public projects are returned.
Note: This feature was introduced in GitLab 10.1
415 416 417 |
# File 'lib/gitlab/client/projects.rb', line 415 def project_forks(id, ={}) get("/projects/#{url_encode id}/forks", query: ) end |
#project_hook(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a project hook.
180 181 182 |
# File 'lib/gitlab/client/projects.rb', line 180 def project_hook(project, id) get("/projects/#{url_encode project}/hooks/#{id}") end |
#project_hooks(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of project hooks.
167 168 169 |
# File 'lib/gitlab/client/projects.rb', line 167 def project_hooks(project, ={}) get("/projects/#{url_encode project}/hooks", query: ) end |
#project_search(query, options = {}) ⇒ Array<Gitlab::ObjectifiedHash> Also known as: search_projects
Search for projects by name.
33 34 35 |
# File 'lib/gitlab/client/projects.rb', line 33 def project_search(query, ={}) get("/projects", query: .merge(search:query)) end |
#projects(options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of projects owned by the authenticated user.
(Any provided options will be passed to Gitlab. See Gitlab docs for all valid options)
16 17 18 |
# File 'lib/gitlab/client/projects.rb', line 16 def projects(={}) get("/projects", query: ) end |
#push_rule(id) ⇒ Gitlab::ObjectifiedHash
Gets a project push rule.
241 242 243 |
# File 'lib/gitlab/client/projects.rb', line 241 def push_rule(id) get("/projects/#{url_encode id}/push_rule") end |
#remove_forked(project) ⇒ Gitlab::ObjectifiedHash
Remove a forked_from relationship for a project.
307 308 309 |
# File 'lib/gitlab/client/projects.rb', line 307 def remove_forked(project) delete("/projects/#{url_encode project}/fork") end |
#remove_team_member(project, id) ⇒ Gitlab::ObjectifiedHash
Removes a user from project team.
152 153 154 |
# File 'lib/gitlab/client/projects.rb', line 152 def remove_team_member(project, id) delete("/projects/#{url_encode project}/members/#{id}") end |
#share_project_with_group(project, id, group_access) ⇒ Object
Share project with group.
446 447 448 |
# File 'lib/gitlab/client/projects.rb', line 446 def share_project_with_group(project, id, group_access) post("/projects/#{url_encode project}/share", body: { group_id: id, group_access: group_access }) end |
#star_project(id) ⇒ Gitlab::ObjectifiedHash
Stars a project.
471 472 473 |
# File 'lib/gitlab/client/projects.rb', line 471 def star_project(id) post("/projects/#{url_encode id}/star") end |
#team_member(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a project team member.
111 112 113 |
# File 'lib/gitlab/client/projects.rb', line 111 def team_member(project, id) get("/projects/#{url_encode project}/members/#{id}") end |
#team_members(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of project team members.
99 100 101 |
# File 'lib/gitlab/client/projects.rb', line 99 def team_members(project, ={}) get("/projects/#{url_encode project}/members", query: ) end |
#unshare_project_with_group(project, id) ⇒ void
This method returns an undefined value.
Unshare project with group.
458 459 460 |
# File 'lib/gitlab/client/projects.rb', line 458 def unshare_project_with_group(project, id) delete("/projects/#{url_encode project}/share/#{id}") end |
#unstar_project(id) ⇒ Gitlab::ObjectifiedHash
Unstars a project.
484 485 486 |
# File 'lib/gitlab/client/projects.rb', line 484 def unstar_project(id) delete("/projects/#{url_encode id}/star") end |
#user_projects(user_id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of visible projects for the given user.
503 504 505 |
# File 'lib/gitlab/client/projects.rb', line 503 def user_projects(user_id, ={}) get("/users/#{url_encode user_id}/projects", query: ) end |