В ідеальному світі наші менш обізнані працівники можуть просто використати команду Slack, щоб виконати роботу та повернути їх результати, ігноруючи використання графічного інтерфейсу Дженкінса. Я знайшов Почати складання в Дженкінсі за допомогою команди Slack Command на GitHub, але це має кілька обмежень, включаючи те, що, здається, потрібен екземпляр Heroku у співвідношенні 1: 1 до роботи Дженкінса, що не чудово для наших цілей.
Моя думка полягає в тому, щоб люди використовували сингулярну команду на зразок /jenkins
і використовували параметри після неї, які будуть проаналізовані однією роботою, і використовуються для відштовхування інших за течією. Це утримує нас до однієї слабкої команди / одного екземпляра, але все ж дає нам всю необхідну гнучкість.
Питання полягає в отриманні параметрів Дженкінсу. Я зображую щось на зразок наступного робочого процесу;
Типи користувачів
/Jenkins job2 param1 param2
у Slack. Це викликає завдання парасольки, яке буде аналізувати параметри, щоб дізнатися, що потрібно запустити.Команда якось направляється на роботу з парасолькою джинкінів. Примірник Heroku, пряма інтеграція, з / п.
Завдання парасольки отримує
job2 param1 param2
у вигляді рядка. (Можливо, як значення одного параметра, можливо, попередньо розділене на кілька полів)Завдання парасольки розбиває рядок, якщо цього ще не зроблено, і з'ясовує, що користувач хоче
job2
запустити, використовуючи параметриparam1
таparam2
.Завдання Umbrella виконує збір для виконання завдань нижче за течією, як називається, що поверне користувачеві свої результати.
Це кроки 2-3, які мене відштовхують. Як я можу передати рядок (з пробілами!) Від Slack до своєї роботи в Дженкінсі?
Якщо моя вся передумова помиляється, я також відкритий для того, щоб оскаржити свій кадр.