Я использую комбинацию нескольких плагинов - для базового назначения ролей и разрешений я использую Плагин Role Strategy .
Когда мне нужно разделить какую-то роль в зависимости от параметров (например, каждый, у кого есть задание, может запускать задания, но только пользовательский UUU может запускать задание развертывания для развертывания на MMM на компьютере), я использую Подключаемый модуль Python и определение сценария Python в качестве первого шага сборки и заканчивается sys.exit (-1), когда задание запрещено запускать с заданной комбинацией параметров.
Построить плагин Vars User предоставляет мне информацию о пользователе, выполняющем задание в качестве переменных среды.
например:
import os
import sys
print os.environ["BUILD_USER"], "deploying to", os.environ["target_host"]
# only some users are allowed to deploy to servers "MMM"
mmm_users = ["UUU"]
if os.environ["target_host"] != "MMM" or os.environ["BUILD_USER"] in mmm_users:
print "access granted"
else:
print "access denied"
sys.exit(-1)