CLI
Installation Command
RoostGPT binary is available at https://github.com/roost-io/roost-support/releases
Add the "roostgpt-<linux|macos|win.exe>" binary to your PATH environment variable
For Linux/MacOS
, you can execute the below command to install roostgpt
curl https://raw.githubusercontent.com/roost-io/roost-support/master/roostgpt.sh | bash -
CLI Commands
./roostGPT-macos
(for mac) & ./roostGPT-win.exe
(for windows)
This command is used to run the RoostGPT CLI on your operating system.
-
-h, --help
: Displays the help message that provides information about the available options and usage. roostgpt config create
: Creates roostgpt configuration file. The configuration file contains environment variables used by RoostGPT application.--ui
: It opens the web form in order to create downloadable configuration file.--output-dir, -o <path>
: Creates a configuration file in a specific directory. The configuration file contains environment variables used by the RoostGPT application. Default path is pwd.--name <name>
: Creates the configuration file with specific name. Default name is default.env
-
roostgpt config update
: Updates the roostgpt configuration file. -
--config, -c <path>
: Specifies the location of the environment configuration file. The configuration file contains environment variables used by the RoostGPT application. -
--name <name>
: loads pwd/$name.env. It is ignored if the --file is provided
-
roostgpt test create
: Triggers the test code. --config,-c <path>
: Path to the configuration file if provided, otherwise the configuration will retrieved from Environment variables .
Instructions for creating .env file
An easy way to download the .env file is to use https://app.roost.ai/gptCLIForm
The .env file should be in the same folder path as RoostGPT binary.
Here is what the content of your .env file will look like:
# GIT env vars
GIT_TYPE= # Default is github; Supports [github, gitlab, azure, bitbucket, locallocal]
HOSTED_TYPE= # Supports cloud and hosted defaultDefault is cloudcloud; Supports [cloud, hosted]
GIT_HOSTED_URL= # Required if HOSTED_TYPE=hosted
USE_SSH= # Optional; Default is false; Supports [true, false]; SSH based auth for Git
LOCAL_PROJECT_PATH= # Required if GIT_TYPE is local, Path to your workspace.
GIT_HOSTED_URL=SOURCE_GIT_CLONE_URL= # RequiredOptional; ifthe HOSTED_TYPE=hostedsource repo clone URL
SOURCE_GIT_TOKEN= # Required
SOURCE_OWNER_NAME= # Required
SOURCE_REPO_NAME= # Required
SOURCE_REPO_ID= # Required for GIT_TYPE=gitlab
SOURCE_PROJECT_NAME= # Required for GIT_TYPE=azure
SOURCE_PROJECT_ID= # Required for GIT_TYPE=bitbucket
SOURCE_BASE_BRANCH= # Required
SOURCE_RELATIVE_DIRECTORY= # Optional,Optional; the relative path of the repository
SAME_TARGET_DETAIL= # OptionalOptional; defaultDefault true, Supports true[true, andfalse]
falseDESTINATION_GIT_CLONE_URL= # Optional; the destination repo clone URL
DESTINATION_GIT_TOKEN= # Required if SAME_TARGET_DETAIL=false
DESTINATION_OWNER_NAME= # Required if SAME_TARGET_DETAIL=false
DESTINATION_REPO_NAME= # Required if SAME_TARGET_DETAIL=false
DESTINATION_REPO_ID= # Required if SAME_TARGET_DETAIL=false and GIT_TYPE=gitlab
DESTINATION_PROJECT_NAME= # Required for GIT_TYPE=azure
DESTINATION_PROJECT_ID= # Required if SAME_TARGET_DETAIL=false and GIT_TYPE=bitbucket
DESTINATION_BASE_BRANCH= # Required if SAME_TARGET_DETAIL=false
# Open AI env vars
OPENAI_API_MODEL= # OptionalOptional; default valueDefault is gpt-4
OPENAI_API_KEY= # Required if AI_TYPE=openai
# Vertex AI env vars
VERTEX_FINE_TUNE= # OptionalOptional; default valueDefault is false, Supports true[true, and falsefalse]
VERTEX_PROJECT_ID= # Required if AI_TYPE=vertexai
VERTEX_REGION= # Required if AI_TYPE=vertexai and VERTEX_FINE_TUNE=true
VERTEX_BEARER_TOKEN= # Required if AI_TYPE=vertexai
VERTEX_MODEL= # Required,Required if AI_TYPE=vertexai; Supports [text-bison, code-bison, codechat-bisonbison]
# Azure Open AI env vars
AZURE_OPENAI_ENDPOINT= # Required if AI_TYPE=azure_open_ai
AZURE_DEPLOYMENT_NAME= # Required if AI_TYPE=azure_open_ai
AZURE_OPENAI_KEY= # Required if AI_TYPE=azure_open_ai
# Open source env vars
OPEN_SOURCE_MODEL_ENDPOINT= # Required if AI_TYPE=open_source_ai
OPEN_SOURCE_MODEL= # Optional,Optional; Supports [meta-llama/Llama-2-13b-chat andchat, HuggingFaceH4/starchat-betabeta]
# Jira board env vars
JIRA_HOST_NAME= # Required if TEST_TYPE=functional and BOARD_TYPE=jira
JIRA_EMAIL= # Required if TEST_TYPE=functional and BOARD_TYPE=jira
JIRA_TOKEN= # Required if TEST_TYPE=functional and BOARD_TYPE=jira
# Azure board env vars
AZURE_ORG= # Required if TEST_TYPE=functional and BOARD_TYPE=azure
AZURE_PROJECT= # Required if TEST_TYPE=functional and BOARD_TYPE=azure
AZURE_TOKEN= # Required if TEST_TYPE=functional and BOARD_TYPE=azure
# Log env vars
LOG_SOURCE= # OptionalOptional; default valueDefault is elks
LOG_SOURCE_PATH= # Optional,Optional; the log file path
LOG_ELASTICSEARCH_URL= # Optional,Optional; the Elastic search URL
LOG_ELASTICSEARCH_USER= # Optional,Optional; the Elastic search user name
LOG_ELASTICSEARCH_TOKEN= # Optional,Optional; the Elastic search token
LOG_ELASTICSEARCH_API_KEY= # Optional,Optional; the Elastic search api key
# Behavioural test cases env vars
BEHAVIORAL_TEST_TYPE= # Optional,Optional; Supports gherkin[gherkin]
BEHAVIORAL_TEST_SOURCE= # Optional,Optional; Supports [file, gitpath, urlurl]
BEHAVIORAL_TEST_FILE_PATH= # Optional,Optional; path of the source file if source is file/gitpath. Relative path in case of gitpath.
BEHAVIORAL_TEST_URL= # Optional,Optional; urlURL of the source file if source is url
# API Spec env vars
API_SPEC_TYPE= # Optional,Optional; Supports swagger[swagger, and postmanpostman]
API_SPEC_SOURCE= # Optional,Optional; Supports [file, gitpath, urlurl]
API_SPEC_FILE_PATH= # Optional,Optional; path of the source file if source is file/gitpath. Relative path in case of gitpath.
API_SPEC_URL= # Optional,Optional; urlURL of the source file if source is url
# License env vars
ROOST_DOMAIN= # OptionalOptional; default valueDefault is app.roost.ai
ROOST_TOKEN= # Required, the Roost token
TELEMETRY= # Optional; Default is true, Supports [true, false], send telemetry data to roost, no private information is shared.
# Additional vars
TEST_NAME= # OptionalOptional; default valueDefault is roost-test
ROOST_DIR= # OptionalOptional; default valueDefault is /var/tmp/Roost/RoostGPT
LANGUAGE= # OptionalOptional; default valueDefault is javajava; Supports [java, go, python, csharp, nodejsnodejs]
AI_TYPE= # OptionalOptional; default valueDefault is openai,openai; Supports [openai, vertexai, azure_open_ai, open_source_aiopen_source_ai]
PACKAGES_TO_SCAN= # Required for LANGUAGE=java, Thethe package to scan and generate test for example - com.demo.sample
ITERATION= # OptionalOptional; default valueDefault is 2
TIMEOUT= # OptionalOptional; default valueDefault is 1 hour
TEST_TYPE= # OptionalOptional; default valueDefault is unit Supports [unit, functional, artillery, artillery-api-spec, integrationintegration]
RETRIGGER= # OptionalOptional; default valueDefault is false, Supports true[true, and falsefalse]
TRIGGER_ID= # uniqueUnique id to identify multiple triggerstriggers; Default is epoch
BOARD_TYPE= # OptionalOptional; default valueDefault is jirajira; Supports jira[jira, andazure, azure and nonenone]
GIT_PR_URL= # The Git prPR urlURL of the generated test
TELEMETRY= # Optional default value is true, Supports true and false, send telemetry data to roost, no private information is shared.
# Improve test env vars
IMPROVE_TEST= # OptionalOptional; default valueDefault is false, Supports true[true, and falsefalse]
FILE_PATH= # Required if IMPROVE_TEST=true
USER_CONTENT= # Required if IMPROVE_TEST=true
Here's a description of each variable:
GIT_TYPE
: Specifies the type of Git repository.
Supported values: "github", "gitlab", "azure", "bitbucket_cloud", "bitbucket_server".GIT_TOKEN
: A token for authenticating the specific Git repository.OWNER_NAME
: The name of the repository owner (Git username).REPO_NAME
: The name of the repository.REPO_ID
: The ID of the repository.PROJECT_NAME
: The name of the project.PROJECT_ID
: The ID of the project .USER_IP
: User IP required for "bitbucket_server".BASE_BRANCH
: The base branch of the repository (set to "master").RELATIVE_DIRECTORY
: The relative directory path within the repository.
# Open AI env vars
OPENAI_API_MODEL
: Specifies the type of the OpenAI API model.
Supported values: "gpt-4", "gpt-3.5-turbo" etc. ( This models availability depends on theOPENAI_API_KEY
).
Default value: "gpt-4".OPENAI_API_KEY
: The API key for accessing the OpenAI API.
# Vertex AI env vars
VERTEX_PROJECT_ID
: The ID of the Vertex project.VERTEX_REGION
: The region where the Vertex project is located (example "us-central1").VERTEX_BEARER_TOKEN
: The bearer token for accessing the Vertex API.VERTEX_MODEL
: The name of the Vertex model to use.
Supported values: "text-bison", "code-bison".VERTEX_FINE_TUNE
: Indicates whether fine-tuning is enabled for the model.
Supported values: "true", "false".
Default value: "false".
# Jira board env vars
JIRA_EMAIL
: The email address associated with your Jira account.JIRA_HOST_NAME
: The hostname of your Jira instance.JIRA_PASSWORD
: The password for your Jira account.
# Azure board env vars
AZURE_ORG
: The organization associated with your Azure Devops account.AZURE_TOKEN
: The access token for authenticating with Azure Devops.AZURE_PROJECT
: The name of the Azure Devops project.
# Log env vars
LOG_SOURCE
: origin from where the logs are generated.
Default value: "elks".LOG_SOURCE_PATH
: location where the log files are stored.LOG_ELASTICSEARCH_URL
: The URL for the Elasticsearch.LOG_ELASTICSEARCH_USER
: A user name for accessing Elasticsearch resources.LOG_ELASTICSEARCH_TOKEN
: Authentication used for accessing Elasticsearch resources.LOG_ELASTICSEARCH_API_KEY
: The API key to authenticate and authorize access to Elasticsearch APIs.
# Behavioural Test cases env vars
BEHAVIORAL_TEST_TYPE
: The type of behavioural tests. Supports gherkin.BEHAVIORAL_TEST_SOURCE
: location or the source of behavioural test source. Supports file, gitpath and url.BEHAVIORAL_TEST_FILE_PATH
: Path of the source file if source is file/gitpath, Relative path in case of gitpath.BEHAVIORAL_TEST_URL
: The URL of the source file if the source is URL.
# API Spec env vars
API_SPEC_TYPE
: The type of API specification. Supports Swagger and PostmanAPI_SPEC_SOURCE
: location or the source of api. Supports file, gitpath and url.API_SPEC_FILE_PATH
: Path of the source file if source is file/gitpath, Relative path in case of gitpath.API_SPEC_URL
: The URL of the source file if the source is URL.
# License env vars
ROOST_DOMAIN
: This is the Roost Domain, default value for this is app.roost.aiROOST_TOKEN
: Authentication token for RoostGPT CLI.
# Additional vars
TEST_NAME
: The name of the test.
Default value: "roost-test".ROOST_DIR
: The directory path for Roost.
Default value: "/var/tmp/Roost/RoostGPT".LANGUAGE
: The programming language of the source code.
Supported values: "java", "go", "python", "csharp".
Default value: "java".AI_TYPE
: The AI model being used to generate tests.
Supported values: "openai", "vertexai","open_source_ai","azure_open_ai".
Default value: "openai".PACKAGES_TO_SCAN
: The packages to be scanned, supports single package or comma separated values.
( Required for JAVA ex. com.example.product or com.example.product,com.example.controller )ITERATION
: The iteration number to improve and run the test.
Default value: "2".TRIGGER_ID
: The ID of the trigger. Unique id to identify multiple triggersTIMEOUT
: The timeout duration, after this the test generation will automatically stop.
Default value: "1 hour".TEST_TYPE
: The type of test to generate.
Supported values: "unit", "functional", "artillery", "artillery-api-spec","integration".
Default value: "unit".RETRIGGER
: Indicates whether to re-trigger existing test generated that from where it left.
Supported values: "true", "false".
Default value: "false".BOARD_TYPE
: The type of board to be used.
Supported values: "jira", "azure","none".
Default value: "jira".GIT_PR_URL
: Git PR URL of the generated test.TELEMETRY
: Sends the telemetry data to Roost, no private information is shared .
Supported values: "true","false".
Default value: "true".
# Improve Test env vars
IMPROVE_TEST
: This is used when we want to improve the generated test.
Supported values: "true","false"
Default value: "false".FILE_PATH
: location of the file containing test. This is required ifIMPROVE_TEST
= true.USER_CONTENT
: Content Provided by the user for improving the generated test. This is required ifIMPROVE_TEST
= true.