接続する

リポジトリ

GitHubを接続すると、エージェントがコードを検索し、実行し、すべてのプルリクエストをレビューし、デプロイ先のインフラまで辿れるようになります。

リポジトリを接続すると、エージェントがソースコードを扱えるようになります。Polylaneはコードを検索用にインデックス化し、サンドボックスで実行し、すべてのプルリクエストを本番と照らし合わせてレビューし、リポジトリをデプロイ先の隣にトポロジー上で配置します。

できること

エージェントはコードをキーワードと意味の両方で検索するため、「指数バックオフ付きのリトライ」のようなクエリでも、その語がソースに一度も現れない場合でも正しいモジュールに到達します。調査に必要な場合は、リポジトリのコードをサンドボックスで実行します。すべてのプルリクエストは本番のトポロジーと照らし合わせてチェックされ、合格または不合格の判定がコメントとして付きます。

トポロジー上では、リポジトリはノードとして、デプロイ先のリソースとdeploys_toエッジで、その設定がプロビジョニングするリソースとdefinesエッジで結ばれます。エージェントがあるサービスのイシューを調査するとき、これらのエッジを辿ってそこにデプロイされるコードへ直接向かいます。

リポジトリを接続する

コンソールでSettings > Repositoriesを開き、Add repositoryを選びます。Add from GitHubは組織にPolylane GitHubアプリをインストールし、Polylaneが読めるリポジトリを選ばせます。接続されたリポジトリはコードの変更に合わせて同期が維持されます。

Add public repositoryは、公開GitHubリポジトリをURLで登録します。この方法で追加したリポジトリはコードが変わっても自動では更新されないため、活発に開発しているものにはGitHubアプリを使ってください。アプリの権限についてはGitHubを参照してください。

リポジトリページ

タブ機能
Settingsこのリポジトリの自動修正、プルリクエストレビュー、サンドボックスのネットワーク設定。以下で説明します。
ObservabilityPolylaneは同期ごとにリポジトリをレビューし、コードがどの程度計装されているかを報告します。テレメトリーを出力するルートハンドラーの数と、何も出力しないものです。各発見はAsk Polylane to fix itでエージェントに任せられます。
Changesこのリポジトリのプルリクエストレビューの履歴。それぞれ本番のトポロジーと照らし合わせてチェックされ、合格または不合格の判定が付きます。
Resourcesこのリポジトリが管理するクラウドリソース。Polylaneはデプロイマニフェストとプロバイダーのメタデータからリンクし、検出できないものはLink resourceで自分で追加します。レビューはこれらのリソースに調査範囲を絞り、リンクされるまではクラウドアカウント全体を対象にします。
Propertiesリポジトリの生のレコード。

リポジトリの設定

設定制御する内容
Open autofix pull requests確認済みの発見をこのリポジトリのプルリクエストにするかどうか。オフにすると新しいものは開かれなくなりますが、既存のプルリクエストは開いたまま残ります。
Review pull requests for production impactすべてのプルリクエストを本番のトポロジーと照らし合わせて調査し、判定コメントを付けるかどうか。
Pull request review instructionsレビュー向けのリポジトリ固有の指示。どのパスがデプロイ上重要か、どの懸念はすでに他のゲートが扱っているか、などです。
Block merging on production concernsレビューされたすべてのプルリクエストに「Polylane production impact」チェックを投稿し、レビューが懸念を見つけると失敗させます。ブランチ保護でこのチェックを必須にすると、マージをブロックできます。既定でオンです。
Agent internet accessコードの実行中にエージェントが外部へのネットワークリクエストを行えるかどうか。
Domain allowlistNone、パッケージレジストリと言語エコシステム向けのCommon dependencies、またはAll (unrestricted)。

関連

  • プルリクエストレビュー: レビューが確認する内容と判定の読み方。
  • トポロジー: リポジトリが加わるグラフ。
  • Autofix: Polylaneが接続済みリポジトリに対して開くプルリクエスト。
  • GitHub: アプリの権限と、接続解除で削除されるもの。