从Slack触发Jenkins构建

时间:2019-02-14 18:55:16

标签: jenkins jmeter slack

通过遵循以下教程,我尝试在Slack中使用斜杠命令来触发Jenkins中的构建。我在EC2上的jenkins实例正在利用用户的API令牌从松弛状态对POST命令进行身份验证。

当我在本地执行curl命令时,它成功触发了构建,该命令与此类似:

卷曲-X POST http://slack:c1c54d626f6a11fbc98ed795ec8862bc@10.11.12.13:8080/job/TEST_ATOMATION_GURU_SLACK_JOB_DEMO/build

但是,当我尝试通过斜杠命令以松弛方式执行命令时,我得到:哎呀-该斜杠命令不起作用(错误消息:403_client_error)。

我正在关注的教程:http://www.testautomationguru.com/jmeter-selenium-webdriver-how-to-trigger-automated-test-execution-from-slack/

我也尝试过本教程,结果相同: https://sonnguyen.ws/how-to-trigger-a-jenkins-build-from-slack/ 我也看到了这个stackoverflow帖子,但它没有帮助:Using Slack to start Jenkins builds

我尝试过的事情:  -打开安全组  -在詹金斯中,选择“允许匿名读取访问权限”  -在詹金斯(Jenkins)中取消选择“防止跨站请求    伪造漏洞”

任何帮助或指导将不胜感激。

enter image description here

2 个答案:

答案 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 应该能够触发构建。