Public | Automated Build

Last pushed: 3 months ago
Short Description
Create and update GitHub statuses from Concourse.
Full Description

#+TITLE: GitHub Status

#+SUBTITLE: A Custom Resource for Concourse

#+LATEX: \pagebreak

  • Overview

Create and update GitHub statuses from Concourse.

  • Usage

Add the resource to your pipeline's ~resource_types~ (requires Concourse 0.74.0+)

#+BEGIN_SRC yaml
resource_types:

- name: github-status
  type: docker-image
  source:
    repository: resource/github-status

#+END_SRC

  • Source Configuration

|--------------+----------+---------------------------------------------|
| Name | Required | Description |
|--------------+----------+---------------------------------------------|
| repo | Yes | The GitHub repository in ~user/repo~ format |
| access_token | Yes | The access token to use with the GitHub API |
|--------------+----------+---------------------------------------------|

  • Behaviour

** ~out~ Update the status for a commit

*** Parameters

To set a single status for the current commit of the repository specify these parameters:

|-------------+----------+-----------+--------------------------------------------|
| Name | Required | Default | Description |
|-------------+----------+-----------+--------------------------------------------|
| path | Yes | | Relative path to the repository |
| state | Yes | | One of ~pending~, ~success~, or ~failure~ |
| context | No | concourse | The ~context~ for the status being updated |
| description | No | | A description of the context. |
|-------------+----------+-----------+--------------------------------------------|

It is also possible to set multiple statuses at the same time. This is useful for adding multiple ~pending~ statuses
initially which will be updated by later jobs to the corresponding state, for example.
This can be done by specifying a ~statuses~ array:

|-------------+----------+-----------+--------------------------------------------|
| Name | Required | Default | Description |
|-------------+----------+-----------+--------------------------------------------|
| path | Yes | | Relative path to the repository |
| statuses | Yes | | Array of status objects |
|-------------+----------+-----------+--------------------------------------------|

Each of the status objects supports the following parameters:

|-------------+----------+-----------+--------------------------------------------|
| Name | Required | Default | Description |
|-------------+----------+-----------+--------------------------------------------|
| state | Yes | | One of ~pending~, ~success~, or ~failure~ |
| context | No | concourse | The ~context~ for the status being updated |
| description | No | | A description of the context. |
|-------------+----------+-----------+--------------------------------------------|

** ~check~ Get a list of available statuses

*** Parameters

  • None

** ~in~ Fetch a status

*** Parameters

Fetches the state of ~context~ for the current commit of the repository at
~path~, and write it to ~{context}.state~

|-------------+----------+-----------+--------------------------------------------|
| Name | Required | Default | Description |
|-------------+----------+-----------+--------------------------------------------|
| path | Yes | | Relative path to the repository |
| context | No | concourse | The ~context~ for the status being updated |
|-------------+----------+-----------+--------------------------------------------|

Docker Pull Command
Owner
gems