ABF API — различия между версиями
D uragan (обсуждение | вклад) |
D uragan (обсуждение | вклад) (+ English URL) |
||
Строка 23: | Строка 23: | ||
curl --user <имя_пользователя>:<пароль> -X PUT -d project_id=1 -i https://abf.io/api/v1/repositories/3/add_project.json | curl --user <имя_пользователя>:<пароль> -X PUT -d project_id=1 -i https://abf.io/api/v1/repositories/3/add_project.json | ||
+ | |||
+ | [[en:ABF API]] | ||
[[Категория:Сборочная среда ABF]] | [[Категория:Сборочная среда ABF]] |
Текущая версия на 11:05, 20 июня 2014
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