CLI
Installation Command
RoostGPT binary is available at https://github.com/roost-io/roost-support/releases
The RoostGPT binary allows for unmatched flexibility during test generation, by allowing you to trigger test generation both locally and through git through the use of one simple .env file.
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
(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 version update
: Update roostgpt version.roostgpt config create
: Creates roostgpt configuration file. The configuration file contains environment variables used by RoostGPT application.
--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 generation.--config,-c <path>
: Path to the configuration file if provided, Default value is pwd/default.env.--docker,-d
: Generate tests in a docker environment, see supported features to see what tool/language versions are supported.--verbose,-v
: Enable verbose logging(Debug mode).
roostgpt test improve
: Improve the selected test based on user feedback.--docker,-d
: Improve tests in a docker environment, see supported features to see what tool/language versions are supported.--verbose,-v
: Enable verbose logging(Debug mode).
roostgpt test retrigger
: Re-trigger the chosen test from where it left off during its last execution.
--docker,-d
: Re-trigger tests in a docker environment, see supported features to see what tool/language versions are supported.--verbose,-v
: Enable verbose logging(Debug mode).
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, local]
HOSTED_TYPE= # Default is cloud; 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.
SOURCE_GIT_CLONE_URL= # Optional; the source 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; the relative path of the repository
SAME_TARGET_DETAIL= # Optional; Default true, Supports [true, false]
DESTINATION_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= # Optional; Default is gpt-4
OPENAI_API_KEY= # Required if AI_TYPE=openai
# Vertex AI env vars
VERTEX_FINE_TUNE= # Optional; Default is false, Supports [true, false]
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 if AI_TYPE=vertexai; Supports [text-bison, code-bison, codechat-bison, text-bison-32k, code-bison-32k, codechat-bison-32k, gemini-pro]
# 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
AZURE_OPENAI_VERSION= # Optional Default is 2023-12-01-preview
# Open source env vars
OPEN_SOURCE_MODEL_ENDPOINT= # Required if AI_TYPE=open_source_ai
OPEN_SOURCE_MODEL= # Optional; Supports [meta-llama/Llama-2-13b-chat, HuggingFaceH4/starchat-beta]
# Sagemaker model env vars
SAGEMAKER_MODEL_ENDPOINT= # Required if AI_TYPE=sagemake_model
# Claude AI env vars
CLAUDE_AI_MODEL= # Required if AI_TYPE=claude_ai
CLAUDE_AI_API_KEY= # Required if AI_TYPE=claude_ai
# DBRX AI env vars
DBRX_MODEL_ENDPOINT= # Required if AI_TYPE=dbrx
DBRX_AUTH_TOKEN= # Required if AI_TYPE=dbrx
DBRX_MODEL_NAME= # Required if AI_TYPE=dbrx
# Advanced AI env vars
AI_TEMPERATURE= # Optional; Default value is 0.6
# 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
JIRA_ID= # Optional 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
AZURE_WORK_ITEM_ID= # Optional if TEST_TYPE=functional and BOARD_TYPE=azure
# Log env vars
LOG_SOURCE= # Optional; Default is elks
LOG_SOURCE_PATH= # Optional; the log file path
LOG_ELASTICSEARCH_URL= # Optional; the Elastic search URL
LOG_ELASTICSEARCH_USER= # Optional; the Elastic search user name
LOG_ELASTICSEARCH_TOKEN= # Optional; the Elastic search token
LOG_ELASTICSEARCH_API_KEY= # Optional; the Elastic search api key
# Behavioural test cases env vars
BEHAVIORAL_TEST_TYPE= # Optional; Supports [gherkin]
BEHAVIORAL_TEST_SOURCE= # Optional; Supports [file, gitpath, url]
BEHAVIORAL_TEST_FILE_PATH= # Optional; path of the source file if source is file/gitpath. Relative path in case of gitpath.
BEHAVIORAL_TEST_URL= # Optional; URL of the source file if source is url
# API Spec env vars
API_SPEC_TYPE= # Optional; Supports [swagger, postman, raml]
API_SPEC_SOURCE= # Optional; Supports [file, gitpath, url]
API_SPEC_FILE_PATH= # Optional; path of the source file if source is file/gitpath. Relative path in case of gitpath.
API_SPEC_URL= # Optional; URL of the source file if source is url
HTTP_VERBS_FOR_TESTING= # Optional; Default is "get,post,put,patch,delete", Supports all the combinations of http verbs. The specific http methods to be tested for all APIs. Enter "," seperated values here.
REGEX_HTTP_ENDPOINTS_FOR_TESTING= # Optional; Regex string that matches to specific endpoints that needs to be tested. If empty, all the endpoints will be tested.
# Application test env vars
APPLICATION_ENTRYPOINT= # Required; if you need to generate application tests along with unit tests. This feature is supported only for GPT Turbo models. Use a relative path from the project root.
# License env vars
ROOST_DOMAIN= # Optional; Default is app.roost.ai
ROOST_TOKEN= # Optional; the Roost token or license filepath, default $HOME/.roost/license.ral
TELEMETRY= # Optional; Default is true, Supports [true, false], send telemetry data to roost, no private information is shared.
# Additional env vars
TEST_NAME= # Optional; Default is roost-test
ROOST_DIR= # Optional; Default is /var/tmp/Roost/RoostGPT
LANGUAGE= # Optional; Default is java; Supports [java, go, python, csharp, nodejs, reactjs, cpp]
AI_TYPE= # Optional; Default is openai; Supports [openai, vertexai, azure_open_ai, open_source_ai, sagemaker_model, claude_ai, dbrx]
JAVA_BUILD_TOOL= # Optional; Default is maven; Supports [maven, gradle]
PACKAGES_TO_SCAN= # Optional; Default is "*"; used for LANGUAGE=java, for generating tests for specific packages; Enter comma seperated values. E.g. "com.demo.sample,"com.example.products"
ITERATION= # Optional; Set VERIFY_TEST=true to enable iteration; Default value of ITERATION is 1
TIMEOUT= # Optional; Default is 1 hour
CREATE_API_SPEC= # Optional; Used for TEST_TYPE=functional
ROOST_USER_INPUT= # Optional; The user input will be used to generate tests.
TEST_TYPE= # Optional; Default is unit Supports [unit, functional, artillery, integration, api-spec-test]
RETRIGGER= # Optional; Default is false, Supports [true, false]
TRIGGER_ID= # Unique id to identify multiple triggers; Default is epoch
BOARD_TYPE= # Optional; Default is jira; Supports [jira, azure, none]
MAX_DEPTH= # Optional; Default is -1; if MAX_DEPTH is -1, it will traverse all the sub directories else the maximum depth directories to look for
TEST_FRAMEWORK= # Optional; Default is "pytest" for Python, "gotest" for Golang, "JUnit4" for Java, "nunit" for CSharp, "jest" for Node.js, "postman" for Postman test-script. Supports [pytest, unittest] for Python, [gotest] for Golang, [JUnit4, JUnit5] for Java, [nunit] for Csharp, [jest] for Node.js, [postman, artillery, rest-assured] for [test_type: api-spec-test]
FUNCTIONS_TO_TEST= # Optional; List of function names to be tested, separated by comma. Name to be specified as module.[class.]method OR module.function
USE_ASSISTANT= # Optional; Use Assistant feature in openai. Default:false
USE_CACHE= # Optional; Used for only developer. Default:false
VERIFY_TEST= # Optional; Default is true, Supports [true, false]
VULNERABILITY_GEN= # Optional; Default is false, Supports [true, false]
CUSTOM_TAGS= # Optional; The tags to be attached to test code, so that the test's can run based on tags
CONSIDER_EXISTING_TEST= # Optional; Default is false, Supports [true, false], used for Java and python unit test generation, It scans your repository to identify any existing tests for the specified function. If tests are found, it incorporates them into its consideration and generates additional test cases as needed
# Improve test env vars
GIT_PR_URL= # The Git PR URL of the generated test
IMPROVE_TEST= # Optional; Default is false, Supports [true, false]
FILE_PATH= # Required if IMPROVE_TEST=true
USER_CONTENT= # Required if IMPROVE_TEST=true
TESTSCRIPT_ENDPOINT= # Required if IMPROVE_TEST=true and TEST_FRAMEWORK=postman
# Language version env vars, Used when RoostGPT is run in docker mode, visit https://docs.roost.ai/books/topics/roostgpt/page/cli to check the supported language versions
JAVA_VERSION= # Optional; Default is 17, Used for TEST_FRAMEWORK "JUnit4, "JUnit5", "karate", "rest-assured"
MAVEN_VERSION= # Optional; Default is 3.8.6, Used for TEST_FRAMEWORK "JUnit4, "JUnit5", "karate", "rest-assured"
GRADLE_VERSION= # Optional; Default is 8.6, Used for TEST_FRAMEWORK "JUnit4, "JUnit5", "karate", "rest-assured"
GO_VERSION= # Optional; Default is 1.19.9, Used for TEST_FRAMEWORK "gotest"
PYTHON_VERSION= # Optional; Default is 3, Used for TEST_FRAMEWORK "pytest", "unittest"
DOTNET_VERSION= # Optional; Default is 8, Used for TEST_FRAMEWORK "nunit"
NODE_VERSION= # Optional; Default is 18.18.0, Used for TEST_FRAMEWORK "artillery", "postman", "rest-assured", "karate", "jest", "mocha"
Here's a description of each variable:
# Git env vars
GIT_TYPE
:
Description: Specifies the type of Git repository.
Defaultvalue isValue: "github"values:Values: "github", "gitlab", "azure", "bitbucket".,(Optional)local
Optional/Required: OptionalHOSTED_TYPE
:
Description:WhereIndicates where thegitGit platform is accessible.
DefaultisValue: "cloud"
Supported Values: "cloud",supports "cloud" and"hosted".
Optional/Required:(Optional)OptionalGIT_HOSTED_URL
:
Description: The URL of the hostedgitGit platform.
Optional/Required:(Required ifHOSTED_TYPE=HOSTED_TYPE is "hosted")USE_SSH
:
Description:SSHSpecifies whether to use SSH-basedauthauthentication for Git.
DefaultisValue: "false".
SupportedSupportsValues: "true", "false".
Optional/Required:(Optional)OptionalLOCAL_PROJECT_PATH
:
Description: Path to yourworkspaceworkspace.
Optional/Required:(Required if GIT_TYPE is "local")SOURCE_GIT_CLONE_URL
Description: Clone URL for the source repository.
Optional/Required: Optional- SOURCE_GIT_TOKEN
:
Description:A tokenToken for authenticating the specific source Git repository.
Optional/Required:(Required)Required SOURCE_GIT_CLONE_URL:SOURCE_OWNER_NAME
Description:the source repo clone URL (Optional)SOURCE_OWNER_NAME: The nameName of the source repository owner (Git username).
Optional/Required:(Required)RequiredSOURCE_REPO_NAME
:
Description:The nameName of the source repository.
Optional/Required:(Required)RequiredSOURCE_REPO_ID
: The
Description: ID of the source repository.
Optional/Required:(RequiredforifGIT_TYPE=GIT_TYPE is "gitlab")SOURCE_PROJECT_NAME
:
Description:The nameName of the source project.
Optional/Required:(RequiredforifGIT_TYPE=GIT_TYPE is "azure")SOURCE_PROJECT_ID
: The
Description: ID of the sourceprojectproject.
Optional/Required:. (RequiredforifGIT_TYPE=GIT_TYPE is "bitbucket")SOURCE_BASE_BRANCH
:
Description:The baseBase branchthat isto be tested in the source repository.
Optional/Required:(Required)RequiredSOURCE_RELATIVE_DIRECTORY
:
Description:The relativeRelative directory path within the source repository.
Optional/Required: OptionalSAME_TARGET_DETAIL
:
Description:Set to trueIndicates if the destinationgitGit details are the same as the sourcegitGit details.
DefaultvalueValue:is"true"
Supported Values: "true",Supports "true" and"false".
Optional/Required:(Optional)OptionalDESTINATION_GIT_CLONE_URL
Description: Clone URL for the destination repository.
Optional/Required: Optional- DESTINATION_GIT_TOKEN
:
Description:A tokenToken for authenticating the specific destination Git repository.
Optional/Required:(Required ifSAME_TARGET_DETAIL=false)SAME_TARGET_DETAIL is "false" DESTINATION_GIT_CLONE_URL:DESTINATION_OWNER_NAME
Description:the destination repo clone URL (Optional)DESTINATION_OWNER_NAME: The nameName of the destination repository owner (Git username).
Optional/Required:(Required ifSAME_TARGET_DETAIL=false)SAME_TARGET_DETAIL is "false"DESTINATION_REPO_NAME
:
Description:The nameName of the destination repository.
Optional/Required:(Required ifSAME_TARGET_DETAIL=false)SAME_TARGET_DETAIL is "false"DESTINATION_REPO_ID
: The
Description: ID of the destination repository.
Optional/Required:(Required ifSAME_TARGET_DETAIL=falseSAME_TARGET_DETAIL is "false" andGIT_TYPE=GIT_TYPE is "gitlab")DESTINATION_PROJECT_NAME
:
Description:The nameName of the destination project.
Optional/Required:(Required ifSAME_TARGET_DETAIL=falseSAME_TARGET_DETAIL is "false" andGIT_TYPE=GIT_TYPE is "azure")DESTINATION_PROJECT_ID
: The
Description: ID of the destinationprojectproject.
Optional/Required:. (Required ifSAME_TARGET_DETAIL=falseSAME_TARGET_DETAIL is "false" andGIT_TYPE=GIT_TYPE is "bitbucket")DESTINATION_BASE_BRANCH
:
Description:The baseBase branch in which the test code is to be pushed in the destination repository.
Optional/Required:(Required ifSAME_TARGET_DETAIL=false)SAME_TARGET_DETAIL is "false"
# Open AI env vars
OPENAI_API_MODEL
:
Description: Specifies the type of the OpenAI APImodel.model to be used.
Default Value: "gpt-4"
Supportedvalues:Values: "gpt-4", "gpt-3.5-turbo", etc. (AvailabilityThisof modelsavailabilitydepends on theOPENAI_API_KEY)OPENAI_API_KEY).DefaultOptional/Required:value: "gpt-4". (Optional)Optional
OPENAI_API_KEY
:
Description: The API key required for accessing the OpenAI API.
Optional/Required:(Required ifAI_TYPE=AI_TYPE is "openai")
# AZURE Open AI env vars
- AZURE_OPENAI_ENDPOINT
:Description: The APIEndpointendpoint used to access AzureOpenOpenAIAI.services.(Optional/Required: Required ifAI_TYPE=AI_TYPE is "azure_open_ai") - AZURE_DEPLOYMENT_NAME
:NameDescription: The name of the AzureOpen AIOpenAI deployment(you wish to use.Optional/Required: Required ifAI_TYPE=AI_TYPE is "azure_open_ai") - AZURE_OPENAI_KEY
:Description: The API key required foraccessingauthenticating requests to Azure OpenAI.Optional/Required: Required if AI_TYPE is "azure_open_ai" -
AZURE_OPENAI_VERSIONDescription: Specifies the version of the Azure
Open AIOpenAI API(Required if AI_TYPE="azure_open_ai")AZURE_OPENAI_VERSION: The version of Azure Open AIto be used.(Optional)Optional/Required: Optional
# Vertex AI env vars
VERTEX_PROJECT_ID: The ID of the Vertex project. (Required if AI_TYPE="vertexai")VERTEX_REGION: The region where the Vertex project is located (example "us-central1"). (Required if AI_TYPE="vertexai" and VERTEX_FINE_TUNE="true")VERTEX_BEARER_TOKEN: The bearer token for accessing the Vertex API. (Required if AI_TYPE="vertexai")VERTEX_MODEL: The name of the Vertex model to use. (Required if AI_TYPE="vertexai")VERTEX_FINE_TUNESupported values: "text-bison", "code-bison". (Required if AI_TYPE="vertexai")VERTEX_FINE_TUNE:Description: Indicates whether fine-tuning is enabled for the model.
Default Value: "false"
Supportedvalues:Values: "true", "false".- VERTEX_PROJECT_ID
DefaultDescription:value:The ID of the Vertex project you are working with.
Optional/Required: Required if AI_TYPE is "false".vertexai"
- VERTEX_REGION
Description: The region where the Vertex project is located. For example, "us-central1".
Optional/Required: Required if AI_TYPE is "vertexai" and VERTEX_FINE_TUNE is "true"
- VERTEX_BEARER_TOKEN
Description: The bearer token used for authenticating requests to the Vertex API.
Optional/Required: Required if AI_TYPE is "vertexai"
- VERTEX_MODEL
Description: The name of the Vertex model to be used.
Supported Values: "text-bison", "code-bison"
Optional/Required: Required if AI_TYPE is "vertexai"
# Open Source AI env vars
- OPEN_SOURCE_MODEL_ENDPOINT
:Description: The APIEndpointendpoint used to access the Open Source AI model.(Optional/Required: Required ifAI_TYPE=AI_TYPE is "open_source_ai") - OPEN_SOURCE_MODEL
:Description: The name of the Open Source AI model you wish to use.(Optional)Supportedvalues:Values: "meta-llama/Llama-2-13b-chat", "HuggingFaceH4/starchat-beta".Optional/Required: Optional
# SageMaker Model env vars
- SAGEMAKER_MODEL_ENDPOINT
:Description: The endpoint where thesagemakerSageMaker model is hosted.(Optional/Required: Required ifAI_TYPE=sagemake_model)
AI_TYPE is "sagemaker_model"
# Claude AI env vars
- CLAUDE_AI_MODEL
:Description: Specifies the type oftheClaude AImodel.
model to be used.Supportedvalues:Values: "claude-3-opus-20240229", "claude-3-sonnet-20240229",and"claude-3-haiku-2024030720240307"(Optional/Required: Required ifAU_TYPEAI_TYPE=is "claude_ai") - CLAUDE_AI_API_KEY
:Description: The API key required for accessing the Claude AI API.(Optional/Required: Required ifAI_TYPE=AI_TYPE is "claude_ai")
# DBRX AI env vars
- DBRX_MODEL_ENDPOINT
:Description: The endpoint where the DBRX AI model is hosted.Optional/Required: Optional - DBRX_AUTH_TOKEN
:Description: Theauthauthentication token required for accessing the DBRX model.(Optional/Required: Required ifAI_TYPE=AI_TYPE is "dbrx") - DBRX_MODEL_NAME
:Description: The name ofyourthe DBRXmodel.(model you wish to use.Optional/Required: Required ifAI_TYPE=AI_TYPE is "dbrx")
# Advanced AI env vars
- AI_TEMPERATURE
:TheDescription: Specifies the temperature setting for AITempratureresponses,towhichbeinfluencesusedtheduringcreativity and variability of the test generation.(Optional;DefaultA higher valueisresults in more creative and varied outputs, while a lower value produces more deterministic responses.Default Value: 0.6)6Supported Values: Any numeric value, typically between 0.0 and 1.0.Optional/Required: Optional
# Jira board env vars
- JIRA_EMAIL
:Description: The email address associated with your Jira account.(Optional/Required: Required ifTEST_TYPE=TEST_TYPE is "functional" andBOARD_TYPE=BOARD_TYPE is "jira") - JIRA_HOST_NAME
:Description: The hostname of your Jirainstance.instance (e.g., jira.company.com).Optional/Required: Required ifTEST_TYPE=TEST_TYPE is "functional" andBOARD_TYPE=BOARD_TYPE is "jira") - JIRA_PASSWORD
:Description: The password for your Jira account.(Optional/Required: Required ifTEST_TYPE=TEST_TYPE is "functional" andBOARD_TYPE=BOARD_TYPE is "jira") - JIRA_ID
:Description: The Jira ID associated with youraccount.account,(often used as a unique identifier.Optional/Required: Required ifTEST_TYPE=TEST_TYPE is "functional" andBOARD_TYPE=BOARD_TYPE is "jira")
# Azure board env vars
- AZURE_ORG
:Description: The organization associated with your AzureDevopsDevOps account.(Optional/Required: Required ifTEST_TYPE=TEST_TYPE is "functional" andBOARD_TYPE=BOARD_TYPE is "azure") - AZURE_TOKEN
:Description: The access token for authenticating with AzureDevops.DevOps.(Optional/Required: Required ifTEST_TYPE=TEST_TYPE is "functional" andBOARD_TYPE=BOARD_TYPE is "azure") - AZURE_PROJECT
:Description: The name of the AzureDevopsDevOps project.(Optional/Required: Required ifTEST_TYPE=TEST_TYPE is "functional" andBOARD_TYPE=BOARD_TYPE is "azure") - AZURE_WORK_ITEM_ID
:Description: The ID associated with the relevant workitem.item(RequiredinifAzureTEST_TYPE="functional"DevOps.andBOARD_TYPE="azure")
# Log env vars
- LOG_SOURCE
:originDescription: Origin from where the logs are generated.(Optional)Defaultvalue:Value: "elks".Optional/Required: Optional - LOG_SOURCE_PATH
:locationDescription: Location where the log files are stored.(Optional)Optional/Required: Optional - LOG_ELASTICSEARCH_URL
:Description: The URL for theElasticsearch.Elasticsearch(Optional)instance.Optional/Required: Optional - LOG_ELASTICSEARCH_USER
:ADescription:user nameUsername for accessing Elasticsearch resources.(Optional)Optional/Required: Optional - LOG_ELASTICSEARCH_TOKEN
:Description: Authentication token used for accessing Elasticsearch resources.(Optional)Optional/Required: Optional - LOG_ELASTICSEARCH_API_KEY
:TheDescription: API key used to authenticate and authorize access to Elasticsearch APIs.(Optional)Optional/Required: Optional
# Behavioural Test cases env vars
- BEHAVIORAL_TEST_TYPE
:TheDescription: Specifies the type ofbehaviouralbehavioraltests.testsSupportstogherkin.beSupportsused.Supported Values: "gherkin".(Optional)Optional/Required: Optional - BEHAVIORAL_TEST_SOURCE
:locationDescription:orSpecifies the sourceoflocationbehaviouralfor the behavioral testsource.data.SupportsSupportedfile,Values:gitpath"file",and"gitpath",url."url"(Optional)Optional/Required: Optional - BEHAVIORAL_TEST_FILE_PATH
:Description: Pathofto the source file ifsourcethe BEHAVIORAL_TEST_SOURCE isfile/gitpath,"file"Relativeor "gitpath". For "gitpath", this should be a relative pathinwithincasetheofrepository.gitpath.Optional/Required:(Optional)Optional - BEHAVIORAL_TEST_URL
:Description: The URL of the source file if thesourceBEHAVIORAL_TEST_SOURCE isURL."url".(Optional)Optional/Required: Optional
# API Spec env vars
- API_SPEC_TYPE
:TheDescription: Specifies the type of APIspecification.specificationSupportstoSwaggerbeandused.Postman.Supported(Optional)Values: "Swagger", "Postman"Optional/Required: Optional - API_SPEC_SOURCE
:locationDescription:orSpecifies the sourceoflocationapi.forSupportsthefile,APIgitpathspecificationanddata.url.Supported(Optional)Values: "file", "gitpath", "url"Optional/Required: Optional - API_SPEC_FILE_PATH
:Description: Pathofto the source file ifsourceAPI_SPEC_SOURCE isfile/gitpath,"file"Relativeor "gitpath". For "gitpath", this should be a relative pathinwithincasetheofrepository.gitpath.Optional/Required:(Optional)Optional - API_SPEC_URL
:Description: The URL of the source file ifthe sourceAPI_SPEC_SOURCE isURL."url".(Optional)Optional/Required: Optional
# Application test env variables
- APPLICATION_ENTRYPOINT
:TheDescription: Specifies the relative path of the application's entry point from the project root.IfThis is used when application test generation isalsorequiredalonginwithadditionUnitto unit tests.Supported Values: Any valid relative path to the entry point file or directory within the project. Only supported forgpt-GPT-4-turbo models.(Optional)Optional/Required: Optional
# API test env vars
- HTTP_VERBS_FOR_TESTING
:TheDescription:specificSpecifieshttpthe HTTP methods to be tested for all APIs.EnterThis","allowsseperatedyouvaluestohere.filter whichHTTP verbs (methods) should be included in the tests.DefaultisValue: "get,post,put,patch,delete",SupportsSupportedallValues:theAnycombinationscombination ofhttpHTTPverbs.verbs, separated by commas (Optional)e.g., "get,post,put,patch,delete").Optional/Required: OptionalREGEX_HTTP_ENDPOINTS_FOR_TESTING:RegexDescription: A regular expression stringthat matchesused to match specific endpoints thatneedsneed to be tested. If this variable is left empty, alltheendpoints will betested.included(Optional)in the testing.Supported Values: Any valid regex pattern to filter endpoints.Optional/Required: Optional# License env vars
- ROOST_DOMAIN
:ThisDescription:isSpecifies the RoostDomain,domaindefaulttovaluebeforused.thisThisisdefinesapp.roost.ai.theDefaultbaseis app.roost.ai. (Optional)ROOST_TOKEN: Authentication tokenURL for RoostGPTCLI.services.(Required)Default Value: "app.roost.ai"Supported Values: Any valid Roost domain URL.Optional/Required: Optional - ROOST_TOKENDescription: The authentication token required for accessing RoostGPT CLI. This token is necessary for authenticating and authorizing your requests to RoostGPT.Optional/Required: Required
-
TELEMETRY
:SendDescription: Determines whether telemetry data is sent toroost,Roost.noTelemetry data helps improve the service but does not include privateinformationinformation.is shared.DefaultisValue: "true",SupportsSupported Values: "true", "false".(Optional)Optional/Required: Optional
# Additional vars
- TEST_NAME
:Description: The nameofassigned to the test.(Optional)Defaultvalue:Value: "roost-test".Supported Values: Any valid string.Optional/Required: Optional - ROOST_DIR
:Description: The directory pathforwhereRoost.RoostGPT(Optional)
files and configurations are stored.Defaultvalue:Value: "/var/tmp/Roost/RoostGPT".Supported Values: Any valid directory path.Optional/Required: Optional - LANGUAGE
:Description: The programming language of the sourcecode.code(Optional)
to be tested.Default Value: "java"Supportedvalues:Values: "java", "go", "python", "csharp", "node.js".Defaultvalue:Optional/Required:"java".Optional - AI_TYPE
:TheDescription: Specifies the AI modelbeingusedtoforgenerategenerating tests.(Optional)Default Value: "openai"Supportedvalues:Values: "openai", "vertexai", "open_source_ai", "azure_open_ai", "sagemaker_model", "claude_ai",and"dbrx".Defaultvalue:Optional/Required:"openai".Optional - PACKAGES_TO_SCAN
:TheDescription: Specifies the packages to bescanned,scannedsupportsfor test generation. Supports single package orcommacomma-separated values.Supported Values: Comma-separated list of package names (e.g.,Required for JAVA ex."com.example.productproduct" or "com.example.product, com.example.controllercontroller").)Optional/Required: Required for Java - ITERATION
:Description: Theiterationnumbernumberof iterations toimproverun andrunimprove thetest.tests.(Optional)Defaultvalue:Value: "1".Supported Values: Any positive integer.Optional/Required: Optional - TRIGGER_ID
:The ID of the trigger.Description: Uniqueididentifier for triggers. Used toidentifydistinguish between multiple triggers.DefaultisValue:epoch.Epoch(Optional)timestampSupported Values: Any unique string or timestamp.Optional/Required: Optional - TIMEOUT
:Description: Thetimeout duration,duration afterthis thewhich test generation will automatically stop.(Optional)Defaultvalue:Value: "1 hour"Supported Values: Any valid duration string (e.g., "30 minutes", "2 hours").Optional/Required: Optional - CREATE_API_SPEC
:ForDescription:functionalIndicatestests,whetherwill alsoto create an APIspecspecificationfile.file for functional tests.Optional/Required: Optional - ROOST_USER_INPUT
:ThisDescription:userUserInputinputwillto be usedtoforgenerategenerating tests.Supported Values: Any valid input string.Optional/Required: Optional - TEST_TYPE
:Description: The type of test to generate.(Optional)Default Value: "unit"Supportedvalues:Values: "unit", "functional", "api-spec-test", "integration".Defaultvalue:Optional/Required:"unit".Optional - RETRIGGER
:Description: Indicates whether to re-trigger existing testgenerated thatgeneration from where it was left.(Optional)Default Value: "false"Supportedvalues:Values: "true", "false".Defaultvalue:Optional/Required:"false".Optional TRIGGER_ID:UniqueBOARD_TYPEIDDescription:toSpecifiesidentify triggers, default is epoch.BOARD_TYPE: Thethe type of board to beused.used(Optional)
for tracking.Default Value: "jira"Supportedvalues:Values: "jira", "azure", "none".Defaultvalue:Optional/Required:"jira".
Optional- MAX_DEPTH
:Description: Maximum depth of directories tolooksearch for testfiles,files.ifIf set to -11, it will traverse all subdirectories.(Optional)Supported Values: Any non-negative integer or -1.Optional/Required: Optional - TEST_FRAMEWORK
:SupportsDescription:[pytest,Specifiesunittest]thefortestingPython,framework[gotest]toforbeGolang,used[JUnit4,basedJUnit5]onfortheJava,programming[nunit]languageforandCsharp,test[jest,type.mocha]SupportedforValues:For Python: "pytest", "unittest"For Golang: "gotest"For Java: "JUnit4", "JUnit5"For Csharp: "nunit"For Node.js,js:[postman,"jest",artillery,"mocha"rest-assured,Forkarate]APIforspec[test_type: api-spec-test]tests or[test_type:integrationintegration].tests:(Optional)"postman", "artillery", "rest-assured", "karate"Optional/Required: Optional - FUNCTIONS_TO_TEST
:listDescription: List of function names to be tested,separated by comma. Name to bespecified as module.[class.]methodORor module.function.(Optional)Supported Values: Comma-separated list of function names.Optional/Required: Optional - USE_ASSISTANT
:UseDescription: Indicates whether to use the Assistant feature inOpenai.OpenAI.(Optional)Supported Values: "true", "false"Optional/Required: Optional - VERIFY_TEST
:VerifyDescription: Indicates whether to verify if the generated tests are running correctly.(Optional)Supported Values: "true", "false"Optional/Required: Optional - VULNERABILITY_GEN
:WhetherDescription: Specifies whether to generate a vulnerability reportofbased on theteststests.orSupportednot.Values:(Optional)"true", "false"Optional/Required: Optional
# Improve Test env vars
- GIT_PR_URL
:GitDescription:PRThe URL of the Git pull request associated with the generated test.(Optional).Supported Values: Any valid URL for a Git pull request.Optional/Required: Optional - IMPROVE_TEST
:ThisDescription:isIndicatesused when we wantwhether to improve the generated test.(Optional)When
set to "true," it triggers the process for enhancing the test based on provided user content and the file path.Default Value: "false"Supportedvalues:Values: "true","false"Default value:"false".Optional/Required: Optional - FILE_PATH
:locationDescription: Location of the file containing the test if the IMPROVE_TEST variable is set to "true." This file will be used as a basis for improving the generated test.(Supported Values: Any valid file path.Optional/Required: Required ifIMPROVE_TEST
=is set to "true.)" - USER_CONTENT
:Description: ContentProvidedprovided by the user to be used for improving the generated test.(This content will be incorporated into the improvement process.Supported Values: Any valid text or data provided by the user.Optional/Required: Required ifIMPROVE_TEST
=is set to "true.)" - TESTSCRIPT_ENDPOINT
:Description: The endpoint to be improved(when the TEST_TYPE is set to "postman." This specifies which API endpoint the Postman test script will target.Supported Values: Any valid API endpoint URL.Optional/Required: Required if TEST_TYPE=is set to "postman")postman."
#
ImproveLanguageTestversion env vars- JAVA_VERSION
:UsedDescription:forSpecifies the version of Java to be used when the TEST_FRAMEWORK is "JUnit4,JUnit4", "JUnit5", "karate", or "rest-assured".Default Value: "17"Supported Values: Any valid Java version (e.g., "8", "11", "17").Optional/Required: Optional - MAVEN_VERSION
:UsedDescription: Specifies the version of Maven to be used for Java projects when the TEST_FRAMEWORK is "JUnit4,JUnit4", "JUnit5", "karate", or "rest-assured".Supported Values: Any valid Maven version (e.g., "3.6.3", "3.8.4").Optional/Required: Optional - GRADLE_VERSION
:UsedDescription: Specifies the version of Gradle to be used for Java projects when the TEST_FRAMEWORK is "JUnit4,JUnit4", "JUnit5", "karate", or "rest-assured".Supported Values: Any valid Gradle version (e.g., "6.8.3", "7.4").Optional/Required: Optional - GO_VERSION
:UsedDescription:forSpecifies the version of Go to be used when the TEST_FRAMEWORK is "gotest".Supported Values: Any valid Go version (e.g., "1.16", "1.18").Optional/Required: Optional - PYTHON_VERSION
:UsedDescription:forSpecifies the version of Python to be used when the TEST_FRAMEWORK is "pytest",or "unittest".Supported Values: Any valid Python version (e.g., "3.8", "3.9").Optional/Required: Optional - DOTNET_VERSION
:UsedDescription:forSpecifies the version of .NET to be used when the TEST_FRAMEWORK is "nunit".Supported Values: Any valid .NET version (e.g., ".NET Core 3.1", ".NET 5").Optional/Required: Optional - NODE_VERSION
:UsedDescription:forSpecifies the version of Node.js to be used when the TEST_FRAMEWORK is "artillery", "postman", "rest-assured", "karate", "jest", or "mocha".Supported Values: Any valid Node.js version (e.g., "14.x", "16.x").Optional/Required: Optional