プルリクエストレビュー
ほとんどのインシデントは変更から始まります。Polylaneは接続されたリポジトリのすべてのプルリクエストを、デプロイ先の本番リソースと照らし合わせてレビューし、合格か不合格かを伝える1つのコメントを投稿します。
できること
エージェントは差分と、リポジトリのデプロイ先リソースの生きたメトリクス、ログ、開いているイシューを読み、その変更が本番を傷つける可能性があるかを判断します。プルリクエストへの1つのコメント、任意のPolylane production impactチェック、そして完全な分析を載せたコンソールのスレッドが得られます。
仕組み
- 既定ブランチに対するプルリクエストを開く、それにプッシュする、またはレビュー可能とマークすると、そのheadコミットのレビューが始まります。ドラフトはレビューされません。
- 後のプッシュは進行中のレビューを置き換えるため、判定されるのは常に最新のコミットだけです。
- ドキュメント、テスト、CIファイルのみに触れる変更は、調査なしで合格します。
- Polylaneはリポジトリのデプロイエッジを辿って本番リソースに到達します。エッジがない場合は、ワークスペースのクラウドアカウント全体と照らし合わせてレビューします。
- エージェントがスレッドで調査し、
passまたはfailの判定を記録します。 - プルリクエストごとに1つのコメントが、レビューのたびに編集されます。不合格の場合はHold this mergeと影響レベル、発見が示されます。合格の場合はProduction impact unlikelyと示されるか、検出済みのイシューに対する修正がそれを解決する見込みかどうかが述べられます。後のプッシュが懸念に対処すると、コメントは合格に戻り、その旨を伝えます。
エージェントは、提案コメントをまとめた1回のレビュー、またはスタックしたプルリクエストとして、オブザーバビリティの改善を提案することもあります。これらは判定に影響しません。
レビューに対応する
プルリクエストのコメントで@polylaneにメンションすると、Polylaneが同じ会話の中で答えます。メンバーでない人には、代わりにアクセスに関する案内が届きます。
| 依頼する内容 | 起こること |
|---|---|
| 質問 | エージェントがレビューのスレッドから、証拠を手元に置いて答えます。 |
| 再確認 | エージェントが最新のプッシュを再度レビューし、判定を見直します。 |
| 修正 | Polylaneが修正実行を開始し、そのプルリクエストのブランチに対してスタックしたプルリクエストを開きます。コメントからリンクされます。 |
コンソールのリポジトリのChangesタブには、すべてのレビューが一覧されます。不合格には、同じ修正実行を開始するFix with Polylaneと、懸念が当てはまらない場合のDismissがあります。却下してもプルリクエストのレビューは続きますが、Restoreするまでコメントは付きません。
| ステータス | 説明 |
|---|---|
| In review | Polylaneが最新のプッシュをレビュー中です。 |
| Flagged | レビューが本番への懸念を見つけました。 |
| Passed | 本番への懸念は見つかりませんでした。 |
| Resolved | 後のプッシュが懸念に対処しました。 |
| Dismissed | メンバーがレビューを却下しました。プルリクエストにはコメントが付かなくなります。 |
設定
レビューは接続されたすべてのリポジトリでオンになっています。Settings > Pull request reviewsでワークスペース全体のレビューをオフにし、レビューのスレッドをプルリクエストの閲覧者と共有するかどうかを設定します。Settings > Repositoriesでは、リポジトリのSettingsタブに3つのフィールドが追加されます。
| フィールド | 説明 |
|---|---|
| Review pull requests for production impact | このリポジトリのみレビューをオフにします。 |
| Pull request review instructions | エージェントがレビューのたびに読む自由記述。デプロイ上重要なパスや、すでに他のゲートが扱っている懸念などです。 |
| Block merging on production concerns | レビューされたすべてのプルリクエストにPolylane production impactチェックを投稿します。懸念があると失敗します。既定でオンです。ブランチ保護で必須にすると、マージをブロックできます。 |
このチェックはマージキューのコミットでも完了します。プルリクエストはキューに入る前にレビューされているためです。不合格の判定はProduction Concern Foundメールを送ることができます。これは通知で既定ではオフです。
プランに関する注意
各プランには月間のプルリクエストレビュー数が含まれています。Freeプランの上限は請求と使用量に記載されており、残りが少なくなるとメンバーにメールが届きます。上限を超えると、コンソールはプルリクエストをProduction impact not verifiedとして記録し、GitHubには何も投稿されません。