Class: CircleCi::Project
- Inherits:
-
Object
- Object
- CircleCi::Project
- Defined in:
- lib/circleci/project.rb
Overview
Class for interacting with Projects
Class Method Summary collapse
-
.all ⇒ CircleCi::Response
Return all projects for your API key.
-
.build(username, project) ⇒ CircleCi::Response
Build the latest master push for this project.
-
.build_branch(username, project, branch, build_parameters = {}) ⇒ CircleCi::Response
Build the latest push for this branch of a specific project.
-
.build_ssh_key(username, project, build, key, hostname) ⇒ CircleCi::Response
Add a ssh key to a build.
-
.clear_cache(username, project) ⇒ CircleCi::Response
Clear the build cache for a specific project.
-
.delete_checkout_key(username, project, fingerprint) ⇒ CircleCi::Response
Delete a checkout key for a project.
-
.enable(username, project) ⇒ CircleCi::Response
Enable a project in CircleCI.
-
.envvars(username, project) ⇒ CircleCi::Response
Get the project envvars.
-
.follow(username, project) ⇒ CircleCi::Response
Follow the project.
-
.get_checkout_key(username, project, fingerprint) ⇒ CircleCi::Response
Get a checkout key for a project.
-
.list_checkout_keys(username, project) ⇒ CircleCi::Response
Get a list of checkout keys for project.
-
.new_checkout_key(username, project, type) ⇒ CircleCi::Response
Create a checkout key for a project.
-
.recent_builds(username, project) ⇒ CircleCi::Response
Get all recent builds for a specific project.
-
.recent_builds_branch(username, project, branch) ⇒ CircleCi::Response
Get all recent builds for a specific branch of a project.
-
.set_envvar(username, project, envvar) ⇒ CircleCi::Response
Sets an envvar for a project.
-
.settings(username, project) ⇒ CircleCi::Response
Get the project configuration.
-
.ssh_key(username, project, key, hostname) ⇒ CircleCi::Response
Add a ssh key to a project.
-
.unfollow(username, project) ⇒ CircleCi::Response
Unfollow the project.
Class Method Details
.all ⇒ CircleCi::Response
Return all projects for your API key
12 13 14 |
# File 'lib/circleci/project.rb', line 12 def self.all CircleCi.http.get '/projects' end |
.build(username, project) ⇒ CircleCi::Response
Build the latest master push for this project
24 25 26 |
# File 'lib/circleci/project.rb', line 24 def self.build(username, project) CircleCi.http.post "/project/#{username}/#{project}" end |
.build_branch(username, project, branch, build_parameters = {}) ⇒ CircleCi::Response
Build the latest push for this branch of a specific project
38 39 40 41 42 |
# File 'lib/circleci/project.rb', line 38 def self.build_branch(username, project, branch, build_parameters = {}) body = {} body['build_parameters'] = build_parameters unless build_parameters.empty? CircleCi.http.post "/project/#{username}/#{project}/tree/#{branch}", {}, body end |
.build_ssh_key(username, project, build, key, hostname) ⇒ CircleCi::Response
Add a ssh key to a build
54 55 56 57 |
# File 'lib/circleci/project.rb', line 54 def self.build_ssh_key(username, project, build, key, hostname) body = { hostname: hostname, private_key: key } CircleCi.http.post "/project/#{username}/#{project}/#{build}/ssh-users", {}, body end |
.clear_cache(username, project) ⇒ CircleCi::Response
Clear the build cache for a specific project
67 68 69 |
# File 'lib/circleci/project.rb', line 67 def self.clear_cache(username, project) CircleCi.http.delete "/project/#{username}/#{project}/build-cache" end |
.delete_checkout_key(username, project, fingerprint) ⇒ CircleCi::Response
Delete a checkout key for a project
80 81 82 |
# File 'lib/circleci/project.rb', line 80 def self.delete_checkout_key(username, project, fingerprint) CircleCi.http.delete "/project/#{username}/#{project}/checkout-key/#{fingerprint}" end |
.enable(username, project) ⇒ CircleCi::Response
Enable a project in CircleCI. Causes a CircleCI SSH key to be added to the GitHub. Requires admin privilege to the repository.
93 94 95 |
# File 'lib/circleci/project.rb', line 93 def self.enable(username, project) CircleCi.http.post "/project/#{username}/#{project}/enable" end |
.envvars(username, project) ⇒ CircleCi::Response
Get the project envvars
105 106 107 |
# File 'lib/circleci/project.rb', line 105 def self.envvars(username, project) CircleCi.http.get "/project/#{username}/#{project}/envvar" end |
.follow(username, project) ⇒ CircleCi::Response
Follow the project
131 132 133 |
# File 'lib/circleci/project.rb', line 131 def self.follow(username, project) CircleCi.http.post "/project/#{username}/#{project}/follow" end |
.get_checkout_key(username, project, fingerprint) ⇒ CircleCi::Response
Get a checkout key for a project
144 145 146 |
# File 'lib/circleci/project.rb', line 144 def self.get_checkout_key(username, project, fingerprint) CircleCi.http.get "/project/#{username}/#{project}/checkout-key/#{fingerprint}" end |
.list_checkout_keys(username, project) ⇒ CircleCi::Response
Get a list of checkout keys for project
156 157 158 |
# File 'lib/circleci/project.rb', line 156 def self.list_checkout_keys(username, project) CircleCi.http.get "/project/#{username}/#{project}/checkout-key" end |
.new_checkout_key(username, project, type) ⇒ CircleCi::Response
Create a checkout key for a project
169 170 171 172 |
# File 'lib/circleci/project.rb', line 169 def self.new_checkout_key(username, project, type) body = { type: type } CircleCi.http.post "/project/#{username}/#{project}/checkout-key", {}, body end |
.recent_builds(username, project) ⇒ CircleCi::Response
Get all recent builds for a specific project
182 183 184 |
# File 'lib/circleci/project.rb', line 182 def self.recent_builds(username, project) CircleCi.http.get "/project/#{username}/#{project}" end |
.recent_builds_branch(username, project, branch) ⇒ CircleCi::Response
Get all recent builds for a specific branch of a project
195 196 197 |
# File 'lib/circleci/project.rb', line 195 def self.recent_builds_branch(username, project, branch) CircleCi.http.get "/project/#{username}/#{project}/tree/#{branch}" end |
.set_envvar(username, project, envvar) ⇒ CircleCi::Response
Sets an envvar for a project
118 119 120 121 |
# File 'lib/circleci/project.rb', line 118 def self.set_envvar(username, project, envvar) body = envvar CircleCi.http.post "/project/#{username}/#{project}/envvar", {}, body end |
.settings(username, project) ⇒ CircleCi::Response
Get the project configuration
207 208 209 |
# File 'lib/circleci/project.rb', line 207 def self.settings(username, project) CircleCi.http.get "/project/#{username}/#{project}/settings" end |
.ssh_key(username, project, key, hostname) ⇒ CircleCi::Response
Add a ssh key to a project
221 222 223 224 |
# File 'lib/circleci/project.rb', line 221 def self.ssh_key(username, project, key, hostname) body = { hostname: hostname, private_key: key } CircleCi.http.post "/project/#{username}/#{project}/ssh-key", {}, body end |
.unfollow(username, project) ⇒ CircleCi::Response
Unfollow the project
234 235 236 |
# File 'lib/circleci/project.rb', line 234 def self.unfollow(username, project) CircleCi.http.post "/project/#{username}/#{project}/unfollow" end |