SideCI Blog

自動コードレビューサービスSideCIを提供している株式会社アクトキャットのコーポレートブログです。



RuboCopの自動修正がSideCI上から行えるようになりました。

こんにちは。最近ドラゴンクエストビルダーズに時間泥棒されている@vexus2です。

今週のSideCIのアップデート情報です。

RuboCopの自動修正をSideCIから行えるようになりました。

alt="auto correct image"

RuboCopには --auto-correct オプションを付加すると修正可能なコードを自動修正してくれる機能があるんですが、それらをSideCI+GitHubのPullRequestのみで行えるようになりました。

具体的には、「Pull Requestに対するRuboCopの指摘を修正するPull RequestをSideCIから作成」し、それをマージすることでローカルで修正せずとも反映できるという形です。RuboCopの自動修正の対象は 該当Pull Request内のコミットで変更があったファイル になります。(差分箇所のみではない点をご留意下さい!)

また、RuboCopの各項目ごとにAuto-correctを実行する/しないなどのオプションは .rubocop.yml でカスタマイズ可能です。

事前設定

SideCI上の 解析ツール設定 からRuboCopを有効にしておきます。また、 GitHub上にコメントを行わない オプションは 外して おいてください。

alt="RuboCop setting" RuboCopの設定

実行方法

RuboCop自動修正は2つの実行方法があります。

1つ目はSideCIの Pull Requestに対するRuboCopの指摘 から RuboCopの指摘を自動修正 を実行するパターン、 alt="auto correct button" SideCIからの実行

2つ目はGitHubのPull Requestにコメントされるリンクから実行するパターンです。 後者の方は RuboCopの指摘が1件以上あるPull Request に対してコメントされる形で修正リンクが付記されます。 リンク押下で即時Pull Request生成が実行されます。

alt="auto correct from comment" コメントからの実行

確認方法

自動修正Pull Requestが生成されると、修正元のPull Requestにコメントが付与されます。

alt="auto correct comment" 修正元へのコメント

最後に、生成されたPull Requestを目視レビューのうえマージしたら完了です。

alt="auto correct Pull Request" 生成されたPull Requestをマージ

文章だと動き伝わりにくい機能ですが、実際使ってみるととても便利な機能なのでぜひ試してみてください!