[#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 aninand pushing a release to a repo during anout. The access token you create is only required to have therepoorpublic_reposcope. -
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_urlis 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,putproduces drafts andcheckonly 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:
tagcontaining the git tag name of the release being fetched.versioncontaining 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.