raidenyn / commitlintbot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

commitlintbot

Runs commitlint against your projects PRs


Build Status

version downloads MIT License

All Contributors PRs Welcome Code of Conduct

Watch on GitHub Star on GitHub Tweet

screen shot 2017-10-07 at 4 50 48 pm

The problem

You use conventional-changelog, but you squash pull requests (PRs). So you want PR titles to match the same semantics as your conventional changelog requirements. (If you want a bot to lint against your commit messages instead of the PR title, then check out ahmed-taj/commitlint-bot!)

This solution

commitlintbot is a bot that will update your pull request's commit status based on your PR's title satisfying the requirements of your conventional-changelog configuration. It runs on now.sh, and receives github webhooks and updates a commit status via the Github API.

image image

Configuration

  • A default commitlint config will be applied.
    • However if you have a commitlint.config.js in the root of the repo, that will be used instead. The other config formats (.commitlintrc.js, .commitlintrc.json, .commitlintrc.yml) are not supported.
  • Additionally, if you have a .cz-config.js in the root of your repo, that will be used to enforce your custom scopes & types.

Installation

  • Setup webhook.
    • https://commitlintbot.now.sh
    • application/json
    • Secret... not implemented. :|
    • Choose individual events: Pull request
    • Add.
  • If you want to use this in an organization and the org has fairly locked down permissions, org owners will need to approve the use of the app (via OAuth client_id): https://github.com/settings/connections/applications/e3737bbd21bc66fb0a18

Now, things should be pretty automatic.

Troubleshooting

The responses of the webhook should be minimally helpful:

image

Also

  • If you want to run your own.. just deploy to now with now -e GHTOKEN=yourgithubpersonalaccesstoken.

LICENSE

MIT

About

License:MIT License


Languages

Language:JavaScript 100.0%