W idealnym świecie nasi mniej znający się na technologii pracownicy mogliby po prostu użyć polecenia Slack, aby uruchomić zadanie i przywrócić wyniki do nich, co neguje użycie interfejsu GUI Jenkinsa. Znalazłem Rozpocznij kompilację w Jenkins przy użyciu Slack Command na GitHub, ale ma kilka ograniczeń, w tym, że wydaje się, że wymaga instancji Heroku w stosunku 1: 1 do pracy Jenkins, co nie jest świetne dla naszych celów.
Myślę, że ludzie powinni używać pojedynczej komendy typu „like” /jenkins
i używać parametrów po niej, które zostaną przeanalizowane przez jedno zadanie i użyte do wyrzucenia innych na później. To utrzymuje nas do jednego luźnego polecenia / jednej instancji, ale wciąż zapewnia nam całą potrzebną elastyczność.
Problem polega na dostarczeniu parametrów do Jenkinsa. Wyobrażam sobie coś takiego jak następujący przepływ pracy;
Typy użytkowników
/Jenkins job2 param1 param2
w Slack. To wywołuje zadanie parasolowe, które przeanalizuje parametry, aby dowiedzieć się, co uruchomić.Polecenie jest w jakiś sposób wysyłane do zadania jenkins parasolowego. Instancja Heroku, bezpośrednia integracja, w / e.
Zadanie parasolowe otrzymuje
job2 param1 param2
jako ciąg. (Być może jako wartość jednego parametru, być może wstępnie podzielona na wiele pól)Zadanie parasolowe dzieli ciąg, jeśli jeszcze tego nie zrobił, i stwierdza, że użytkownik chce
job2
uruchomić, używając parametrówparam1
iparam2
.Zadanie parasolowe wykonuje kompilację, aby uruchomić tak zwane dalsze zadanie, które zwalnia użytkownika z powrotem jego wyniki.
Występują we mnie kroki 2-3. Jak mogę przekazać ciąg (ze spacjami!) Ze Slacka do mojej pracy w Jenkins?
Jeśli cała moja przesłanka jest błędna, jestem również otwarty na wyzwanie mojej ramce.