0
  1. 当我从 bitbucket 服务器配置 web-hooks 时。有什么配置,我应该在 Jenkins 服务器中配置吗?例如:匿名用户的特殊权限.. 因为当我尝试测试连接时,我收到 403 错误。请参阅下面的错误详细信息。

在此处输入图像描述

  1. 在 webhook 中, Secret(Optiona) ,该字符串用于验证 Bitbucket 与您的端点之间的数据完整性。我需要在作为 Jenkins 服务器的端点中配置什么。完整性检查如何在这里工作?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 403 No valid crumb was included in the request</title>
</head>
<body><h2>HTTP ERROR 403 No valid crumb was included in the request</h2>
<table>
<tr><th>URI:</th><td>/job/api-xxxxxx/job/stg/job/xxxxxxxxxxx/</td></tr>
<tr><th>STATUS:</th><td>403</td></tr>
<tr><th>MESSAGE:</th><td>No valid crumb was included in the request</td></tr>
<tr><th>SERVLET:</th><td>Stapler</td></tr>
</table>
<hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.4.27.v20200227</a><hr/>

</body>
</html>

参考:https ://confluence.atlassian.com/bitbucketserver/managing-webhooks-in-bitbucket-server-938025878.html

4

1 回答 1

0

我也面临同样的错误。我可以向您建议可行的解决方法,但我不能保证它是安全的(使用基于令牌的身份验证)。

由于 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 状态代码,它会在存储库中进行新推送时触发构建。

请再次考虑您的安全偏好。

于 2020-06-16T09:10:07.920 回答