2017-08-05 8 views
-1

デプロイメントに使用されるタグ名としてコンポーネントを定義する柔軟性を持つスラッシュコマンドを作成したいとします。スラッシュコマンドの追加パラメータをjenkinsジョブに渡す方法

例:/dev-deploy comments v1.0.0

私はスラッシュコマンドを追加しただけでなく、

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

に他のすべてのコマンドのデータをパラメータ化URLを設定しているが、私はそのデータにアクセスすることができますどのようにJSONオブジェクト内に存在していますビルドがトリガされたときに実行されるシェルスクリプトへのパラメータとして渡します。

答えて

0

SlackのslashコマンドがあなたのURLにPOSTリクエストを送信しています。このリクエストには、textという名前のプロパティが含まれています。この例では、「comments v1.0.0」となります。タグを抽出するには、それを解析する必要があります。

POSTリクエストを受け取ったり、解析したり(いくつかのセキュリティチェックを行う可能性があります)、単純なスクリプト(PHPなど)を使用し、シェルコマンドでジョブを開始することをお勧めします。

あなたが参照しているJSONオブジェクトがわかりません。スラッシュコマンドはJSONを送信しません。あなたの質問にいくつかの重要な情報が欠落している可能性がありますか?もしそうなら、追加してください。ここで

は(official Slack documentationから)POSTリクエストの例である:

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 
+0

まあ、私はジェンキンスさんへの適量は、URLを構築するポストデータを解析するためにノードjsのミドルウェアを書き、それを考え出しました。 –

+0

Cool。あなたが私が提案したのと同じアプローチに従うシーム。あなたが同意するならば、この質問を閉じることができるように、この回答を「完了」とマークすることを検討してください。 –

+0

確かに、私が参照していたJSONオブジェクトはPOSTデータでした。 –

関連する問題