Как получить метку времени создания из переменных Jenkins?

Как я могу получить метку времени сборки последней сборки от Jenkins? Я хочу вставить это значение в тему "Электронная почта" в действиях после сборки.

Ответы

Ответ 1

ПРИМЕЧАНИЕ: это изменилось в Jenkins 1.597, пожалуйста, смотрите здесь для получения дополнительной информации о миграции

Вы должны иметь возможность просматривать все глобальные переменные среды, доступные во время сборки, https://<your-jenkins>/env-vars.html.

Замените https://<your-jenkins>/ URL-адресом, который вы используете для перехода на веб-страницу Jenkins (например, это может быть http://localhost:8080/env-vars.html).

Одна из переменных среды:

BUILD_ID
    The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)

Если вы используете редактируемое уведомление по электронной почте от jenkins, вы можете использовать ${ENV, var="BUILD_ID"} в строке темы вашего письма.

Ответ 2

Плагин Timestamp Build будет лучшим ответом на получение TIMESTAMPS в процессе сборки.

Следуйте приведенным ниже Простым шагам, чтобы включить переменную "BUILD_TIMESTAMP".

ШАГ 1:

Manage Jenkins -> Plugin Manager -> Installed...
Search for "Build Timestamp Plugin".
Install with or without Restart.

ШАГ 2:

Manage Jenkins -> Configure System.
Search for 'Build Timestamp' section, then Enable the CHECKBOX.
Select the TIMEZONE, TIME format you want to setup with..Save the Page.

ПРИМЕНЕНИЕ:

When Configuring the Build with ANT or MAVEN, 
Please declare a Global variable as, 
E.G.  btime=${BUILD_TIMESTAMP}
(use this in your Properties box in ANT or MAVEN Build Section)

use 'btime' in your Code to any String Variables etc..

введите описание изображения здесь

введите описание изображения здесь

Ответ 3

Попробуйте использовать Build Timestamp Plugin и используйте переменную BUILD_TIMESTAMP.

Ответ 4

Я знаю, что его последний ответ на этот вопрос, но я недавно нашел лучшее решение этой проблемы без установки плагина. Мы можем создать отформатированный номер версии и затем использовать переменную, созданную для отображения даты и времени сборки. Шаги для создания: Build Environment → Создать отформатированный номер версии:

  • Имя переменной среды: BUILD_DATE

  • Номер версии Формат Строка: ${BUILD_DATE_FORMATTED}

вот оно. Просто используйте переменную, созданную выше в строке темы письма, как ${ENV, var = "BUILD_DATE" }, и вы получите дату/время текущей сборки.

Ответ 5

Сгенерируйте переменные среды из сценария (сценарий Unix):

echo "BUILD_DATE=$(date +%F-%T)"

Ответ 7

Один из способов сделать это - использовать сценарий оболочки в разделе глобальной среды. Здесь я использую метку времени UNIX, но вы можете использовать любой формат времени, совместимый с синтаксисом сценария оболочки:

pipeline {

    agent any

    environment {
        def BUILDVERSION = sh(script: "echo 'date +%s'", returnStdout: true).trim()
    }

    stages {
        stage("Awesome Stage") {
            steps {
                echo "Current build version :: $BUILDVERSION"
            }
        }
    }
}

Ответ 8

Если вы хотите добавить временную метку к каждому запросу от браузера на сервер jenkins. Вы можете обратиться к механизму выдачи крошки Дженкинса, и вы можете взломать здесь /scripts/hudson-behavior.js add modify. поэтому он преобразует метку времени в сервер.

    /**
     * Puts a hidden input field to the form so that the form submission will have the crumb value
     */
    appendToForm : function(form) {
        // add here. ..... you code
        if(this.fieldName==null)    return; // noop
        var div = document.createElement("div");
        div.innerHTML = "<input type=hidden name='"+this.fieldName+"' value='"+this.value+"'>";
        form.appendChild(div);
    }