Как узнать, какой пользователь запускает сборку в 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}"
}
}
}