Доступ к GitHub Wiki с помощью Java

Есть ли способ получить доступ к GitHub Wiki с помощью Java?
Возьмем этот сайт: https://github.com/radiant/radiant/wiki. Как я могу получить всю возможную информацию, такую ​​как ссылки, заголовки, описания и т. д.? Есть ли API?

Здесь Могу ли я проверить вики-сайты github как репозиторий git? здесь написано, что я могу клонировать вики прямо сейчас. Можно ли тогда использовать jGit для доступа к нему?


person Evgenij Reznik    schedule 29.07.2014    source источник


Ответы (2)


К сожалению, детали вики недоступны через GitHub API.

Однако они доступны в виде репозитория, который вы можете клонировать локально:

боковая панель

Например: git clone https://github.com/radiant/radiant.wiki.git

Это даст вам необработанные страницы Markdown и историю изменений.

person Brendan Forster    schedule 29.07.2014
comment
Есть ли шанс получить к нему доступ через API? Например jGit? - person Evgenij Reznik; 30.07.2014
comment
JGit предназначен для управления репозиториями git на вашем локальном компьютере. - person Brendan Forster; 31.07.2014

Да, вы можете сделать это, отправив запрос cURL в API github, который задокументирован здесь: https://developer.github.com/v3/.

EX:

curl -G https://api.github.com/repos/{repo-owner}/{repo-name}

(где в вашем случае репо-имя и владелец оба сияют)

Это вернет объект JSON с кучей ссылок для получения любой информации, которую вы хотите связать с репо.

Навскидку я знаю, что в ответе есть поле с кратким описанием, а также набор полей *_url, которые содержат URL-адреса для получения других фрагментов информации, связанных с репо, таких как content_url, comments_url, git_tags_url и многие другие.

Чтобы получить к ним доступ, вы просто отправляете запрос на получение, аналогичный приведенному выше, на URL-адрес, хранящийся в поле.

Если вам нужна информация о том, как делать запросы cURL в java, об этом уже есть хороший пост SO здесь.

person Jake    schedule 29.07.2014
comment
Хорошо, я могу получить доступ к глобальной информации о проекте, такой как идентификатор, имя, avatar_url и т. д. Но как насчет конкретной информации на вики-странице? В моем примере это будет Установка, Основы и т.д. и соответствующие описания? - person Evgenij Reznik; 30.07.2014
comment
Я смог получить его, используя не очень элегантное решение.... Вы можете отправить запрос на получение исходного URL-адреса, который вы мне отправили, а затем получить html-представление страницы. Ответом будет вся страница, но вы можете найти основной контент в div с id=wiki-content, а затем вычистить текст из внутренних элементов html. Как я уже сказал вначале, это будет не очень красивое решение. - person Jake; 30.07.2014
comment
Есть ли какой-нибудь API, чтобы предоставить мне более элегантное решение? - person Evgenij Reznik; 30.07.2014