6.3. リポジトリースキャンの管理
Ansible コードボットダッシュボードには、コードボットがインストールされているリポジトリーのリストが表示され、スキャンスケジュールが設定されていないのか、手動スキャンまたはスケジュールスキャンに設定されているかが示されます。
手動スキャンを開始して Git リポジトリーをスキャンすることも、定期的にリポジトリーをスキャンするスケジュールを設定することもできます。スキャンが完了すると、スキャン履歴 (開始時刻、ステータス、スキャンの種類、作成された場合はプルリクエストへのリンク、スキャンが失敗した場合はログメッセージ) を表示できます。スキャン対象の新しいリポジトリーを追加したり、既存のリポジトリーをスキャン対象から削除したりすることもできます。
6.3.1. Git リポジトリーの手動スキャン
Ansible コードボットにスキャンスケジュールを設定しなかった場合、または次にスケジュールされたスキャンを待たない場合は、Git リポジトリーを手動でスキャンできます。リポジトリーを手動でスキャンしてもプルリクエストが作成されなかった場合は、重複したプルリクエストがすでに存在している可能性があります。Ansible コードボットダッシュボードと GitHub の両方からリポジトリーをスキャンできます。
6.3.1.1. Ansible コードボットダッシュボードからリポジトリーを手動でスキャンする
Ansible コードボットにスキャンスケジュールを設定しなかった場合、または次にスケジュールされたスキャンを待たない場合は、Git リポジトリーを手動でスキャンできます。
手順
Ansible code bot dashboard にログインします。
Repositories リストには、スキャン対象として選択したリポジトリーのリストが表示されます。
注記Repositories リストにリポジトリーが表示されない場合は、スキャン用に追加できます。詳細は、Ansible コードボットへのリポジトリーの追加または削除 を参照してください。
-
リポジトリーの手動スキャンを開始するには、Ellipsis アイコン (
) スキャンするリポジトリーの横にある Scan now を選択します。
- Refresh をクリックして、スキャンジョブのステータスを表示します。
リポジトリースキャンの詳細を表示するには、Ellipsis アイコン (
) リポジトリーの横にある View scan history を選択します。
リポジトリーのスキャン履歴は、スキャン開始時刻、スキャンステータス、スキャンの種類 (スケジュールまたは手動)、作成された場合はプルリクエストへのリンク、スキャンが失敗した場合はログメッセージとともに表示されます。
-
GitHub 上のリポジトリーを表示するには、Ellipsis アイコン (
) リポジトリーの横にある View repository を選択します。
6.3.1.2. GitHub からのリポジトリーの手動スキャン
Ansible コードボットのスキャンスケジュールを設定していない場合、または次のスケジュールされたスキャンを待機する必要がない場合は、GitHub から Git リポジトリーを手動でスキャンできます。
手順
- GitHub で、スキャンするリポジトリーのメインページに移動します。
- リポジトリー設定を変更するには、About エリアの横にある Settings アイコンをクリックします。
Topics フィールドに、リポジトリーへのキーワード ansible-code-bot-scan を入力します。
次の図は、手動スキャンを開始するためのキーワードトピックを示しています。
Save changes をクリックします。
リポジトリー Webhook イベントに基づいて、Ansible コードボットはリポジトリーの手動スキャンを開始します。プルリクエストの重複を回避する条件が満たされていない場合、手動スキャンで、必要な Ansible コードボットの推奨事項がすべて含まれた新しいプルリクエストが生成されます。
6.3.2. Ansible コードボットのリポジトリーの定期スキャン設定
Ansible コードボットをインストールすると、Jinja 形式の選択されたリポジトリーが自動的にスキャンされます。スキャンが完了すると、コードボットは各リポジトリーの初期 PR を生成します。初期 PR には、毎週実行するように設定されたスキャンスケジュールも含まれています。必ず提案された変更について初期 PR を確認し、PR をマージしてください。初期 PR がマージされると、スキャンスケジュールがトリガーされ、後続のリポジトリースキャンが毎週実行されます。必要に応じて、スキャンスケジュールを毎日または毎月の頻度に変更できます。
初期 PR をマージしないと、週次スキャンスケジュールがトリガーされず、関連するスキャン履歴がない状態で Ansible コードボットダッシュボードにリポジトリーが表示されます。このような場合は、設定ファイル ansible-code-bot.yml
を手動で作成し、ファイル内でスキャンスケジュールを指定する必要があります。
Git リポジトリーをスキャンする頻度を次のいずれかに指定できます。
- Daily: 月曜日から日曜日まで毎日実行されます。
- Weekly: 毎週月曜日に 1 回実行されます。スケジュールを毎日または毎月に変更するまで、Ansible コードボットは、初期設定 PR に従って、リポジトリーを毎週スキャンするように設定されます。
- Monthly: 毎月 1 回、月の初日に実行されます。
各間隔で、Ansible コードボットは UTC 午前 9 時に Git リポジトリーのスキャンを開始します。
手順
- GitHub で、スキャンするリポジトリーに移動します。
-
リポジトリーの
.github
フォルダーにansible-code-bot.yml
という名前の.yml
設定ファイルを作成します。
たとえば、.github/ansible-code-bot.yml
です。 設定ファイルで、
interval
パラメーターにスキャンスケジュールを指定します。interval
パラメーターは、daily
、weekly
、またはmonthly
として指定できます。以下に例を示します。schedule: interval: daily
schedule: interval: daily
Copy to Clipboard Copied! - 変更をコミットします。
Ansible コードボットは、午前 9 時 (UTC) に設定したスケジュールに従ってリポジトリーのスキャンを開始します。
6.3.3. リポジトリーのスキャン履歴の表示
Ansible コードボットダッシュボードを使用して、リポジトリーとそのスキャン履歴の一覧を表示します。
手順
Ansible code bot dashboard にログインします。
Ansible コードボットダッシュボードには、コードボットがインストールされているリポジトリーのリストが表示され、スキャンスケジュールが設定されていないのか、手動スキャンまたはスケジュールスキャンに設定されているかが示されます。
リポジトリーのスキャン履歴を表示するには、Ellipsis アイコン (
) リポジトリーの横にある View scan history を選択します。
リポジトリーのスキャン履歴は、スキャン開始時刻、スキャンステータス、スキャンの種類 (スケジュールまたは手動)、作成された場合はプルリクエストへのリンク、スキャンが失敗した場合はログメッセージとともに表示されます。
-
GitHub 上のリポジトリーを表示するには、Ellipsis アイコン (
) リポジトリーの横にある View repository を選択します。
6.3.4. Ansible コードボットからのリポジトリーの追加または削除
リポジトリーに対して Ansible コードボットを有効にしたり、管理する必要がなくなったリポジトリーを削除したりできます。
手順
- Ansible code bot dashboard にログインします。
- Manage Code Bot on GitHub をクリックします。
- GitHub で、プロファイルの写真 > Settings をクリックします。
- Integrations で、Applications をクリックします。
Repository access 領域から、次のいずれかのタスクを実行します。
- Add a new repository: Select repositories リストから、追加するリポジトリーを選択します。新たに追加したリポジトリーが Ansible code bot ダッシュボードに表示されます。
- Remove an existing repository: Select repositories リストから、削除するリポジトリーの横にある 十字 アイコンをクリックします。削除されたリポジトリーの詳細が、Ansible コードボットダッシュボードに表示されなくなります。
- Save をクリックします。