ในโลกอุดมคติพนักงานที่มีความรู้ด้านเทคโนโลยีน้อยของเราสามารถใช้คำสั่ง Slack เพื่อทำงานและรับผลลัพธ์ที่ได้กลับคืนมา ฉันพบเริ่มสร้างในเจนกินส์โดยใช้คำสั่ง Slackบน GitHub แต่ก็มีข้อ จำกัด บางประการรวมถึงดูเหมือนว่าจะต้องใช้อัตราส่วน 1: 1 Heroku กับงานเจนกินส์ซึ่งไม่ดีสำหรับวัตถุประสงค์ของเรา
ความคิดของฉันคือการให้คนใช้คำสั่งเอกพจน์เช่น/jenkins
และใช้พารามิเตอร์หลังจากนั้นจะแยกวิเคราะห์โดยงานหนึ่งและใช้เพื่อเตะคนอื่นดาวน์สตรีม ที่ทำให้เรามีคำสั่งหย่อน / ตัวอย่างหนึ่ง แต่ก็ยังให้ความยืดหยุ่นทั้งหมดที่เราต้องการ
ปัญหาตรงกับการรับพารามิเตอร์ของเจนกินส์ ฉันนึกภาพบางอย่างเหมือนเวิร์กโฟลว์ต่อไปนี้
ประเภทผู้ใช้
/Jenkins job2 param1 param2
ใน Slack นี่คือการเรียกงานร่มที่จะแยกพารามิเตอร์เพื่อหาสิ่งที่จะเรียกใช้คำสั่งถูกส่งไปยังงานร่มเจนกินส์ ตัวอย่าง Heroku การรวมโดยตรงกับ w / e
งาน Umbrella ได้รับ
job2 param1 param2
เป็นสตริง (อาจเป็นค่าของพารามิเตอร์เดียวอาจแบ่งล่วงหน้าเป็นหลายฟิลด์)งานร่มแยกสตริงถ้ามันยังไม่ได้ทำไปแล้วและตัวเลขให้เห็นว่าผู้ใช้ต้องการ
job2
เรียกใช้พารามิเตอร์และparam1
param2
งาน Umbrella จะสร้าง buildjob เพื่อเรียกใช้งานดาวน์สตรีมตามที่เรียกซึ่งจะทำให้ Slack กลับไปหาผู้ใช้งาน
มันเป็นขั้นตอน 2-3 ที่ทำให้ฉันสะดุด ฉันจะส่งผ่านสตริง (มีช่องว่าง!) จาก Slack ไปยังงาน Jenkins ของฉันได้อย่างไร
หากหลักฐานทั้งหมดของฉันผิดฉันก็เปิดรับเฟรมของฉันด้วย