#python #jenkins #filtering #export-to-csv
Вопрос:
Я относительно новичок в Python, поэтому мне было интересно, может ли кто-нибудь дать несколько советов или советов относительно того, что я хочу сделать с помощью Python во время выполнения в рамках сборки на конвейере Дженкинса.
Чтобы дать базовую разбивку, я хочу экспортировать/сохранить метки времени из выходных данных Дженкинса, которые в настоящее время помечают все команды/строки, выполняемые в нем, во время выполнения сборки в файл .txt или .csv. Эти временные метки будут приниматься, когда в выводе Дженкинса появляются определенные команды/строки. Я привел пример ниже для метки времени и команды, которую ищут.
«2021-08-17 11:46:38 899 — ЖУРНАЛ: Успешно отправлена тестовая запись»
Я бы предпочел просто отправить саму метку времени, но если нужно отправить полную строку, это тоже сработает, так как в консоли генерируется много информации, которая не представляет интереса для того, что я хочу сделать.
Моей конечной целью было бы сделать это для нескольких различных и уникальных команд/строк, которые встречаются в выводе Дженкинса. Наряду с этим, некоторые тесты, которые я бы проводил, включали бы повторное выполнение одного и того же сценария для заданного количества циклов, поэтому я хотел бы, чтобы данные метки времени сохранялись в отдельном выходном файле (и не перезаписывались) или в отдельных выходных файлах для каждого цикла.
Любые подсказки или советы по этому поводу были бы весьма признательны, поскольку я зашел в тупик в том, что я могу искать в Интернете, используя либо функцию ведения журнала, либо функцию wait_for_value, чтобы найти требуемую команду/строку в выводе консоли, а затем сохранить/распечатать ее в созданной переменной или посмотреть, подойдет ли регулярное выражение для этой задачи.
Заранее спасибо за любую помощь в этом вопросе.
Комментарии:
1. Предполагая, что вы выполняете эту команду через терминал, вы можете попробовать записать выходные данные файла в какой-либо файл с помощью:
JenkinsCommand amp;> SomeFile.txt
а затем, в зависимости от того, как выглядит этот вывод и что вам нужно, проанализируйте этот файл после этого в поисках строк, которые начинаются с меток времени.2. Привет, забыл включить эту деталь. Скрипт python запускается через Дженкинса как часть сборки конвейера. Конвейер был настроен на создание журналов по мере его работы, так что именно здесь я нашел интересующие меня команды/строки. Первоначально я просто собирался поискать в журналах, чтобы получить нужные мне метки времени, но подумал, не могу ли я немного автоматизировать процесс, отфильтровав/сохранив только те данные, которые меня интересовали, в отдельный файл.