[#117482787] Signed-off-by: Evan Short <eshort@pivotal.io>
GitHub Releases Resource
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.
Source Configuration
-
user
: Required. The GitHub username 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. -
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.
Example
- name: gh-release
type: github-release
source:
user: 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
Behavior
check
: Check for released versions.
Releases are listed and sorted by their tag, using semver semantics if possible.
in
: Fetch assets from a 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.
Parameters
-
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
.
out
: Publish a release.
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.
Parameters
-
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.