ZenML · Arazzo Workflow

ZenML Audit Pipeline Runs

Version 1.0.0

Walk from a named pipeline to its run history and drill into the most recent run.

1 workflow 1 source API 1 provider
View Spec View on GitHub AIMachine LearningMLOpsLLMOpsPipelinesOpen SourcePythonArazzoWorkflows

Provider

zenml

Workflows

audit-pipeline-runs
Resolve a pipeline by name, list its runs, and read the latest run.
Lists pipelines filtered by name to resolve a pipeline id, lists runs for that pipeline, and reads the most recent run in detail.
3 steps inputs: accessToken, pipelineName outputs: latestRunStatus, pipelineId, runCount
1
resolvePipeline
listPipelines
List pipelines filtered by name to resolve the target pipeline id.
2
listRuns
listPipelineRuns
List the runs scoped to the resolved pipeline id, newest first.
3
readLatestRun
getPipelineRun
Read the most recent run in detail to surface its status and timing.

Source API Descriptions

Arazzo Workflow Specification

zenml-audit-pipeline-runs-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: ZenML Audit Pipeline Runs
  summary: Walk from a named pipeline to its run history and drill into the most recent run.
  description: >-
    Audits the execution history of a pipeline. The workflow lists pipelines to
    resolve a pipeline by name, lists the runs scoped to that pipeline id, and
    reads the most recent run in detail. This is the canonical read path for
    understanding what a pipeline has done. Every step spells out its request
    inline, including the bearer Authorization header, so the flow can be read
    and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: zenmlApi
  url: ../openapi/zenml-openapi.yml
  type: openapi
workflows:
- workflowId: audit-pipeline-runs
  summary: Resolve a pipeline by name, list its runs, and read the latest run.
  description: >-
    Lists pipelines filtered by name to resolve a pipeline id, lists runs for
    that pipeline, and reads the most recent run in detail.
  inputs:
    type: object
    required:
    - accessToken
    - pipelineName
    properties:
      accessToken:
        type: string
        description: ZenML JWT access token obtained from the login endpoint.
      pipelineName:
        type: string
        description: The name of the pipeline whose run history should be audited.
  steps:
  - stepId: resolvePipeline
    description: >-
      List pipelines filtered by name to resolve the target pipeline id.
    operationId: listPipelines
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: name
      in: query
      value: $inputs.pipelineName
    - name: page
      in: query
      value: 1
    - name: size
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      pipelineId: $response.body#/items/0/id
  - stepId: listRuns
    description: >-
      List the runs scoped to the resolved pipeline id, newest first.
    operationId: listPipelineRuns
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: pipeline_id
      in: query
      value: $steps.resolvePipeline.outputs.pipelineId
    - name: page
      in: query
      value: 1
    - name: size
      in: query
      value: 20
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      runCount: $response.body#/total
      latestRunId: $response.body#/items/0/id
  - stepId: readLatestRun
    description: >-
      Read the most recent run in detail to surface its status and timing.
    operationId: getPipelineRun
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: run_id
      in: path
      value: $steps.listRuns.outputs.latestRunId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      runId: $response.body#/id
      status: $response.body#/status
      startTime: $response.body#/start_time
  outputs:
    pipelineId: $steps.resolvePipeline.outputs.pipelineId
    runCount: $steps.listRuns.outputs.runCount
    latestRunStatus: $steps.readLatestRun.outputs.status