Как узнать, какой пользователь запускает сборку в Jenkinsfile

Я пытаюсь получить имя пользователя, который запускает сборку в Jenkinsfile:

...
user = User.current().getFullName()
...

но получите "СИСТЕМУ". Как получить правильное имя пользователя?

Дженкинс 1.651.3

2 ответа

Решение

Найденное решение:

def build = currentBuild.rawBuild
def cause = build.getCause(hudson.model.Cause.UserIdCause.class)
def name = cause.getUserName()
echo "User: " + name

вывести имя пользователя, который запускает сборку.

Если вы встречаете "Сценарии не разрешены", это также работает;

Установите плагин Build User Vars, найденный здесь

... затем оберните свой шаг, что-то вроде этого:

steps {
    script {
        wrap([$class: 'BuildUser']) {

            var name = "${BUILD_USER}"
        }
    }
}
Другие вопросы по тегам