Как подключиться к локальному серверу GitHub через API - PullRequest
0 голосов
/ 01 октября 2019

У меня есть локальный сервер в моем офисе, где у меня установлен и настроен github. В настоящее время мы используем Tortoise SVN для подключения к локальным репозиториям и управления им.

Теперь мне нужно подключиться к репозиториям github, установленным на моем локальном сервере, с помощью API Github. Я знаю, как подключиться к удаленным репозиториям github с помощью API github.

Валюта Я попытался запросить API для получения облачного репозитория github, используя GET запрос к https://api.github.com/orgs/:username/repos, чтобы вывести список репо моей организации, и я получил правильный ответс сервера.

[
  {
    "id": 1296269,
    "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
    "name": "Hello-World",
    "full_name": "octocat/Hello-World",
    "owner": {
      "login": "octocat",
      "id": 1,
      "node_id": "MDQ6VXNlcjE=",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif",
      "gravatar_id": "",
      "url": "https://api.github.com/users/octocat",
      "html_url": "https://github.com/octocat",      
      "type": "User",
      "site_admin": false
   },
   ...
]

Точно так же я хотел сделать с моим локальным сервером GitHub репо. Локальный сервер с именем masterhub в моем хост-файле, и я могу клонировать репо, как git clone ssh://username@masterhub/git/sample.git, и он работает.

Теперь я хочу Какую конечную точку я должен сделать APIзвоните, чтобы заставить github API работать на локальном компьютере?

Примечание: Я знаю, что API github доступны , чтобы играть в зависимости от моих потребностей, но все, что мне нужно знатьКакую конечную точку я должен поразить?

1 Ответ

1 голос
/ 02 октября 2019

GitHub Enterprise Server API находится немного под конечной точкой, чем облачная версия. Если имя хоста для вашего сервера github.example.com, то API доступен в https://github.example.com/api/v3 вместо https://api.github.com.

Так что для вашего примера выше вам нужно будет использовать https://github.example.com/api/v3/orgs/:username/repos.

Обратите внимание, что все, что вы настроили в своем конфигурационном файле SSH, здесь не имеет значения: вам нужно использоватьимя хоста, а не псевдоним SSH. Если вы не уверены, каким должно быть это имя хоста, посмотрите в ~/.ssh/config и найдите имя хоста, затем используйте его.

...