2

特定のJenkins構成で、ビルドのアクションとして別の構成をトリガーしたいと思います。パラメータの1つとして、現在のビルドステータスを渡したい。

IE:ステータス(SUCCESS / FAIL / UNSTABLE)を表す文字列/int。

ビルド後のトリガーを作成するための2つのオプションがあります。

参加プラグインの使用 プラグインに参加する

ビルド後のアクションでトリガーパラメーター化ビルドを使用する パラメータ化されたビルド

実行の最後に、ある種のアクセス可能な環境変数があればいいのにと思います...

何か考えがありますか?

ありがとう!

4

2 に答える 2

4

ほとんどの場合に答える簡単な解決策は次のとおりです。

' Trigger Parameterized Build 'プラグインを使用し、2つのトリガーを設定します-

  1. 「安定または不安定だが失敗しない」
  2. '失敗'

これらのトリガーはそれぞれ同じジョブを実行する必要があります。これを「JOB_B」と呼びましょう。

トリガーごとに、必要なパラメーターを渡し、ユーザー定義の値も渡します。

  • トリガー「1」の使用:JOB_A_STATUS = SUCCESS
  • トリガー「2」の使用:JOB_A_STATUS = FAIL

ここで、必要なのは、JOB_Bからの$ {JOB_A_STATUS}の値をテストして、 SUCCESS または「FAIL」に設定されているかどうかを確認することだけです。

このソリューションは「安定」と「不安定」を区別せず、「失敗」と「成功」の違いのみを認識していることに注意してください。

幸運を!

于 2012-06-28T21:12:06.440 に答える
2

Jenkins JavaAPIを介してJenkins内部にアクセスできるGroovyPost -Buildプラグインを介して、ビルド後のステップでGroovyスクリプトを使用してステータスを確認できます。プラグインは、APIの重要な部分にアクセスするために使用できる変数マネージャーをスクリプトに提供します(プラグインのドキュメントの「使用法」セクションを参照)。

たとえば、ビルド結果をビルドコンソールに出力する方法は次のとおりです。

def result = manager.build.result
manager.listener.logger.println "And the result is: ${result}"

これで、代わりにその値を使用してプロパティファイルを作成し、そのファイルをパラメータ化されたトリガーのビルド後のステップに渡すことができます(このようなオプションがあります)。

注意点:ビルド後のステップを特定の順序で実行して、Groovyのビルド後のステップがパラメーター化されたトリガーステップの前に実行されるようにすることが可能かどうかはわかりません。

于 2012-06-28T11:24:39.110 に答える