Autopilots

Autopilots#

Autopilots are the workhorses of Yaku. Every automated check is performed by a script and that script might use additional apps for special functionality like fetching data from a website or inspecting special document formats like PDF.

For understanding the following pages, please take a look at the following term definitions:

Autopilot#

Generic term for the automation of checks. It refers to an autopilot script and some configurations like environment variables or additional config files.

Autopilot script#

A shell script code snippet which is written in the autopilot section of a QG config file. This code snippet implements the automatic check of a requirement or question and evaluates evidence data.

Autopilot app#

Usually a command line application, which is called from within an autopilot script. Many autopilot apps are included in Yaku, see List of autopilots below.

Example of an autopilot script in the autopilot section of a QG config file#
autopilots:
  my-autopilot:
    run: |
      # here comes the autopilot shell script, for example:
      artifactory-fetcher
      pdf-signature-evaluator
    env:
      ARTIFACTORY_URL: ...
      ...
Autopilot result#

Every autopilot needs to return a structured result, which includes a status (e.g., RED, YELLOW, GREEN) and a reason for that status. Additionally, detailed results can be given by including criteria and their fulfillment status. The result data is transmitted as JSON lines in the console output of an autopilot.

Finalizer#

A command line application, which is called from within the finalize section of a QG config file or, in some cases, an autopilot script. They take Yaku results and convert them into an arbitrary output format, e.g. pdf, zip, html or upload them to external systems like OneQ, Jira and more.

List of autopilots#

(*) PAPSR can be used to implement both fetchers and evaluators.