ビルドが不安定になったり、失敗したり、再び成功したりしたときに、元の Jenkins の動作 (通知の送信など) をエミュレートしたいと考えています。
そのためには、以前のビルド ステータスを照会する必要があります。これは次のように実行できます。
currentBuild.rawBuild.getPreviousBuild()?.getResult().toString()
ただし、rawBuild
「危険な」オブジェクトであると想定されているため、ブラックリストに登録されており、Groovy サンドボックス内で実行することはできません。
現在、SCM から Jenkins スクリプトをロードしているため、プロジェクトごとのレベルで Groovy サンドボックスを非アクティブ化する方法はありませんが、Jenkins インスタンス全体に対してのみ (つまり、 this を介して)、これは確かに何かではありません。私が欲しい。
私が見逃した、サンドボックスの原則に準拠した (Jenkins の REST API を介してステータスをクエリするなどのハックを含まない) ジョブの最後のビルド ステータスを判断する他の方法はありますか?