【发布时间】:2022-07-27 23:20:47
【问题描述】:
我在使用 Python 3.10.2 和 Ubuntu LTS 20.4 和 Jenkins 2.361 和 api4jenkins 时遇到了 Jenkins 的 API 问题>1.11 作为 API 的包装器。
我的主要问题是将参数传递给任务。我能够启动任务,并且我正在按照examples 指示传递参数,但是任务的执行不打印参数。
Jenkins 为每个用户都有一个全局安全配置,这是为启动任务的用户配置的:
我的任务叫Prueba4,任务安全配置是这样的:
现在,我只有参数client:
我还启用了脚本执行:
唯一的步骤就是这个shell命令:
echo Hello
echo $USER
echo $cliente
使用 Python 我正在这样做:
from api4jenkins import Jenkins
j = Jenkins('http://localhost:8080/', auth=('my_user', 'mypass'))
j.build_job('Prueba4', arg1="my cliente", token="my_token", delay='1sec')
所以找不到echo $client这行没有显示我传递的参数的问题。将打印添加到 api4jenkins 我能够确定它通过了这个 kwards:
method: POST
url +: http://localhost:8080/job/Prueba4/buildWithParameters
kwards: {'params': {'arg1': 'my_client'}, 'token': 'my_token', 'delay': '1sec'}, 'headers': {'Jenkins-Crumb': '81bec758701d0783a68f3ad4050e42c647953834f1c552120b194d6e8b989f52'}}
我不知道我做错了什么。这是一个从不打印参数的python开始的执行:
我尝试使用 CURL 和 Python 的 Request 库,但我还不能向它们发出请求。
希望有人可以帮助我。谢谢
【问题讨论】:
标签: python jenkins jenkins-api api4jenkins