Получить текущего пользователя в валидаторе рабочего процесса jira

Я хочу создать валидатор рабочего процесса, который не позволит репортеру проблемы выполнить определенные шаги из рабочего процесса. Для этого мне нужно как-то получить объект User или идентификатор пользователя, выполняющего действие. Как я могу это сделать?

2 ответа

Решение

Ввести JiraAuthenticationContext А потом позвони jiraAuthenticationContext.getLoggedInUser();

вы можете найти документацию о JiraAuthenticationContext здесь: https://docs.atlassian.com/jira/5.0.1/com/atlassian/jira/security/JiraAuthenticationContext.html

Вот как мне удалось это сделать:

private String getCurrentIssueProcessorId(Map<?, ?> transientVars, Map<?, ?> args){
        String processorId = (String) args.get(ARG_USER_NAME);
        if(null == processorId || processorId.isEmpty()){
            WorkflowContext workflowContext = (WorkflowContext) transientVars.get(ARG_CONTEXT);
            processorId = workflowContext.getCaller();
        }

        if(logger.isDebugEnabled()){
            logger.debug("Issue processor: " + processorId);
        }

        return processorId;
}

где ARG_CONTEXT это строка context а также ARG_USER_NAME это строка username

Другие вопросы по тегам