現在、Jenkins ビルドから結果を取得する単純なプラグインを開発しています。私は Notifier を拡張build.getResults()
し、情報を取得するために使用しています。ただし、プラグインをアップロードすると、ビルド後のアクションとして設定できません。
ビルドを実行すると、ビルドがまだ実行されている間に結果を取得しようとしているため、
ビルドが中断します。
ビルド結果を正しく取得するにはどうすればよいですか?
build.getResults()
2 に答える
最善の方法は、 Notifier 拡張ポイントを使用する既存のプラグインを調べることです(クリックして実装プラグインのリストを展開します)。
Descriptor 実装 (内部) クラスと config.jelly があることを確認します。また、jenkins.out および jenkins.err ログで例外 (不正な形式の config.jelly など) を確認してください。
編集: 実際には、このプラグインの Notifier サブクラスは、Notifiers が進むにつれて非常にシンプルに見えます: https://wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin、特にそのGamePublisher.javaと対応するものを参照してくださいconfig.jellyであり、完全な外部クラス (多くの場合、記述子は内部クラス) になっているGameDescriptor.javaです。また、Jenkins のグローバル構成にオプションが必要な場合は、global.jellyが必要ですが、そのようなオプションがない場合は、それを省略できます (config.jelly とは異なり、Notifier には必要です。ここのように空です)。
一般的な注意として、物事がうまくいかず、エラーが発生しない場合、本当に迷惑になる可能性があります.Jenkinsによって単に表示されないだけです.物事をうまく動かしたいだけなら、Groovyを使用してください.ビルド手順は簡単かもしれませんが、他の人のために物事を動かしたい場合は、適切な完全なプラグインを実行すると、サポート リクエストが減ります。
これはとても単純に聞こえるので、プラグインが必要ですか?代わりにGroovyPostbuildステップを使用する方法を見てください。それらは書くのがはるかに簡単です。リンクにはいくつかの良い使用例があります。プラグインが本当に必要だと判断した場合は、独自のプラグインを作成するのではなく、既存のプラグインを拡張できるかどうかを確認してください。これは、Jenkinsプラグインの記述の詳細を理解するためのより簡単な方法です。