Class: CircleCi::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/circleci/project.rb

Overview

Class for interacting with Projects

Class Method Summary collapse

Class Method Details

.allCircleCi::Response

Return all projects for your API key

Returns:



15
16
17
# File 'lib/circleci/project.rb', line 15

def self.all
  CircleCi.http.get '/projects'
end

.build(username, project) ⇒ CircleCi::Response

Build the latest master push for this project

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

Returns:



39
40
41
# File 'lib/circleci/project.rb', line 39

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

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

  • branch (String)
    • Name of branch

  • build_parameters (Hash) (defaults to: {})
    • Optional Build Parameters

Returns:



66
67
68
69
70
# File 'lib/circleci/project.rb', line 66

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

.clear_cache(username, project) ⇒ CircleCi::Response

Clear the build cache for a specific project

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

Returns:



80
81
82
# File 'lib/circleci/project.rb', line 80

def self.clear_cache username, project
  CircleCi.http.delete "/project/#{username}/#{project}/build-cache"
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.

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

Returns:



92
93
94
# File 'lib/circleci/project.rb', line 92

def self.enable username, project
  CircleCi.http.post "/project/#{username}/#{project}/enable"
end

.follow(username, project) ⇒ CircleCi::Response

Follow the project

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

Returns:



104
105
106
# File 'lib/circleci/project.rb', line 104

def self.follow username, project
  CircleCi.http.post "/project/#{username}/#{project}/follow"
end

.recent_builds(username, project) ⇒ CircleCi::Response

Get all recent builds for a specific project

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

Returns:



27
28
29
# File 'lib/circleci/project.rb', line 27

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

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

  • branch (String)
    • Name of branch

Returns:



52
53
54
# File 'lib/circleci/project.rb', line 52

def self.recent_builds_branch username, project, branch
  CircleCi.http.get "/project/#{username}/#{project}/tree/#{branch}"
end

.settings(username, project) ⇒ CircleCi::Response

Get the project configuration

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

Returns:



128
129
130
# File 'lib/circleci/project.rb', line 128

def self.settings username, project
  CircleCi.http.get "/project/#{username}/#{project}/settings"
end

.unfollow(username, project) ⇒ CircleCi::Response

Unfollow the project

Parameters:

  • username (String)
    • User or org name who owns project

  • project (String)
    • Name of project

Returns:



116
117
118
# File 'lib/circleci/project.rb', line 116

def self.unfollow username, project
  CircleCi.http.post "/project/#{username}/#{project}/unfollow"
end