vieter/docs/api/source/includes/_targets.md

2.8 KiB

Targets

Endpoints for interacting with the list of targets stored on the server.

List targets

curl \
  -H 'X-Api-Key: secret' \
  https://example.com/api/v1/targets?offset=10&limit=20

JSON output format

{
  "message": "",
  "data": [
    {
      "id": 1,
      "kind": "git",
      "url": "https://aur.archlinux.org/discord-ptb.git",
      "branch": "master",
      "repo": "bur",
      "schedule": "",
      "arch": [
        {
          "id": 1,
          "target_id": 1,
          "value": "x86_64"
        }
      ]
    }
  ]
}

Retrieve a list of targets.

HTTP Request

GET /api/v1/targets

Query Parameters

Parameter Description
limit Maximum amount of results to return.
offset Offset of results.
repo Limit results to targets that publish to the given repo.

Get specific target

curl \
  -H 'X-Api-Key: secret' \
  https://example.com/api/v1/targets/1

JSON output format

{
  "message": "",
  "data": {
    "id": 1,
    "kind": "git",
    "url": "https://aur.archlinux.org/discord-ptb.git",
    "branch": "master",
    "repo": "bur",
    "schedule": "0 3",
    "arch": [
      {
        "id": 1,
        "target_id": 1,
        "value": "x86_64"
      }
    ]
  }
}

Get info about a specific target.

HTTP Request

GET /api/v1/targets/:id

URL Parameters

Parameter Description
id id of requested target

Create a new target

JSON output format

{
  "message": "",
  "data": {
    "id": 15
  }
}

Create a new target with the given data.

HTTP Request

POST /api/v1/targets

Query Parameters

Parameter Description
kind Kind of target to add; one of 'git', 'url'.
url URL of the Git repository.
branch Branch of the Git repository.
repo Vieter repository to publish built packages to.
schedule Cron build schedule (syntax explained here)
arch Comma-separated list of architectures to build package on.

Modify a target

Modify the data of an existing target.

HTTP Request

PATCH /api/v1/targets/:id

URL Parameters

Parameter Description
id id of target to modify

Query Parameters

Parameter Description
kind Kind of target; one of 'git', 'url'.
url URL of the Git repository.
branch Branch of the Git repository.
repo Vieter repository to publish built packages to.
schedule Cron build schedule
arch Comma-separated list of architectures to build package on.

Remove a target

Remove a target from the server.

HTTP Request

DELETE /api/v1/targets/:id

URL Parameters

Parameter Description
id id of target to remove