Я хотел бы получить хеш коммита git текущей сборки из плагина (то есть в классе Java, который расширяет hudson.tasks.Recorder).
Это работает для проекта вольным стилем:
EnvVars env = run.getEnvironment(listener);
String hash = env.get("GIT_COMMIT");
Однако в конвейерных проектах переменная среды GIT_COMMIT, очевидно, не установлена, поэтому хэш становится нулевым.Это верно даже для декларативного конвейера, где шаг проверки scm неявный.
Есть ли альтернативный способ получить хеш коммита в конвейерном проекте?
Редактировать: Чтобы уточнить, это касается получения хэша git commit из кода Java в плагине Jenkins, а не взаводной / Jenkinsfile.Кажется, что переменная окружения не будет существовать, когда плагин используется в конвейерных заданиях, поэтому я ищу обходной путь.