通过 Slack 命令触发 Jenkins 作业 - 403_client_error
Trigger Jenkins job via Slack command - 403_client_error
我正在尝试做一件我认为非常简单的事情 - 从 slack 中的斜杠命令触发 Jenkins 作业。我想在 slack 中输入 /dump
,这应该会触发特定的 jenkins 作业。我正在使用 Slack Slash command 来实现这一点,设置非常简单 - 输入命令,输入 URL、select POST/GET 方法。
我尝试了两种方法 - 第一种是在 this tutorial 之后使用 Build Authorization Token Root Plugin - 在这种情况下,我配置了 Slack slash 命令以在 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
我尝试 google 这个特定的错误,但没有找到任何有用的东西,也没有关于错误的更多详细信息或任何日志可以帮助我进一步解决这个问题。
任何人 运行 遇到类似的事情并且知道我该如何解决这个问题?
我能够解决这个问题,所以在其他人遇到这个问题的情况下回答我自己的问题。为了使第一个案例起作用(使用 GET 请求),我必须在 Jenkins 中启用 "Allow anonymous read access",在管理 Jenkins -> 配置全局安全性中,如下面的屏幕截图所示。
您不需要启用匿名 access.Your jenkins 需要身份验证。更新您的 url 就像 http://user:auth-token@jenkins-host:port.Auth 令牌可以在以下 URL JENKINS_HOST/me/configure
生成
我正在尝试做一件我认为非常简单的事情 - 从 slack 中的斜杠命令触发 Jenkins 作业。我想在 slack 中输入 /dump
,这应该会触发特定的 jenkins 作业。我正在使用 Slack Slash command 来实现这一点,设置非常简单 - 输入命令,输入 URL、select POST/GET 方法。
我尝试了两种方法 - 第一种是在 this tutorial 之后使用 Build Authorization Token Root Plugin - 在这种情况下,我配置了 Slack slash 命令以在 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
我尝试 google 这个特定的错误,但没有找到任何有用的东西,也没有关于错误的更多详细信息或任何日志可以帮助我进一步解决这个问题。
任何人 运行 遇到类似的事情并且知道我该如何解决这个问题?
我能够解决这个问题,所以在其他人遇到这个问题的情况下回答我自己的问题。为了使第一个案例起作用(使用 GET 请求),我必须在 Jenkins 中启用 "Allow anonymous read access",在管理 Jenkins -> 配置全局安全性中,如下面的屏幕截图所示。
您不需要启用匿名 access.Your jenkins 需要身份验证。更新您的 url 就像 http://user:auth-token@jenkins-host:port.Auth 令牌可以在以下 URL JENKINS_HOST/me/configure
生成