Dalam dunia yang ideal, karyawan kami yang kurang berpengetahuan teknologi hanya dapat menggunakan perintah Slack untuk menjalankan pekerjaan dan mendapatkan hasilnya kembali kepada mereka, meniadakan penggunaan GUI Jenkins. Saya menemukan Mulai membangun di Jenkins menggunakan Slack Command di GitHub, tetapi ada beberapa keterbatasan termasuk yang tampaknya memerlukan rasio Heroku 1: 1 untuk pekerjaan Jenkins, yang tidak bagus untuk tujuan kita.
Pemikiran saya adalah membuat orang menggunakan perintah tunggal seperti /jenkins
, dan menggunakan parameter setelahnya yang akan diuraikan oleh satu pekerjaan, dan digunakan untuk memulai yang lain di hilir. Itu menjaga kita untuk satu perintah kendur / satu contoh, tetapi masih memberi kita semua fleksibilitas yang kita butuhkan.
Masalahnya jatuh pada mendapatkan parameter ke Jenkins. Saya membayangkan sesuatu seperti alur kerja berikut;
Jenis pengguna
/Jenkins job2 param1 param2
di Slack. Ini memanggil pekerjaan payung yang akan mengurai parameter untuk mencari tahu apa yang harus dijalankan.Perintah entah bagaimana dikirim ke pekerjaan payung jenkins. Contoh Heroku, integrasi langsung, w / e.
Pekerjaan payung menerima
job2 param1 param2
sebagai string. (Mungkin sebagai nilai parameter tunggal, mungkin pra-bagi menjadi beberapa bidang)Pekerjaan payung membagi string jika belum dilakukan, dan mengetahui bahwa pengguna ingin
job2
menjalankan, menggunakan parameterparam1
danparam2
.Pekerjaan payung melakukan buildjob untuk menjalankan pekerjaan hilir seperti yang disebut, yang akan memperlambat kembali ke pengguna hasil mereka.
Langkah 2-3 yang membuat saya tersandung. Bagaimana saya bisa meneruskan string (dengan spasi!) Dari Slack ke pekerjaan Jenkins saya?
Jika seluruh premis saya salah, saya juga terbuka untuk mempertanyakan bingkai saya.