Skip to content

paulirish/commitlintbot

Repository files navigation

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://commitlintbot2.vercel.app/api/lint-title
    • 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

Dev

getting a magical oauth token to use so the icon is the app not me

  1. https://github.com/login/oauth/authorize?client_id=e3737bbd21bc66fb0a18&login=GoogleChrome&scope=repo:status%20public_repo
  2. grab the code that's in the URL afterwards.
  3. https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#2-users-are-redirected-back-to-your-site-by-github
    • use postman or whatever to post those in the body

LICENSE

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published