16

Jenkins のコマンドラインから文字列パラメーターを使用してビルドをトリガーしています。

curl http://jenkins:8080/job/Build/buildWithParameters?PARAM=value&token=token

コマンドラインからファイルパラメーターとしてファイルを使用してビルドをトリガーしたいと考えています。

たとえば、私のプロジェクトが main.c をビルドする場合、コマンド ラインからビルドをトリガーして main.c をアップロードできるようにしたいと考えています。

これは可能ですか?

4

4 に答える 4

16

これは、Jenkins リモート アクセスAPI ページで説明されています。

curl http://jenkins/job/$JOB_NAME/build -F file0=@PATH_TO_FILE -F json='{"parameter": [{"name":"FILE_LOCATION_AS_SET_IN_JENKINS", "file":"file0"}]}'

/buildWithParameters の代わりに URL /build を使用する必要があることに注意してください。

于 2013-08-05T06:35:41.037 に答える
13

文字列パラメーターとファイル パラメーターの両方を送信する必要がある場合は、次の操作を実行できます。

json='{"parameter": [{"name": "param1", "value": "value1"},
  {"name": "param2", "value": "value2"},
  {"name":"fileParam", "file":"file0"}]}'

url=http://jenkins/job/My_Remote_Jenkins_Job/build

curl -v $url -F file0=@/some/folder/path/template.zip -F json="$json" --user username:password

パラメータが Jenkins ジョブに存在するparam1ことを確認する必要がparam2ありました。fileParmMy_Remote_Jenkins_Job

于 2013-10-05T01:03:46.323 に答える
7

私が使用した解決策 ( jenkins-cliを使用するクリストファーの提案に基づく) は次のとおりです。

java -jar jenkins-cli.jar -s http://jenkins:8080 build Build -p main.c=hello.c

main.c のファイル パラメーターを使用すると、ローカルの hello.c がビルド ジョブのワークスペースに main.c としてアップロードされます。

于 2012-11-15T09:39:37.177 に答える