OpenAPI Specification
openapi: 3.0.3
info:
title: Drone REST Builds Cron API
description: The Drone REST API provides programmatic access to the Drone CI/CD platform, enabling management of builds, repositories, secrets, cron jobs, templates, and user accounts. Authentication is performed using bearer tokens retrieved from the Drone user interface profile page.
version: 1.0.0
contact:
name: Drone Support
url: https://docs.drone.io/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://your-drone-server
description: Your self-hosted Drone server
security:
- BearerAuth: []
tags:
- name: Cron
description: Cron job scheduling for automated builds.
paths:
/api/repos/{namespace}/{name}/cron:
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: name
in: path
required: true
schema:
type: string
get:
operationId: listCronJobs
summary: List cron jobs
description: Returns a list of all cron jobs for the specified repository.
tags:
- Cron
responses:
'200':
description: List of cron jobs.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Cron'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createCronJob
summary: Create a cron job
description: Creates a new cron job for the specified repository.
tags:
- Cron
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Cron'
responses:
'200':
description: Created cron job.
content:
application/json:
schema:
$ref: '#/components/schemas/Cron'
'401':
$ref: '#/components/responses/Unauthorized'
/api/repos/{namespace}/{name}/cron/{cron}:
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: name
in: path
required: true
schema:
type: string
- name: cron
in: path
required: true
schema:
type: string
description: The cron job name.
get:
operationId: getCronJob
summary: Get a cron job
description: Returns a cron job by name for the specified repository.
tags:
- Cron
responses:
'200':
description: Cron job details.
content:
application/json:
schema:
$ref: '#/components/schemas/Cron'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: triggerCronJob
summary: Trigger a cron job
description: Executes a cron job immediately.
tags:
- Cron
responses:
'204':
description: Cron job triggered.
'401':
$ref: '#/components/responses/Unauthorized'
patch:
operationId: updateCronJob
summary: Update a cron job
description: Updates an existing cron job for the specified repository.
tags:
- Cron
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CronPatch'
responses:
'200':
description: Updated cron job.
content:
application/json:
schema:
$ref: '#/components/schemas/Cron'
'401':
$ref: '#/components/responses/Unauthorized'
delete:
operationId: deleteCronJob
summary: Delete a cron job
description: Deletes a cron job from the specified repository.
tags:
- Cron
responses:
'204':
description: Cron job deleted.
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
Error:
type: object
description: API error response.
properties:
code:
type: integer
message:
type: string
CronPatch:
type: object
description: Patch request for a cron job.
properties:
event:
type: string
branch:
type: string
target:
type: string
disabled:
type: boolean
Cron:
type: object
description: Represents a cron job for a repository.
properties:
id:
type: integer
format: int64
repo_id:
type: integer
format: int64
name:
type: string
expr:
type: string
description: Cron expression (e.g. "0 0 * * *").
next:
type: integer
format: int64
prev:
type: integer
format: int64
event:
type: string
enum:
- push
- tag
- promote
- rollback
branch:
type: string
target:
type: string
disabled:
type: boolean
created:
type: integer
format: int64
updated:
type: integer
format: int64
responses:
Unauthorized:
description: Authentication credentials missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Bearer token retrieved from the Drone user interface profile page.