ABF REST API

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

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

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

ABF API предназначен в первую очередь для программного доступа к ABF. В частности, API используется в консольном клиенте ABF, и если вам необходимо выполнить на сервере ABF некоторое действие из командной строки, то удобнее воспользоваться консольным клиентом.

Однако некоторые действия консольный клиент выполнить не позволяет, в то время как API для них существует. В этом случае для отправки серверу 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