Automation Framework

This add-on provides a framework that allows ZAP to be automated in an easy and flexible way.

Command Line Options

It provides the following command line options:

Exit Codes

If the -autorun option is used with the ZAP -cmd option then the ZAP exit value will be set by default as follows: These values can be overridden by the exitStatus job.
Whether the plan completed after encountering errors or warnings will depend on the settings used in the environment.

Usage

To use the automation framework:
  1. Generate a template automation file using one of the -autogen* command line options
  2. Edit the file to match your requirements
  3. Run the file using the -autorun commandline option e.g. ./zap.sh -cmd -autorun config.yaml
Note: The Jobs are executed in the order in which they appear (top to bottom) within the Plan.

In most cases it is recommended to also use the -cmd command line option so that the ZAP desktop is not displayed and ZAP exits as soon as it has finished generating or running the jobs defined in the file. However you can choose to run Automation Framework jobs using the ZAP desktop to help you debug issues.

Authentication

The Automation Framework supports all of the authentication mechanisms supported by ZAP.

GUI

A GUI is under development and provides an ever increasing set of features.

Options

The Automation Options screen allows you to configure specific options.

API

The following API endpoints are provided by this add-on: If the ZAP desktop is being used then the plan will also be shown in the GUI to make it easier to diagnose any problems.

Note that some jobs may not stop immediately, for example if authentication is being handled.

Environment

The environment section of the file defines the applications which the rest of the jobs can act on.

File Paths

All file and directory paths can either be absolute or relative to the directory containing the plan. Relative paths are recommended for portability.

Jobs

The following automation jobs are supported by this add-on:

General Job Options

The following options can be applied to all jobs, via the automation plan or the GUI:

Importance of Job Order

The order of jobs is relevant and important. For example:

Job tests can be added to jobs to check that the jobs have performed as expected.

This framework is plugable and so other add-ons may add support for other jobs, see the Automation Framework website pages for a more complete list.

The 'min' and 'max' templates include comments giving more information about the fields.