假设我想创建一个斜杠命令,可以灵活地将组件定义为将用于部署的标记名称。
例如:/dev-deploy comments v1.0.0
我添加了斜杠命令以及在
中设置参数化的URLhttp://host/buildByToken/buildWithParameters?job=dev-deployment&token=test
所有其他命令数据都存在于JSON对象中,如何访问该数据并将其作为参数传递给shell脚本,该脚本在触发构建时执行。
答案 0 :(得分:0)
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