如何在Youtrack rest api上通过项目获得所有用户?

时间:2017-01-13 06:22:26

标签: youtrack youtrack-api

我无法通过项目或YouTrack REST API上的过滤器获取用户;

我写了以下代码:

var login = "mylogin";
var password = "mypassword";

(async function getAllUserByProject(login, password, project) {
        var url = ``https://mycompany.myjetbrains.com/hub/api/rest/users?`;
        return new Promise((done, fail)=> {
            request.get({
                url, auth: {user: login, pass: password, sendImmediately: true}
            }, (error, body, result)=> {
                if (error || !result) {
                    return fail({
                        error: JSON.parse(error), result: result ? JSON.parse(result) : null
                    })
                }
                console.log(result)
                done(JSON.parse(result));
            })
        })
    }
)(login, password, project);

2 个答案:

答案 0 :(得分:1)

老问题但是:

  

项目用户

使用select_code = db.merge(df, left_on='label', right_on='label') 。我在/rest/admin/user?project=<PROJECT_ID>上对此进行了测试,结果正常。

参考:https://www.jetbrains.com/help/youtrack/standalone/GET-Users.html

  

通过过滤器

如文档中所示,资源网址采用v2017.3形式:

  • /rest/admin/user?{q}&{group}&{role}&{project}&{permission}&{onlineOnly}&{start}可以是用户登录名,姓名或电子邮件的一部分
  • q是用户的groupID
  • group是用户的role
  • role见上文
  • project是用户的permissions
  • 之一
  • permission仅获取当前在线的用户
  • onlineOnly用于分页(页面大小固定为start

答案 1 :(得分:0)

从YouTrack 2018.3开始,old REST API is becoming deprecated赞成允许进行更多详细查询的查询。

使用新的API,您可以使用/hub/api/rest/projectteams/?$top=-1&fields=id来获取所有项目团队的ID的完整列表,并使用/hub/api/rest/projectteams/{project id}/users来获取给定项目中的用户列表团队。