首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于项目角色创建问题

基于项目角色创建问题
EN

Stack Overflow用户
提问于 2012-11-27 03:39:06
回答 2查看 435关注 0票数 3

我目前在使用JIRA时遇到以下问题:

我创建了一个新的问题类型(比如Client-Request)和项目角色(比如客户端),有没有办法限制只有项目角色'Client‘中的用户可以创建问题'Client-Request'??

我尝试了以下方法:在工作流设计器中,我尝试添加验证器(权限验证器)以逐步执行Create,希望验证器能够过滤项目角色,但是JIRA似乎没有这个特性。

有办法解决这个问题吗?或者任何插件都可能有帮助?

EN

回答 2

Stack Overflow用户

发布于 2012-11-27 06:39:25

嗯,这是个有趣的问题。我认为这是目前不可能的,因为你只能有一个权限和发布类型的方案连接到任何项目。

试着在https://answers.atlassian.com/问你的问题。

票数 0
EN

Stack Overflow用户

发布于 2019-08-08 06:23:27

您可以尝试在Create转换中添加一个Groovy,以检查用户是否是'Client‘角色的成员。

代码语言:javascript
复制
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager

    def issue = underlyingIssue
    def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
    def projectRoleManager = ComponentAccessor.getComponentOfType(ProjectRoleManager)

    def role = projectRoleManager.getProjectRole("Client")
    return projectRoleManager.isUserInProjectRole(currentUser, role, issue.getProjectObject())

我能想到的另一种方法是在Create屏幕中添加Javascript。通过AJAX调用检查“Client”角色的用户成员资格。然后在Create屏幕中启用/禁用“客户端请求”问题类型。

我有下面的JS来检查用户的组成员资格。请修改它的角色成员资格。

代码语言:javascript
复制
function getCurrentUserName()
{
    var user;
    AJS.$.ajax({
        url: contextPath +  "/rest/gadget/1.0/currentUser",
        type: 'get',
        dataType: 'json',
        async: false,
        success: function(data) {
            user = data.username;
        }
    });

    return user;
}


function getGroups(user)
{
    var groups;
    AJS.$.ajax({
        url: contextPath + "/rest/api/2/user?username="+user+"&expand=groups",
        type: 'get',
        dataType: 'json',
        async: false,
        success: function(data) {
            groups = data.groups.items;
        }
    });
    return groups;
}
function isUserInGroup(user, group){
    var groups = getGroups(user);
    for (var i = 0; i < groups.length; i++){
        if (groups[i].name == group){
            return true;
        }
    }
    return false;
}

您可能必须使用:"/rest/api/2/project/{projectIdOrKey}/role"

请参阅https://docs.atlassian.com/DAC/rest/jira/6.1.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13577026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档