3

我想创建一个工作流验证器,它不允许问题的报告者从工作流中执行某些步骤。为此,我必须以某种方式获取用户对象或执行操作的用户的用户 ID。我怎样才能做到这一点?

4

2 回答 2

1

注入JiraAuthenticationContext然后调用jiraAuthenticationContext.getLoggedInUser();

您可以在此处找到有关 JiraAuthenticationContext 的文档: https ://docs.atlassian.com/jira/5.0.1/com/atlassian/jira/security/JiraAuthenticationContext.html

于 2015-11-10T13:53:52.697 回答
0

这是我设法做到的:

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字符串在哪里contextARG_USER_NAMEusername

于 2015-11-10T13:19:22.277 回答