Skip to content

guykisel/inline-plz-bot

Repository files navigation

inline-plz-bot

Web service version of https://github.com/guykisel/inline-plz - lints your Pull Requests and comments inline on the diffs!

Inline lint!

How do I use this

  1. Settings -> Webhooks -> Add Webhook
  2. Payload URL: https://inlineplz.herokuapp.com/
  3. Let me select individual events: select Pull Request

Why do I want to use this

If you use static analysis with your pull requests, you've probably gotten used to this workflow:

  1. Run static analysis locally, fix issues
  2. Push up a branch
  3. Open a PR
  4. Wait for the PR to pass in your CI tool
  5. Get a little red X on your PR because you forgot to run one of the static analysis tools
  6. Click on the little red X, crawl through console logs, and eventually find a cryptic message referencing a specific line in one of your files
  7. Go back to your code, look up the right file and line, and then go back to the error message because you already forgot what it was

This bot gives you the static analysis output directly inlined in your PR diffs so you can understand failures more efficiently.

How does it work

  1. This repo contains a simple little Flask server that listens for Github webhooks
  2. When someone opens a pull request or pushes up some new commits, the repo's webhook POSTs to the Flask server
  3. The Flask server reads the Github PR data (branch, sha, etc.), clones the repo, and shells out to inline-plz
  4. inline-plz runs static analysis tools and uses the Github API to comment on the PR with any errors it finds

This is cool, how can I contribute

  • Report bugs and feature requests!
  • Add support for more static analysis tools
  • Add support for other code review tools besides just Github
  • Add documentation
  • Add unit tests
  • Fix bugs

About

Web service version of https://github.com/guykisel/inline-plz - lints your Pull Requests and comments inline on the diffs!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published