CLI application which notifies a given Sentry instance of new releases and deploys.
Name | Version |
---|---|
Drone CI | 0.8.0 |
const sentryForCI = require('sentry-for-ci')
;(async () => {
const sentry = sentryForCI({
endpoint: 'https://sentry.io/api/hooks/release/builtin/3/94fa654c6c7de15b6757531e99c485c8057136943fc5508d991c5c240f067196/',
origin: 'ci.my-domain.com',
dryRun: false,
debug: true
})
try {
await sentry.release(['backend'], '4d67a06d763d9387c41c25d764719a8f68fa763e', [{
repository: 'acme/backend',
commit: '4d67a06d763d9387c41c25d764719a8f68fa763e'
}])
} catch (err) {
console.error(err)
}
})()
Common properties used on all commands.
pipeline:
sentry:
image: rwillians/sentry-for-ci
endpoint: https://sentry.io/api/hooks/release/builtin/3/94fa654c6c7de15b6757531e99c485c8057136943fc5508d991c5c240f067196/
dry-run: true
debug: true
origin: ci.my-domain.com
projects: [ backend, frontend ]
repository: organization/repository
release_strategy: commit
commit: 4d67a06d763d9387c41c25d764719a8f68fa763e
Property | When | Type | Required | Default | Enum | Description | Alt. Env Variable |
---|---|---|---|---|---|---|---|
endpoint | any |
string |
true |
- | - | Sentry's API endpoint | SENTRY_RELEASE_WEBHOOK_URL |
origin | any |
string |
false |
- | - | Custom origin header | - |
event | any |
string |
false |
release |
release |
The event type to be registered | - |
release_strategy | any |
string |
false |
commit |
commit , tag
|
Choose between using commit hash or tag as release identifier | - |
debug | any |
boolean |
false |
false |
- | Logs debug information | - |
dry-run | any |
boolean |
false |
false |
- | Doesn't call Sentry's API | - |
projects | release |
array[string] |
true |
- | - | List of projects affected | - |
repository | release |
string |
false |
null |
- | Repository name (e.g: acme/repo) | - |
commit | release |
string |
false |
null |
- | Commit hash reference |
DRONE_COMMIT , CI_COMMIT'
|
environment | deploy |
string |
true |
- | - | The environment name | - |
url | deploy |
string |
false |
null |
- | The environment url | - |
CI_COMMIT=4d67a06d763d9387c41c25d764719a8f68fa763e \
CI_TAG=v1.0.0 \
PLUGIN_ENDPOINT=https://sentry.foobar.com \
PLUGIN_ORIGIN=ci.mydomain.com \
PLUGIN_PROJECTS=backend \
PLUGIN_RELEASE_STRATEGY=commit \
PLUGIN_COMMIT=4d67a06d763d9387c41c25d764719a8f68fa763e \
PLUGIN_REPOSITORY=organization/repository \
PLUGIN_ENVIRONMENT=testing \
PLUGIN_URL=https://testing.app.foobar.com/ \
PLUGIN_DEBUG=true \
PLUGIN_EVENT=release \
PLUGIN_DRY_RUN=true \
bin/sentry-for-ci
docker build -t sentry-for-ci .
docker run -ti \
-e CI_COMMIT=7f51241e4cee670ef93f9674f63b3191d36704d4 \
-e CI_TAG=v1.0.3-rc3 \
-e PLUGIN_ENDPOINT=https://cors-anywhere.herokuapp.com/https://sentry.sabes.org.br/api/hooks/release/builtin/3/66e5ac874dfc1b0ddb7bf0f8c24fc3b710f90070b72b699eba80896d19839dfe/ \
-e PLUGIN_ORIGIN=ci.sabes.org.br \
-e PLUGIN_PROJECTS=frontend \
-e PLUGIN_RELEASE_STRATEGY=commit \
-e PLUGIN_COMMIT=7f51241e4cee670ef93f9674f63b3191d36704d4 \
-e PLUGIN_REPOSITORY=hospitalalemao/sabes-frontend \
-e PLUGIN_ENVIRONMENT=testing \
-e PLUGIN_URL=https://testing.app.sabes.org.br \
-e PLUGIN_DEBUG=true \
-e PLUGIN_EVENT=release \
-e PLUGIN_DRY_RUN=true \
sentry-for-ci