python - 使用python脚本远程触发作业后如何将jenkins作业输出传递给python
问题描述
我创建了一个 python 脚本,它成功地远程触发了 jenkins 作业,但是我试图在它被触发后实现作业状态以及作业是成功还是失败,如果成功将 jenkins 作业输出传递给 python。
jenkins_job_name = "job name"
Jenkins_url = "url"
jenkins_user = "username"
jenkins_pwd = "psswrd"
buildWithParameters = True
jenkins_params = {'token': 'token',
'password':'psswrd',
'file': grp,
'username': 'username'}
try:
auth= (jenkins_user, jenkins_pwd)
if buildWithParameters:
data = requests.get("{0}/job/{1}/buildWithParameters".format(Jenkins_url,jenkins_job_name),auth=auth,params=jenkins_params,headers={'content-type': 'application/json'}, verify=False)
if str(data.status_code) == "201":
print("job triggered success)
else:
print ("Failed to trigger the Jenkins job")
except Exception as e:
print ("Failed triggering the Jenkins job")
print ("Error: " + str(e))
上面是触发 jenkins 作业的 python 脚本。下面是被触发的jenkins job powershell脚本,我试图将'$ output'变量的值传递给python。这样我就可以显示 $output 变量的值。
$list = @"
$env:servers
"@
Foreach ($server in $lists) {
Add-content path $Inputstring
$output = Get-content path
Write-Host $output
}
关于 - 1)我如何在远程触发作业后立即获取作业状态,因为我尝试了 last_build jenkins api,但是在运行 python 脚本后,需要几秒钟才能在 jenkins 中运行作业。2)如何将powershell脚本输出传递给python。
解决方案
推荐阅读
- python - 在 Python 中使用给定的 P50 和 STD 计算 P75/P90 值
- docker - docker build 输出的目的是什么?
- corda - 如何在 R3 Corda 的账户之间转移不可替代的代币?
- python - 在 HTML 中组合头部、主体和页脚(或使用 CSS?)
- sql - 从 PgAdmin 中的文本列中选择不同的值
- java - com.android.ddmlib.InstallException:设备离线
- python - IndexError:循环时列表索引超出范围
- wordpress - .htaccess:重写规则以更改为语义 URL 结构
- sql-server - SSMS 18.4 覆盖具有相同用户名但不同服务器的密码
- vue.js - 如何修复导致网络错误的 nuxt js 静态站点链接?