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!)
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.
- 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.
- However if you have a
- Additionally, if you have a
.cz-config.js
in the root of your repo, that will be used to enforce your custom scopes & types.
- 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.
The responses of the webhook should be minimally helpful:
- https://github.com/login/oauth/authorize?client_id=e3737bbd21bc66fb0a18&login=GoogleChrome&scope=repo:status%20public_repo
- grab the
code
that's in the URL afterwards. - 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
MIT