Jenkins job通过以下PHP脚本触发:
Jenkins job
PHP
<?php $testrun_id = "1744"; $cmd = "curl -X POST http://build:f9280f75396f83a0@mobile-jenkins.domain.com:8080/job/android-test/build --data-urlencode json='{\"parameter\": [{\"name\":\"POST_RESULTS\", \"value\":\"true\"}, {\"name\":\"RUN_ID\", \"value\":\"{$testrun_id}\"}, {\"name\":\"CHECK_NAME\", \"value\":\"SampleAutomatedPlan\"}]}'"; exec($cmd,$result); ?>
该脚本在 Mac上 成功运行,并且jenkins作业确实被触发。如何使此脚本在 Windows上运行 ?在 Windows 上运行以上PHP脚本时出现以下错误?
curl is already installed on windows machine。另外,有没有更好的方法在PHP中执行cURL?看这个:http : //php.net/manual/en/book.curl.php,有人可以 根据上面的PHP脚本 (对于 Windows )中 我的curl命令为我 指出一个 示例 吗?基于我脚本中的curl命令的示例将是理想的。
curl is already installed on windows machine
您应该从此处检查示例http://php.net/manual/zh/curl.examples.php
贝娄是适合您的情况的代码,
$url = "http://build:f9280f75396f83a0@mobile-jenkins.domain.com:8080/job/android-test/buildWithParameters"; $data = "POST_RESULTS=true&RUN_ID=".$testrun_id."&CHECK_NAME=SampleAutomatedPlan"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // $output contains the output string $output = curl_exec($ch); // close curl resource to free up system resources curl_close($ch);