0

我无法通过项目或 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);
4

2 回答 2

1

老问题但是:

项目用户

使用/rest/admin/user?project=<PROJECT_ID>. 我对此进行了测试,v2017.3并且可以正常工作。

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

按过滤器

如文档中所见,资源 url 采用以下形式/rest/admin/user?{q}&{group}&{role}&{project}&{permission}&{onlineOnly}&{start}

  • q可以是用户登录名、姓名或电子邮件的一部分
  • group是用户的 groupID
  • role是用户的角色
  • project看上面
  • permission是用户的权限之一
  • onlineOnly只获取当前在线的用户
  • start用于分页(页面大小固定为10
于 2017-10-24T14:59:12.890 回答
0

从 YouTrack 2018.3 开始,旧的 REST API 已被弃用,取而代之的是允许更精细查询的 API。

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

于 2019-02-03T12:04:11.927 回答