如何将斜杠命令的附加参数传递给詹金斯工作
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
假设我想创建一个斜杠命令,可以灵活地将组件定义为将用于部署的标签名称。
例如:/dev-deploy comments v1.0.0
我添加了斜杠命令并在
中设置了参数化 URLhttp://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