per·il ˈperəl noun
- serious and immediate danger. "their family was in peril".
Peril is a tool that takes GitHub webhooks, and makes it easy to build one-off actions. It does this by having a per-account settings JSON, that connects JavaScript files to events from webhooks. So, for example, you can write a rule which runs when closing an issue in GitHub that looks for associated Jira tickets and resolves them. Peril provides no implicit actions like that, it instead offers a JavaScript runtime environment optimised to this domain so you can make actions to fit your needs.
Want to understand what the plan is? Consult the VISION.md
Peril uses Danger JS under the hood, Danger is a tool built for adding extra tests inside Pull Requests that can work at a different level of abstraction to unit and integration tests. For example, you could write tests which:
- Enforce CHANGELOGs
- Enforce links to Trello/JIRA in PR/MR bodies
- Enforce using descriptive labels
- Look out for common anti-patterns
- Highlight interesting build artifacts
- Give warnings when specific files change
... and any other rules specific to your team's culture and needs.
You gave two choices:
- Wait for me to ship Peril to production (probably mid-2019)
- Self-host your own Peril
OK, I made a quick tutorial for running a private Peril against your org - this is for Heroku, but the underlying principles work for all of them.
Ace, great, cool. So, it's a bit of a process. I'm not sure if this will get easier in time. It's a complex app. You can find out more here
This repo is a mono-repo with three main responsibilities: