С YAML и web-performer: Автоматизация на HTTP заявки без усилие
Защо все още пишем ръчни скриптове за API заявки?
Колко пъти си се хванал да пишеш едни и същи няколко реда код само за да тестваш даден endpoint? Или да дебъгваш webhook, докато не ти побелее косата? Да, и аз.
Инструменти като Postman са страхотни — няма спор. Но понякога просто ти трябва нещо по-леко, нещо което да влезе в CI/CD пайплайна ти без много-много усложнения.
Какво е web-performer?
Това е един GitHub проект, който ти позволява да дефинираш HTTP заявки в YAML файлове. Вместо да пишеш отделен скрипт за всяка една заявка, просто описваш какво ти трябва в конфигурационен файл иツールът го изпълнява.
Звучи просто — и си е точно така.
Защо точно YAML?
Ако работиш с DevOps или дори само си чел документация на популярни проекти, знаеш че YAML е навсякъде. Има си причини:
- Четимост — всеки може да го разбере, дори хората от екипа ти по продажби (не, не се шегувам)
- Лесно се качва в git — споделяш конфигурации с колегите без да им обясняваш какво да инсталират
- Съвместимост с CI/CD — вкарваш го в GitHub Actions, GitLab CI, каквото ползваш
Какво точно можеш да автоматизираш?
Основните неща, разбира се:
- GET заявки — когато ти трябват данни
- POST — за изпращане на payloads
- PUT/PATCH — за обновяване на ресурси
- DELETE — за изтриване
Всичко това си го описваш с header-и, authentication, тяло на заявката и дори очаквани отговори за validation.
Кога е полезно?
Имам един приятел, дето си автоматизира deployment проверките точно с такива инструменти. Казва, че му спестява десетки минути на ден:
- Smoke testing на API след деплоймανт
- Trigger-ване на webhooks за интеграции
- Синхронизация на данни между различни услуги
- Тестване на документация с реални отговори
Практичната страна
Не всеки проект се нуждае от enterprise решение с dashboards и абонаменти. Понякога ти трябва едно добре структурирано YAML файлче и един CLI инструмент — и толкова.
Ако управляваш няколко уеб услуги или cloud интеграции, това може да ти спести доста ръчна работа в дългосрочен план.
Къде да го намериш?
GitHub repository-то е тук. Отворено е, така че можеш да го fork-неш, да добавиш подобрения или да си го пригодиш за твоите нужди.
А ти какви HTTP задачи自动化раш с конфигурационни файлове? Пиши в коментарите — винаги е интересно да се види как другите решават тези проблеми.