我在 Jenkins 中使用 webhook 时遇到问题,返回 500 错误,提示“没有此用户”。如果我登录 Jenkins 并尝试从浏览器运行它们,它们可以正常工作。
我尝试在下面的 URL 中传递用户名和密码以及 api 用户 ID 和 api 令牌,但收到了同样的问题/错误。
curl -X POST http://JENKINS_URL/job/JOBNAME/build --user APIUSERID:APITOKEN -data token=AUTHENTICATIONTOKEN
当前 jenkins 设置中可能出现问题的一点是,用户设置时使用域前缀,如 domain\user,这使得 API USER ID 看起来像 domain_user。这是因为我们有跨不同域登录的用户。
如果我可以提供更多信息来解决“没有这样的用户”错误,请告诉我。詹金斯版本 1.609.3
以下是 jenkins.log 中相应错误的几行
Sep 18, 2016 1:48:59 PM jenkins.security.BasicHeaderApiTokenAuthenticator authenticate
WARNING: API token matched for user DOMAIN\USER but the impersonation failed
hudson.plugins.active_directory.MultiCauseUserNotFoundException: No such user: DOMAIN_USER
Cause #1: org.acegisecurity.userdetails.UsernameNotFoundException: Authentication was successful but cannot locate the user information for DOMAIN_USER
谢谢,
克里斯。