2016-04-23 12 views
0

最後に安定したビルドjenkinsジョブからカスタム変数を取得したいとします。 Execute Shellを使用して、このリンク上のカールを使用してビルド番号を取得することができました。内部サーバーです。 https://jenkinsci.internalsvr/view/webapps/job/common-tools/lastStableBuild/buildNumberREST API呼び出しを使用して成功したJenkinsジョブからカスタム変数を取得

ここでは、カールを使用してカスタム変数を作成したいと思います。しかし、私は、カスタム変数の値を保存する必要があるかもしれないが、どのようにしてどこに格納する必要があるかもしれないことを知っています。

+0

回避策として、その値をテキストファイルに保存し、そのファイルをアーティファクトとしてアーカイブすることができます。それから、カールしてください。 – izzekil

+0

クールだけどアーカイブすると、カールやウィットになるリンクは何ですか?ファイル名がinfo.txtだとしましょうアーカイブを試していないので、ちょっと迷っています。ありがとう! – devwannabe

+0

私はついにそれが働いた! WOOHOO!私はそれをアーカイブし、アーティファクトURLにアクセスしました。 – devwannabe

答えて

1

だから、これは私はそれが

を動作するようになった方法です、私は私たちのdsl.groovyファイルにこのコードを持っている

.... 

parameters { 
    stringParam('CUSTOM_VAR1', '', 'Custom Variable') 
    stringParam('CUSTOM_VAR2', '', 'Custom Variable') 
} 

shellCommands = sprintf('''#/bin/bash 
echo "CUSTOM_VAR1=\${%s}" > env.properties 
echo "CUSTOM_VAR2=\${%s}" >> env.properties 
''', ['CUSTOM_VARIABLE1','CUSTOM_VARIABLE1']) 

shell(shellCommands) 

// This is extremely important 
environmentVariables { 
    propertiesFile('env.properties') 
} 

// This allowed me to retrieve env.properties via http call from browser or curl. 

publishers { 
    archiveArtifacts { 
    pattern('env.properties') 
    } 
} 

だから私はそれにアクセスする必要がある場合は、httpのURLは次のように形成されるべきです

curl https://our-internal-server/job/theNameOfTheJob/lastStableBuild/artifact/env.properties 
関連する問題