Добавление пользователя в качестве сотрудника организации github с octokit заканчивается 404

Я хочу добавить пользователей GitHub в качестве соавторов репозитория организации, использующего библиотеку NodeJS octokit/rest. Библиотека и вручную отправляла запросы в GitHub API с ответом HTTP 404 - Не найдено, даже если у моей учетной записи пользователя есть действительный токен доступа с необходимыми разрешениями.

Я пытаюсь добавить пользователей GitHub в качестве сотрудников хранилища организации, независимо от того, являются ли они членами самой организации. Мой запрашивающий пользователь проходит аутентификацию через личный токен доступа с необходимыми разрешениями. Я использую 'octokit / rest's repos.addCollaborators функция с именем организации в качестве владельца, именем репозитория в качестве репозитория и именем пользователя пользователя, которое будет добавлено в качестве свойства имени пользователя объекта параметра. Объект 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

Такое же поведение появляется при выполнении запроса на членство.

1 ответ

Я попробовал с несколькими областями разрешения. Похоже, первые два токена имели слишком много разрешений (?!). Рабочая область разрешений выглядит так: "admin:org, notifications, repo, write: Discussion".

Другие вопросы по тегам