https://github.com/zoni/slack-trigger-pd
Trigger PagerDuty incidents from Slack without users needing to have associated PagerDuty accounts
https://github.com/zoni/slack-trigger-pd
Last synced: 8 months ago
JSON representation
Trigger PagerDuty incidents from Slack without users needing to have associated PagerDuty accounts
- Host: GitHub
- URL: https://github.com/zoni/slack-trigger-pd
- Owner: zoni
- License: apache-2.0
- Archived: true
- Created: 2021-09-05T22:26:02.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-12-19T17:17:09.000Z (over 4 years ago)
- Last Synced: 2024-10-08T09:21:26.587Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 85 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# slack-trigger-pd
Trigger [PagerDuty](https://www.pagerduty.com/) incidents from [Slack](https://slack.com/) without users needing to have associated PagerDuty accounts.
Runs as a serverless application on [Azure Functions](https://docs.microsoft.com/en-us/azure/azure-functions/).
## Project status
This is being actively used and supported by the engineering department at [Castor](https://www.castoredc.com/) to allow anyone within the company to open incidents.
## Configuration
In order to work correctly, the following [app settings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-app-settings) are required:
- `PAGERDUTY_API_KEY`:
A valid PagerDuty [user API token](https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTUx-authentication) (it's recommended to create a dedicated "robot" account for this).
- `PAGERDUTY_USER_EMAIL`:
The email address of the user associated with above API key.
- `SLACK_API_TOKEN`:
The Slack API token associated with the Slack App (see [Installing into a Slack workspace](#installing-into-a-slack-workspace) below).
- `SLACK_SIGNING_SECRET`:
The Slack signing secret, used to validate requests coming from Slack.
### Optional configuration
These optional app settings can be set for additional functionality:
- `SENTRY_DSN`: A [Sentry DSN](https://docs.sentry.io/product/sentry-basics/dsn-explainer/) to enable exception tracking with [Sentry](https://sentry.io/).
## Installing into a Slack workspace
1. Visit and click _Create New App_.
2. Choose _From an app manifest_ and select the desired workspace.
3. Paste in the contents from `slack-app-manifest.yml`, making sure to replace `${FUNCTIONS_APP_DOMAIN}` with the endpoint of your deployed Azure Functions app.
- Hint: envsubst can be helpful here, try: `FUNCTIONS_APP_DOMAIN=your-function-name.azurewebsites.net envsubst < slack-app-manifest.yml`)
4. Review and complete the installation, then proceed with _Install to Workspace_.
## License
This software is dual-licensed under the [Apache 2.0](LICENSE-APACHE) and the [MIT](LICENSE-MIT) licenses.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.