現今 powershell 無所不能,即便是做 http GET/POST 也不是件難事
今天要做的事就是將 powershell 這項功能整合至 jenkins 裡
並回傳出成功或失敗的建置回傳碼
有一項服務需要在佈署完後需要用 http get 喚醒,以往都是佈署後需要有人去手動啟動
當下想法是使用 powershell 直接呼叫,將預期的 http status code 轉訪成 exit code 輸出即可
Jenkins 建置回傳碼的認定可以參考之前的資料 Jenkins 執行 Windwos 批次指令時顯示失敗
status code = 200 ok => exit 0, other(400 bad request or 404 not found) exit 1
$exitCode = 1
try
{
$targetUrl = $args[0]
$Response = Invoke-WebRequest -URI $targetUrl
$StatusCode = $Response.StatusCode
$exitCode = 0
}
catch
{
$StatusCode = 400
$exitCode = 1
}
$StatusCode
exit $exitCode
不過 jenkins 也是有人做了相當不錯的套件 Http Request plug-in 的套件
GET/POST 都有,基本的 header 設置與 body 也有
甚至也有支援 File upload 的方式,甚至連 Response 也可以針對 response http status code 區間做檢查
或是針對 response content 做吻合性檢查