{"id":14384473,"url":"https://github.com/eclass/semantic-release-sentry-releases","last_synced_at":"2025-07-24T13:05:19.949Z","repository":{"id":36110672,"uuid":"219836196","full_name":"eclass/semantic-release-sentry-releases","owner":"eclass","description":"semantic-release plugin to upload releases to sentry","archived":false,"fork":false,"pushed_at":"2025-02-04T03:35:18.000Z","size":2453,"stargazers_count":16,"open_issues_count":20,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T06:55:49.371Z","etag":null,"topics":["semantic-release","semantic-release-plugin","sentry"],"latest_commit_sha":null,"homepage":null,"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/eclass.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-11-05T19:41:28.000Z","updated_at":"2024-11-06T08:14:00.000Z","dependencies_parsed_at":"2023-10-03T07:40:03.942Z","dependency_job_id":"406f3c49-c02f-4bf7-9b69-994732bdfe1c","html_url":"https://github.com/eclass/semantic-release-sentry-releases","commit_stats":{"total_commits":679,"total_committers":12,"mean_commits":"56.583333333333336","dds":"0.14874815905743743","last_synced_commit":"ffb771ddc8541f32a366dabbbd5cfb4f73b9c8af"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":"eclass/template-semantic-release-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclass%2Fsemantic-release-sentry-releases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclass%2Fsemantic-release-sentry-releases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclass%2Fsemantic-release-sentry-releases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclass%2Fsemantic-release-sentry-releases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclass","download_url":"https://codeload.github.com/eclass/semantic-release-sentry-releases/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045245,"owners_count":21038554,"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":["semantic-release","semantic-release-plugin","sentry"],"created_at":"2024-08-28T18:01:24.846Z","updated_at":"2025-04-09T13:10:16.502Z","avatar_url":"https://github.com/eclass.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# @eclass/semantic-release-sentry-releases\n\n[![npm](https://img.shields.io/npm/v/@eclass/semantic-release-sentry-releases.svg)](https://www.npmjs.com/package/@eclass/semantic-release-sentry-releases)\n![Node.js CI](https://github.com/eclass/semantic-release-sentry-releases/workflows/Node.js%20CI/badge.svg)\n[![downloads](https://img.shields.io/npm/dt/@eclass/semantic-release-sentry-releases.svg)](https://www.npmjs.com/package/@eclass/semantic-release-sentry-releases)\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/@eclass/semantic-release-sentry-releases)\n[![Coverage Status](https://coveralls.io/repos/github/eclass/semantic-release-sentry-releases/badge.svg?branch=master)](https://coveralls.io/github/eclass/semantic-release-sentry-releases?branch=master)\n[![Maintainability](https://api.codeclimate.com/v1/badges/f84f0bcb39c9a5c5fb99/maintainability)](https://codeclimate.com/github/eclass/semantic-release-sentry-releases/maintainability)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\n\n\u003e [semantic-release](https://github.com/semantic-release/semantic-release) plugin to create releases in [sentry](https://docs.sentry.io/workflow/releases/?platform=browsernpm#create-release)\n\n| Step               | Description                                                                                            |\n| ------------------ | ------------------------------------------------------------------------------------------------------ |\n| `verifyConditions` | Verify the presence of the `SENTRY_AUTH_TOKEN` `SENTRY_ORG` and `SENTRY_PROJECT` environment variable. |\n| `publish`          | Create release and deploy in sentry project.                                                           |\n\n## Install\n\n```bash\nnpm i -D @eclass/semantic-release-sentry-releases\n```\n\n## Usage\n\nThe plugin can be configured in the [**semantic-release** configuration file](https://github.com/semantic-release/semantic-release/blob/caribou/docs/usage/configuration.md#configuration):\n\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/changelog\",\n    \"@semantic-release/npm\",\n    \"@semantic-release/git\",\n    \"@semantic-release/gitlab\",\n    \"@eclass/semantic-release-sentry-releases\"\n  ]\n}\n```\n\n## Configuration\n\n### Environment variables\n\n| Variable             | Description                                                                                                                                                                                                                                                                                                                                                                         |\n| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `SENTRY_AUTH_TOKEN`  | The authentication token with permission for releases created in [profile](https://docs.sentry.io/api/auth/#id1) or as [internal integration](https://docs.sentry.io/product/integrations/integration-platform/#internal-integrations) in developer settings of organization. Need scopes `release:admin`. Optional `org:read` to get valid repository name from sentry integration |\n| `SENTRY_ORG`         | The slug of the organization.                                                                                                                                                                                                                                                                                                                                                       |\n| `SENTRY_PROJECT`     | The slug of the project.                                                                                                                                                                                                                                                                                                                                                            |\n| `SENTRY_URL`         | The URL to use to connect to sentry. This defaults to https://sentry.io/.                                                                                                                                                                                                                                                                                                           |\n| `SENTRY_ENVIRONMENT` | The environment to specify with this release. This defaults to production.                                                                                                                                                                                                                                                                                                          |\n| `DEPLOY_START`       | Sentry deploy start timestamp. Optional for deploy                                                                                                                                                                                                                                                                                                                                  |\n| `DEPLOY_END`         | Sentry deploy end timestamp. Optional for deploy                                                                                                                                                                                                                                                                                                                                    |\n\n### Options\n\n| Variable        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                |\n| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `project`       | The slug of the project. Optional. Required if not present in environment variables                                                                                                                                                                                                                                                                                                                                                                        |\n| `org`           | The slug of the organization. Optional. Required if not present in environment variables                                                                                                                                                                                                                                                                                                                                                                   |\n| `url`           | The URL to use to connect to sentry. Optional to set an on-premise instance                                                                                                                                                                                                                                                                                                                                                                                |\n| `repositoryUrl` | A valid repository name for add link to commits of new release in **sentry format**. Optional. Ex: 'myorg / myapp'. Default repository property in package.json, or git origin url. Try recovery repository name from sentry api https://docs.sentry.io/api/organizations/list-an-organizations-repositories/                                                                                                                                              |\n| `tagsUrl`       | A valid url for add link to new release. Optional. Ex: https://github.com/owner/repo/releases/tag/vx.y.z                                                                                                                                                                                                                                                                                                                                                   |\n| `environment`   | Sentry environment. Optional for deploy. Default production                                                                                                                                                                                                                                                                                                                                                                                                |\n| `deployName`    | Deploy name. Optional for deploy                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| `deployUrl`     | Deploy url. Optional for deploy                                                                                                                                                                                                                                                                                                                                                                                                                            |\n| `sourcemaps`    | Directory with sourcemaps. Example `dist`. Optional for upload sourcemaps                                                                                                                                                                                                                                                                                                                                                                                  |\n| `urlPrefix`     | URL prefix for sourcemaps. Example `~/dist`. Optional for upload sourcemaps                                                                                                                                                                                                                                                                                                                                                                                |\n| `rewrite`       | Boolean to indicate rewrite sourcemaps. Default `false`. Optional for upload sourcemaps                                                                                                                                                                                                                                                                                                                                                                    |\n| `releasePrefix` | String that is passed as prefix to the sentry release. \u003cbr/\u003e Optional to fix the problem that releases are associated with the organization instead of the project ([Read More](https://github.com/getsentry/sentry-cli/issues/482)). \u003cbr/\u003e Ex: `releasePrefix:\"web1\"` would resolve **only** the sentry release to `web1-1.0.0`. \u003cbr/\u003e**Important Notice:** when you use this feature you also have to change the release name in your sentry client app. |\n\n| `pathToGitFolder` | Path to `.git` folder, relative to the current working directory. Optional. Defaults to current working directory |\n\n### Examples\n\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/changelog\",\n    \"@semantic-release/npm\",\n    \"@semantic-release/git\",\n    \"@semantic-release/gitlab\",\n    [\n      \"@eclass/semantic-release-sentry-releases\",\n      {\n        \"repositoryUrl\": \"myorg / myapp\",\n        \"tagsUrl\": \"https://github.com/owner/repo/releases/tag/\"\n      }\n    ]\n  ]\n}\n```\n\n#### Upload sourcemaps\n\n```json\n{\n  \"plugins\": [\n    \"@semantic-release/changelog\",\n    \"@semantic-release/npm\",\n    \"@semantic-release/git\",\n    \"@semantic-release/gitlab\",\n    [\n      \"@semantic-release/exec\",\n      {\n        \"prepareCmd\": \"npm run build\"\n      }\n    ],\n    [\n      \"@eclass/semantic-release-sentry-releases\",\n      {\n        \"repositoryUrl\": \"myorg / myapp\",\n        \"tagsUrl\": \"https://github.com/owner/repo/releases/tag/\",\n        \"sourcemaps\": \"dist\",\n        \"urlPrefix\": \"~/dist\"\n      }\n    ]\n  ]\n}\n```\n\n```yml\n# .gitlab-ci.yml\nrelease:\n  image: node:alpine\n  stage: release\n  script:\n    - npx semantic-release\n  only:\n    - master\n```\n\n```yml\n# .travis.yml\nlanguage: node_js\ncache:\n  directories:\n    - ~/.npm\nnode_js:\n  - '12'\nstages:\n  - test\n  - name: deploy\n    if: branch = master\njobs:\n  include:\n    - stage: test\n      script: npm t\n    - stage: deploy\n      script: npx semantic-release\n```\n\n## License\n\n[MIT](https://tldrlegal.com/license/mit-license)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclass%2Fsemantic-release-sentry-releases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclass%2Fsemantic-release-sentry-releases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclass%2Fsemantic-release-sentry-releases/lists"}