我正在尝试第一次在我的系统上运行jenkins-jobs update,但它在身份验证时失败。
命令:
jenkins-jobs --conf ./jjb.ini update jobs/
其中jobs包含一个test.yml --一个仅用于测试的微型构建项目。jjb.ini是:
[jenkins]
user=admin
password={{ admin_api_token }} # Inserted API token here.
url=http://127.0.0.1:8080
query_plugins_info=False预期结果:
成功,并将示例构建项目导入到Jenkins。
实际结果:
INFO:jenkins_jobs.cli.subcommand.update:Updating jobs in ['jobs/'] ([])
INFO:jenkins_jobs.builder:Number of jobs generated: 1
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 127.0.0.1
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/jenkins/__init__.py", line 557, in jenkins_request
self._request(req))
File "/usr/local/lib/python3.5/dist-packages/jenkins/__init__.py", line 508, in _response_handler
response.raise_for_status()
File "/usr/lib/python3/dist-packages/requests/models.py", line 840, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Invalid password/token for user: b'admin' for url: http://127.0.0.1:8080/crumbIssuer/api/json这里吸引我注意的是,身份验证失败的是b'admin,而不是admin。这也反映在Jenkins web界面上的"People“页面中,该页面在尝试登录之前仅显示admin,但在尝试登录之后显示:

据我所知,JJB的登录请求中可能存在编码问题,但当涉及到如何尝试修复此问题时,我正在寻求帮助。
当前设置:
Ubuntu 16.04.4 LTS
Jenkins 2.125 (working as expected, at :8080)
jenkins-job-builder 2.0.9
Python 3.5.2
pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip-10.0.1-py3.5.egg/pip (python 3.5)
java -version: openjdk version "1.8.0_171"发布于 2018-08-07 21:39:19
它可以与requests==2.19.1配合使用
sudo pip uninstall requests sudo pip install requests $ pip freeze | grep requests requests==2.19.1
发布于 2020-03-18 11:28:39
在我的案例中,以下步骤解决了问题:
pip3.7 freeze | grep requests
pip3.7 uninstall requests
pip3.7 install requests
pip3.7 freeze | grep requestshttps://stackoverflow.com/questions/50656666
复制相似问题