如何在Php中进行curl触发并将文件发送到jenkins作业(接受文件作为参数)

时间:2014-12-21 09:49:50

标签: php curl jenkins

我必须在jenkins上触发作业并同时从PhP页面上传文件(Jenkins已设置文件参数)。

我知道我们可以使用jenkins远程访问API中指定的curl unix命令轻松完成此操作。但我想使用php curl来同时上传文件来触发作业。

我写了以下代码,但它没有用。

<?php 
   $baseUrl="197.10.2.1:8080";
   $jobName="exampledatacopy";
   $json='{"parameter": [{"name":" /var/lib/jenkins/file/workspace/1.txt", "file":"@/home/kark/Desktop/1.txt"}]}'; 
   sprintf('%s/job/%s/buildWithParameters', $baseUrl, $jobName);
   $curl = curl_init($baseUrl);
   curl_setopt($curl, CURLOPT_POST, 1);
   curl_setopt($curl, CURLOPT_POSTFIELDS, $json);
   curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
   $response=curl_exec($curl);
   curl_close($curl);
?>   

上面的代码成功触发了Jenkins上的作业。作业输出如下。

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/file/workspace
Finished: SUCCESS

但不上传文件。 $ response打印显示所有作业状态的响应

0 个答案:

没有答案