openapi: 3.2.0 info: description: 'Woodpecker is a simple, yet powerful CI/CD engine with great extensibility. To get a personal access token (PAT) for authentication, please log in your Woodpecker server, and go to you personal profile page, by clicking the user icon at the top right.' title: Woodpecker CI Repository cron jobs API contact: name: Woodpecker CI url: https://woodpecker-ci.org/ version: next-a4cb541b82 servers: - url: https://ci.woodpecker-ci.org/api tags: - name: Repository cron jobs paths: /repos/{repo_id}/cron: get: tags: - Repository cron jobs summary: List cron jobs parameters: - description: Insert your personal access token name: Authorization in: header required: true schema: type: string default: Bearer - description: the repository id name: repo_id in: path required: true schema: type: integer - description: for response pagination, page offset number name: page in: query schema: type: integer default: 1 - description: for response pagination, max items per page name: perPage in: query schema: type: integer default: 50 responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Cron' post: tags: - Repository cron jobs summary: Create a cron job parameters: - description: Insert your personal access token name: Authorization in: header required: true schema: type: string default: Bearer - description: the repository id name: repo_id in: path required: true schema: type: integer responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Cron' requestBody: content: application/json: schema: $ref: '#/components/schemas/Cron' description: the new cron job required: true /repos/{repo_id}/cron/{cron}: get: tags: - Repository cron jobs summary: Get a cron job parameters: - description: Insert your personal access token name: Authorization in: header required: true schema: type: string default: Bearer - description: the repository id name: repo_id in: path required: true schema: type: integer - description: the cron job id name: cron in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Cron' post: tags: - Repository cron jobs summary: Start a cron job now parameters: - description: Insert your personal access token name: Authorization in: header required: true schema: type: string default: Bearer - description: the repository id name: repo_id in: path required: true schema: type: integer - description: the cron job id name: cron in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Pipeline' delete: tags: - Repository cron jobs summary: Delete a cron job parameters: - description: Insert your personal access token name: Authorization in: header required: true schema: type: string default: Bearer - description: the repository id name: repo_id in: path required: true schema: type: integer - description: the cron job id name: cron in: path required: true schema: type: string responses: '204': description: No Content patch: tags: - Repository cron jobs summary: Update a cron job parameters: - description: Insert your personal access token name: Authorization in: header required: true schema: type: string default: Bearer - description: the repository id name: repo_id in: path required: true schema: type: integer - description: the cron job id name: cron in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Cron' requestBody: content: application/json: schema: $ref: '#/components/schemas/CronPatch' description: the cron job data required: true components: schemas: Step: type: object properties: error: type: string exit_code: type: integer finished: type: integer id: type: integer name: type: string pid: type: integer pipeline_id: type: integer ppid: type: integer started: type: integer state: $ref: '#/components/schemas/StatusValue' type: $ref: '#/components/schemas/StepType' uuid: type: string CronPatch: type: object properties: branch: type: string enabled: type: boolean name: type: string schedule: type: string timezone: type: string variables: type: object additionalProperties: type: string StepType: type: string enum: - clone - service - plugin - commands - cache x-enum-varnames: - StepTypeClone - StepTypeService - StepTypePlugin - StepTypeCommands - StepTypeCache errors.PipelineErrorType: type: string enum: - linter - deprecation - compiler - generic - bad_habit x-enum-comments: PipelineErrorTypeBadHabit: some bad-habit error PipelineErrorTypeCompiler: some error with the config semantics PipelineErrorTypeDeprecation: using some deprecated feature PipelineErrorTypeGeneric: some generic error PipelineErrorTypeLinter: some error with the config syntax x-enum-descriptions: - some error with the config syntax - using some deprecated feature - some error with the config semantics - some generic error - some bad-habit error x-enum-varnames: - PipelineErrorTypeLinter - PipelineErrorTypeDeprecation - PipelineErrorTypeCompiler - PipelineErrorTypeGeneric - PipelineErrorTypeBadHabit CancelInfo: type: object properties: canceled_by_step: type: string canceled_by_user: type: string superseded_by: type: integer Pipeline: type: object properties: author: description: 'TODO: only // The user sending the webhook data or triggering the pipeline event' type: string author_avatar: description: 'TODO: only & rename to AuthorAvatar // Avatar URL of the author of the commit' type: string author_email: type: string branch: type: string cancel_info: $ref: '#/components/schemas/CancelInfo' changed_files: type: array items: type: string commit: type: string created: type: integer cron: description: name of the cron job type: string deploy_task: type: string deploy_to: type: string errors: type: array items: $ref: '#/components/schemas/errors.PipelineError' event: $ref: '#/components/schemas/WebhookEvent' event_reason: type: array items: type: string finished: type: integer forge_url: type: string from_fork: type: boolean id: type: integer is_prerelease: description: deprecated, use release.is_prerelease instead type: boolean message: type: string number: type: integer parent: type: integer pr_draft: type: boolean pr_labels: type: array items: type: string pr_milestone: type: string ref: type: string refspec: type: string release: description: 'Ongoing Work: https://github.com/woodpecker-ci/woodpecker/pull/4626 // New' allOf: - $ref: '#/components/schemas/Release' rerun_count: type: integer reviewed: type: integer reviewed_by: type: string sender: description: uses reported user for webhooks and name of cron for cron pipelines type: string started: type: integer status: $ref: '#/components/schemas/StatusValue' tag_title: type: string timestamp: type: integer title: description: // Deprecated type: string updated: type: integer variables: type: object additionalProperties: type: string version: type: string workflows: type: array items: $ref: '#/components/schemas/model.Workflow' Cron: type: object properties: branch: type: string created: type: integer creator_id: description: 'TODO: drop with next major version' type: integer enabled: type: boolean id: type: integer name: type: string next_exec: type: integer repo_id: type: integer schedule: description: "@weekly,\t3min, ..." type: string timezone: type: string variables: type: object additionalProperties: type: string WebhookEvent: type: string enum: - push - pull_request - pull_request_closed - pull_request_metadata - tag - release - deployment - cron - manual x-enum-varnames: - EventPush - EventPull - EventPullClosed - EventPullMetadata - EventTag - EventRelease - EventDeploy - EventCron - EventManual errors.PipelineError: type: object properties: data: {} is_warning: type: boolean message: type: string type: $ref: '#/components/schemas/errors.PipelineErrorType' StatusValue: type: string enum: - skipped - pending - running - success - failure - killed - canceled - error - blocked - declined - created x-enum-comments: StatusBlocked: waiting for approval StatusCanceled: canceled but hasn't been started StatusCreated: created / internal use only StatusDeclined: blocked and declined StatusError: error with the config / while parsing / some other system problem StatusFailure: failed to finish (exit code != 0) StatusKilled: killed by user StatusPending: pending to be executed StatusRunning: currently running StatusSkipped: skipped as per condition of current workflow failed/success state StatusSuccess: successfully finished x-enum-descriptions: - skipped as per condition of current workflow failed/success state - pending to be executed - currently running - successfully finished - failed to finish (exit code != 0) - killed by user - canceled but hasn't been started - error with the config / while parsing / some other system problem - waiting for approval - blocked and declined - created / internal use only x-enum-varnames: - StatusSkipped - StatusPending - StatusRunning - StatusSuccess - StatusFailure - StatusKilled - StatusCanceled - StatusError - StatusBlocked - StatusDeclined - StatusCreated Release: type: object properties: is_prerelease: type: boolean title: type: string model.Workflow: type: object properties: agent_id: type: integer children: type: array items: $ref: '#/components/schemas/Step' environ: type: object additionalProperties: type: string error: type: string finished: type: integer id: type: integer name: type: string pid: type: integer pipeline_id: type: integer platform: type: string started: type: integer state: $ref: '#/components/schemas/StatusValue'