2016-06-23 3 views
2

私はJenkinsでパラメータ化された仕事をしています。選択肢として「はい」と「いいえ」を含む「削除」という選択肢パラメータが必要です。 「はい」がデフォルトです。ジョブはコミット時にトリガされ、開発者は静かな時間に「いいえ」をデフォルトにする必要があります。また、ジョブが開始する前にすぐに「はい」にする必要がある場合もあります。これは狂ったように聞こえる!入力をJenkinsに持続させるには?

もう1つのオプションは、開発者がプロ​​パティファイルを「はい」または「いいえ」にすることです。ジョブがトリガされると、Jenkinsはプロパティファイルを読み込み、削除を実行します。開発者は何かをコミットする前に毎回このファイルを変更する必要があるので、あまり役に立ちません。

誰かが変更するまで、オプションを保持する方法はありますか?たとえば、開発者がオプションとして「いいえ」を選択した場合、ジョブは誰かが「はい」に変更するまで、削除の値として「いいえ」を引き続き使用する必要があります。入力を持続させるのに役立つJenkinsプラグイン

ありがとうございました

答えて

2

私はパラメータの選択肢が残っているプラ​​グインについて認識していません。しかし、私は次の手作りのソリューションを考えることができます:Delete=Yes|NoというプロパティファイルをJenkinsのワークスペースルートに追加してください:


  • (ワークスペース・ルートは→高度な...ワークスペースのルートディレクトリ設定システムジェンキンスを管理に依存しています。私は${JENKINS_HOME}/workspace/${ITEM_FULLNAME}を使用しています。)
  • あなたの選択(Groovyの、NodeJSのスクリプトを追加します。 Windowsバッチ、シェル)を使用して最初のビルドステップとして:

    curl ${JENKINS_URL}job/${JOB_NAME}/${BUILD_NUMBER}/api/xml?xpath=*/action/cause 
    

    (手動ビルドの場合とコミットトリガビルドの場合に返されているもの、既存のビルドのURLで確認してください)

    原因が手動ビルドの場合は、ワークスペースルートのプロパティファイルにDelete=<current value>と書き込みます。それ以外の場合はスクリプトを終了します。 ../<properties file>上記の隣:

  • 注入する環境変数にプロパティファイルパスをビルドステップを追加します。誰かがそれ変更しない限り

このような同じ値が使用されます。プロパティで

  • は、ワークスペースのルートにファイルを
  • 手動でビルドをトリガし、他の値
を選びます

これらを避けたい場合は、同じChoiceパラメータのプロジェクトを作成してください:

echo Delete=<current value> > ../<properties file> 
関連する問題