如何将slash命令的附加参数传递给jenkins作业

时间:2017-08-05 10:07:03

标签: jenkins continuous-deployment slack

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

例如:/dev-deploy comments v1.0.0

我添加了斜杠命令以及在

中设置参数化的URL

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

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

1 个答案:

答案 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