textlint+reviewdogでGitHub Actionsでの文書校正を楽々実現!
はじめに
textlintを導入して校正ができるようになりました。これは、Zennで記事を書くときに校正を目的としています。ただ、今の状況だとtextlintを都度実行する必要があります。せっかくGitHubとZennを連携したので、これを、PullRequestのタイミングでtextlintを実行すべくGitHubActionsに取り入れることにしました。
参考記事
textlint+reviewdogのworkflow
textlintのGitHub Actionsにreviewdogを想定したworkflowのサンプルが用意されています。これを使います。
ポイントはgithub_token
をPATにしている点です。いろいろやり方はあると思いますが、こちらを採用しました。参考記事だと、github_token: ${{ secrets.GITHUB_TOKEN }}
とするパターンが多かったのですが、今回は権限が足りていと判断しました。
Running textlint with reviewdog 🐶 ...
(省略)
403 Resource not accessible by integration []
Pull Requestに必要なworkflowの権限設定
personal access tokens (classic) であれば、以下を付与したPATを用意すれば動きそうです。
- repo
- repo:status
- pull_request
ただ、せっかくFine-grained personal access tokensを試したので、こちらで権限を設定してみることにします。この場合は以下となります。
- Contents .. repo
- Coomit statuses ... repo:status
- Pull requests ... pull_request
それぞれはclassic設定のこちらにあてはまると判断して設定。あとは、GitHubのリポジトリのページに移動して、「Settings」-「Secrets」-「New repository secret」をクリックし、トークン名と値を入力して保存すれば使えるようになります。
reviewdogの動作確認
試しにtextlintでひっかかりそうな文章を書いて、Pull requestsを実施。まずはworkflowの動作を確認。
その後、コメントで以下のようにreviewdogが校正チェックをしてくれました。
あとはコメントに沿って指摘事項を取り入れるか判断することができる状態になりました。
上記のように、わざと間違えてみたところ以下のレビューが入りました。
fixすることで修正をとりいれることもできます。
おわりに
参考記事を読んでもはまたっところは、nodeが使い慣れていなくてpackage.json用意で躓いた点と、PATの権限の付与と設定ぐらいでした。
textlint+reviewdogのworkflow用意は簡単ながら効果が大きいのでこの設定で様子見しつつ執筆していきたいです。
Discussion