Python Class Reference

Reference of all packages and modules:

A data model of a GitHub Actions workflow run.

The GitHub REST API answers with nested JSON objects whose fields are strings - "status": "completed", "conclusion": "timed_out", timestamps as ISO 8601 text. This model reads those payloads once into objects:

PipelineGroup            every run started for one commit
+-- Pipeline             a workflow run
    +-- Workflow         a called (reusable) workflow, grouping the jobs it contains
    |   +-- Workflow     a workflow called by that workflow
    |   +-- Matrix       a matrix, grouping the job instances it produced
    |   |   +-- MatrixJob
    |   +-- Job
    +-- Matrix
    +-- Job              a job that ran on a runner
        +-- Step         a step of that job

The classes derive from the service-independent model pyTooling.CI, which a called workflow, a matrix and their base-class are taken from unchanged. Every element knows its parent and the pipeline it belongs to, and the string fields become Status, Conclusion and Event members, so an undocumented value is an error rather than a comparison that never matches. A conclusion is reported as the model’s Outcome as well.

The model carries no dependency on what is done with it. Converting a Pipeline into a software execution trace, a graph or a report is a consumer of this model.