通过遵循以下教程,我尝试在Slack中使用斜杠命令来触发Jenkins中的构建。我在EC2上的jenkins实例正在利用用户的API令牌从松弛状态对POST命令进行身份验证。
当我在本地执行curl命令时,它成功触发了构建,该命令与此类似:
但是,当我尝试通过斜杠命令以松弛方式执行命令时,我得到:哎呀-该斜杠命令不起作用(错误消息:403_client_error
)。
我也尝试过本教程,结果相同: https://sonnguyen.ws/how-to-trigger-a-jenkins-build-from-slack/ 我也看到了这个stackoverflow帖子,但它没有帮助:Using Slack to start Jenkins builds
我尝试过的事情: -打开安全组 -在詹金斯中,选择“允许匿名读取访问权限” -在詹金斯(Jenkins)中取消选择“防止跨站请求 伪造漏洞”
任何帮助或指导将不胜感激。
答案 0 :(得分:0)
好消息是安装程序可以正常工作-我也有一个Slack斜杠命令来触发jenkins作业,所以问题出在您的安装程序中。
我在您的curl
示例中看到,您正在通过私有IP访问jenkins。我将从那里开始,就像您在Slack slash命令中使用相同的私有IP一样,Slack无法访问您的Jenkins实例。如果您在slash命令中使用私有IP,我建议将Elastic IP附加到您的EC2实例(假设它位于公共子网中),然后再次尝试slash命令,但是这次在Elastic IP上。
答案 1 :(得分:0)
您可以将 ngrok 用于隧道,然后您应该能够触发它。
注意:如果使用 curl -X POST 命令手动运行,请确保您在该部分中提供的 URL 应该能够触发构建。