web-dev-qa-db-ja.com

マルチブランチパイプラインジョブにオープンプルリクエストが表示されない

JenkinsでGitHubリポジトリにリンクされたマルチブランチパイプラインジョブを構成しました。これは正常に機能しており、チェックのステータスをGitHubのプルリクエストにフィードバックして、ブランチがマージに適しているかどうかを確認します。

Jenkinsのジョブに対してリストされているオープンプルリクエストは表示されません。

enter image description here

Blue Oceanプラグインもインストールされており、PRも表示されていません。

なぜこれが当てはまるのか誰もが知っていますか?別のplugin\configがありませんか?

11
mindparse

私もこの問題を抱えていました。 joeyが提案したことを試しましたが、うまくいきませんでした。ブランチに含める正規表現フィルターにPR-.+(またはワイルドカードとしてPR-*)を追加すると、プルリクエストが「魔法のように」表示されることがわかりました。これのドキュメントが見つかりました ここ 。このプラグインの「公式」ドキュメントがこれを説明していないことは非常にイライラします(少なくとも私が見つけたまばらなドキュメントから)。動作する私のプロジェクトの構成は次のとおりです。 Picture.Jenkins.MultiBranch.Pipeline.PullRequests.addTo.Github.FilterDiscover.And.BlueOcean.png

これがこのユースケースでこのプラグインを使用するための推奨される方法であるかどうかはわかりませんが、Jenkinsには十分なドキュメントがないようです。

10
Daniel Wright

私は同じ問題を抱えていました。ただし、今回は以下に示すようにBlue OceanUI内で

enter image description here

修正は、ジョブレベルでGitの使用からGitHubブランチソースに切り替えて、GitHubブランチソースを構成することでした。ジョブタイプはマルチブランチパイプラインでした。

2
joey

Bitbucketの場合、bitbucketブランチソースプラグインはプルリクエストを実行すると思いますが、githubの場合は、インストールする必要があります https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin

0
burnettk

考えられる原因の1つは、ファイアウォールが原因でGitHubがJenkinsに直接接続できないことです。これは、GitHubがステータスチェックが完了したと報告しない場合、つまり、永久にハングする場合に発生する可能性があります。

この場合、ポーリングは簡単な解決策です。 http://_jenkins_ip_:8080/job/_job_name_/configureに移動し、[リポジトリトリガーのスキャン]タブを選択します。 「他の方法で実行しない場合は定期的に」チェックボックスをオンにして、間隔を選択します。私は15分あります。

これが最初に行われるときは、すぐにスキャンが行われ、プルリクエストが検出されるはずです。そうでない場合は、何か他のことが起こっている可能性があります。役立つ情報がある可能性があるため、ジョブの[リポジトリログのスキャン]ページを確認してください。

ちなみに、「GitHub Pull Request Builder Plugin」はセキュリティ上の問題があるとのことなので、インストールしませんでした。代わりに、「GitHubブランチソースプラグイン」が使用されています。インストールされている他のいくつかの関連プラグイン:

Git client plugin
Git plugin
GitHub API Plugin
GitHub Authentication plugin
GitHub Integration Plugin
GitHub plugin

私もBlueOceanを使用していますが、これは必須ではなく、単に異なるUIを提供します。

0
Nagev