如何将斜杠命令的附加参数传递给詹金斯工作

How to pass the additional parameter of slash command to jenkins job

假设我想创建一个斜杠命令,可以灵活地将组件定义为将用于部署的标签名称。

例如:/dev-deploy comments v1.0.0

我添加了斜杠命令并在

中设置了参数化 URL

http://host/buildByToken/buildWithParameters?job=dev-deployment&token=test

所有其他命令数据都存在于 JSON 对象中,我如何访问该数据并将其作为参数传递给触发构建时执行的 shell 脚本。

Slack 的斜杠命令正在向您的 URL 发送 POST 请求。此请求包含名为 text 的 属性,在您的示例中为 "comments v1.0.0"。要提取标签,您需要对其进行解析。

我建议使用一些简单的脚本(例如 PHP)来接收 POST 请求,解析它(也许还做一些安全检查),然后使用 shell命令。

我不确定您指的是什么 JSON 对象。斜杠命令不发送任何 JSON。那么也许您的问题缺少一些重要信息?如果有请补充。

这是 POST 请求的示例(来自 official Slack documentation):

token=gIkuvaNzQIHg97ATvDxqgjtO
team_id=T0001
team_domain=example
enterprise_id=E0001
enterprise_name=Globular%20Construct%20Inc
channel_id=C2147483705
channel_name=test
user_id=U2147483697
user_name=Steve
command=/weather
text=94070
response_url=https://hooks.slack.com/commands/1234/5678