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, options = {}) ⇒ Gitlab::ObjectifiedHash
Adds a user to project team.
-
#all_members(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of all project team members including inherited members.
-
#archive_project(id) ⇒ Gitlab::ObjectifiedHash
Archives a project.
-
#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_deploy_key(project, id, title, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates an existing deploy key.
-
#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, options = {}) ⇒ 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.
-
#project_template(project, type, key, options = {}) ⇒ Gitlab::ObjectifiedHash
Get one project template of a particular type.
-
#project_templates(project, type) ⇒ Array<Gitlab::ObjectifiedHash>
Get all project templates of a particular type.
-
#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.
-
#transfer_project(project, namespace) ⇒ Gitlab::ObjectifiedHash
Transfer a project to a new namespace.
-
#unarchive_project(id) ⇒ Gitlab::ObjectifiedHash
Unarchives a project.
-
#unshare_project_with_group(project, id) ⇒ void
Unshare project with group.
-
#unstar_project(id) ⇒ Gitlab::ObjectifiedHash
Unstars a project.
-
#upload_file(id, file_fullpath) ⇒ Gitlab::ObjectifiedHash
Uploads a file to the specified project to be used in an issue or merge request description, or a comment.
-
#user_projects(user_id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of visible projects for the given user.
-
#user_starred_projects(user_id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of visible projects that the given user has starred.
Instance Method Details
#add_project_hook(project, url, options = {}) ⇒ Gitlab::ObjectifiedHash
Adds a new hook to the project.
221 222 223 224 |
# File 'lib/gitlab/client/projects.rb', line 221 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.
280 281 282 |
# File 'lib/gitlab/client/projects.rb', line 280 def add_push_rule(id, = {}) post("/projects/#{url_encode id}/push_rule", body: ) end |
#add_team_member(project, id, access_level, options = {}) ⇒ Gitlab::ObjectifiedHash
Adds a user to project team.
145 146 147 148 |
# File 'lib/gitlab/client/projects.rb', line 145 def add_team_member(project, id, access_level, = {}) body = { user_id: id, access_level: access_level }.merge() post("/projects/#{url_encode project}/members", body: body) end |
#all_members(project, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Gets a list of all project team members including inherited members.
117 118 119 |
# File 'lib/gitlab/client/projects.rb', line 117 def all_members(project, = {}) get("/projects/#{url_encode project}/members/all", query: ) end |
#archive_project(id) ⇒ Gitlab::ObjectifiedHash
Archives a project.
629 630 631 |
# File 'lib/gitlab/client/projects.rb', line 629 def archive_project(id) post("/projects/#{url_encode id}/archive") end |
#create_deploy_key(project, title, key, options = {}) ⇒ Gitlab::ObjectifiedHash
Creates a new deploy key.
371 372 373 |
# File 'lib/gitlab/client/projects.rb', line 371 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.
435 436 437 |
# File 'lib/gitlab/client/projects.rb', line 435 def create_fork(id, = {}) post("/projects/#{url_encode id}/fork", body: ) end |
#create_project(name, options = {}) ⇒ Gitlab::ObjectifiedHash
Creates a new project.
73 74 75 76 |
# File 'lib/gitlab/client/projects.rb', line 73 def create_project(name, = {}) url = [:user_id] ? "/projects/user/#{options[:user_id]}" : '/projects' post(url, body: { name: name }.merge()) end |
#delete_deploy_key(project, id) ⇒ Gitlab::ObjectifiedHash
Deletes a deploy key from project.
421 422 423 |
# File 'lib/gitlab/client/projects.rb', line 421 def delete_deploy_key(project, id) delete("/projects/#{url_encode project}/deploy_keys/#{id}") end |
#delete_project(id) ⇒ Gitlab::ObjectifiedHash
Deletes a project.
85 86 87 |
# File 'lib/gitlab/client/projects.rb', line 85 def delete_project(id) delete("/projects/#{url_encode id}") end |
#delete_project_hook(project, id) ⇒ Gitlab::ObjectifiedHash
Deletes a hook from project.
253 254 255 |
# File 'lib/gitlab/client/projects.rb', line 253 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.
307 308 309 |
# File 'lib/gitlab/client/projects.rb', line 307 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.
357 358 359 |
# File 'lib/gitlab/client/projects.rb', line 357 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.
345 346 347 |
# File 'lib/gitlab/client/projects.rb', line 345 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.
395 396 397 |
# File 'lib/gitlab/client/projects.rb', line 395 def disable_deploy_key(project, key) post("/projects/#{url_encode project}/deploy_keys/#{key}/disable", body: { id: project, key_id: key }) end |
#edit_deploy_key(project, id, title, options = {}) ⇒ Gitlab::ObjectifiedHash
Updates an existing deploy key.
409 410 411 |
# File 'lib/gitlab/client/projects.rb', line 409 def edit_deploy_key(project, id, title, = {}) put("/projects/#{url_encode project}/deploy_keys/#{id}", body: { title: title }.merge()) 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)
472 473 474 |
# File 'lib/gitlab/client/projects.rb', line 472 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.
240 241 242 243 |
# File 'lib/gitlab/client/projects.rb', line 240 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.
295 296 297 |
# File 'lib/gitlab/client/projects.rb', line 295 def edit_push_rule(id, = {}) put("/projects/#{url_encode id}/push_rule", body: ) end |
#edit_team_member(project, id, access_level, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Updates a team member’s project access level.
162 163 164 165 |
# File 'lib/gitlab/client/projects.rb', line 162 def edit_team_member(project, id, access_level, = {}) body = { access_level: access_level }.merge() put("/projects/#{url_encode project}/members/#{id}", body: body) end |
#enable_deploy_key(project, key) ⇒ Gitlab::ObjectifiedHash
Enables a deploy key at the project.
383 384 385 |
# File 'lib/gitlab/client/projects.rb', line 383 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
319 320 321 |
# File 'lib/gitlab/client/projects.rb', line 319 def make_forked_from(project, id) post("/projects/#{url_encode project}/fork/#{id}") end |
#project(id) ⇒ Gitlab::ObjectifiedHash
Gets information about a project.
48 49 50 |
# File 'lib/gitlab/client/projects.rb', line 48 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
453 454 455 |
# File 'lib/gitlab/client/projects.rb', line 453 def project_forks(id, = {}) get("/projects/#{url_encode id}/forks", query: ) end |
#project_hook(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a project hook.
204 205 206 |
# File 'lib/gitlab/client/projects.rb', line 204 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.
191 192 193 |
# File 'lib/gitlab/client/projects.rb', line 191 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.
35 36 37 |
# File 'lib/gitlab/client/projects.rb', line 35 def project_search(query, = {}) get('/projects', query: .merge(search: query)) end |
#project_template(project, type, key, options = {}) ⇒ Gitlab::ObjectifiedHash
Get one project template of a particular type
618 619 620 |
# File 'lib/gitlab/client/projects.rb', line 618 def project_template(project, type, key, = {}) get("/projects/#{url_encode project}/templates/#{type}/#{key}", query: ) end |
#project_templates(project, type) ⇒ Array<Gitlab::ObjectifiedHash>
Get all project templates of a particular type
600 601 602 |
# File 'lib/gitlab/client/projects.rb', line 600 def project_templates(project, type) get("/projects/#{url_encode project}/templates/#{type}") 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)
18 19 20 |
# File 'lib/gitlab/client/projects.rb', line 18 def projects( = {}) get('/projects', query: ) end |
#push_rule(id) ⇒ Gitlab::ObjectifiedHash
Gets a project push rule.
265 266 267 |
# File 'lib/gitlab/client/projects.rb', line 265 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.
331 332 333 |
# File 'lib/gitlab/client/projects.rb', line 331 def remove_forked(project) delete("/projects/#{url_encode project}/fork") end |
#remove_team_member(project, id) ⇒ Gitlab::ObjectifiedHash
Removes a user from project team.
176 177 178 |
# File 'lib/gitlab/client/projects.rb', line 176 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.
484 485 486 |
# File 'lib/gitlab/client/projects.rb', line 484 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.
521 522 523 |
# File 'lib/gitlab/client/projects.rb', line 521 def star_project(id) post("/projects/#{url_encode id}/star") end |
#team_member(project, id) ⇒ Gitlab::ObjectifiedHash
Gets a project team member.
129 130 131 |
# File 'lib/gitlab/client/projects.rb', line 129 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.
101 102 103 |
# File 'lib/gitlab/client/projects.rb', line 101 def team_members(project, = {}) get("/projects/#{url_encode project}/members", query: ) end |
#transfer_project(project, namespace) ⇒ Gitlab::ObjectifiedHash
Transfer a project to a new namespace.
508 509 510 |
# File 'lib/gitlab/client/projects.rb', line 508 def transfer_project(project, namespace) put("/projects/#{url_encode project}/transfer", body: { namespace: namespace }) end |
#unarchive_project(id) ⇒ Gitlab::ObjectifiedHash
Unarchives a project.
640 641 642 |
# File 'lib/gitlab/client/projects.rb', line 640 def unarchive_project(id) post("/projects/#{url_encode id}/unarchive") end |
#unshare_project_with_group(project, id) ⇒ void
This method returns an undefined value.
Unshare project with group.
496 497 498 |
# File 'lib/gitlab/client/projects.rb', line 496 def unshare_project_with_group(project, id) delete("/projects/#{url_encode project}/share/#{id}") end |
#unstar_project(id) ⇒ Gitlab::ObjectifiedHash
Unstars a project.
534 535 536 |
# File 'lib/gitlab/client/projects.rb', line 534 def unstar_project(id) delete("/projects/#{url_encode id}/star") end |
#upload_file(id, file_fullpath) ⇒ Gitlab::ObjectifiedHash
Uploads a file to the specified project to be used in an issue or merge request description, or a comment.
586 587 588 |
# File 'lib/gitlab/client/projects.rb', line 586 def upload_file(id, file_fullpath) post("/projects/#{url_encode id}/uploads", body: { file: File.open(file_fullpath, 'r') }) end |
#user_projects(user_id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of visible projects for the given user.
572 573 574 |
# File 'lib/gitlab/client/projects.rb', line 572 def user_projects(user_id, = {}) get("/users/#{url_encode user_id}/projects", query: ) end |
#user_starred_projects(user_id, options = {}) ⇒ Array<Gitlab::ObjectifiedHash>
Get a list of visible projects that the given user has starred.
553 554 555 |
# File 'lib/gitlab/client/projects.rb', line 553 def user_starred_projects(user_id, = {}) get("/users/#{url_encode user_id}/starred_projects", query: ) end |