From eacebfa501a57c3ccc34121e82fd84e123c2e7a3 Mon Sep 17 00:00:00 2001 From: Simon Bennetts Date: Sat, 14 Dec 2024 11:44:26 +0000 Subject: [PATCH] FAQ: New Automation section (#2895) * FAQ: New Automation section * Update site/content/faq/what-is-the-best-way-to-automate-zap.md Signed-off-by: Simon Bennetts --- ...t-variables-in-the-automation-framework.md | 51 +++++++++++++++++++ .../what-is-the-best-way-to-automate-zap.md | 12 +++++ 2 files changed, 63 insertions(+) create mode 100644 site/content/faq/how-can-i-set-variables-in-the-automation-framework.md create mode 100644 site/content/faq/what-is-the-best-way-to-automate-zap.md diff --git a/site/content/faq/how-can-i-set-variables-in-the-automation-framework.md b/site/content/faq/how-can-i-set-variables-in-the-automation-framework.md new file mode 100644 index 000000000..c5c04482e --- /dev/null +++ b/site/content/faq/how-can-i-set-variables-in-the-automation-framework.md @@ -0,0 +1,51 @@ +--- +title: "How Can I set Variables in the Automation Framework?" +type: faq +category: Automation +weight: 8 +--- + +The [Automation Framework](/docs/automate/automation-framework/) supports +[variables](/docs/desktop/addons/automation-framework/environment/#variables), which includes environment variables. +You can use these to set values referenced in your plan from the command line, including secrets such as credentials. + +To see this in action download the +[ScriptEnvVarAccess.yaml](https://github.com/zaproxy/community-scripts/blob/main/other/af-plans/ScriptEnvVarAccess.yaml) +plan and store it in your current working directory. + +Edit the script and change `PATH` to `MyVar`. + +On Linux run: +```bash +export MyVar="Test 1 2 3" +zap.sh -cmd -autorun ScriptEnvVarAccess.yaml +``` + +On Windows run: +```bash +set MyVar=Test 1 2 3 +zap.bat -cmd -autorun ScriptEnvVarAccess.yaml +``` + +You may need to specify the full path to the relevant ZAP script on your computer. + +In both cases you shoud see output similar to: +```bash +Job script set action = add +Job script set type = standalone +Job script set engine = ECMAScript : Graal.js +Job script set name = print-env-vars.js +Job script set inline = print(Java.type("java.lang.System").getenv("MyVar")); + +Job script set action = run +Job script set type = standalone +Job script set name = print-env-vars.js +Job script started +Job: script Start action: add +Job script finished, time taken: 00:00:00 +Job script started +Job: script Start action: run +Test 1 2 3 +Job script finished, time taken: 00:00:00 +Automation plan succeeded! +``` diff --git a/site/content/faq/what-is-the-best-way-to-automate-zap.md b/site/content/faq/what-is-the-best-way-to-automate-zap.md new file mode 100644 index 000000000..988166c2c --- /dev/null +++ b/site/content/faq/what-is-the-best-way-to-automate-zap.md @@ -0,0 +1,12 @@ +--- +title: "What is the Best Way to Automate ZAP?" +type: faq +category: Automation +weight: 8 +--- + +For most use cases, the best way to automate ZAP is using the +[Automation Framework](/docs/automate/automation-framework/). + +For a comparison of the different automation options see +[Automation Options](/docs/getting-further/automation/automation-options/). \ No newline at end of file