我想使用 NodeJS octokit/rest 库将 GitHub 用户添加为组织存储库的协作者。即使我的用户帐户具有具有必要权限的有效访问 token ,库和手动发送到 GitHub API 的请求也会响应 HTTP 404 - 未找到。
我正在尝试将 GitHub 用户添加为组织存储库的协作者,无论他们是否是组织本身的成员。
我的请求用户通过具有所需权限的个人访问 token 进行身份验证。
我使用 'octokit/rest 的 repos.addCollaborators
函数,将组织名称作为所有者,将存储库名称作为存储库,将要添加的用户的用户名作为参数对象的用户名属性。 octokit 对象使用我的帐户访问 token 进行身份验证。我的用户帐户是该组织的所有者。
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
执行成员资格请求时会出现相同的行为。
最佳答案
我尝试了几个权限范围。看起来前两个 token 的权限太多了(?!)。工作权限范围似乎是“admin:org、notifications、repo、write:discussion”。
关于node.js - 使用 octokit 添加用户作为 github 组织的协作者以 404 结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57273177/