Fetches and creates versioned GitHub resources.
If you're seeing rate limits affecting you then please add a token to the source configuration. This will increase your number of allowed requests.
-
owner
: Required. The GitHub user or organization name for the repository that the releases are in. -
repository
: Required. The repository name that contains the releases. -
access_token
: Optional. Used for accessing a release in a private-repo during anin
and pushing a release to a repo during anout
. The access token you create is only required to have therepo
orpublic_repo
scope. -
github_api_url
: Optional. If you use a non-public GitHub deployment then you can set your API URL here. -
github_uploads_url
: Optional. Some GitHub instances have a separate URL for uploading. Ifgithub_api_url
is set, this value defaults to the same value, but if you have your own endpoint, this field will override it. -
release
: Optional. Defaulttrue
. When set totrue
,put
produces release andcheck
will detects releases. Iffalse
,put
andcheck
will ignore releases. Note that releases must have semver compliant tags to be detected. -
pre_release
: Optional. Defaultfalse
. When set totrue
,put
produces pre-release andcheck
detects prereleases. Iffalse
, only non-prerelease releases will be detected and published. Note that releases must have semver compliant tags to be detected. Ifrelease
andpre_release
are set totrue
put
produces release andcheck
will detects prereleases and releases. -
drafts
: Optional. Defaultfalse
. When set totrue
,put
produces drafts andcheck
only detects drafts. Iffalse
, only non-draft releases will be detected and published. Note that releases must have semver compliant tags to be detected, even if they're drafts.
- name: gh-release
type: github-release
source:
owner: concourse
repository: concourse
access_token: abcdef1234567890
- get: gh-release
- put: gh-release
params:
name: path/to/name/file
tag: path/to/tag/file
body: path/to/body/file
globs:
- paths/to/files/to/upload-*.tgz
To get a specific version of a release:
- get: gh-release
version: { tag: 'v0.0.1' }
Releases are listed and sorted by their tag, using
semver semantics if possible. If version
is specified, check
returns releases from the specified version on. Otherwise, check
returns the latest release.
Fetches artifacts from the given release version. If the version is not specified, the latest version is chosen using semver semantics.
Also creates the following files:
tag
containing the git tag name of the release being fetched.version
containing the version determined by the git tag of the release being fetched.body
containing the body text of the release.
-
globs
: Optional. A list of globs for files that will be downloaded from the release. If not specified, all assets will be fetched. -
include_source_tarball
: Optional. Enables downloading of the source artifact tarball for the release assource.tar.gz
. Defaults tofalse
. -
include_source_zip
: Optional. Enables downloading of the source artifact zip for the release assource.zip
. Defaults tofalse
.
Given a name specified in name
, a body specified in body
, and the tag to use
specified in tag
, this creates a release on GitHub then uploads the files
matching the patterns in globs
to the release.
-
name
: Required. A path to a file containing the name of the release. -
tag
: Required. A path to a file containing the name of the Git tag to use for the release. -
tag_prefix
: Optional. If specified, the tag read from the file will be prepended with this string. This is useful for adding v in front of version numbers. -
commitish
: Optional. A path to a file containing the commitish (SHA, tag, branch name) that the release should be associated with. -
body
: Optional. A path to a file containing the body text of the release. -
globs
: Optional. A list of globs for files that will be uploaded alongside the created release.