私はJenkins 1.557を使用して、Gerrit 2.8インスタンスの変更を監視しています。私は次のプラグインを使用しています:
Gerrit Triggerで「テスト接続」を使用すると、成功が返されるので、資格情報が機能していることがわかります。 「詳細」ボタンの下のデフォルト値を使用しています。
私のテストビルドタイプでは、Jenkinsがチェックアウトするgitリポジトリを使用しています(「ls-l」のビルド後のステップを追加すると、リポジトリの内容が正しく表示されます)。ビルドトリガーを「gerritevent」に設定し、「gerrit trigger」で「Checkunreviewed patchsets」を選択し、「patchsetcreated」のトリガーを有効にしました。 gerritプロジェクトの設定は正しいようです。
新しい変更または変更の新しいパッチセットをアップロードしても、ビルドを起動できません。 「クエリとトリガーGerritパッチ」ボタンを使用して手動でビルドを起動すると、ビルドは行われますが、投票は記録されません。パズルの一部が明らかに欠けています。gerritにSSHで接続して「ストリームイベント」を実行すると、期待しているイベントが表示されます。
O'ReillyのJenkins(決定的なガイド)は、Gerritを実際にはカバーしていません。このJenkinsインスタンスによって管理されるgitリポジトリが数十あるため、ポーリングを回避しようとしています。
デバッグの次のステップは何ですか?
過去にいくつかの変更があり、プラグインを壊しました:
Gerrit 2.8は非推奨のapprove
コマンドを削除しました。これはAFAIKがプラグインを破壊したものです。 discussion および Release Notes を参照してください。これは2.11.0-beta1で修正されたので、これは当てはまらないと思います。
Gerrit 2.7は、Stream Events特権を導入しました。これは、ユーザーがストリームを受信することを禁止します。デフォルトのイベントについては、 リリースノート を参照してください。おそらく、Jenkinsユーザーにはこのアクセス権限がないため、変更をプッシュした後、ビルドはトリガーされません。