通过Slack命令触发Jenkins作业-403_client_error

时间:2018-09-16 23:09:53

标签: jenkins slack

我正在尝试做一件我认为很简单的事情-在松弛状态下通过斜杠命令触发Jenkins作业。我想输入/dump,它应该触发特定的詹金斯工作。我正在使用mvn-example project's pom.xml file来实现这一点,并且设置非常简单-键入命令,键入URL,然后选择POST / GET方法。

我尝试了两种方法-第一种是在Slack Slash command之后使用Build Authorization Token Root Plugin-在这种情况下,我配置了Slack斜杠命令以对URL进行GET请求:http://jenkins_url:8080/job/db-dump-setup/build?token=MY_TOKEN-如果我将浏览器的URL,该作业被触发,如果我运行/dump命令,slack响应:

slackbot [3:41 PM]
Darn - that slash command didn't work (error message: `403_client_error`). Manage the command at text.

我尝试的第二种方法是遵循this tutorial。在这种情况下,我在Jenkins中创建了新用户并获得了API令牌。当从我的终端curl -X POST http://USER:TOKEN@slack_url:8080/job/db-dump-setup/build运行此命令时,该作业再次被触发,但是当使用相同的URL配置Slack斜杠命令并发出POST请求时,出现相同的错误:403_client_error

我尝试搜索此特定错误,但没有发现有用的信息,也没有该错误的更多详细信息或任何日志,可以帮助我进一步解决此问题。

任何人都遇到类似问题,并且知道如何解决此问题?

2 个答案:

答案 0 :(得分:0)

我能够解决此问题,因此在有人遇到此问题时回答我自己的问题。为了使第一种情况起作用(使用GET请求),我必须在Jenkins中的“管理Jenkins->配置全局安全性”中启用“允许匿名读取访问”,如下图所示。

enter image description here

答案 1 :(得分:0)

您不需要启用匿名访问。您的詹金斯需要身份验证。更新您的URL,例如可以在以下URL JENKINS_HOST / me / configure

生成http://user:auth-token@jenkins-host:port.Auth令牌