理想的な世界では、技術に詳しくない従業員はSlackコマンドを使用してジョブを実行し、結果を彼らに戻し、Jenkins GUIの使用を無効にすることができます。私が見つかりました。スタートスラックコマンドを使用して、ジェンキンスでビルド GitHubの上で、それは1要求するように思われることなど、いくつかの制限が持っている:我々の目的のために素晴らしいではありませんジェンキンスジョブに1比Herokuのインスタンスを、。
私の考えは、人々にのような単数のコマンドを使用し、/jenkins
その後に1つのジョブで解析され、他の下流のキックオフに使用されるパラメーターを使用することです。これにより、1つのスラックコマンド/ 1つのインスタンスが維持されますが、必要な柔軟性はすべて得られます。
問題は、Jenkinsにパラメーターを取得することです。次のワークフローのようなものを描いています。
/Jenkins job2 param1 param2
Slackのユーザータイプ。これは、実行する内容を見つけるためにパラメーターを解析するアンブレラジョブを呼び出しています。コマンドはどういうわけか傘のジェンキンスの仕事に送られます。Herokuインスタンス、直接統合、w / e。
アンブレラジョブは
job2 param1 param2
文字列として受け取ります。(おそらく、単一のパラメーターの値として、おそらく複数のフィールドに事前に分割されます)Umbrellaジョブは、まだ実行されていない場合は文字列を分割し、
job2
パラメーターparam1
とを使用して、ユーザーが実行を希望していると判断しますparam2
。Umbrellaジョブはビルドジョブを実行して、呼び出されたとおりにダウンストリームジョブを実行します。これにより、ユーザーに結果がSlackされます。
私をつまずかせているのはステップ2〜3です。SlackからJenkinsジョブに文字列(スペースを含む)を渡すにはどうすればよいですか?
私の前提全体が間違っている場合、私は自分のフレームに挑戦することにもオープンです。