0

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 界面上的“人员”页面中,在尝试登录之前仅显示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"
4

2 回答 2

3

它适用于 requests==2.19.1

sudo pip uninstall requests sudo pip install requests $ pip freeze | grep requests requests==2.19.1

于 2018-08-07T13:39:19.317 回答
0

以下步骤解决了我的问题:

pip3.7 freeze | grep requests 

pip3.7 uninstall requests

pip3.7 install requests

pip3.7 freeze | grep requests
于 2020-03-18T03:28:38.883 回答