{"id":19259234,"url":"https://github.com/concourse/github-release-resource","last_synced_at":"2026-02-12T22:06:53.799Z","repository":{"id":26674043,"uuid":"30130671","full_name":"concourse/github-release-resource","owner":"concourse","description":"A resource for GitHub releases","archived":false,"fork":false,"pushed_at":"2025-11-16T20:06:02.000Z","size":1370,"stargazers_count":55,"open_issues_count":6,"forks_count":63,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-11-16T22:04:23.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/concourse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["taylorsilva"]}},"created_at":"2015-01-31T23:54:21.000Z","updated_at":"2025-11-16T20:06:06.000Z","dependencies_parsed_at":"2023-01-14T05:08:40.353Z","dependency_job_id":"f10c9533-41b2-4584-a3aa-d3606fc52930","html_url":"https://github.com/concourse/github-release-resource","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/concourse/github-release-resource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concourse%2Fgithub-release-resource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concourse%2Fgithub-release-resource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concourse%2Fgithub-release-resource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concourse%2Fgithub-release-resource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/concourse","download_url":"https://codeload.github.com/concourse/github-release-resource/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/concourse%2Fgithub-release-resource/sbom","scorecard":{"id":302196,"data":{"date":"2025-08-11","repo":{"name":"github.com/concourse/github-release-resource","commit":"6dcf0f3b795afc5f062c2ac4b70a86c92eb88176"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.4,"checks":[{"name":"Code-Review","score":3,"reason":"Found 5/15 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":7,"reason":"8 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":1,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Warn: 'force pushes' enabled on branch 'master'","Info: 'branch protection settings apply to administrators' is required to merge on branch 'master'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'master'","Warn: PRs are not required to make changes on branch 'master'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.12.1 not signed: https://api.github.com/repos/concourse/github-release-resource/releases/236076046","Warn: release artifact v1.12.0 not signed: https://api.github.com/repos/concourse/github-release-resource/releases/222241794","Warn: release artifact v1.11.0 not signed: https://api.github.com/repos/concourse/github-release-resource/releases/208458701","Warn: release artifact v1.10.1 not signed: https://api.github.com/repos/concourse/github-release-resource/releases/194996022","Warn: release artifact v1.10.0 not signed: https://api.github.com/repos/concourse/github-release-resource/releases/180521003","Warn: release artifact v1.12.1 does not have provenance: https://api.github.com/repos/concourse/github-release-resource/releases/236076046","Warn: release artifact v1.12.0 does not have provenance: https://api.github.com/repos/concourse/github-release-resource/releases/222241794","Warn: release artifact v1.11.0 does not have provenance: https://api.github.com/repos/concourse/github-release-resource/releases/208458701","Warn: release artifact v1.10.1 does not have provenance: https://api.github.com/repos/concourse/github-release-resource/releases/194996022","Warn: release artifact v1.10.0 does not have provenance: https://api.github.com/repos/concourse/github-release-resource/releases/180521003"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/concourse/.github/SECURITY.md:1","Info: Found linked content: github.com/concourse/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/concourse/.github/SECURITY.md:1","Info: Found text in security policy: github.com/concourse/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:5","Warn: containerImage not pinned by hash: Dockerfile:23","Warn: containerImage not pinned by hash: Dockerfile:26","Warn: containerImage not pinned by hash: Dockerfile:32","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T20:57:59.657Z","repository_id":26674043,"created_at":"2025-08-17T20:57:59.658Z","updated_at":"2025-08-17T20:57:59.658Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29382947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T20:34:40.886Z","status":"ssl_error","status_checked_at":"2026-02-12T20:23:00.490Z","response_time":55,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T19:15:49.452Z","updated_at":"2026-02-12T22:06:53.795Z","avatar_url":"https://github.com/concourse.png","language":"Go","funding_links":["https://github.com/sponsors/taylorsilva"],"categories":[],"sub_categories":[],"readme":"# GitHub Releases Resource\n\nFetches and creates versioned GitHub resources.\n\n\u003ca href=\"https://ci.concourse-ci.org/teams/main/pipelines/resource/jobs/build?vars.type=%22github-release%22\"\u003e\n  \u003cimg src=\"https://ci.concourse-ci.org/api/v1/teams/main/pipelines/resource/jobs/build/badge?vars.type=%22github-release%22\" alt=\"Build Status\"\u003e\n\u003c/a\u003e\n\n\n\u003e If you're seeing rate limits affecting you then please add a token to the source\n\u003e configuration. This will increase your number of allowed requests.\n\n## Source Configuration\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eField Name\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003eowner\u003c/code\u003e (Required)\u003c/td\u003e\n      \u003ctd\u003e The GitHub user or organization name for the repository that the releases are in.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003erepository\u003c/code\u003e (Required)\u003c/td\u003e\n      \u003ctd\u003eThe repository name that contains the releases.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003eaccess_token\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        Used for accessing a release in a private-repo during an \u003ccode\u003ein\u003c/code\u003e and pushing a\n        release to a repo during an \u003ccode\u003eout\u003c/code\u003e. The\n        \u003ca href=\"https://github.com/settings/personal-access-tokens\"\u003efine-grained access token\u003c/a\u003e you create is only\n        required to have the \u003ccode\u003econtent\u003c/code\u003e permission. For classic access tokens, you need the\n        \u003ccode\u003erepo\u003c/code\u003e or \u003ccode\u003epublic_repo\u003c/code\u003e permission.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003egithub_api_url\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eIf you use a non-public GitHub deployment then you can set your API URL here.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003egithub_v4_api_url\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        If you use a non-public GitHub deployment then you can set your API URL for graphql calls\n        here.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003egithub_uploads_url\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        Some GitHub instances have a separate URL for uploading. If \u003ccode\u003egithub_api_url\u003c/code\u003e is\n        set, this value defaults to the same value, but if you have your own endpoint, this field will override it.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003einsecure\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        Defaults to \u003ccode\u003efalse\u003c/code\u003e. When set to \u003ccode\u003etrue\u003c/code\u003e, concourse will allow insecure\n        connection to your github API.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003erelease\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        Defaults to \u003ccode\u003etrue\u003c/code\u003e. When set to \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003echeck\u003c/code\u003e detects final\n        releases and \u003ccode\u003eput\u003c/code\u003e publishes final releases (as opposed to pre-releases). If \u003ccode\u003efalse\u003c/code\u003e,\n        \u003ccode\u003echeck\u003c/code\u003e will ignore final releases, and \u003ccode\u003eput\u003c/code\u003e will publish pre-releases if\n        \u003ccode\u003epre_release\u003c/code\u003e is set to \u003ccode\u003etrue\u003c/code\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003epre_release\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        Defaults to \u003ccode\u003efalse\u003c/code\u003e. When set to \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003echeck\u003c/code\u003e detects\n        pre-releases, and \u003ccode\u003eput\u003c/code\u003e will produce pre-releases (if \u003ccode\u003erelease\u003c/code\u003e is also set to\n        \u003ccode\u003efalse\u003c/code\u003e). If \u003ccode\u003efalse\u003c/code\u003e, only non-prerelease releases will be detected and published.\n        \u003cbr/\u003e\u003cbr/\u003e\n        \u003cstrong\u003eNOTE:\u003c/strong\u003e\n        If both \u003ccode\u003erelease\u003c/code\u003e and \u003ccode\u003epre_release\u003c/code\u003e are set to \u003ccode\u003etrue\u003c/code\u003e,\n        \u003ccode\u003eput\u003c/code\u003e produces final releases and \u003ccode\u003echeck\u003c/code\u003e detects both pre-releases and releases. In order\n        to produce pre-releases, you must set \u003ccode\u003epre_release\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e and \u003ccode\u003erelease\u003c/code\u003e to\n        \u003ccode\u003efalse\u003c/code\u003e.\u003cbr /\u003e\u003cstrong\u003enote:\u003c/strong\u003e if both \u003ccode\u003erelease\u003c/code\u003e and \u003ccode\u003epre_release\u003c/code\u003e are\n        set to \u003ccode\u003efalse\u003c/code\u003e, \u003ccode\u003eput\u003c/code\u003e will still produce final releases.\u003cbr /\u003e\u003cstrong\u003enote:\u003c/strong\u003e\n        releases must have\n        \u003ca href=\"https://semver.org/#backusnaur-form-grammar-for-valid-semver-versions\"\u003esemver compliant\u003c/a\u003e\n        tags to be detected.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003edrafts\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        Defaults to \u003ccode\u003efalse\u003c/code\u003e. When set to \u003ccode\u003etrue\u003c/code\u003e, \u003ccode\u003eput\u003c/code\u003e produces drafts\n        and \u003ccode\u003echeck\u003c/code\u003e only detects drafts. If \u003ccode\u003efalse\u003c/code\u003e, only non-draft releases will be detected and\n        published. Note that releases must have\n        \u003ca href=\"https://semver.org/#backusnaur-form-grammar-for-valid-semver-versions\"\u003esemver compliant\u003c/a\u003e\n        tags to be detected, even if they're drafts.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003esemver_constraint\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        If set, constrain the returned semver tags according to a semver constraint, e.g.\n        \u003ccode\u003e\"~1.2.x\"\u003c/code\u003e, \u003ccode\u003e\"\u003e= 1.2 \u003c 3.0.0 || \u003e= 4.2.3\"\u003c/code\u003e. Follows the rules outlined in\n        \u003ca href=\"https://github.com/Masterminds/semver#checking-version-constraints\"\n          \u003ehttps://github.com/Masterminds/semver#checking-version-constraints\u003c/a\n        \u003e.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003etag_filter\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        If set, override default tag filter regular expression of \u003ccode\u003ev?([^v].*)\u003c/code\u003e. If the\n        filter includes a capture group, the capture group is used as the release version; otherwise, the entire\n        matching substring is used as the version. You can test your regex in the \u003ca href=\"https://go.dev/play/p/shzMfC-rfI-\"\u003eGo Playground\u003c/a\u003e.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003eorder_by\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        One of [\u003ccode\u003eversion\u003c/code\u003e, \u003ccode\u003etime\u003c/code\u003e]. Defaults to \u003ccode\u003eversion\u003c/code\u003e.\n        Selects whether to order releases by version (as extracted by \u003ccode\u003etag_filter\u003c/code\u003e) or by time. See\n        \u003ccode\u003echeck\u003c/code\u003e behavior described below for details.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003easset_dir\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003e\n        Default \u003ccode\u003efalse\u003c/code\u003e. When set to \u003ccode\u003etrue\u003c/code\u003e, downloaded assets will be created\n        in a separate directory called \u003ccode\u003eassets\u003c/code\u003e. Otherwise, they will be created in the same directory as the\n        other files.\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Example\n\n``` yaml\n- name: gh-release\n  type: github-release\n  source:\n    owner: concourse\n    repository: concourse\n    access_token: abcdef1234567890\n```\n\n``` yaml\n- get: gh-release\n```\n\n``` yaml\n- put: gh-release\n  params:\n    name: path/to/name/file\n    tag: path/to/tag/file\n    body: path/to/body/file\n    globs:\n    - paths/to/files/to/upload-*.tgz\n    generate_release_notes: true\n```\n\nTo get a specific version of a release:\n\n``` yaml\n- get: gh-release\n  version: { tag: 'v0.0.1' }\n```\n\nTo set a custom tag filter:\n\n```yaml\n- name: gh-release\n  type: github-release\n  source:\n    owner: concourse\n    repository: concourse\n    tag_filter: \"version-(.*)\"\n```\n\n## Behavior\n\n### `check`: Check for released versions.\n\nLists releases, sorted either by their version or time, depending on the `order_by` source option.\n\nWhen sorting by version, the version is extracted from the git tag using the `tag_filter` source option.\nVersions are compared using [semver](http://semver.org) semantics if possible.\n\nWhen sorting by time and a release is published, it uses the publication time, otherwise it uses the creation time.\n\nThe returned list contains an object of the following format for each release (with timestamp in the RFC3339 format):\n\n```json\n{\n    \"id\": \"12345\",\n    \"tag\": \"v1.2.3\",\n    \"timestamp\": \"2006-01-02T15:04:05.999999999Z\"\n}\n```\n\nWhen `check` is given such an object as the `version` parameter, it returns releases from the specified version or time on.\nOtherwise it returns the release with the latest version or time.\n\n### `get`: Fetch assets from a release.\n\nFetches artifacts from the requested release.  If `asset_dir` source param is set to `true`,\nartifacts will be created in a subdirectory called `assets`.\n\nAlso creates the following files:\n\n* `tag` containing the git tag name of the release being fetched.\n* `version` containing the version determined by the git tag of the release being fetched. If a capture group is used in `tag_filter` then this will be the value of the capture group.\n* `body` containing the body text of the release.\n* `timestamp` containing the publish or creation timestamp for the release in RFC 3339 format.\n* `commit_sha` containing the commit SHA the tag is pointing to.\n* `url` containing the HTMLURL for the release being fetched.\n\n#### Parameters\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eField Name\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003eglobs\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eA list of globs for files that will be downloaded from the release. If\n      not specified, all assets will be fetched.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003einclude_source_tarball\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eEnables downloading of the source artifact tarball for the release as\n      \u003ccode\u003esource.tar.gz\u003c/code\u003e. Defaults to \u003ccode\u003efalse\u003c/code\u003e.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003einclude_source_zip\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eEnables downloading of the source artifact zip for the release as\n      \u003ccode\u003esource.zip\u003c/code\u003e. Defaults to \u003ccode\u003efalse\u003c/code\u003e.\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### `put`: Publish a release.\n\nGiven a name specified in `name`, a body specified in `body`, and the tag to use\nspecified in `tag`, this creates a release on GitHub then uploads the files\nmatching the patterns in `globs` to the release.\n\n#### Parameters\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eField Name\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003ename\u003c/code\u003e (Required)\u003c/td\u003e\n      \u003ctd\u003eA path to a file containing the name of the release.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003etag\u003c/code\u003e (Required)\u003c/td\u003e\n      \u003ctd\u003eA path to a file containing the name of the Git tag to use for the release.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003etag_prefix\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eIf specified, the tag read from the file will be prepended with this\n      string. This is useful for adding v in front of version numbers.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003ecommitish\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eA path to a file containing the commitish (SHA, tag, branch name) that\n      the release should be associated with.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003ebody\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eA path to a file containing the body text of the release.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003eglobs\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eA list of globs for files that will be uploaded alongside the created release.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003egenerate_release_notes\u003c/code\u003e (Optional)\u003c/td\u003e\n      \u003ctd\u003eCauses GitHub to autogenerate the release notes when creating a new\n      release, based on the commits since the last release. If \u003ccode\u003ebody\u003c/code\u003e\n      is specified, the body will be pre-pended to the automatically generated\n      notes. Has no effect when updating an existing release. Defaults to\n      \u003ccode\u003efalse\u003c/code\u003e.\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Development\n\n### Prerequisites\n\n* golang is *required* - version 1.15.x is tested; earlier versions may also\n  work.\n* docker is *required* - version 17.06.x is tested; earlier versions may also\n  work.\n\n### Running the tests\n\nThe tests have been embedded with the `Dockerfile`; ensuring that the testing\nenvironment is consistent across any `docker` enabled platform. When the docker\nimage builds, the test are run inside the docker container, on failure they\nwill stop the build.\n\nRun the tests with the following command:\n\n```sh\ndocker build -t github-release-resource --target tests .\n```\n\n### Contributing\n\nPlease make all pull requests to the `master` branch and ensure tests pass\nlocally.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconcourse%2Fgithub-release-resource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconcourse%2Fgithub-release-resource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconcourse%2Fgithub-release-resource/lists"}