Какие разрешения необходимы приложению GitHub для доступа к API-интерфейсу list-issues-for-a-repository?

Я хотел бы создать приложение GitHub для отображения текущих проблем в репозитории, упорядоченных по меткам. Репозитории организации являются частными, но у моей учетной записи есть доступ администратора. Я установил приложение под своим именем. API list-issues-for-a-repository возвращается:

{
  "message": "Not Found",
  "documentation_url": "https://developer.github.com/v3/issues/#list-issues-for-a-repository"
}

Я установил разрешения приложения следующим образом:

Разрешения репозитория

  • Проблемы — только для чтения
  • Метаданные — только для чтения
  • Нет доступа ко всему остальному

Разрешения организации

  • Нет доступа для всех

Разрешения пользователя

  • Нет доступа для всех

Подписаться на события

  • Не проверено для всех

Получение всех репозиториев с использованием /orgs/«org»/repos возвращает пустой массив, что означает, что частные репозитории не отображаются, поэтому, вероятно, здесь также возникает проблема с разрешениями.

Вопросы:

  1. Нужно ли устанавливать приложение под организацию? В организации не отображаются установленные приложения, хотя мы используем Codacy и GitHub Desktop.

  2. Приложение не подпадает под политику стороннего доступа организации. Мне нужно добавить его? Я не вижу способа запросить разрешения и не знаю, работают ли приложения GitHub таким образом.

  3. Нужно ли включать дополнительные разрешения для приложения? Мне просто нужен доступ только для чтения для проблем, и я не хочу раскрывать больше, чем мне нужно.


person Yimin Rong    schedule 20.11.2019    source источник
comment
Является ли ваше приложение GitHub общедоступным или частным? Не могли бы вы поделиться ссылкой на приложение?   -  person abdullahalali    schedule 21.11.2019
comment
@abdullahalali — да, это личное, явно или неявно   -  person Yimin Rong    schedule 21.11.2019


Ответы (1)


Прежде всего, подтвердилось, что это должно быть «приложение GitHub», а не «приложение OAuth», потому что API для перечисления проблем в репозитории, согласно документации, доступен только для приложений GitHub. Сначала я сделал неправильный поворот, задокументированный в истории редактирования предыдущей связанной проблемы, выбора приложения OAuth и ничего не добился.

Что касается моих конкретных вопросов:

  1. Нужно ли устанавливать приложение в организации? В организации не отображаются установленные приложения, хотя мы используем Codacy и GitHub Desktop.

Да, его нужно установить или добавить под организацию. Мне было проще удалить существующее приложение под своей учетной записью и повторно добавить (а не переустановить) под организацией.

  1. На приложение не распространяется политика стороннего доступа организации. Мне нужно добавить его? Я не вижу способа запросить разрешения и не знаю, работают ли приложения GitHub таким образом.

Как только приложение добавлено в организацию, ему автоматически предоставляется доступ. Вы можете точно настроить, к каким репозиториям он может получить доступ, или разрешить ему доступ ко всем. Для установки, а не для добавления, может потребоваться еще несколько шагов, и приложение необходимо сначала опубликовать. Мое приложение предназначено только для организации, поэтому я выбрал более простое решение. Кроме того, даже если вы предоставите приложению доступ ко всем репозиториям, права доступа того, кто войдет в систему, будут иметь приоритет. Например, кто-то за пределами организации не увидит никаких частных репозиториев.

  1. Нужно ли добавить дополнительные разрешения для приложения? Мне просто нужен доступ только для чтения для проблем, и я не хочу раскрывать больше, чем мне нужно.

Нет, только для чтения для проблем, метаданные включаются автоматически.

С этими ревизиями я смог получить доступ к репозиториям, а также получить результаты для list-issues-for-a-repository.

person Yimin Rong    schedule 23.11.2019