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:

  • PipelineGroupevery run started for one commit
    • Pipelinea workflow run
      • Workflowa called (reusable) workflow, grouping the jobs it contains
        • Workflowa workflow called by that workflow
        • Matrixa matrix, grouping the job instances it produced
          • MatrixJob
        • Job
      • Matrix
      • Joba job that ran on a runner
        • Stepa 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.