我想使用NodeJS octokit / rest库将GitHub用户添加为组织存储库的协作者。即使我的用户帐户具有具有必要权限的有效访问令牌,该库和向GitHub API手动发送的请求也会以HTTP 404(未找到)进行响应。

我试图将GitHub用户添加为组织存储库的协作者,无论他们是否是组织本身的成员。
我的请求用户已通过具有所需权限的个人访问令牌进行了身份验证。
我正在使用'octokit / rest'的repos.addCollaborators函数,组织名称为所有者,存储库名称为repo,并且将用户的用户名添加为参数对象的username属性。 octokit对象使用我的帐户访问令牌进行身份验证。我的用户帐户是该组织的所有者。

this.octokit = new Octokit({
            auth: accessToken,
            log: {
                debug: (msg) => { logger.debug(`${msg}`); },
                error: (msg) => { logger.error(`${msg}`); },
                info: (msg) => { logger.info(`${msg}`); },
                warn: (msg) => { logger.warn(`${msg}`); }
            },
            userAgent: process.env.APP_NAME
});
// ...
this.octokit.repos.addCollaborator({
                owner: ownername,
                repo: url[url.length - 1],
                username
}).catch((msg) => {
                logger.verbose(`Error message ${msg}`);
});


关于文档,我希望将邀请发送给用户。
不幸的是我得到404 Not Found。

当我使用curl时,也会发生相同的情况:

curl -u myUsername:token -X PUT https://api.github.com/repos/:organizationname/:reponame/collaborators/:collaboratorname?permission=push


执行成员资格请求时,会出现相同的行为。

最佳答案

我尝试了几种权限范围。似乎前两个令牌的权限过多(?!)。工作许可范围似乎是“ admin:org,通知,回购,write:discussion”。

关于node.js - 使用octokit将用户添加为github组织的协作者的操作以404结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57273177/

10-09 17:42
查看更多