Как получить продолжительность работы jenkins build

Можно ли получить продолжительность сборки Jenkins с помощью скриптов или некоторых встроенных функций. Я пробовал с ${BUILD_DURATION}, но это не сработало.

Build duration displayed in Jenkins UI

Кто-нибудь может предложить?

Я пытаюсь получить работу DSL

Siddarth 13.08.2018 07:13

Я не уверен, но, может быть, эта же помощь - переполнение стека

Abhinay Gupta 15.01.2020 06:32
5
2
7 830
2

Ответы 2

Вот несколько вариантов:

RESTFUL API

Используйте язык по вашему выбору, чтобы использовать Jenkins Restful API, чтобы получить json для сборки и десериализации.

ДЕКЛАРАТИВНЫЙ ТРУБОПРОВОД

Используйте ${currentBuild.durationString}.

Объект currentBuild предоставляет ряд соответствующих атрибутов:

timeInMillis: 
    time since the epoch when the build was scheduled

startTimeInMillis
    time since the epoch when the build started running

duration
    duration of the build in milliseconds

durationString
    a human-readable representation of the build duration

Перейдите к https://<your-jenkins-instance>/pipeline-syntax/globals#currentBuild для получения полного списка.

не могли бы вы подробнее рассказать о Restful API? Я искал работу DSL для фристайла

Siddarth 13.08.2018 07:03

Многие страницы в Jenkins открывают json, если вы добавляете / api / json. Вам решать программным способом попасть в соответствующую конечную точку, потреблять и десериализовать json.

Andrew Gray 13.08.2018 07:37

Привет, @Siddarth, был бы признателен, если бы вы приняли этот ответ. Дайте мне знать, если вам понадобится дополнительная информация.

Andrew Gray 14.08.2018 03:32

не могли бы вы предоставить какую-нибудь справочную страницу?

Siddarth 14.08.2018 07:30

почти любая страница в Jenkins просто добавьте / api / json

Andrew Gray 14.08.2018 07:35

Я новичок в Jenkins, и ниже Отличный сценарий - простой подход;

def item = Jenkins.instance.getItem("<Job_name>")

def last_job_duration = item.getLastBuild().getDurationString()

println last_job_duration

Другие вопросы по теме