Почему это может произойти, есть ряд возможных причин:
- сервер Jenkins пришлось откатить по тем или иным причинам, например, на пару недель назад
- была удалена джоба на стороне Jenkins и пересоздана с тем же названием
- Проверяем какие ошибки показывает в логах прогона Jenkins. Если ошибка вида Bad Request: {"timestamp":1734325688111,"status":400,"message":"Could not create session for closed launch","errors":[]} - то переходим к пункту 2.
- Проверить различия в ID джоб. Скорее всего после отката образовалась яма между айдишниками (id на стороне дженкинса идут инкрементом +1). Причина заключается в том, что, условно говоря, в ТестОпс 150 запусков из Jenkins, а в Jenkins после восстановления из бэкапа 100 запусков и нужно эту разницу в 50 запусков перекрыть.
Есть три варианта решения проблемы:
- Самый простой способ:
В Jenkins сделать моментальный переход на нужный номер запуска Jenkins.instance.getItemByFullName("test/test-job").updateNextBuildNumber(int - номер, который ожидается на стороне ТестОпс) - Просто способ:
Достаточно переименовать джобу на стороне Jenkins - Сложный способ, два варианта, ручная работа:
1. Самый верный способ - прогон джоб на стороне Jenkins. Для этого отключаем интеграцию со стороны ТестОпс, после чего открываем и закрываем запуски на стороне Jenkins, создавая "фиктивные" запуски до тех пор, пока количество запусков в Jenkins по ID не сравняется с количеством запусков в ТестОпс
2. Удалить запуски на стороне ТестОпс и прогнать заново со стороны Jenkins. Применимый вариант, однако если разница будет в условные 50-100 запусков, то это может стать проблемой.