{"id":16962741,"url":"https://github.com/kevinrohn/github-full-release-data","last_synced_at":"2025-03-21T16:23:05.033Z","repository":{"id":39638142,"uuid":"439264303","full_name":"KevinRohn/github-full-release-data","owner":"KevinRohn","description":"Github action to fetch all data from a release.","archived":false,"fork":false,"pushed_at":"2025-02-21T11:32:56.000Z","size":39,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T07:09:58.442Z","etag":null,"topics":["actions","github-actions"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KevinRohn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-17T08:36:01.000Z","updated_at":"2025-02-21T11:32:23.000Z","dependencies_parsed_at":"2024-11-16T04:45:17.767Z","dependency_job_id":null,"html_url":"https://github.com/KevinRohn/github-full-release-data","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevinRohn%2Fgithub-full-release-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevinRohn%2Fgithub-full-release-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevinRohn%2Fgithub-full-release-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KevinRohn%2Fgithub-full-release-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KevinRohn","download_url":"https://codeload.github.com/KevinRohn/github-full-release-data/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244826403,"owners_count":20516752,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["actions","github-actions"],"created_at":"2024-10-13T23:07:44.755Z","updated_at":"2025-03-21T16:23:05.015Z","avatar_url":"https://github.com/KevinRohn.png","language":null,"readme":"# :package: Github Action `full release data`\n\n\u003e A Github action to retrieve all release data from github releases. \n\n## :question: Why another github-action to retrieve release data?\n\nDuring the development of build jobs, I had to use different Github actions to download release asset files, read the last tag name or retrieve the release notes.\nThe goal is to provide a simplified, well-documented Github action that provides all the information of a github release in just a single github action.\n\n## About\n\nUse latest release tag, body content or, download release assets of a github release. The data can be retrieved from `public` and `private` repositories. \n\n## Usage\n\n\u003e:white_flag: See the [inputs](#inputs) section for detailed descriptions.\n\n```yml\n  - name: Get Release data of private repository\n    id: release_data\n    uses: KevinRohn/github-full-release-data@v2\n    with:\n      repository: \"organisation-or-username/repository\" # (Optional) Repository name to fetch release data.\n      token: ${{ secrets.GITHUB_TOKEN }} # (Optional) `token` of the private repository from which the release information should be retrieved.\n      version: latest  # (Optional) The version from which the release information is to be retrieved.\n      body-markdown-file-path: output/release-body-content.md # (Optional) Specify an output path where the body output should be saved.\n      asset-file: '*.dat,picture.jpg' # (Optional) Name of the asset files to download.\n      asset-output: 'download-output/' # (Optional) The output path in which the downloaded asset files should be placed.\n``` \n\n\n## Usage Examples\n\n\u003e:triangular_flag_on_post: See the [`example-github-full-release-data` repository](https://github.com/KevinRohn/example-github-full-release-data) for more examples.\n\n### Get the latest `tag_name` and use it in further steps\n\n```yml\n    # Fetch release data of the current repository from where the workflow is used.\n  - name: Get Release data\n    id: release_data\n    uses: KevinRohn/github-full-release-data@v2\n\n  - name: Show tag name with echo\n    run: echo ${{ steps.release_data.outputs.tag_name }}\n```\n\n### Get `body` content from github release of a private repository and use it in further steps\n\n```yml\n  - name: Get Release data of private repository\n    id: release_data\n    uses: KevinRohn/github-full-release-data@v2\n    with:\n      repository: \"organisation-or-username/repository\"\n      token: ${{ secrets.GITHUB_TOKEN }}\n      version: latest\n  \n  - name: Write release `body` content line by line to file\n    run: |\n      {\n        echo '${{ fromJSON(steps.release_data.outputs.body) }}'\n      } \u003e\u003e test-file.txt\n\n  - name: Show release `body` content\n    run: |\n      echo '${{ fromJSON(steps.release_data.outputs.body) }}'\n```\n\n### Download release `asset-file` from github release\n\n```yml\n  - name: Download release asset file\n    id: release_data\n    uses: KevinRohn/github-full-release-data@v2\n    with: \n      asset-file: '*.dat'\n      asset-output: './'\n\n  - name: Show file output\n    run: |\n      ls -lah\n```\n\n\n## Inputs\nThe action supports the following inputs:\n\n- `repository`\n  \n  Repository name to fetch release data.\n  \n  \u003eIf no repository is passed as an input. The repository from the build workflow is used. \n  It's possible to fetch release data from any given repository. Just use `\u003corg\u003e/\u003crepo\u003e` as an input parameter.\n  It's also possible to fetch release data from private repositories. In this case, just pass the `token` input parameter.\n  \n  **Required:**\n  *false*\n\n- `token`\n  \n  `token` of the private repository from which the release information should be retrieved.\n\n  \u003ePass the input parameter `token` to fetch release information from private repositories.      \n  e.g.: `secrets.GITHUB_TOKEN`\n  \n  **Required:**\n  *false*\n\n- `version`\n  \n  The version from which the release information is to be retrieved.\n \n  \u003eIf the input value is not set, the default value `latest` is used.\n  It's possible to fetch release data from a given tag. To fetch a specific tag just use `\u003ctag-name\u003e`.\n  \n  **Required:**\n  *false*\n\n- `body-markdown-file-path`\n  \n  Specify an output path where the body output should be saved.\n  \n  \u003eIf the path is valid and the file is accessible then, the body output content will be saved into the file.\n  Save the file in the current working directory: `./release-content.md`.\n  \n  **Required:**\n  *false* \n\n- `asset-file`\n  \n  Name of the asset files to download.\n  \n  \u003eTo download release asset files, just use the input parameter `asset-file`.\n  To download multiple release asset files use `,` comma as a separator.\n  \u003cbr/\u003e\u003cbr/\u003eExample: \u003cbr/\u003e\n    Download all .PNG and .JPEG files: `*.PNG,*.JPEG` \u003cbr/\u003e\n    Download release asset with a static name: `myfile-to-download.extension`\n  \n  **Required:**\n  *false* \n\n- `asset-output`\n  \n  The output path in which the downloaded asset files should be placed.\n\n  \u003eThe input value is required if the input value `asset-file` was specified.\n  \n  **Required:**\n  *false* \n\n## Outputs\n\n| Output              | Description                                                                                                                                                                                                 |\n| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `url`               | Release URL to use in API calls                                                                                                                                                                             |\n| `html_url`          | Release URL                                                                                                                                                                                                 |\n| `assets_url`        | Asset URL to use in API calls                                                                                                                                                                               |\n| `upload_url`        | Upload URL for release assets                                                                                                                                                                               |\n| `tarball_url`       | Url to tarball content                                                                                                                                                                                      |\n| `zipball_url`       | Url to zipball content                                                                                                                                                                                      |\n| `discussion_url`    | Discussion URL - can be `null` if discussion is deactivated                                                                                                                                                 |\n| `id`                | Release id                                                                                                                                                                                                  |\n| `node_id`           | Release node id                                                                                                                                                                                             |\n| `tag_name`          | Release tag name                                                                                                                                                                                            |\n| `target_commitish`  | Target from which the release is created                                                                                                                                                                    |\n| `body`              | The `body` output from release. It's a multiline output, which is packed in a JSON object. \u003cbr/\u003e The output can be used with the `fromJSON` function `(steps.\u003cid\u003e.outputs.body)`.                           |\n| `draft`             | Shows if the release is a draft release or not (true/false)                                                                                                                                                 |\n| `prerelease`        | Shows if the release is a pre-release (true/false)                                                                                                                                                          |\n| `created_at`        | Shows the release creation date                                                                                                                                                                             |\n| `published_at`      | Shows the published date of the release                                                                                                                                                                     |\n| `assets_array_json` | The `assets_array_json` output from release. It's a multiline output, which is packed in a JSON object. \u003cbr/\u003e The output can be used with the `fromJSON` function `(steps.\u003cid\u003e.outputs.assets_array_json)`. |\n| `author_json`       | The `author_json` output from release. It's a multiline output, which is packed in a JSON object. \u003cbr/\u003e The output can be used with the `fromJSON` function `(steps.\u003cid\u003e.outputs.author_json)`.       |\n\n## Support\n\n### Supported runners for Version [v2](https://github.com/KevinRohn/github-full-release-data/releases/tag/v2)\n\n| OS | supported? |\n| - | - |\n| `Linux OS runner` | :white_check_mark: |\n| `macOS runner` | :white_check_mark: |\n| `windows OS runner` | :x: | \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinrohn%2Fgithub-full-release-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevinrohn%2Fgithub-full-release-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinrohn%2Fgithub-full-release-data/lists"}