【问题标题】:Managing webhooks in Bitbucket Server在 Bitbucket Server 中管理 webhook
【发布时间】:2020-06-04 05:32:00
【问题描述】:
  1. 当我从 bitbucket 服务器配置 web-hook 时。有什么配置,我应该在 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

【问题讨论】:

    标签: jenkins jenkins-pipeline bitbucket bitbucket-server bitbucket-webhook


    【解决方案1】:

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

    由于 403 状态代码明确指出此 URL 存在,但您的用户无权访问该 URL。

    以下是如何让它发挥作用:

    导航到 Jenkins > 管理 Jenkins > 配置全局安全 > 在授权下选择基于矩阵的安全性,然后为 匿名用户检查以下选项:

    ---------------------------------------------
    | User       | Overall | Job                |              
    |--------------------------------------------                                           
    | Anonymous  | Read    | Read, Workspace &  |
    | user       |         | Build              |                                                           
    --------------------------------------------
    

    并保存更改。

    之后导航到您在 Jenkins 中的工作 > 配置 > 构建触发器 > 并选择“远程触发器构建(例如,从脚本)”

    选择此项后,将出现一个带有标签“Authentication Token”的文本框,您可以在其中生成令牌。在文本框中输入一些文本以生成令牌。例如,您输入了 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 状态代码,它会在存储库中新推送时触发构建。

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

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 2015-09-16
      • 1970-01-01
      • 2021-11-06
      • 2016-02-08
      • 2019-11-26
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      相关资源
      最近更新 更多