Я работал над сценарием для запуска электронного письма со списком изменений для разработчика, который начал сборку. Проведя пару часов в Интернете, пытаясь найти решение, я нашел обходной путь, копаясь в файлах журнала Hudson. Вероятно, не самый чистый способ сделать это, но это работает. Каждый раз, когда Hudson запускает сборку, он записывает состояние сборки в файл журнала. Журнал выглядит примерно так ...
Started by user <****>
Building remotely on Slave1
$ hg clone -r test_clone https://mercuial.com/build /some/workspace/test_clone
adding changesets
adding manifests
adding file changes
added 355 changesets with 298 changes to 43 files
updating to branch default
41 files updated, 0 files merged, 0 files removed, 0 files unresolved
...
...
Файл журнала находится в ~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log
. Затем вы можете проанализировать файл журнала для идентификатора пользователя. Нечто подобное должно работать.
UserID = head -1 ~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log|cut -d" " -f4