我也面临同样的错误。我可以向您建议可行的解决方法,但我不能保证它是安全的(使用基于令牌的身份验证)。
由于 403 状态代码明确指出此 URL 存在,但您的用户无权访问该 URL。
以下是如何使它工作:
导航到 Jenkins > Manage Jenkins > Configure Global Security > 在 Authorization 下选择 Matrix based security 并检查以下匿名用户选项:
---------------------------------------------
| User | Overall | Job |
|--------------------------------------------
| Anonymous | Read | Read, Workspace & |
| user | | Build |
--------------------------------------------
并保存更改。
之后导航到您在 Jenkins 中的工作 > 配置 > 构建触发器 > 并选择“远程触发构建(例如,从脚本)”
选择此选项后,将出现一个带有“身份验证令牌”标签的文本框,您可以在其中生成令牌。在文本框中输入一些文本以生成令牌。例如,您输入了 OathToken。
现在导航到 Bit Bucket > Repository Settings > Webhook > Edit 并输入 URL,如下所示:
JENKINS_URL/view/JenkinsViewName/job/JenkinsJobName/build?token=OathToken
在上面的 URL 中替换以下内容:
JENKINS_URL - With you original Jenkins url (http://Domain/)
JenkinsViewName - With the view name in your Jenkins pipeline
JenkinsJobName - With the job name in your Jenkins pipeline
OathToken - With your original Token value
现在单击测试连接,它会返回 201 状态代码,它会在存储库中进行新推送时触发构建。
请再次考虑您的安全偏好。