This manual page describes built-in fcli actions that can be run through
the fcli action run <action-name> command.
ci
(PREVIEW) Run CI pipeline
Synopsis
fcli action run ci [fcli action run options] [action options, see below]
Description
This action can be used to run a full, standardized CI pipeline that performs the following activities:
-
Create & configure SSC application version / FoD release if needed
-
Install ScanCentral Client for packaging
-
Package source code using ScanCentral Client
-
Submit SAST scan request
-
Wait for SAST scan completion
-
Perform post-scan activities, like checking security policy outcome, exporting results, …
Configuration for this fcli action is done through environment variables; the sections below list the environment variables supported by this action.
Fortify on Demand
| Environment Variable | Description |
|---|---|
FOD_URL |
Fortify on Demand URL, for example |
FOD_CLIENT_ID |
Required when authenticating with an API key: Fortify on Demand Client ID (API key) and Secret (API secret). |
FOD_TENANT |
Required when authenticating with user credentials: Fortify on Demand tenant, user and password. It is recommended to use a Personal Access Token instead of an actual user password. |
FOD_LOGIN_EXTRA_OPTS |
Extra login options, for example for disabling SSL checks or changing connection time-outs; see |
FOD_RELEASE |
Fortify on Demand release to use with this action. This should be specified as |
DO_SETUP |
If |
PACKAGE_ACTION |
By default, when running a SAST scan, the fcli package action is used to (optionally) package the source code to be scanned; see next entry for information on how to configure the default package action. If the standard fcli package action doesn’t meet your needs, for example if you want to perform a local translation using Fortify Static Code Analyzer, you can use |
USE_PACKAGE |
These environment variables define packaging behavior. If |
DO_SAST_SCAN |
The fcli |
DO_WAIT |
By default, the fcli |
DO_RELEASE_SUMMARY |
If |
DO_CHECK_POLICY |
If |
DO_PR_COMMENT |
(PREVIEW) If |
DO_SAST_EXPORT |
If |
Fortify Software Security Center
| Environment Variable | Description |
|---|---|
SSC_URL |
Software Security Center (SSC) URL, for example |
SSC_TOKEN |
Required when authenticating with an SSC token (recommended). Most actions should work fine with a CIToken. |
SSC_USER |
Required when authenticating with SSC user credentials. |
SC_SAST_TOKEN |
ScanCentral SAST Client Authentication Token for authenticating with ScanCentral SAST Controller. This environment variable is required when running a ScanCentral SAST scan. |
SSC_LOGIN_EXTRA_OPTS |
Extra SSC login options, for example for disabling SSL checks or changing connection time-outs; see |
SSC_APPVERSION |
Fortify SSC application version to use with this action. This should be specified as |
DO_SETUP |
If |
PACKAGE_ACTION |
By default, when running a SAST scan, the fcli package action is used to (optionally) package the source code to be scanned; see next entry for information on how to configure the default package action. If the standard fcli package action doesn’t meet your needs, for example if you want to perform a local translation using Fortify Static Code Analyzer, you can use |
USE_PACKAGE |
These environment variables define packaging behavior. If |
DO_SAST_SCAN |
The fcli |
DO_DEBRICKED_SCAN |
The fcli |
DO_WAIT |
By default, the fcli |
AVIATOR_URL |
Aviator URL and JWT token to use for Aviator operations (see below). The |
DO_AVIATOR_AUDIT |
If |
DO_APPVERSION_SUMMARY |
If |
DO_CHECK_POLICY |
If |
DO_PR_COMMENT |
(PREVIEW) If |
DO_SAST_EXPORT |
If |
DO_DEBRICKED_EXPORT |
If |
ci-vars
(PREVIEW) Collect CI-specific data
Synopsis
fcli action run ci-vars [fcli action run options] [action options, see below]
Description
This action collects data used by the SSC & FoD 'ci' actions, based on CI-specific data like CI-specific environment variables. Data is collected in a CI-agnostic global variable named 'ci'. Note that available properties on the global 'ci' variable may change across fcli releases, potentially breaking any custom actions that depend on these properties.
fortify-env
(PREVIEW) Output environment variables for Fortify tools
Synopsis
fcli action run fortify-env [fcli action run options] [action options, see below]
Description
Generates environment variable definitions for installed Fortify tools in various formats suitable for sourcing in shells or setting through CI/CD systems.
Outputs environment variables for the last installed version of each tool by default, or for a specific version if requested. If a tool is not installed, it will be skipped unless a specific version is explicitly requested (which will cause an error).
Supports multiple output formats: - shell: Bash/Zsh compatible export statements - powershell: PowerShell $env: syntax - cmd: Windows Command Prompt SET statements - github: GitHub Actions GITHUB_ENV format - azure: Azure Pipelines ##vso[task.setvariable] format - gitlab: GitLab CI export statements
Examples: # Generate env for all installed tools (shell format) fcli action run fortify-env
# Generate env for specific tools with versions link:manpage/fcli-action-run.html[fcli action run] fortify-env --sc-client-version 24.4.0 --fcli-version latest
# Generate env for GitHub Actions link:manpage/fcli-action-run.html[fcli action run] fortify-env --format github
# Generate env for specific tool only link:manpage/fcli-action-run.html[fcli action run] fortify-env --sc-client-version auto --skip-others
# Use in shell (bash/zsh) source <(link:manpage/fcli-action-run.html[fcli action run] fortify-env)
Options
- --fcli-version
-
Version to output env for: <specific-version>, latest, auto (last installed), skip. Default: auto
- --sc-client-version
-
Version to output env for: <specific-version>, latest, auto (last installed), skip. Default: auto
- --fod-uploader-version
-
Version to output env for: <specific-version>, latest, auto (last installed), skip. Default: auto
- --debricked-cli-version
-
Version to output env for: <specific-version>, latest, auto (last installed), skip. Default: auto
- --bugtracker-utility-version
-
Version to output env for: <specific-version>, latest, auto (last installed), skip. Default: auto
- --vuln-exporter-version
-
Version to output env for: <specific-version>, latest, auto (last installed), skip. Default: auto
- --format
-
Output format: shell, powershell, cmd, github, azure, gitlab. Default: shell
- --path
-
Include PATH updates: include, exclude, auto (detect if needed). Default: auto
- --cmd-var
-
Include *_CMD variables: include, exclude, auto. Default: auto
- --home-var
-
Include *_HOME variables: include, exclude, auto. Default: auto
- --skip-others
-
Only output env for explicitly versioned tools (skip tools with version=auto)
fortify-setup
(PREVIEW) Set up Fortify tools for CI/CD workflows
Synopsis
fcli action run fortify-setup [fcli action run options] [action options, see below]
Description
Detects, registers, and installs Fortify tools (fcli, sc-client, fod-uploader, debricked-cli, bugtracker-utility, vuln-exporter) for use in CI/CD pipelines.
Once tools are installed/registered, use the 'fcli tool <tool-name> env' command to generate environment variables for shell scripts or CI/CD systems.
Supports: - Auto-detection of pre-installed tools - Dynamic installation with signature verification - Platform-specific tool caching (GitHub, Azure, GitLab) - Air-gapped environments (pre-installed tools only) - Docker multi-stage builds (fcli bootstrap)
Examples: # Minimal: install sc-client only fcli action run fortify-setup --sc-client 24.4.0
# Pre-installed tools (air-gapped) link:manpage/fcli-action-run.html[fcli action run] fortify-setup --air-gapped \ --sc-client auto --fod-uploader auto
# Platform tool cache link:manpage/fcli-action-run.html[fcli action run] fortify-setup --use-tool-cache \ --sc-client latest --debricked-cli v2
# Docker multi-stage build, installing from preinstalled fcli link:manpage/fcli-action-run.html[fcli action run] fortify-setup --self /base/usr/bin/fcli \ --fcli auto \ --base-dir /opt/fortify --sc-client 24.4.0
Options
- --fcli
-
Version to use: <specific-version>, latest, auto, preinstalled, skip. Default: skip
- --sc-client
-
Version to use: <specific-version>, latest, auto, preinstalled, skip. Default: skip
- --fod-uploader
-
Version to use: <specific-version>, latest, auto, preinstalled, skip. Default: skip
- --debricked-cli
-
Version to use: <specific-version>, latest, auto, preinstalled, skip. Default: skip
- --bugtracker-utility
-
Version to use: <specific-version>, latest, auto, preinstalled, skip. Default: skip
- --vuln-exporter
-
Version to use: <specific-version>, latest, auto, preinstalled, skip. Default: skip
- --with-jre
-
JRE handling for sc-client: yes (install with JRE), no (use system Java), auto (detect compatible JRE). Default: auto
- --fcli-path
-
Explicit path to fcli binary or installation directory
- --sc-client-path
-
Explicit path to sc-client binary or installation directory
- --fod-uploader-path
-
Explicit path to fod-uploader binary or installation directory
- --debricked-cli-path
-
Explicit path to debricked-cli binary or installation directory
- --bugtracker-utility-path
-
Explicit path to bugtracker-utility binary or installation directory
- --vuln-exporter-path
-
Explicit path to vuln-exporter binary or installation directory
- --base-dir
-
Base directory for tool installations: <base-dir>/<tool>/<version>/
- --use-tool-cache
-
Use platform-specific tool cache (detected via ci-vars)
- --self
-
Path to bootstrapped fcli executable. Not intended for end users; typically set by platform integration tools.
- --air-gapped
-
Air-gapped mode: all tools must be pre-installed, don’t update tool definitions
- --tool-definitions
-
Custom tool definitions URL (ignored in air-gapped mode)
package
(PREVIEW) Package source code
Synopsis
fcli action run package [fcli action run options] [action options, see below]
Description
This action can be used to package source code using ScanCentral Client. It will take care of installing the specified ScanCentral Client version, followed by executing the 'scancentral package' command using the specified ScanCentral Client version. To enable debug logging on the scancentral command, use the fcli --debug option, optionally combined with --log-level=NONE to collect only ScanCentral logs, not fcli logs.
Options
- --use-package
-
Use an existing package file instead of trying to package the given source code directory. If specified, this ignores all other options.
- --sc-client-version, -v
-
Specify the ScanCentral Client version to be used for packaging. Defaults to the value of the SC_CLIENT_VERSION environment variable, or 'latest' if not specified.
- --source-dir, -d
-
Specify the source directory to be packaged. Defaults to the value of the SOURCE_DIR environment variable, or current working directory if not specified.
- --tool-definitions
-
Custom tool definitions to use for identifying available ScanCentral Client versions and download URLs. Defaults to the value of the TOOL_DEFINITIONS environment variable, or the built-in default if not specified.
- --extra-opts
-
Extra options to be passed to the 'scancentral package' command. Defaults to the options specified in the EXTRA_PACKAGE_OPTS environment variable, or no extra options if not specified.
- --output, -o
-
Name of the zip file in which packaged source code should be stored. Defaults to package.zip in the current working directory.