class Github::Client::Repos::Statuses

The Status API allows external services to mark commits with a success, failure, error, or pending state, which is then reflected in pull requests involving those commits.

Public Instance Methods

all(*args)
Alias for: list
create(*args) click to toggle source

Create a status

@param [Hash] params @input params [String] :state

Required. The state of the status. Can be one of pending,
success, error, or failure.

@input params [String] :target_url

The target URL to associate with this status. This URL will
be linked from the GitHub UI to allow users to easily see
the ‘source’ of the Status.

For example, if your Continuous Integration system is posting
build status, you would want to provide the deep link for
the build output for this specific SHA:
http://ci.example.com/user/repo/build/sha.

@input params [String] :description

A short description of the status

@input params [String] :context

A string label to differentiate this status from the
status of other systems. Default: "default"

@example

github = Github.new
github.repos.statuses.create 'user-name', 'repo-name', 'sha',
  state:  "success",
  target_url: "http://ci.example.com/johndoe/my-repo/builds/sha",
  description: "Successful build #3 from origin/master"

@api public

# File lib/github_api/client/repos/statuses.rb, line 79
def create(*args)
  arguments(args, required: [:user, :repo, :sha]) do
    permit VALID_STATUS_PARAM_NAMES, recursive: false
    assert_required REQUIRED_PARAMS
  end

  post_request("/repos/#{arguments.user}/#{arguments.repo}/statuses/#{arguments.sha}", arguments.params)
end
list(*args) { |el| ... } click to toggle source

List Statuses for a specific SHA

@param [String] :ref

Ref to fetch the status for. It can be a SHA, a branch name,
or a tag name.

@example

github = Github.new
github.repos.statuses.list 'user-name', 'repo-name', 'ref'
github.repos.statuses.list 'user-name', 'repo-name', 'ref' { |status| ... }

Get the combined Status for a specific Ref

@example

github = Github.new
github.repos.statuses.list 'user', 'repo', 'ref', combined: true

@api public

# File lib/github_api/client/repos/statuses.rb, line 35
def list(*args)
  arguments(args, required: [:user, :repo, :ref])
  params = arguments.params
  user, repo, ref = arguments.user, arguments.repo, arguments.ref

  response = if params.delete('combined')
    get_request("/repos/#{user}/#{repo}/commits/#{ref}/status", params)
  else
    get_request("/repos/#{user}/#{repo}/commits/#{ref}/statuses", params)
  end
  return response unless block_given?
  response.each { |el| yield el }
end
Also aliased as: all