{"id":16593966,"url":"https://github.com/tclindner/sentry-releases-action","last_synced_at":"2025-04-07T07:08:07.154Z","repository":{"id":35453086,"uuid":"217787622","full_name":"tclindner/sentry-releases-action","owner":"tclindner","description":"A GitHub action that creates releases for Sentry.io.","archived":false,"fork":false,"pushed_at":"2025-03-27T21:37:24.000Z","size":12735,"stargazers_count":38,"open_issues_count":9,"forks_count":16,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T05:07:49.844Z","etag":null,"topics":["github-action","github-actions","github-releases","releases","sentry-cli","sentry-client","sentry-io"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/tclindner.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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":"2019-10-27T00:51:38.000Z","updated_at":"2025-01-30T04:09:54.000Z","dependencies_parsed_at":"2023-11-26T22:31:30.387Z","dependency_job_id":"c155337d-eba6-4a63-8f2f-cd5496e1640b","html_url":"https://github.com/tclindner/sentry-releases-action","commit_stats":{"total_commits":561,"total_committers":10,"mean_commits":56.1,"dds":0.2531194295900179,"last_synced_commit":"529a977808335ad2cdf781d56e69b59dd2e058a5"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclindner%2Fsentry-releases-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclindner%2Fsentry-releases-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclindner%2Fsentry-releases-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclindner%2Fsentry-releases-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tclindner","download_url":"https://codeload.github.com/tclindner/sentry-releases-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608151,"owners_count":20965952,"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":["github-action","github-actions","github-releases","releases","sentry-cli","sentry-client","sentry-io"],"created_at":"2024-10-11T23:44:37.931Z","updated_at":"2025-04-07T07:08:07.132Z","avatar_url":"https://github.com/tclindner.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sentry-releases-action\n\n[![license](https://img.shields.io/github/license/tclindner/sentry-releases-action.svg?maxAge=2592000\u0026style=flat-square)](https://github.com/tclindner/sentry-releases-action/blob/master/LICENSE)\n\u003ca href=\"https://github.com/tclindner/sentry-releases-action\"\u003e\u003cimg alt=\"GitHub Actions status\" src=\"https://github.com/tclindner/sentry-releases-action/workflows/ci/badge.svg\"\u003e\u003c/a\u003e\n\n\u003e A GitHub action that creates [releases for Sentry.io](https://docs.sentry.io/workflow/releases/?platform=javascript).\n\n## What is sentry-releases-action?\n\nA GitHub action that makes is easy to create a release in Sentry.io based on events in GitHub. Examples:\n\n* a GitHub release is published\n* a commit is pushed to master\n* a pull request is merged to master\n\n## How do I use it?\n\nFirst thing first, let's make sure you have the necessary pre-requisites.\n\n### Pre-requisites\nCreate a workflow `.yml` file in your repo's `.github/workflows` directory. An [example workflow](#example-workflow---create-a-release) is available below. For more information, reference the GitHub Help Documentation for [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file).\n\n### Inputs\n\n#### `tagName`\n\n**Required** The tag being released. This is used as the Sentry release name. You can optionally prefix it using `releaseNamePrefix`.\n\n#### `environment`\n\n**Required** The name of the environment the release was deployed to.\n\n#### `releaseNamePrefix`\n\n**Optional** String that is prefixed to the tag to form the Sentry release name.\n\n\u003e Please review Sentry's documentation regarding max length and supported characters in release names.\n\nFor more information on these inputs, see the [API Documentation](https://developer.github.com/v3/repos/releases/#input)\n\n#### `sourceMapOptions`\n\n**Optional** A JSON object containing options to control [source map uploading](https://docs.sentry.io/cli/releases/#sentry-cli-sourcemaps).\n\nRefer to [Sentry's CLI JS](https://github.com/getsentry/sentry-cli/blob/1f5cdbb6897e41a7e9a3892aea3b34b4c0341207/js/releases/index.js#L114-L144) for possible values. The only required value is `include` which is an array of paths to upload source maps from.\n\n### Environment Variables\n\n#### `SENTRY_AUTH_TOKEN`\n\n**Required** Sentry auth token. The token needs the `org:read` and `project:releases` scopes.\n\n#### `SENTRY_ORG`\n\n**Required** Sentry organization.\n\n#### `SENTRY_PROJECT`\n\n**Required** Sentry project name.\n\n#### `SENTRY_URL`\n\n**Optional** URL to the Sentry instance, useful for e.g. on-prem deployments.\n\n## Example usage\n\n```yml\nname: Create a Sentry.io release\nuses: tclindner/sentry-releases-action@v1.2.0\nenv:\n  SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}\n  SENTRY_ORG: myAwesomeOrg\n  SENTRY_PROJECT: myAwesomeProject\nwith:\n  tagName: ${{ github.ref }}\n  environment: qa\n```\n\n\u003e Note: `sentry-releases-action` will automatically trim `refs/tags/` from `tagName`. This means you can pass `GITHUB_REF` directly from release events without the need of mutating it first.\n\nIf you prefer to use the commit as the release name, use `${{ github.sha }}` for the `tagName` parameter.\n\n### Full example workflow\n\nOn every GitHub `release` event.\n\n```yaml\nname: ReleaseWorkflow\n\non:\n  release:\n    types: [published, prereleased]\n\n\njobs:\n  createSentryRelease:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@master\n      - name: Create a Sentry.io release\n        uses: tclindner/sentry-releases-action@v1.2.0\n        env:\n          SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}\n          SENTRY_ORG: myAwesomeOrg\n          SENTRY_PROJECT: myAwesomeProject\n        with:\n          tagName: ${{ github.ref }}\n          environment: qa\n```\n\nAssume you tagged your release as `v1.0.0`. `github.ref` would equal `refs/tags/v1.0.0`. This action automatically strips `refs/tags/`, so the Sentry release name is `v1.0.0`.\n\n### Example workflow with optional release prefix\n\nOn every GitHub `release` event.\n\n```yaml\nname: ReleaseWorkflow\n\non:\n  release:\n    types: [published, prereleased]\n\n\njobs:\n  createSentryRelease:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@master\n      - name: Create a Sentry.io release\n        uses: tclindner/sentry-releases-action@v1.2.0\n        env:\n          SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}\n          SENTRY_ORG: myAwesomeOrg\n          SENTRY_PROJECT: myAwesomeProject\n        with:\n          tagName: ${{ github.ref }}\n          environment: qa\n          releaseNamePrefix: myAwesomeProject-\n```\n\nScenario 1: Assume you tagged your release as `v1.1.0`. `github.ref` would equal `refs/tags/v1.1.0`. This action automatically strips `refs/tags/`, so the Sentry release name is `myAwesomeProject-v1.1.0`.\n\nScenario 2: Assume you tagged your release as `1.1.0` and you set `releaseNamePrefix` to `myAwesomeProject@`. `github.ref` would equal `refs/tags/1.1.0`. This action automatically strips `refs/tags/`, so the Sentry release name is `myAwesomeProject@1.1.0`.\n\n\u003e Note: This action only works on Linux x86_64 systems.\n\n### Example workflow with optional sourcemap upload\n\nOn every GitHub `release` event.\n\n```yaml\nname: ReleaseWorkflow\n\non:\n  release:\n    types: [published, prereleased]\n\n\njobs:\n  createSentryRelease:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@master\n      - name: Create a Sentry.io release\n        uses: tclindner/sentry-releases-action@v1.2.0\n        env:\n          SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}\n          SENTRY_ORG: myAwesomeOrg\n          SENTRY_PROJECT: myAwesomeProject\n        with:\n          tagName: ${{ github.ref }}\n          environment: qa\n          releaseNamePrefix: myAwesomeProject-\n          sourceMapOptions: '{\"include\": [\"build\"]}'\n```\n\nAs noted above, refer to [Sentry's CLI JS](https://github.com/getsentry/sentry-cli/blob/1f5cdbb6897e41a7e9a3892aea3b34b4c0341207/js/releases/index.js#L114-L144) for possible values. `include` is the only required value.\n\n\u003e Note: This action only works on Linux x86_64 systems.\n\n## Related\n\n[sentry-release-deploy-action](https://github.com/tclindner/sentry-release-deploy-action) - Action used create a deploy for an existing release created by this action.\n\n## Contributing\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Release History\n\nPlease see [CHANGELOG.md](CHANGELOG.md).\n\n## License\n\nCopyright (c) 2019-2023 Thomas Lindner. Licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftclindner%2Fsentry-releases-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftclindner%2Fsentry-releases-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftclindner%2Fsentry-releases-action/lists"}