☢️ Serious and immediate danger.
Clone or download
orta Merge pull request #407 from ashfurrow/tasks-array-bug-fix
Fixes multiple task repition bug
Latest commit 0db941d Jan 7, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Adds tests for the task/repeated schedulers Sep 2, 2018
docs Remove invalid ] from settings repo json Nov 19, 2018
hooks Update hyper Aug 27, 2018
public Improve the index Apr 26, 2018
scripts WIP on task scheduling Sep 1, 2018
source Fixes multiple task repition bug. Jan 7, 2019
.babelrc More docs Feb 18, 2018
.dockerignore Add logging Mar 26, 2017
.env.sample Get a bit closer to fixing the runTasks issue Jun 8, 2018
.gitignore More deploy faff Apr 21, 2018
.node-version Pin node version. Apr 14, 2018
.prettierignore Updates node version + in docker, and agenda Sep 1, 2018
.travis.yml Fixes all the other node versions Sep 1, 2018
CHANGELOG.md Adds the ability to toggle checks support for Peril Nov 10, 2018
Dockerfile Updates node version + in docker, and agenda Sep 1, 2018
Dockerfile.runner Fixes all the other node versions Sep 1, 2018
LICENSE Update license year Dec 29, 2017
README.md Use correct indefinite article Sep 25, 2018
VISION.md Update the vision file now that it's basically feature complete Jul 22, 2018
app.json Update default values for `app.json` for Heroku Jan 13, 2018
dangerfile.lite.ts dangerfile fixes Sep 1, 2018
docker-compose.yml Add support for a Peril user ID, remove ENV var things which aren't used Apr 11, 2017
jsconfig.json init Dec 17, 2016
now.staging.json Deploy faff Nov 16, 2018
package.json Adds googleapis dependency for downstream use. Jan 4, 2019
peril-settings-json.schema Adds the ability to toggle checks support for Peril Nov 10, 2018
tsconfig.json Use allowSyntheticDefaultImports so all if OK for github API with cur… Oct 16, 2018
tslint.json Initial implementation for recording all webhooks for 5m Apr 28, 2018
wallaby.js Docs and tests Aug 6, 2018
yarn.lock Adds googleapis dependency for downstream use. Jan 4, 2019

README.md

per·il ˈperəl noun

  1. 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.


I want to run Peril for my org

OK, I made a quick tutorial for running a private Peril against your org.

I want to hack on Peril!

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

How does Peril work?

There are some key files where the magic happens:

This is a reasonably tested project, there's a lot in places where the code isn't going to change much now so they're slowly getting covered.

Docs