Библиотека взаимодействия с API GitHub

Взаимодейтсвие с API GitHub

Библиотека упрощает взаимодествие с GitHub API из OneScript.

Установка

OPM

В консоли выполняем:

opm install github

Из файла

Качаем последний релиз со страницы Релизы. Затем из командной строки:

opm install -f github*.ospx

Примеры

Авторизация

Авторизация выполняется по token github. Как получить токен можно почитать тут.

#Использовать github

Токен = "какой-то-токен";
Клиент = Новый КлиентGitHub(Токен);

Пользователь

Доступные поля:

  • Логин
  • Идентификатор
  • Ссылка
  • Имя
  • Компания
  • Местоположение
  • ЭлектроннаяПочта
  • Инфо
  • Репозиториев
  • Подписчиков
  • Подписок
  • ДатаСоздания
  • ДатаОбновления
ИмяПользователя = "mylogin";
Пользователь = Клиент.ПолучитьПользователя(ИмяПользователя);

или

ИмяПользователя = "mylogin";
Пользователь = Клиент.ПолучитьПользователя(Новый ПользовательGitHub(ИмяПользователя));

Организация

Достуные поля:

  • Логин
  • Идентификатор
  • Ссылка
  • Описание
  • Имя
  • Компания
  • Блог
  • Местоположение
  • ЭлектроннаяПочта
  • Подтверждено
  • Репозиториев
  • ДатаСоздания
  • ДатаОбновления
  • Разрешения (для репозиториев)
    • Администрирование
    • Отправка
    • Получение
ИмяОрганизации = "myorg";
Организация = Клиент.ПолучитьОрганизацию(ИмяОрганизации);

или

ИмяОрганизации = "myorg";
Организация = Клиент.ПолучитьОрганизацию(Новый ОрганизацияGitHub(ИмяОрганизации));

Репозиторий

Доступные поля:

  • Идентификатор
  • Имя
  • ПолноеИмя
  • Закрытий
  • Владелец
  • Ссылка
  • Описание
  • ЭтоФорк
  • ДатаСоздания
  • ДатаОбновления
  • ДатаПуша
  • СсылкаGit
  • СсылкаSSH
  • Размер
  • Язык
  • Лицензия
  • Форки
  • ВеткаПоУмолчания
  • Архивный
ИмяВладельца = "freeCodeCamp"; // пользователь или организация
ИмяРепозитория = "freeCodeCamp";
Репозиторий = Клиент.ПолучитьРепозиторий(ИмяВладельца, ИмяРепозитория);

или

Владелец = Новый ОрганизацияGitHub("freeCodeCamp");
ИмяРепозитория = "freeCodeCamp";
Репозиторий = Клиент.ПолучитьРепозиторий(Владелец, ИмяРепозитория);

или

Репозиторий = Клиент.ПолучитьРепозиторий(Новый РепозиторийGitHub("freeCodeCamp/freeCodeCamp"));

Сотрудники репозитория

Для получения сотрудников (collaborators) репозитория:

Владелец = "oscript-library";
Репозиторий = "add";
Сотрудники = Клиент.ПолучитьСотрудниковРепозитория(Владелец, Репозиторий);

В результате будет получен массив ПользовательGitHub с разрешениями.

Навигатор репозиториев

Для получения списка репозиториев пользователя / организации используется НавигаторРепозиториев.

Владелец = Клиент.ПолучитьОрганизацию(Новый ОрганизацияGitHub("oscript-library"));
Навигатор = Новый НавигаторРепозиториев(Владелец);
Результат = Навигатор.ПолучитьВесьСписок(Клиент);

Будет получен массив репозиториев (весь список).

Владелец = Клиент.ПолучитьОрганизацию(Новый ОрганизацияGitHub("oscript-library"));
Навигатор = Новый НавигаторРепозиториев(Владелец);
Пока Навигатор.ПолучитьСледующие() Цикл
    Сообщить(Навигатор.Репозитории.Количество());
КонецЦикла;

Для получения списка репозитория постранично.

Контент

Доступные поля:

  • Тип
  • Имя
  • Размер
  • Кодировка
  • Путь
  • Хеш
  • Ссылка
  • СсылкаДляСкачивания
Репозиторий = Новый РепозиторийGitHub("freeCodeCamp/freeCodeCamp");
Контент = Клиент.ПолучитьКонтент(Репозиторий, "readme");

Действия с репозиториями

Для создания форка репозитория в организацию

#Использовать github

Токен = "какой-то-токен";
Клиент = Новый КлиентGitHub(Токен);
КлиентGitHub.СоздатьФоркВОрганизацию("freeCodeCamp", "freeCodeCamp", "oscript-library");

Для предоставления доступа другому пользователю к репозиторию

#Использовать github

Токен = "какой-то-токен";
Клиент = Новый КлиентGitHub(Токен);
КлиентGitHub.ПредоставитьДоступКРепозиторию("oscript-library", "freeCodeCamp", "какой-то-пользователь", "push");

Доступные версии пакета

0.2.1
Изменен: 23.06.2019 6:22:32
В разработке

Репозиторий

https://github.com/oscript-library/github

Актуальная версия

github-0.2.1