List of Commands

login

The login command lets you add your WorkflowGen credentials to authorize the CLI. The CLI supports basic and Open ID Connect authentication.

Basic or Integrated Windows authentication

wfg login [WORKFLOWGEN_URL] -u [WORKFLOWGEN_USERNAME] -p [WORKFLOWGEN_PASSWORD] --password-file [PASSWORD_PATH] -c [CONTEXT_NAME]

Basic and Integrated Windows authentication are available since WorkflowGen version 7.0.0.

Auth0 authentication

wfg login [WORKFLOWGEN_URL] --authentication-mode AUTH0 --domain [DOMAIN] --client-id [CLIENT_ID] --client-secret [CLIENT_SECRET] -c [CONTEXT_NAME]

Auth0 authentication is available since WorkflowGen version 7.11.0.

MSIDV2 (Microsoft Identity Platform v2) authentication

wfg login [WORKFLOWGEN_URL] --authentication-mode MSIDV2 --tenant-id [TENANT_ID] --client-id [CLIENT_ID] --client-secret [CLIENT_SECRET] -c [CONTEXT_NAME]

MSIDV2 authentication is available since WorkflowGen version 7.16.0.

For MSIDV2 mode, you must first have registered a new dedicated application (server-side application) in your Azure Active Directory and on your WorkflowGen server by following the instructions in the Azure AD Configuration for Server-Side Scripts chapter in the WorkflowGen for Azure guide.

All of the operations invoked from the WorkflowGen CLI will therefore use the user account specific in the Impersonate username field of the Non-interactive client application associated to the WorkflowGen CLI in WorkflowGen.

Okta authentication

wfg login [WORKFLOWGEN_URL] --authentication-mode OKTA --metadata-url [METADATA_URL] --client-id [CLIENT_ID] --client-secret [CLIENT_SECRET] -c [CONTEXT_NAME]

Okta authentication is available since WorkflowGen version 7.13.0.

AD FS authentication

wfg login [WORKFLOWGEN_URL] --authentication-mode ADFS --domain [DOMAIN] --client-id [CLIENT_ID] --client-secret [CLIENT_SECRET] -c [CONTEXT_NAME]

AD FS authentication is available since WorkflowGen 7.11.0.

Argument

Options

📌 Basic authentication login examples

wfg login http://localhost/wfgen -u wfgen_admin -p myPassword
wfg login http://localhost/wfgen -u wfgen_admin --password-file ./path/to/password.txt

📌 Auth0 login examples

wfg login http://localhost/wfgen --authentication-mode AUTH0 --domain myDomain.auth0.com --client-id myClientId
wfg login http://localhost/wfgen --authentication-mode AUTH0

📌 MSIDV2 login examples

wfg login http://localhost/wfgen --authentication-mode MSIDV2 --tenant-id myTenantId --client-id myClientId
wfg login http://localhost/wfgen --authentication-mode MSIDV2 --tenant-id myTenantId --client-id myClientId --client-secret myClientSecret

📌 Okta login examples

wfg login http://localhost/wfgen --authentication-mode OKTA --metadata-url https://MyOktaDomain/.well-known/openid-configuration --client-id myClientId
wfg login http://localhost/wfgen --authentication-mode OKTA --metadata-url https://MyOktaDomain/.well-known/openid-configuration --client-id myClientId --client-secret myClientSecret

📌 AD FS login examples

wfg login http://localhost/wfgen --authentication-mode ADFS --domain myAdfsDomain --client-id myClientId
wfg login http://localhost/wfgen --authentication-mode ADFS --domain myAdfsDomain --client-id myClientId --client-secret myClientSecret

config

The config command lets you configure the CLI.

Available since WorkflowGen version 7.0.0.

current-context

Displays the current context.

Usage

wfg config current-context

delete-context

Deletes the specified context from the configuration.

Usage

wfg config delete-context [CONTEXT_NAME]

[CONTEXT_NAME] represents the name given to the CLI context that contains your server and user information.

Argument

📌 Example

wfg config delete-context WFGEN_PROD

delete-server

Deletes the specified server from the configuration.

Usage

wfg config delete-server [SERVER_NAME] --force

Argument

Option

📌 Example

wfg config delete-server WFGEN_PROD_SERVER --force

delete-user

Deletes the specified user from the configuration.

Usage

wfg config delete-user [USER_NAME] --force

Argument

Option

📌 Example

wfg config delete-user ADMIN_PROD_ACCOUNT --force

get-contexts

Describes one or several contexts.

Usage

wfg config get-contexts [CONTEXT_NAME1] [CONTEXT_NAME2] [CONTEXT_NAME3]

[CONTEXT_NAME] represents the name given to the CLI context that contains your server and user information.

Argument

📌 Example

wfg config get-contexts WFGEN_PROD

get-servers

Displays servers defined in the configuration.

Usage

wfg config get-servers

get-users

Displays users defined in the configuration.

Usage

wfg config get-users

rename-context

Renames a context in the configuration.

Usage

wfg config rename-context [CONTEXT_OLD_NAME] [CONTEXT_NEW_NAME]

[CONTEXT_NAME] represents the name given to the CLI context that contains your server and user information.

Arguments

📌 Example

wfg config rename-context WFGEN_PROD WFGEN_DEV

rename-server

Renames a server in the configuration.

Usage

wfg config rename-server [SERVER_OLD_NAME] [SERVER_NEW_NAME]

Arguments

📌 Example

wfg config rename-server WFGEN_PROD_SERVER WFGEN_DEV_SERVER

rename-user

Renames a user in the configuration.

Usage

wfg config rename-user [USER_OLD_NAME] [USER_NEW_NAME]

Arguments

📌 Example

wfg config rename-user ADMIN_PROD_ACCOUNT ADMIN_DEV_ACCOUNT

set-context

Sets a context entry in the configuration.

Usage

wfg config set-context [CONTEXT_NAME] --server [SERVER_NAME] --user [USER_NAME]

[CONTEXT_NAME] represents the name given to the CLI context that contains your server and user information.

Argument

Options

📌 Example

wfg config set-context WFGEN_PROD --server WFGEN_PROD_SERVER --user ADMIN_PROD_ACCOUNT

set-server

Sets a server entry in the configuration.

Usage

wfg config set-server [SERVER_NAME] --url [URL] --version [SERVER_VERSION]

Argument

Options

📌 Example

wfg config set-server WFGEN_PROD_SERVER --url http://localhost/wfgen/admin --version 7.22.0

set-user

Sets a user entry in the configuration.

Usage

wfg config set-user [USER_NAME] --username [USER_USERNAME] --password [USER_PASSWORD]

Argument

Options

📌 Example

wfg config set-user ADMIN_PROD_ACCOUNT --username wfgen_admin --password QWRtaW4xMjMh

use-context

Sets the current context in the configuration.

Usage

wfg config use-context [CONTEXT_NAME]

Argument

📌 Example

wfg config use-context WFGEN_PROD

[CONTEXT_NAME] represent the name given to the CLI context that contains your server and user information.

project

The project command lets you either export or import an entire WorkflowGen project from a manifest.

Available since WorkflowGen version 7.17.0.

init

The init command allow you to generate a manifest.json file interactively.

Usage

wfg project init --path projectPath

Options

📌 Examples

wfg project init --path ./MyProject
wfg project init --path ./MyProject --bare --force

export

Exports a project from your WorkflowGen server to a local repository.

Usage

wfg project export --path [PROJECT_PATH]

Option

📌 Example

wfg project export --path ./MyProject

import

Imports a project from a local repository to your WorkflowGen server.

Usage

wfg project import --source [PATH] --force

Options

📌 Example

wfg project import --source c:\repository

show

Displays the content of a manifest link to a project.

Usage

wfg project show --path [PROJECT_PATH]

Option

📌 Example

wfg project show --path c:\repository

process

The process command lets you export, import, get, update, or delete a process.

Available since WorkflowGen version 7.17.0.

export

Exports a specific process from your WorkflowGen server to a local repository.

Usage

wfg process export [PROCESS_NAME] [PROCESS_VERSION] --destination [PATH]

Arguments

Option

📌 Example

wfg process export SIMPLE_APPROVAL 1

import

Imports a specific process from a local repository to your WorkflowGen server.

Usage

wfg process import [PROCESS_PATH] --useVersionNumber --state [STATE] --folder [PROCESS_FOLDER]

Argument

Options

UseVersionNumber

  • <use-version-number = true> will try to add the process with the version number inside the XML file, if it doesn't already exist.

  • <use-version-number = false> will add the process with the latest version number plus one (e.g. if the latest current version is 3, setting this to false will import the process as version 4).

state

The state can be one of the following:

  • TEST (default)

  • ACTIVE

  • DEV

  • ARCHIVE

📌 Example

wfg process import c:\repository\SIMPLE_APPROVALv1.xml

get

Displays one or several processes.

Usage

wfg process get [PROCESS_NAME] [PROCESS_VERSION] --output

Arguments

Option

📌 Example

wfg process get SIMPLE_APPROVAL 1 -o json

update

Updates information for a single process.

Usage

wfg process update [PROCESS_NAME] [PROCESS_VERSION] -d [DESCRIPTION] -s [STATE]

Arguments

Options

state

The state can be one of the following:

  • TEST

  • ACTIVE

  • DEV

  • ARCHIVE

📌 Example

wfg process update SIMPLE_APPROVAL 1 -s DEV

delete

Deletes a single process by name and version.

Usage

wfg process delete [PROCESS_NAME] [PROCESS_VERSION]

Arguments

📌 Example

wfg process delete SIMPLE_APPROVAL 1

test

Runs test cases of your processes.

Usage

wfg process test [PATH_TEST_FILES] --verbosity [LEVEL] --doctor

Arguments

Option

📌 Example

wfg process test c:\repository\SIMPLE_APPROVALv1_Test.json c:\repository\SIMPLE_REQUESTv1_Test.json --verbosity quiet

📌 Example of a test file

{
    "processName": "SIMPLE_APPROVAL",
    "processVersion": 1,
    "tests": [
        {
            "describe": "First test",
            "requestParameters": [],
            "actions": [
                {
                    "name": "INITIATES",
                    "operation": "COMPLETE",
                    "parameters": [
                        {
                            "name": "REQUEST_SUBJECT",
                            "textValue": "OK"
                        }
                    ],
                    "assertions": {
                        "status": "CLOSED",
                        "subStatus": "COMPLETED"
                    }
                },
                {
                    "name": "VALIDATES",
                    "operation": "COMPLETE",
                    "parameters": [
                        {
                            "name": "APPROVAL_DECISION",
                            "textValue": "YES"
                        }
                    ],
                    "assertions": {
                        "status": "CLOSED",
                        "subStatus": "COMPLETED",
                        "data": [
                            {
                                "name": "APPROVAL_DECISION",
                                "textValue": "YES"
                            }
                        ]
                    }
                }
        },
        {
            "describe": "Second test",
            "requestParameters": [],
            "actions": [
                {
                    "name": "INITIATES",
                    "operation": "COMPLETE",
                    "parameters": [
                        {
                            "name": "REQUEST_SUBJECT",
                            "textValue": "OK"
                        }
                    ],
                    "assertions": {
                        "status": "CLOSED",
                        "subStatus": "COMPLETED"
                    }
                },
                {
                    "name": "VALIDATES",
                    "operation": "COMPLETE",
                    "parameters": [
                        {
                            "name": "APPROVAL_DECISION",
                            "textValue": "NO"
                        }
                    ],
                    "assertions": {
                        "status": "CLOSED",
                        "subStatus": "COMPLETED",
                        "data": [
                            {
                                "name": "APPROVAL_DECISION",
                                "textValue": "NO"
                            }
                        ]
                    }
                },
                {
                    "name": "UPDATES",
                    "operation": "COMPLETE",
                    "parameters": [
                        {
                            "name": "REQUEST_SUBJECT",
                            "textValue": "OK2"
                        }
                    ],
                    "assertions": {
                        "status": "CLOSED",
                        "subStatus": "COMPLETED"
                    }
                },
                {
                    "name": "VALIDATES",
                    "operation": "COMPLETE",
                    "parameters": [
                        {
                            "name": "APPROVAL_DECISION",
                            "textValue": "YES"
                        }
                    ],
                    "assertions": {
                        "status": "CLOSED",
                        "subStatus": "COMPLETED",
                        "data": [
                            {
                                "name": "APPROVAL_DECISION",
                                "textValue": "YES"
                            }
                        ]
                    }
                }
        }
    ],
    "deleteRequest": false
}

global-list

The global-list command lets you export, import, get, or delete a global list.

Available since WorkflowGen version 7.17.0.

export

Exports a specific global list from your WorkflowGen server to a local repository.

Usage

wfg global-list export [GLOBAL_LIST_NAME] --destination [PATH]

Argument

Option

📌 Example

wfg global-list export Country

import

Imports a specific global list from your local repository to your WorkflowGen server.

Known issue (#3373): See the WorkflowGen 7.22.2 release notes.

Usage

wfg global-list import [GLOBAL_LIST_PATH] --force

Argument

Option

📌 Example

wfg global-list import C:\repository\Country

get

Displays one or several global lists.

Usage

wfg global-list get [GLOBAL_LIST_NAME] --output

Argument

Option

📌 Example

wfg global-list get Country Clients --output json

delete

Deletes a single global list by name.

Usage

wfg global-list delete [GLOBAL_LIST_NAME]

Argument

📌 Example

wfg global-list delete Country

application

The application command lets you export, import, get, get-parameters, or delete an application.

Available since WorkflowGen version 7.14.0.

export

Exports a specific application from your WorkflowGen server to a local repository.

Usage

wfg application export [APPLICATION_NAME] --destination [PATH]

Argument

Option

📌 Example

wfg application export XMLTODATABASE

import

Imports a specific application from your local repository to your WorkflowGen server.

Usage

wfg application import [APPLICATION_PATH] --force

Argument

Option

📌 Example

wfg application import c:\repository\XMLTODATABASE.xml

get

Displays one or several applications.

Usage

wfg application get [APPLICATION_NAME]] --output

Argument

Option

📌 Example

wfg application get XMLTODATABASE --output json

get-parameters

Displays an application's parameters.

Usage

wfg application get-parameters [APPLICATION_NAME] --output

Argument

Option

📌 Example

wfg application get-parameters XMLTODATABASE --output json

delete

Deletes a single application by name.

Usage

wfg application delete [APPLICATION_NAME]

Argument

📌 Example

wfg application delete XMLTODATABASE

action

Available since WorkflowGen version 7.17.0.

get

Lets you display the action information of a request or process.

Usage

wfg action get [requestNumber] --processName --processVersion --status --output

Argument

Option

📌 Example

wfg action get 1994 -s OPEN -o json
wfg action get -p SIMPLE_REQUEST

complete

Lets you complete an action for a process.

Usage

wfg action complete [activityNumber] [requestNumber] --parameter

Argument

Option

📌 Example

wfg action complete 1 1994 -p text:SUBJECT="My Subject"

cancel

Lets you cancel an ongoing action.

Usage

wfg action cancel [actionNumber] [requestNumber] --force

Argument

Option

📌 Example

wfg action cancel 1 1994 -f

request

Available since WorkflowGen version 7.17.0.

get

Lets you manage a WorkflowGen request.

Usage

wfg request get [requestNumber] --processName --processVersion --status --output

Argument

Option

📌 Example

wfg request get 1994 -s OPEN -o json
wfg request get -p SIMPLE_REQUEST

create

Lets you create a new request from a process.

Usage

wfg request complete [processName] [processVersion] --parameter

Argument

Option

📌 Example

wfg request complete 1 1994 -p text:SUBJECT="My Subject"

cancel

Lets you cancel an ongoing request.

Usage

wfg request cancel [requestNumber] --force

Argument

Option

📌 Example

wfg request cancel 1994 -f

graphql

The graphql command lets you run a custom GraphQL query.

Available since WorkflowGen version 7.0.0.

Usage

wfg graphql [GRAPHQL_QUERY] -v [VARIABLE1_STRING] -V [VARIABLE2_INT] -V [VARIABLE3_BOOL]
wfg graphql [GRAPHQL_QUERY] --variableJson [VARIABLES_JSON]

Arguments

If the graphql query uses variables, you have to specify either --variable and --variableCast or --variableJson. You can't use --variableJson with the other two arguments and vice-versa.

📌 Examples

wfg graphql "query { viewer { userName } }"
wfg graphql @'
query ($name: String!, $version: Int!) {
    process(name: $name, version: $version) {
        description
    }
}
'@ -v name=SIMPLE_APPROVAL -V version=1
wfg graphql @'
query ($name: String!, $version: Int!) {
    process(name: $name, version: $version) {
        description
    }
}
'@ --variableJson ((@{
    name = "SIMPLE_APPROVAL"
    version = 1
} | ConvertTo-Json -Compress) -replace '"', '\"')

Due to a known PowerShell bug at time of writing (https://github.com/PowerShell/PowerShell/issues/1995), any double quotes (") will be stripped from the string when sending it to a native executable. The solution is to add a backslash (\) before each double quote, or use three double quotes (""").

Last updated