Create and update GitHub statuses from Concourse.
Name
Layer
Last update
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
over 3 years ago
Readme

#+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. | | target_url | No | build URL | URL or file containing URL for status target_url | |-------------+----------+-----------+--------------------------------------------------|

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. | | target_url | No | build URL | URL or file containing URL for status target_url | |-------------+----------+-----------+--------------------------------------------------|

** 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 | |-------------+----------+-----------+--------------------------------------------------|