https://github.com/rollbar/github-deploy-action
Github action to notify deploys to Rollbar
https://github.com/rollbar/github-deploy-action
Last synced: about 1 year ago
JSON representation
Github action to notify deploys to Rollbar
- Host: GitHub
- URL: https://github.com/rollbar/github-deploy-action
- Owner: rollbar
- Created: 2020-04-02T09:06:37.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-07T21:55:42.000Z (over 1 year ago)
- Last Synced: 2025-03-30T06:06:30.655Z (about 1 year ago)
- Language: Shell
- Homepage:
- Size: 158 KB
- Stars: 53
- Watchers: 24
- Forks: 13
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GitHub deploy action

A GitHub action that notifies deploys to [Rollbar](https://rollbar.com).
## Usage
This action requires that you set the `ROLLBAR_ACCESS_TOKEN` environment variable with a token that must have the [`post_server_item`](https://docs.rollbar.com/reference/create-item) scope.
You can find it under your project's settings in the Project access token section.
When notifiying deploys in two stages, for sending to Rollbar when a deploy starts and the status of its result (succeeded or failed ) you need
also to set the `DEPLOY_ID` environment variable with the ouput of the previous step.
Optionally set `ROLLBAR_USERNAME` environment variable, usernames can be found at:
> https://rollbar.com/settings/accounts/YOUR_TEAM/members/
> NOTE: When using [`github.actor`](https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context) as the `ROLLBAR_USERNAME` ensure the username in Rollbar matches your GitHub username. If your Rollbar usernames don't match GitHub usernames, you may want to instead set the `local_username` input.
### Inputs
| Input | Required | Default | Description |
| --------------- | --------- | ------------ | ------------------------------------------------ |
| `environment` | `true` | | The environment where the deploy is being done. |
| `version` | `true` | | The version being deployed. |
| `status` | `false` | `succeeded` | The status of the deploy. |
| `source_maps` | `false` | | JS source map files. |
| `minified_urls` | `false` | | Minified URLs linked to source maps above |
| `local_username`| `false` | | Username of the deploying user. Alternative to setting ROLLBAR_USERNAME |
### Outputs
| Input | Description |
| ------------ | --------------------- |
| `deploy_id` | The id of the deploy. |
### Example
```yaml
steps:
- name: Notify deploy to Rollbar
uses: rollbar/github-deploy-action@2.1.2
id: rollbar_deploy
with:
environment: 'production'
version: ${{ github.sha }}
env:
ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}
ROLLBAR_USERNAME: ${{ github.actor }}
```
### Example with deploy update
```yaml
steps:
- name: Notify start deploy to Rollbar
uses: rollbar/github-deploy-action@2.1.2
id: rollbar_pre_deploy
with:
environment: 'production'
version: ${{ github.sha }}
status: 'started'
env:
ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}
ROLLBAR_USERNAME: ${{ github.actor }}
...
steps:
- name: Notify finish deploy to Rollbar
uses: rollbar/github-deploy-action@2.1.2
id: rollbar_post_deploy
with:
environment: 'production'
version: ${{ github.sha }}
status: 'succeeded'
env:
ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}
ROLLBAR_USERNAME: ${{ github.actor }}
DEPLOY_ID: ${{ steps.rollbar_pre_deploy.outputs.deploy_id }}
```
### Example with JS Source Map
```yaml
jobs:
# This workflow builds source maps
build:
- uses: actions/checkout@v2
- name: npm run build
run: npm run build --prefix templates/static/
- uses: actions/upload-artifact@v2
with:
name: bundle.js.map
path: public/bundle.js.map
- uses: actions/upload-artifact@v2
with:
name: bundle2.js.map
path: public/bundle2.js.map
# This workflow deploys source maps to Rollbar
deploy:
needs: build
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
with:
name: bundle.js.map
- uses: actions/download-artifact@v2
with:
name: bundle2.js.map
- name: Rollbar deploy
uses: rollbar/github-deploy-action@2.1.2
with:
environment: production
version: ${{ github.sha }}
status: succeeded
source_maps: bundle.js.map bundle2.js.map
minified_urls: https://www.example.com/public/bundle.js https://www.example.com/public/bundle2.js
env:
ROLLBAR_ACCESS_TOKEN: ${{ secrets.ROLLBAR_ACCESS_TOKEN }}
```