ABF API

Материал из Rosalab Wiki
Версия от 10:22, 4 марта 2014; D uragan (обсуждение | вклад) (Новая страница: « == ABF REST API == Для доступа к ABF может использоваться REST API, т.е. с серверу ABF можно отдавать ко…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

ABF REST API

Для доступа к ABF может использоваться REST API, т.е. с серверу ABF можно отдавать команды посредством HTTP запросов.

Описание API (на английском языке) доступно на сайте ABF-DOC.

Использование Curl

Для отправки серверу ABF HTTP-запросов можно исопльзовать программу curl.

Например, следующая команда создаст открытый проект test-api, владельцем которого будет группа с идентификатором, равным 2:

curl --user <имя_пользователя>:<пароль> --data "project%5Bname%5D=test-api&project%5Bowner_id%5D=2&project%5Bowner_type%5D=Group&project%5Bvisibility%5D=open" -i https://abf.io/api/v1/projects.json

(здесь <имя_пользователя> - это учетное имя пользователя на ABF, от лица которого создается проект, а <пароль> - его пароль).

У пользователя должны быть права на создание проекта в группе, в противном случае будет возвращена ошибка отказа в доступе.

Параметр '--data' команды curl автоматически формирует POST-запрос. При необходимости, можно указать тип запроса явно с помощью опции '-X'. Например, следующая команда добавит проект с идентификатором 1 в репозиторий с идентификатором 3:

curl --user <имя_пользователя>:<пароль> -X PUT -d project_id=1 -i https://abf.io/api/v1/repositories/3/add_project.json