module Gitlab::Client::Builds

Defines methods related to builds. @see docs.gitlab.com/ce/api/builds.html

Public Instance Methods

build(project, id) click to toggle source

Gets a single build.

@example

Gitlab.build(5, 36)

@param [Integer] project The ID of a project. @param [Integer] id The ID of a build. @return [Gitlab::ObjectifiedHash]

# File lib/gitlab/client/builds.rb, line 29
def build(project, id)
  get("/projects/#{project}/builds/#{id}")
end
build_artifacts(project, id) click to toggle source

Gets build artifacts.

@example

Gitlab.build_artifacts(1, 8)

@param [Integer] project The ID of a project. @param [Integer] id The ID of a build. @return [Gitlab::FileResponse]

# File lib/gitlab/client/builds.rb, line 41
def build_artifacts(project, id)
  get("/projects/#{project}/builds/#{id}/artifacts",
       format: nil,
       headers: { Accept: 'application/octet-stream' },
       parser: proc { |body, _|
        if body.encoding == Encoding::ASCII_8BIT # binary response
          ::Gitlab::FileResponse.new StringIO.new(body, 'rb+')
        else # error with json response
          ::Gitlab::Request.parse(body)
        end
      })
end
build_cancel(project, id) click to toggle source

Cancels a build.

@example

Gitlab.build_cancel(5, 1)

@param [Integer] project The ID of a project. @param [Integer] id The ID of a build. @return [Gitlab::ObjectifiedHash] The builds changes.

# File lib/gitlab/client/builds.rb, line 78
def build_cancel(project, id)
  post("/projects/#{project}/builds/#{id}/cancel")
end
build_erase(project, id) click to toggle source

Erase a single build of a project (remove build artifacts and a build trace)

@example

Gitlab.build_erase(5, 1)

@param [Integer] project The ID of a project. @param [Integer] id The ID of a build. @return [Gitlab::ObjectifiedHash] The build's changes.

# File lib/gitlab/client/builds.rb, line 102
def build_erase(project, id)
  post("/projects/#{project}/builds/#{id}/erase")
end
build_retry(project, id) click to toggle source

Retry a build.

@example

Gitlab.build_retry(5, 1)

@param [Integer] project The ID of a project. @param [Integer] id The ID of a build. @return [Array<Gitlab::ObjectifiedHash>] The builds changes.

# File lib/gitlab/client/builds.rb, line 90
def build_retry(project, id)
  post("/projects/#{project}/builds/#{id}/retry")
end
builds(project, options={}) click to toggle source

Gets a list of project builds.

@example

Gitlab.builds(5)
Gitlab.builds(5, { per_page: 10, page:  2 })

@param [Integer] project The ID of a project. @param [Hash] options A customizable set of options. @option options [Integer] :page The page number. @option options [Integer] :per_page The number of results per page. @param [Integer] project The ID of a project. @return [Array<Gitlab::ObjectifiedHash>]

# File lib/gitlab/client/builds.rb, line 17
def builds(project, options={})
  get("/projects/#{project}/builds", query: options)
end
commit_builds(project, sha, options={}) click to toggle source

Gets a list of builds for specific commit in a project.

@example

Gitlab.commit_builds(5, 'asdf')
Gitlab.commit_builds(5, 'asdf', { per_page: 10, page: 2 })

@param [Integer] project The ID of a project. @param [String] sha The SHA checksum of a commit. @param [Hash] options A customizable set of options. @option options [Integer] :page The page number. @option options [Integer] :per_page The number of results per page. @return [Array<Gitlab::ObjectifiedHash>] The list of builds.

# File lib/gitlab/client/builds.rb, line 66
def commit_builds(project, sha, options={})
  get("/projects/#{project}/repository/commits/#{sha}/builds", query: options)
end