読者です 読者をやめる 読者になる 読者になる

SideCI Blog

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



SideCI上でPHP_CodeSniffer自動修正が行えるようになりました

SideCI Update PHP

SideCIはphp-cs-fixerを利用して、修正可能なPHP_CodeSnifferによる指摘を自動修正したPull Requestを生成することができます。 この機能を既存のワークフローに組み込むことによって「Pull Requestに対するPHP_CodeSnifferの指摘を修正するPull RequestをSideCIから作成し、それをマージする」ことでローカルで修正せずともコード指摘を反映できるようになります。

この自動修正の対象は 該当Pull Request内のコミットで変更があったファイル になります。差分箇所のみではない点をご留意下さい。

また、php-cs-fixerの修正は、sideci.ymlのPHP_CodeSnifferの設定に沿って行われます。
ただし、自動修正に指定できるのは以下のみとなり、該当しない場合は PSR2 として自動修正が行われます。 - PSR0 - PSR1 - PSR2 - Symfony

設定方法

SideCI上の 解析ツール選択 からPHP CodeSnifferを有効にしておきます。また、 GitHub上にコメントを行わない オプションは外しておきます。 slt="PHP CodeSniffer setting" PHP CodeSniffer の設定

実行方法

CodeSnifferの指摘を自動修正する方法については、2つの実行方法があります。

1. SideCIから

SideCIの Pull Requestに対するCodeSnifferの指摘 から PHP Code Snifferの指摘を自動修正する をクリックすると、PHP_CodeSnifferの指摘を自動修正するPull Requestが生成されます。 alt="auto correct button"

2. GitHubのPull Requestから

GitHubのPull Requestにコメントされるリンクから実行します。 alt="auto correct from comment"

RuboCopの指摘が1件以上あるPull Request に対してコメントされる形で修正リンクが付記されます。 Auto Correct by SideCIボタンをクリックすると、Pull Request生成が実行されます。

自動修正されたPull Requestをマージする

自動修正のPull Requestが生成されます。 alt="auto correct Pull Request image" 自動修正のPull Requestイメージ

また、修正元のPull Requestに自動生成されたPull Requestについてのコメントが付与されます。 alt="comment about auto corrct" 修正元へのコメント

生成されたPull Requestをレビューの上、マージしてください。