2014-03-02 53 views
2

我有一個使用setResult(hudson.model.Result.SUCCESS)更改構建結果的groovy腳本。Jenkins不會更新構建結果以獲得更好的結果

但是我意識到我無法將工作結果更改爲更好的結果(只適用於更糟糕的結果)。如果我將代碼更改爲:build.setResult(hudson.model.Result.Unstable),那麼當構建成功時,結果將會改變(我可以在控制檯輸出中看到:構建步驟'Groovy Postbuild'已更改構建結果爲UNSTABLE。) 但我無法將結果更新爲更好的結果。

有沒有解決方法? (groovy postbuild出現同樣的問題)。編輯: 我在我的主要作業中使用MultiJob插件來運行3個下游作業(名爲job1,job2,job3)。而且我寫了一個時髦的腳本,以便主要工作的結果將僅由前兩個下游工作(當job1和job2成功,job3不穩定 - 我希望將主要工作結果設置爲成功)決定。 因爲上面提到的問題我不能這樣做......任何想法?

謝謝。

+0

你是不是也做build.setResult爲那裏的結果是成功的,在你的問題是缺少的情況下? –

+0

當然。我剛把成功改成不穩定。 – user1836185

+1

也許你可以激發批處理命令強制退出代碼0,如果你的條件得到滿足? –

回答

1

我相信詹金斯這種預期的行爲。其他更改構建結果的方法(如Fail The Build plugin)也不能「改善」構建狀態,它們只會使其變得更糟(成功失敗而失敗)。

+0

我在問題中添加了一些信息,你有任何解決方案? – user1836185

0

使用Post Build pluginGroovy System Script,您可以更改構建結果與Result.fromString(),例如,設置結果 「不穩定」:

build.result = hudson.model.Result.fromString('UNSTABLE') 

enter image description here

在控制檯你會看到:

[PostBuildScript] - 執行帖子構建腳本。

[當前構建狀態]檢查是否當前[ABORTED]是惡化或然後等於[ABORTED]和更好或然後等於[UNSTABLE]

運行條件[當前構建狀態]啓用步驟[執行系統Groovy的執行腳本]

腳本返回:不穩定