Запись временных меток из команд, отображаемых в журнале вывода Дженкинса, в файл .txt или .CSV

#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 запускается через Дженкинса как часть сборки конвейера. Конвейер был настроен на создание журналов по мере его работы, так что именно здесь я нашел интересующие меня команды/строки. Первоначально я просто собирался поискать в журналах, чтобы получить нужные мне метки времени, но подумал, не могу ли я немного автоматизировать процесс, отфильтровав/сохранив только те данные, которые меня интересовали, в отдельный файл.