我在PowerShell命令步骤中使用Jenkins来调用Web API服务。我正在使用Invoke-WebRequest调用该服务。
此服务调用必须在 Jenkins 中进行,因为只有在其他 Jenkins 作业成功完成时我才需要这样做。
该服务可以运行几个小时。如果我没有TimeoutSec参数,则该步骤会在 Web API 完成之前以超时完成。如果我的参数值很大,比如 36000,那么 Web API 会正常完成,但步骤会持续 10 小时。其他参数与此问题无关。
我正在寻找一种在 Web API 完成后立即完成 Jenkins 步骤的好方法,而不是更早更晚。
try
{
$url = "https://ourserver.com/modules/OurService"
$response = Invoke-WebRequest -Uri $url -UseDefaultCredentials -Method Get -TimeoutSec 36000 -UseBasicParsing
}
catch
{
$err=$_.Exception
Write-Host '-----------------------'
Write-Host $err
Write-Host '-----------------------'
exit -1
}
exit 0