Jenkins API 间歇性身份验证错误

Jenkins API 间歇性身份验证错误

我正在使用 Ansible 的jenkins_job任务来设置一些 Jenkins 作业。我正在使用用户名+密码进行身份验证,该用户名和密码在 Jenkins 机器上被验证为 Linux 用户。

  - name: Install my job
    jenkins_job:
      name: "my-job"
      user: "{{ jenkins_admin_user }}"
      password: "{{ jenkins_admin_pass}}"
      config: "{{ lookup('template', 'templates/jobs/my-job.xml') }}" 

当我运行 Ansible 时,一些作业已安装,但在运行过程中,在安装了一些作业(每次编号不同)后,出现此错误:

无法验证作业是否存在,请求错误。可能是身份验证失败 [401]:用户 my-jenkins-user 的密码/令牌无效

显然我的凭证有效 - 作业显示在 Jenkins 中。那么为什么我会收到此错误?

答案1

这是 Jenkins API 的问题,而不是 Ansible 的问题。解决方案是使用 API密钥而不是密码。

登录 Jenkins 并点击右上角的用户名,然后点击“配置”以查看您的 API 令牌。要使用密钥,只需在使用 Jenkins API 进行身份验证时输入密钥而不是密码即可。

相关内容