Current section
Files
Jump to
Current section
Files
lib/circler/build.ex
defmodule Circler.Build do
@moduledoc """
Functions for retrieving information about builds.
"""
alias Circler.{Client, Project}
@doc """
Build summary for each of the last 30 recent builds, ordered by build_num.
## Example
iex> client = Circler.Client.new("1234567890")
Circler.Build.recent_builds(client)
More info at: https://circleci.com/docs/api/v1-reference/#summary
"""
@spec recent_builds(Client.t) :: {:atom, any()}
def recent_builds(client) do
Circler.get("recent-builds", client)
end
@doc """
Retrieve build informations of a project by its build number.
## Example
iex> client = Circler.Client.new("1234567890")
project = Circler.Project.new("github", "codeclimate", "test-reporter")
Circler.Build.by_num(client, project, "560")
More info at: https://circleci.com/docs/api/v1-reference/#summary
"""
@spec by_num(Client.t, Project.t, String.t) :: {:atom, any()}
def by_num(client, project, build_num) do
Circler.get("project/" <> project.type <> "/" <> project.username <> "/" <> project.name <> "/" <> build_num, client)
end
@doc """
List the artifacts produced by a given build.
## Example
iex> client = Circler.Client.new("1234567890")
project = Circler.Project.new("github", "codeclimate", "test-reporter")
Circler.Build.artifacts(client, project, "560")
More info at: https://circleci.com/docs/api/v1-reference/#summary
"""
@spec artifacts(Client.t, Project.t, String.t) :: {:atom, any()}
def artifacts(client, project, build_num) do
Circler.get("project/" <> project.type <> "/" <> project.username <> "/" <> project.name <> "/" <> build_num <> "/artifacts", client)
end
end