获取jira工作流验证程序中的当前用户

问题描述 投票:3回答:2

我想创建一个工作流验证程序,它不允许问题的报告者从工作流程执行某些步骤。出于这个目的,我必须得到User对象或执行该操作的用户的用户ID。我怎样才能做到这一点?

java jira jira-plugin opensymphony
2个回答
1
投票

注入JiraAuthenticationContext然后打电话给jiraAuthenticationContext.getLoggedInUser();

你可以在这里找到关于JiraAuthenticationContext的文档:https://docs.atlassian.com/jira/5.0.1/com/atlassian/jira/security/JiraAuthenticationContext.html


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_NAME是字符串username

© www.soinside.com 2019 - 2024. All rights reserved.