arazzo: 1.0.1
info:
title: Buildkite Fetch Job Log
summary: Read a build, pick a finished job, and fetch its log output.
description: >-
A log-retrieval flow for surfacing the raw output of a specific job. The
workflow fetches a build by number, captures its jobs array, and then fetches
the log output for the supplied job UUID. This is the building block for
pushing Buildkite job logs into an external log store or attaching them to an
incident. Every step spells out its request inline so the flow can be read
and executed without opening the underlying OpenAPI description.
version: 1.0.0
x-realizes-capability-ids:
- BC-4210.10
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-4210.10
capability_name: Continuous Integration Management
spec: buildkite-com-jobs-api-openapi.yml
confidence: 0.85
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: buildsApi
url: ../openapi/buildkite-com-builds-api-openapi.yml
type: openapi
- name: jobsApi
url: ../openapi/buildkite-com-jobs-api-openapi.yml
type: openapi
workflows:
- workflowId: fetch-job-log
summary: Fetch the log output for a job in a build.
description: >-
Reads a build to confirm the job exists, then retrieves the log output for
the supplied job.
inputs:
type: object
required:
- org
- pipeline
- number
- job
properties:
org:
type: string
description: Organization slug that owns the pipeline.
pipeline:
type: string
description: Pipeline slug the build belongs to.
number:
type: integer
description: Build number containing the job.
job:
type: string
description: UUID of the job to fetch the log for.
steps:
- stepId: getBuild
description: >-
Read the build and capture its jobs so the target job can be confirmed.
operationId: getBuild
parameters:
- name: org
in: path
value: $inputs.org
- name: pipeline
in: path
value: $inputs.pipeline
- name: number
in: path
value: $inputs.number
successCriteria:
- condition: $statusCode == 200
outputs:
buildState: $response.body#/state
jobs: $response.body#/jobs
- stepId: getJobLog
description: >-
Fetch the log output for the supplied job.
operationId: getJobLog
parameters:
- name: org
in: path
value: $inputs.org
- name: pipeline
in: path
value: $inputs.pipeline
- name: number
in: path
value: $inputs.number
- name: job
in: path
value: $inputs.job
successCriteria:
- condition: $statusCode == 200
outputs:
log: $response.body
outputs:
buildState: $steps.getBuild.outputs.buildState
log: $steps.getJobLog.outputs.log
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.