3 回答

TA貢獻1862條經驗 獲得超6個贊
如果該問題與您的其他Hudson問題有關,請使用它們提供的命令。從命令行使用XML的這種方式:
$ curl -X POST -d '<run>...</run>' \
http://user:pass@myhost:myport/path/of/url
您需要對其進行一些更改以從文件中讀?。?/p>
$ curl -X POST -d @myfilename http://user:pass@myhost:myport/path/of/url
閱讀聯機幫助頁。遵循-d參數的抽象。
-d /-數據
(HTTP)將POST請求中的指定數據發送到HTTP服務器,就像用戶填寫HTML表單并按Submit按鈕時瀏覽器所做的一樣。這將導致curl使用內容類型application / x-www-form-urlencoded將數據傳遞到服務器。比較-F /-形式。
-d /-data與--data-ascii相同。要發布純二進制數據,應改用--data-binary選項。要對表單字段的值進行URL編碼,可以使用--data-urlencode。
如果在同一命令行上多次使用了這些選項中的任何一個,則指定的數據段將與一個分隔的&符號合并在一起。因此,使用'-d name = daniel -d skill = lousy'將生成一個看起來像'name = daniel&skill = lousy'的帖子塊。
如果以字母@開頭的數據,則其余的應該是從中讀取數據的文件名,或者-如果希望curl從stdin中讀取數據。文件的內容必須已經被URL編碼。也可以指定多個文件。因此,將使用--data @foobar從名為“ foobar”的文件中發布數據。

TA貢獻1874條經驗 獲得超12個贊
使用Jenkins 1.494,我能夠使用curlwith --form參數將文件發送到Ubuntu Linux 12.10上的job 參數:
curl --form name=myfileparam --form file=@/local/path/to/your/file.xml \
-Fjson='{"parameter": {"name": "myfileparam", "file": "file"}}' \
-Fsubmit=Build \
http://user:password@jenkinsserver/job/jobname/build
在Jenkins服務器上,我配置了一個接受單個參數的作業:名為的文件上傳參數myfileparam。
該curl調用的第一行構造了一個Web表單,其參數名為myfileparam(與作業中相同);其值將是名為的本地文件系統上文件的內容/local/path/to/your/file.txt。該@符號前綴告訴curl發送的,而不是給定文件名的本地文件。
第二行定義了與第一行的表單參數相匹配的JSON請求:名為的文件參數myfileparam。
第三行激活表單的“生成”按鈕。第四行是帶有“ / build”后綴的作業URL。
如果此調用成功,則curl返回0。如果未成功,則將服務中的錯誤或異常打印到控制臺。這個答案來自有關Hudson的舊博客文章,該文章很多,我根據我的需要對其進行了解構和重新設計。
- 3 回答
- 0 關注
- 1125 瀏覽
相關問題推薦
添加回答
舉報