{% extends "layout.html" %} {% block title %}API for Copr{% endblock %} {% block header %}API for the Copr Build System{% endblock %} {% block body %} {% if error %}
Error: {{ error }}
{% endif %}In order to access the API, you will need to provide an API token. This token is unique, specific to you and should not be shared!.
The API token is valid for {{ config['API_TOKEN_EXPIRATION'] }} days after it has been generated.
{% if g.user %}Your information (you can directly paste this into ~/.config/copr):
[copr-cli] login = {{ g.user.api_login }} username = {{ g.user.name }} token = {{ g.user.api_token }} copr_url = https://copr.fedoraproject.org # expiration date: {{ g.user.api_token_expiration }}{% else %}
You need to be logged in to see your API token.
{% endif %}To make an API call to Copr, make a request to URL corresponding to given call (URLs are listed below). Parameters are denoted by angle brackets. Result is represented as JSON map with "output": "ok" key-value pair on success or "output": "notok" on failure. The rest of the map represents result of the call and is described below for individual calls.
/api/coprs/<username>/
/api/coprs/?username="<username>"
https://copr.fedoraproject.org/api/coprs/jdaniels/
{ "output": "ok", "repos": [ { "yum_repos": { "fedora-19-i686": "https://copr-be.cloud.fedoraproject.org/results/jdaniels/log4j/fedora-19-i686/", "fedora-19-x86_64": "https://copr-be.cloud.fedoraproject.org/results/jdaniels/log4j/fedora-19-x86_64/" }, "additional_repos": "", "instructions": "", "name": "log4j", "description": "Java logging package" } ] }
/api/coprs/<username>/<projectname>/detail/
https://copr.fedoraproject.org/api/coprs/jdaniels/log4j/detail/
{ "output": "ok", "repos": [ { "yum_repos": { "fedora-19-i686": "https://copr-be.cloud.fedoraproject.org/results/jdaniels/log4j/fedora-19-i686/", "fedora-19-x86_64": "https://copr-be.cloud.fedoraproject.org/results/jdaniels/log4j/fedora-19-x86_64/" }, "additional_repos": "", "instructions": "", "name": "log4j", "description": "Java logging package", "last_modified": 1386695673 } ] }
Login required
/api/coprs/<username>/new/
Login required
/api/coprs/<username>/<projectname>/delete/
/api/coprs/<username>/<coprname>/monitor/
{ "builds": [ { "id": 9578, "src_pkg": "https://fedorapeople.org/~vgologuz/python-copr-client-1.43-1.git.0.f84518d.fc20.src.rpm", "pkg_version": "1.43", "state": "failed", "submitted_on": 1408462225, "started_on": 1408462318, "ended_on": 1408462701, "results": "http://copr-be-dev.cloud.fedoraproject.org/results/vgologuz/copr/", "built_packages": [ "python-copr-client 1.43", "python-copr-client-doc 1.43" ], } ], "chroots": ["epel-5-x86_64", "epel-7-x86_64", "fedora-20-x86_64"], "packages": [ { "pkg_name": "python-copr-client", "pkg_version": "1.43", "results": { "epel-5-x86_64": [9578, "failed"], "epel-7-x86_64": [9578, "failed"], "fedora-20-x86_64": [9578, "skipped"] } } ] }
Login required
/api/coprs/<username>/<projectname>/new_build/
{ "output": "ok", "message": "Build was added to log4j.", "id": 5 }
Login required
/api/coprs/build_status/<build_id>/
{ "status": "pending", "output": "ok" }
/api/coprs/build_detail/<build_id>/
/api/coprs/build/<build_id>/
{ "status": "pending", "project": "myproject", "owner": "msuchy", "results": "http://copr-be.cloud.fedoraproject.org/results/msuchy/myproject/", "built_pkgs": [ "hello 2.8", "hello-gui 2.8", "super-lib 5.4" ], "src_version": "2.8", "chroots": { "fedora-20-i386": "succeeded", "fedora-20-x86_64": "succeeded" }, "submitted_on": 1386695673, "started_on": 1386695985, "ended_on": 1386696854, "src_pkg": "http://asamalik.fedorapeople.org/hello-2.8-1.fc20.src.rpm", "submitted_by": "asamalik", "output": "ok" }
Login required
/api/coprs/cancel_build/<build_id>/
{ "status": "Build canceled", "output": "ok" }
Login required
/api/coprs/<username>/<coprname>/modify/
{ "output": "ok", "repos": "foo", "description": "bar", "instructions": "baz" }
Login required
/api/coprs/<username>/<coprname>/modify/<chrootname>/
{ "output": "ok", "buildroot_pkgs": "scl-utils-build" }
/api/coprs/<username>/<coprname>/detail/<chrootname>/
{ "output": "ok", "buildroot_pkgs": "scl-utils-build" }
/api/coprs/search/<project>/
/api/coprs/?search="<project>"
https://copr.fedoraproject.org/api/coprs/search/tests/
{ "output": "ok", "repos": [ { "username": "ignatenkobrain", "coprname": "test", "description": "Tests" }, "username": "ignatenkobrain", "coprname": "tests", "description": "" }, { "username": "msuchy", "coprname": "tests", "description": "Copr testing repository, just for test various builds." } ] }