Бих искал да получа git commit хеша на текущата компилация от плъгин (тоест в Java клас, който разширява hudson.tasks.Recorder).
Това работи за проект за свободен стил:
EnvVars env = run.getEnvironment(listener);
String hash = env.get("GIT_COMMIT");
Въпреки това, в тръбопроводните проекти променливата на средата GIT_COMMIT очевидно не е зададена, така че хешът става нулев. Това е вярно дори за декларативен тръбопровод, където стъпката за проверка на scm е имплицитна.
Има ли алтернативен начин за получаване на хеша на ангажимента в тръбопроводен проект?
Редактиране: За да поясня, това се отнася до получаване на git commit хеш от кода на Java в плъгин на Jenkins, а не в groovy/Jenkinsfile. Изглежда, че променливата на средата няма да съществува, когато плъгинът се използва в задания за конвейер, така че търся заобиколно решение.