RoostGPT
Login at https://app.roost.ai to access GPT feature.
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).
-
roostgpt analysis
: Analyze the existing tests and scenarios and generate a report.--config,-c <path>
: Path to the configuration file if provided, Default value is pwd/default.env.--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
USE_ASSISTANT= # Optional; Use Assistant feature in openai. Default:false
# 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
# Advanced Jira/Azure board env vars
CREATE_API_SPEC= # Optional; Used for TEST_TYPE=functional
# Log env vars
LOG_SOURCE= # Optional; Default is elks
LOG_SOURCE_PATH= # Optional; the log file path
LOG_FILE_ENCODING= # Optional; Default is utf-8, supports [utf-8, utf-16le]
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
API_SPEC_ALIAS=
# Cypress test env vars
SCREENSHOTS_SOURCE= # Optional; Used for cypress test. Supports [file, gitpath, url]
SCREENSHOTS_URL= # Optional; URL of the source file if source is url
SCREENSHOTS_FILE_PATH= # Optional; path of the source file if source is file/gitpath. Relative path in case of gitpath
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
TEST_TYPE= # Optional; Default is unit Supports [unit, functional, artillery, integration, api-spec-test]
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]
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
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_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]
CONSIDER_EXISTING_TEST= # Optional; Default is true, Supports [true, false], used for Java, python, Golang 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
GRADING_NOTES= # Optional; default is true
CUSTOM_TAGS= # Optional; The tags to be attached to test code, so that the test's can run based on tags
ROOST_USER_INPUT= # Optional; The user input will be used to generate tests
# Improve test env vars
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/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"
Note: If a value in your .env file contains the '#' character, enclose the entire value in quotes. This prevents the '#' from being interpreted as the start of a comment.
Example: SECRET_KEY="my#secret#key"
Here's a description of each variable:
# Git env vars
- GIT_TYPE
Description: Specifies the type of Git repository.
Default Value: "github"
Supported Values: "github", "gitlab", "azure", "bitbucket", "local"
Optional/Required: Optional - HOSTED_TYPE
Description: Indicates where the Git platform is accessible.
Default Value: "cloud"
Supported Values: "cloud", "hosted"
Optional/Required: Optional - GIT_HOSTED_URL
Description: The URL of the hosted Git platform.
Optional/Required: Required if HOSTED_TYPE is "hosted" - USE_SSH
Description: Specifies whether to use SSH-based authentication for Git.
Default Value: "false"
Supported Values: "true", "false"
Optional/Required: Optional - LOCAL_PROJECT_PATH
Description: Path to your workspace.
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: Token for authenticating the specific source Git repository.
Optional/Required: Required - SOURCE_OWNER_NAME
Description: Name of the source repository owner (Git username).
Optional/Required: Required - SOURCE_REPO_NAME
Description: Name of the source repository.
Optional/Required: Required - SOURCE_REPO_ID
Description: ID of the source repository.
Optional/Required: Required if GIT_TYPE is "gitlab" - SOURCE_PROJECT_NAME
Description: Name of the source project.
Optional/Required: Required if GIT_TYPE is "azure" - SOURCE_PROJECT_ID
Description: ID of the source project.
Optional/Required: Required if GIT_TYPE is "bitbucket" - SOURCE_BASE_BRANCH
Description: Base branch to be tested in the source repository.
Optional/Required: Required - SOURCE_RELATIVE_DIRECTORY
Description: Relative directory path within the source repository.
Optional/Required: Optional - SAME_TARGET_DETAIL
Description: Indicates if the destination Git details are the same as the source Git details.
Default Value: "true"
Supported Values: "true", "false"
Optional/Required: Optional - DESTINATION_GIT_CLONE_URL
Description: Clone URL for the destination repository.
Optional/Required: Optional - DESTINATION_GIT_TOKEN
Description: Token for authenticating the specific destination Git repository.
Optional/Required: Required if SAME_TARGET_DETAIL is "false" - DESTINATION_OWNER_NAME
Description: Name of the destination repository owner (Git username).
Optional/Required: Required if SAME_TARGET_DETAIL is "false" - DESTINATION_REPO_NAME
Description: Name of the destination repository.
Optional/Required: Required if SAME_TARGET_DETAIL is "false" - DESTINATION_REPO_ID
Description: ID of the destination repository.
Optional/Required: Required if SAME_TARGET_DETAIL is "false" and GIT_TYPE is "gitlab" - DESTINATION_PROJECT_NAME
Description: Name of the destination project.
Optional/Required: Required if SAME_TARGET_DETAIL is "false" and GIT_TYPE is "azure" - DESTINATION_PROJECT_ID
Description: ID of the destination project.
Optional/Required: Required if SAME_TARGET_DETAIL is "false" and GIT_TYPE is "bitbucket" - DESTINATION_BASE_BRANCH
Description: Base branch in which the test code is to be pushed in the destination repository.
Optional/Required: Required if SAME_TARGET_DETAIL is "false"
# Open AI env vars
- OPENAI_API_MODEL
Description: Specifies the type of the OpenAI API model to be used.
Default Value: "gpt-4"
Supported Values: "gpt-4", "gpt-3.5-turbo", etc. (Availability of models depends on the OPENAI_API_KEY).
Optional/Required: Optional
- OPENAI_API_KEY
Description: The API key required for accessing the OpenAI API.
Optional/Required: Required if AI_TYPE is "openai"
# AZURE Open AI env vars
-
AZURE_OPENAI_ENDPOINTDescription: The API endpoint used to access Azure OpenAI services.Optional/Required: Required if AI_TYPE is "azure_open_ai"
-
AZURE_DEPLOYMENT_NAMEDescription: The name of the Azure OpenAI deployment you wish to use.Optional/Required: Required if AI_TYPE is "azure_open_ai"
-
AZURE_OPENAI_KEYDescription: The API key required for authenticating requests to Azure OpenAI.Optional/Required: Required if AI_TYPE is "azure_open_ai"
-
AZURE_OPENAI_VERSIONDescription: Specifies the version of the Azure OpenAI API to be used.
Default Value: "2024-02-15-preview"Optional/Required: Optional
# Vertex AI env vars
- VERTEX_FINE_TUNE
Description: Indicates whether fine-tuning is enabled for the model.
Default Value: "false"
Supported Values: "true", "false" - VERTEX_PROJECT_ID
Description: The ID of the Vertex project you are working with.
Optional/Required: Required if AI_TYPE is "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_ENDPOINTDescription: The API endpoint used to access the Open Source AI model.Optional/Required: Required if AI_TYPE is "open_source_ai"
-
OPEN_SOURCE_MODELDescription: The name of the Open Source AI model you wish to use.Supported Values: "meta-llama/Llama-2-13b-chat", "HuggingFaceH4/starchat-beta"Optional/Required: Optional
# SageMaker Model env vars
-
SAGEMAKER_MODEL_ENDPOINTDescription: The endpoint where the SageMaker model is hosted.Optional/Required: Required if AI_TYPE is "sagemaker_model"
# Claude AI env vars
-
CLAUDE_AI_MODELDescription: Specifies the type of Claude AI model to be used.Supported Values: "claude-3-opus-20240229", "claude-3-sonnet-20240229", "claude-3-haiku-20240307"Optional/Required: Required if AI_TYPE is "claude_ai"
-
CLAUDE_AI_API_KEYDescription: The API key required for accessing the Claude AI API.Optional/Required: Required if AI_TYPE is "claude_ai"
# DBRX AI env vars
-
DBRX_MODEL_ENDPOINTDescription: The endpoint where the DBRX AI model is hosted.Optional/Required: Optional
-
DBRX_AUTH_TOKENDescription: The authentication token required for accessing the DBRX model.Optional/Required: Required if AI_TYPE is "dbrx"
-
DBRX_MODEL_NAMEDescription: The name of the DBRX model you wish to use.Optional/Required: Required if AI_TYPE is "dbrx"
# Advanced AI env vars
-
AI_TEMPERATUREDescription: Specifies the temperature setting for AI responses, which influences the creativity and variability of the test generation. A higher value results in more creative and varied outputs, while a lower value produces more deterministic responses.Default Value: 0.6Supported Values: Any numeric value, typically between 0.0 and 1.0.Optional/Required: Optional
- USE_ASSISTANT
Description: Indicates whether to use the Assistant feature in OpenAI.Supported Values: "true", "false"Optional/Required: Optional
# Jira board env vars
-
JIRA_EMAILDescription: The email address associated with your Jira account.Optional/Required: Required if TEST_TYPE is "functional" and BOARD_TYPE is "jira"
-
JIRA_HOST_NAMEDescription: The hostname of your Jira instance (e.g., jira.company.com).Optional/Required: Required if TEST_TYPE is "functional" and BOARD_TYPE is "jira"
-
JIRA_PASSWORDDescription: The password for your Jira account.Optional/Required: Required if TEST_TYPE is "functional" and BOARD_TYPE is "jira"
-
JIRA_IDDescription: The Jira ID associated with your account, often used as a unique identifier.Optional/Required: Required if TEST_TYPE is "functional" and BOARD_TYPE is "jira"
# Azure board env vars
-
AZURE_ORGDescription: The organization associated with your Azure DevOps account.Optional/Required: Required if TEST_TYPE is "functional" and BOARD_TYPE is "azure"
-
AZURE_TOKENDescription: The access token for authenticating with Azure DevOps.Optional/Required: Required if TEST_TYPE is "functional" and BOARD_TYPE is "azure"
-
AZURE_PROJECTDescription: The name of the Azure DevOps project.Optional/Required: Required if TEST_TYPE is "functional" and BOARD_TYPE is "azure"
-
AZURE_WORK_ITEM_IDDescription: The ID associated with the relevant work item in Azure DevOps.
# Advanced Jira/Azure board env vars
-
CREATE_API_SPECDescription: Used for functional test typeOptional/Required: Required if TEST_TYPE=functional
# Log env vars
-
LOG_SOURCEDescription: Origin from where the logs are generated.Default Value: "elks"Optional/Required: Optional
-
LOG_SOURCE_PATHDescription: Location where the log files are stored.Optional/Required: Optional
-
LOG_ELASTICSEARCH_URLDescription: The URL for the Elasticsearch instance.Optional/Required: Optional
-
LOG_ELASTICSEARCH_USERDescription: Username for accessing Elasticsearch resources.Optional/Required: Optional
-
LOG_ELASTICSEARCH_TOKENDescription: Authentication token used for accessing Elasticsearch resources.Optional/Required: Optional
-
LOG_ELASTICSEARCH_API_KEYDescription: API key used to authenticate and authorize access to Elasticsearch APIs.Optional/Required: Optional
-
LOG_FILE_ENCODINGDescription: Used to encode the log file, default is utf-8, supports [utf-8, utf-16le].Optional/Required: Optional
# Behavioural Test cases env vars
-
BEHAVIORAL_TEST_TYPEDescription: Specifies the type of behavioral tests to be used.Supported Values: "gherkin"Optional/Required: Optional
-
BEHAVIORAL_TEST_SOURCEDescription: Specifies the source location for the behavioral test data.Supported Values: "file", "gitpath", "url"Optional/Required: Optional
-
BEHAVIORAL_TEST_FILE_PATHDescription: Path to the source file if the BEHAVIORAL_TEST_SOURCE is "file" or "gitpath". For "gitpath", this should be a relative path within the repository.Optional/Required: Optional
-
BEHAVIORAL_TEST_URLDescription: The URL of the source file if the BEHAVIORAL_TEST_SOURCE is "url".Optional/Required: Optional
# API Spec env vars
-
API_SPEC_TYPEDescription: Specifies the type of API specification to be used.Supported Values: "Swagger", "Postman"Optional/Required: Optional
-
API_SPEC_SOURCEDescription: Specifies the source location for the API specification data.Supported Values: "file", "gitpath", "url"Optional/Required: Optional
-
API_SPEC_FILE_PATHDescription: Path to the source file if API_SPEC_SOURCE is "file" or "gitpath". For "gitpath", this should be a relative path within the repository.Optional/Required: Optional
-
API_SPEC_URLDescription: The URL of the source file if API_SPEC_SOURCE is "url".Optional/Required: Optional
-
API_SPEC_ALIAS:Optional/Required: Optional
# Cypress test env vars
-
SCREENSHOTS_SOURCEDescription: Source for ScreenShot for which to generate test.Supported Values:File, Gitpath, URLOptional/Required: Required
-
SCREENSHOTS_URLDescription: URL of the screenshot.Optional/Required: Optional
-
SCREENSHOTS_FILE_PATHDescription: Specifies the path of screenshot.Optional/Required: Optional
# Application test env variables
-
APPLICATION_ENTRYPOINTDescription: Specifies the relative path of the application's entry point from the project root. This is used when application test generation is required in addition to unit tests.Supported Values: Any valid relative path to the entry point file or directory within the project. Only supported for GPT-4-turbo models.Optional/Required: Optional
# API test env vars
-
HTTP_VERBS_FOR_TESTINGDescription: Specifies the HTTP methods to be tested for all APIs. This allows you to filter which HTTP verbs (methods) should be included in the tests.Default Value: "get,post,put,patch,delete"Supported Values: Any combination of HTTP verbs, separated by commas (e.g., "get,post,put,patch,delete").Optional/Required: Optional
-
REGEX_HTTP_ENDPOINTS_FOR_TESTINGDescription: A regular expression string used to match specific endpoints that need to be tested. If this variable is left empty, all endpoints will be included in the testing.Supported Values: Any valid regex pattern to filter endpoints.Optional/Required: Optional
# License env vars
-
ROOST_DOMAINDescription: Specifies the Roost domain to be used. This defines the base URL for RoostGPT services.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
-
TELEMETRYDescription: Determines whether telemetry data is sent to Roost. Telemetry data helps improve the service but does not include private information.Default Value: "true"Supported Values: "true", "false"Optional/Required: Optional
# Additional vars
-
TEST_NAMEDescription: The name assigned to the test.Default Value: "roost-test"Supported Values: Any valid string.Optional/Required: Optional
-
ROOST_DIRDescription: The directory path where RoostGPT files and configurations are stored.Default Value: "/var/tmp/Roost/RoostGPT"Supported Values: Any valid directory path.Optional/Required: Optional
-
LANGUAGEDescription: The programming language of the source code to be tested.Default Value: "java"Supported Values: "java", "go", "python", "csharp", "node.js"Optional/Required: Optional
-
AI_TYPEDescription: Specifies the AI model used for generating tests.Default Value: "openai"Supported Values: "openai", "vertexai", "open_source_ai", "azure_open_ai", "sagemaker_model", "claude_ai", "dbrx"Optional/Required: Optional
-
JAVA_BUILD_TOOLDescription: Specifies the java build tool for which to generate test.Default Value: "maven"Supported Values: "maven", "gradle".Optional/Required: Optional
-
PACKAGES_TO_SCANDescription: Specifies the packages to be scanned for test generation. Supports single package or comma-separated values.Supported Values: Comma-separated list of package names (e.g., "com.example.product" or "com.example.product, com.example.controller").Optional/Required: Required for Java
-
ITERATIONDescription: The number of iterations to run and improve the tests.Default Value: "1"Supported Values: Any positive integer.Optional/Required: Optional
- TIMEOUT
Description: The duration after which test generation will automatically stop.Default Value: "1 hour"Supported Values: Any valid duration string (e.g., "30 minutes", "2 hours").Optional/Required: Optional
- TEST_TYPE
Description: The type of test to generate.Default Value: "unit"Supported Values: "unit", "functional", "api-spec-test", "integration"Optional/Required: Optional
- TEST_FRAMEWORK
Description: Specifies the testing framework to be used based on the programming language and test type.Supported Values:For Python: "pytest", "unittest"For Golang: "gotest"For Java: "JUnit4", "JUnit5"For Csharp: "nunit"For Node.js: "jest", "mocha"For API spec tests or integration tests: "postman", "artillery", "rest-assured", "karate"Optional/Required: Optional
-
TRIGGER_IDDescription: Unique identifier for triggers. Used to distinguish between multiple triggers.Default Value: Epoch timestampSupported Values: Any unique string or timestamp.Optional/Required: Optional
- BOARD_TYPE
Description: Specifies the type of board to be used for tracking.Default Value: "jira"Supported Values: "jira", "azure", "none"Optional/Required: Optional
-
MAX_DEPTHDescription: Maximum depth of directories to search for test files. If set to -1, it will traverse all subdirectories.Supported Values: Any non-negative integer or -1.Optional/Required: Optional
-
FUNCTIONS_TO_TESTDescription: List of function names to be tested, specified as module.[class.]method or module.function.Supported Values: Comma-separated list of function names.Optional/Required: Optional
-
USE_CACHEDescription: Use local cache to generate test.(Only for Developers)Default Value: "false"Supported Values: "true","false".Optional/Required: Optional
-
VERIFY_TESTDescription: Indicates whether to verify if the generated tests are running correctly.Supported Values: "true", "false"Optional/Required: Optional
-
VULNERABILITY_GENDescription: Specifies whether to generate a vulnerability report based on the tests.Supported Values: "true", "false"Optional/Required: Optional
-
CONSIDER_EXISTING_TESTDescription: Used for Java, python, Golang 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 generatesadditional test cases as needed.Default Value: "true"Supported Values: "true", "false"Optional/Required: Optional
-
GRADING_NOTESDescription:Grading notes are audit criteria used to evaluate and improve AI generated response for better accuracy and effectiveness.Default Value: "true"Supported Values: "true", "false"Optional/Required: Optional
-
CUSTOM_TAGSDescription:The tags to be attached to test code, so that the test's can run based on tagsOptional/Required: Optional
- ROOST_USER_INPUT
Description: User input to be used for generating tests.Supported Values: Any valid input string.Optional/Required: Optional
# Improve Test env vars
- FILE_PATH
Description: 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 if IMPROVE_TEST is set to "true."
-
USER_CONTENTDescription: Content provided 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 if IMPROVE_TEST is set to "true."
-
TESTSCRIPT_ENDPOINTDescription: 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."
# Language version env vars
-
JAVA_VERSIONDescription: Specifies the version of Java to be used when the TEST_FRAMEWORK is "JUnit4", "JUnit5", "karate", or "rest-assured".Default Value: "17"Optional/Required: Optional
- MAVEN_VERSION
Description: Specifies the version of Maven to be used for Java projects when the TEST_FRAMEWORK is "JUnit4", "JUnit5", "karate", or "rest-assured".
Default Value: "3.8.6"Optional/Required: Optional - GRADLE_VERSION
Description: Specifies the version of Gradle to be used for Java projects when the TEST_FRAMEWORK is "JUnit4", "JUnit5", "karate", or "rest-assured".
Default Value: "8.6"Optional/Required: Optional -
GO_VERSIONDescription: Specifies the version of Go to be used when the TEST_FRAMEWORK is "gotest".
Default Value: "1.19.9"
Supported ValuesOptional/Required: Optional - PYTHON_VERSION
Description: Specifies the version of Python to be used when the TEST_FRAMEWORK is "pytest" or "unittest".
Default Value: "3"Optional/Required: Optional -
DOTNET_VERSIONDescription: Specifies the version of .NET to be used when the TEST_FRAMEWORK is "nunit".
Default Value: "8"
Supported ValuesOptional/Required: Optional -
NODE_VERSIONDescription: Specifies the version of Node.js to be used when the TEST_FRAMEWORK is "artillery", "postman", "rest-assured", "karate", "jest", or "mocha".
Default Value: "18.18.0"Optional/Required: Optional
VS Code Extension
The Roost GPT VS code extension allows you to generate tests for your code using RoostGPT with just a click, straight from your VS Code workspace.
Download:
https://marketplace.visualstudio.com/items?itemName=RoostGPT.roostgpt
Installation:
To use the RoostGPT VS Code extension, you must have VS Code ready and installed in your system, as well as any dependencies that are required to run your code, as RoostGPT will often run its generated test code to improve it.
You can download and install VS Code for your Operating system here.
After VS Code is Successfully installed in your system, you can go ahead and download the Roost GPT VS Code extension from the VS Code marketplace, just simply search for Roost GPT in the extension store. Alternatively, you can download and install the VS code extension from here.
Once the extension is installed, you are ready to generate tests for your code.
Configuration:
Once the extension has been successfully installed in your system, you can then proceed with configuring the extension to start generating tests. This involves providing information that is required for test generation.
To configure the extension to use it, simply open the extension settings for Roost GPT, you can search for it in the extension store, or you can find it in the list of your installed extensions.
You can then set up the required values according to your workspace and needs. Following are the required fields which will be required for you to set no matter what:
Required Fields
-
Roost Token: you can get your roost token from my profile page in app.roost.ai. If you don't have a Roost token, you can sign up for a free trial and try out RoostGPT for free, using your organization email from here.
-
Roost Domain: Enter the Domain in which the provided roost token is active, the default value is app.roost.ai.
-
Timeout: Set the timeout for test generation (in hours), default value is 1.
-
Language: Select the language your workspace/source code is written in, currently supports Java, Python, Go, NodeJS, and C#.
-
Board Type: Select the type of scrum/kanban board, Required for functional tests. set as none other test types, supports none, jira and Azure boards. default value is none.
-
Iterations: Set the number of iterations for test generation, If you provide an iteration value greater than 0 then it will run the generated test cases and pass the error that occurred(if any) to the ai model then update the test case inside the same file and run again till the number of times of iteration and stop if it ran successfully in between. The default value is 2.
-
Telemetry: Set as False if you do not want to send telemetry data to roost. The default value is true.
-
Generative AI model: Select which model to use for test code generation, which supports OpenAI, Google Vertex, Azure Open AI, Claude AI, and Hosted Open source Models (LLAMA2 and starchat).
- ProvideInput: Set as true if you want to provide your own input before test generation, you will be prompted for input before the test generation begins. The default value is false.
- MaxDepth: This is used to specify how deep into the workspace the extension will traverse to scan for files to generate tests for. default value is traverse to all subdirectories.
- EnvFile: This can be used to provide the path to an env file, which will provide RoostGPT with env file with user environment variables which will be taken into account in the test generation progress. You can keep this field empty.
-
AI model Details:
- If the Generative AI model is Open AI:
- OpenAI API Key: Provide your OpenAI API key if you plan on using an OpenAI as the generative AI model to generate your test cases.
- OpenAI API model: Provide the AI model the provided API key has access to, supports gpt-4, gpt-3.5-turbo, and gpt-3.5-turbo-16k.
- OpenAI API Key: Provide your OpenAI API key if you plan on using an OpenAI as the generative AI model to generate your test cases.
- If the Generative AI model is Google Vertex:
- Vertex Bearer Token: Provide your vertex Bearer Token if you plan to use Google Vertex as the generative AI model to generate your test cases.
- Vertex Project ID: Provide the ID of your Google vertex project.
- Vertex Region: Enter the region where your vertex region is present
- Vertex Model: Select the Vertex model to be used for code generation; supports text-bison, code-bison, and codechat-bison Default value is text-bison.
- Vertex Bearer Token: Provide your vertex Bearer Token if you plan to use Google Vertex as the generative AI model to generate your test cases.
- If Generative AI model is Claude AI:
- AI model: Select the AI model to be used from the dropdown menu.
- API Key: Provide your Claude AI API key.
- If the Generative AI model is Azure Open AI:
- API Key: Provide the API Key for your Azure Open AI model.
- API Endpoint: Provide the API Endpoint where your Azure Open AI model is hosted.
- Deployment Name: Enter the Deployment Name for your Azure Open AI API model.
- If the Generative AI model is Open Source:
- Open Source Model Endpoint: provide the endpoint for the open source model if you plan on using one of the roost provided open source models, you need to provide it in the format 'http://MODEL_IP:5000/generate' where MODEL_IP is the IP address for the instance where you have the model's container running.
- Open Source AI model: Select the AI model to be used for test generation, supports meta-llama/Llama-2-13b-chat, and HuggingFaceH4/starchat-beta. The default value is meta-llama/Llama-2-13b-chat.
- Open Source Model Endpoint: provide the endpoint for the open source model if you plan on using one of the roost provided open source models, you need to provide it in the format 'http://MODEL_IP:5000/generate' where MODEL_IP is the IP address for the instance where you have the model's container running.
- If the Generative AI model is Open AI:
Test Generation:
Once your extension configuration is complete, you can then start using the VS Code extension to generate tests for your workspace. To generate tests, simply right-click on a file in your Explorer menu and select the type of test you want to generate from the context menu that shows up. Note that each test type has some requirements to start test generation.
The test types currently supported are as follows:
- Unit Tests.
- API Tests.
- Functional Tests.
- Integration.
Test Requirements
Following are the Required Fields, and other instructions for test generation according to each supported test type:
-
Unit Tests: To generate Unit tests, just simply select the directory your file is present in, right-click on a file and select unit test generation, and then select the test framework you want to use from the popup. It will generate unit tests for all the files present in that file's parent directory. No extra fields other than the above-mentioned required fields are needed for unit test generation. Make sure that the language set in the extension settings matches the language your source code is in.
-
If you want the tests to be generated for only a few specified functions and not for the entire codebase, then provide the function names for which you want the tests to be generated in the FunctionsToTest input box in the advanced section of the extension settings in a comma separated fashion (e.g. Func1, Func2,...). This will ensure that tests are generated only for the specified functions.
-
For Java unit tests, please make sure to trigger the test execution from a valid module that contains a valid pom.xml, or generate tests for the entire project if pom.xml is present in the workspace folder.
- For React Unit tests, you need to use GPT-4 turbo model and set use assistant as true in the advanced section of the vs-code extension settings.
-
-
API Tests: To generate API tests, you need to right-click on Postman collection json or swagger API spec file and then select the Generate API tests. If you choose any file other than your API spec file, the test generation will fail. Then you need to select the test framework to be used for test generation (artillery, postman, or rest-assured) from the provided popup. No extra fields other than the above-mentioned required fields are needed for API Tests. For API tests, you can also filter out which HTTP verbs(such as post, get, etc.) will be tested by changing the HttpFilters setting from the advanced section. Please note that if you select postman as the test framework you will need newman cli installed in your system in order to run generated tests from the RoostGPT extension, you can install newman cli by using the command: npm install -g newman.
-
If you want to generate API tests for some specific HTTP verbs (get, post, put, patch, delete, etc.) then you can select which specific verbs need to be tested in the advanced section of the extension settings under the HTTP filters attribute.
-
If you want to generate API tests for some specific API endpoints matching a given regex pattern, you can set the regex pattern in the advanced tab of the extension settings under the HTTP endpoints for testing attribute.
- For karate and rest-assured tests, make sure that the Test generation is triggered from within a valid java/maven repo, i.e. put the api spec file in the java repo and put start the test generation from there.
-
-
Integration Tests: When generating Integration tests, you need to right-click on your Postman collection json or swagger API spec file and then select the Integration Tests option. If you choose any file other than your API spec file, the test generation will fail, after selecting the option, then need to select the test framework to be used for test generation (artillery, postman, or rest-assured), then you need to select the type of your gherkin template you can either select file and browse to your gherkin template file or you can choose URL and provide the URL to your Gherkin template. No extra fields other than the above-mentioned required fields are needed for Integration Tests. Please note that if you select Postman as the test framework you will need newman cli installed in your system to run generated tests from the RoostGPT extension, you can install newman cli by using the command: npm install -g newman. For karate and rest-assured tests, make sure that the Test generation is triggered from within a valid java/maven repo, i.e. put the api spec file in the java repo and put start the test generation from there.
- Functional tests: To generate functional tests, you need to select your board type to be either JIRA or Azure and Then the Below details are also required:
- If the Board Type is Jira:
- Jira Email.
- Jira Token.
- Jira Hostname.
- If the Board Type is Azure:
- Azure Org.
- Azure Token.
- Azure Project.
- If the Board Type is Jira:
Improve and Analyze Generated Tests
After the test generation process is complete, a side panel will open, showing you all the generated test files, you can select the file you want to view by using the dropdown provided, if you want you can also edit the files in the panel itself and save your changes using the provided save button.
If you want to run the generated tests, you can do so from the provided run button in the side panel, doing so will run the selected test file. NOTE that you will need to have all the dependencies required for running the tests installed in your local system for test generation to take place. and for artillery tests, after you click the run button, you will be prompted to enter the target URL for the tests, if you want to provide a target URL, please provide so in the input box, and then you will be asked if you want to upload a .env file to provide environment variables, if yes then you can upload the env file for the same.
If you are not satisfied with the generated tests and want some improvements or changes in the test, then at the bottom of the side panel, you will find a feedback prompt, enter the feedback prompt that you want to give to the AI model and then click the improve button, this will trigger the test improvement.
Public SaaS
RoostGPT UI :
Access Public SaaS at https://app.roost.ai/login
Roost GPT allows the user to automate their test against their code repository.
Below is the UI structure of RoostGPT which has two header tabs Test and Events.
-
The "Events Tab" shows the individual test generation trigger details and is explained in detail later.
- The table under "Test Tab" shows details such as
- Test Name,
- Created By,
- GenAI Model used for test generation ,
- Test Type weather it is Unit Test, Functional Test, API(using swagger) and API(using source code)
- Test create date.
- Actions are available in "Test Tab"
- to trigger the test generation,
- to view the test configuration or workflow and
- to delete the test
- Search box on the page allows to search tests by name
- Project Admins can view and edit anyone's tests workflows
- Regular project members can view only their test workflows
View of the Test Tab
Add Test
In case of Add Test it opens up the below page, which has 5 sections ->
- Provide a Test Name
- Select the Test Type (Unit Tests , Functional and Non Functional Tests, (API using swagger), API(using source code) and integration tests.
- Choose GenAI Models which has OpenAI Model and VertexAI Model and field to input their respective tokens. After the token verification, model specific details will be available for selection, such as
- Select SCCS (Source Code Repositories) from available
- Github (Cloud and self hosted) ,
- Gitlab,(cloud and self managed),
- Azure Devops and
- Bitbucket(cloud and self hosted).
- After the SCCS token verification, you can provide the code repo, branch, language and their versions.
- Languages supported are Java, Python, C#, Go
- Optional Integration with ticketing tools like Jira and Azure DevOps is available.
- Jira requires email address associated with jira account, jira hostname and the access token for your jira account.
- Azure Devops requires the Organization Name associated with Azure Devops account, access token for authenticating with Azure Devops and the Project Name for Azure Devops.
5. In Advance Timeout (in hrs) can be specified, for which the time the test will be on triggered mode
On click of save Button you can save your test and see the test you saved in the test header section. On click of download icon configuration for the test will be downloaded.
Workflow View
This will show you the workflow of your test, details you filled while adding your test.
Events View
Events view contains status of all the triggered test. Event Status filter shows the status of these events weather it is in Progress, timed out, aborted, completed or failed and the fields in the table show the test name with the status of the events and the status icons also the information of the repo, type of test, creation and completion time, user Information and action icons for re-triggering the test again, logs view and the insights
Logs View
Logs View contains the Event Information, AI Model Information and the Test Result Information having PR URL of your generated test on the left side and the Logs View container on the right side which has search Bar for searching in the logs and copy icon and download icons to copy and download logs respectively.
Insights View
Insights view gives you the details about your test, here it will show your test files, their completion and creation time and corresponding action icons for Analyze and improve for further analysis and improvement of your tests and download , for downloading the test file.
on the Click of eye icon in Actions, it will show you the test Files and Corresponding Actions. In the Actions, on click of Analyze and Improve it will open the modal which will show you the test and ask for the feedback for improvement of the test.
On click of download icon, it will download the test file generated.
Self Hosted Solution
For a self-hosted cloud offering, please reach out to us at support@roost.ai. We'd be delighted to assist you with your specific requirements.
RoostGPT Permissions
This document outlines the permissions and licenses related to the use of third-party components within RoostGPT.
Introduction
RoostGPT integrates with various third-party components to enhance its functionality and provide a comprehensive user experience. We value transparency and wish to provide clarity on the permissions required to ensure seamless integration with these external components.
Third-Party Components and Permissions
1. Component Name: Git
- Description: Git is a distributed version control system.
- Supported Types: Github, Gitlab, Bitbucket, Azure DevOps (Both Cloud and Self Hosted)
- Purpose in Our Software: RoostGPT uses Git for reading the source code and create automated test for it and create the PR in the same repo for the tests.
- Required Permissions:
- User Read.
- Repo Read.
- Repo Write.
- Create Commit.
- Create PR.
2. Component Name: Jira/Azure Board
- Description: It's used by development teams to track bugs, enhancements, tasks, and other kinds of issues throughout the software development lifecycle.
- Purpose in Our Software: RoostGPT fetch tickets based on commits message and use that as a acceptance criteria for the automated test generation.
- Required Permissions:
- API Access
- Tickets Read.
- Comments Write
3. Component Name: Log Server
- Description: A log server is a centralised system designed to collect, store, and manage logs from various sources, including applications, systems, devices, and network infrastructure. By consolidating log data in one place, log servers facilitate easier monitoring, analysis, and troubleshooting.
- Supported Types: LogStash, Log File
- Purpose in Our Software: RoostGPT fetch logs from the log server based on the input request to enhance the test generated by using the real life data.
- Required Permissions:
- API Access
- Logs Read.
4. Component Name: AI Model
- Description: An AI Model is an advanced computational model trained on vast amounts of text data to understand and generate human-like language. Leveraging deep learning techniques, LLMs can comprehend context, answer questions, and assist in various language-related tasks, showcasing the pinnacle of natural language processing capabilities.
- Supported Types: OpenAI, Vertex AI, Azure OpenAI, LLAMA2, Starchat and other open source models.
- Purpose in Our Software: RoostGPT uses AI model to generate automated test case for the source code.
- Required Permissions:
- API Access.
Supported Features
Feature comparison across product offerings:
RoostGPT UI, VSCode extension, and CLI(while using the --docker flag) allow you to choose the deployment version of your Language/Tools. Below is the list of currently supported versions for different Tools/Languages.
Supported Language Versions:
Java:
- Java SE 17(default): Use key 17 in CLI config,
- Java SE 21, Use value 21 in CLI config,
- Java SE 20, Use value 20 in CLI config,
- Java SE 19", Use value 19 in CLI config,
- Java SE 18, Use value 18 in CLI config,
- Java SE 16, Use value 16 in CLI config,
- Java SE 15, Use value 15 in CLI config,
- Java SE 14, Use value 14 in CLI config,
- Java SE 13, Use value 13 in CLI config,
- Java SE 12, Use value 12 in CLI config,
- Java SE 11, Use value 11 in CLI config,
- Java SE 10, Use value 10 in CLI config,
- Java SE 9, Use value 9 in CLI config,
- Java SE 8, Use value 8 in CLI config,
- Java SE 7, Use value 7 in CLI config
Go:
- go 1.21.5 (Default), Use value 1.21.5 in CLI config,
- go 1.22.4, Use value 1.22.4 in CLI config,
- go 1.21.11, Use value 1.21.11 in CLI config,
- go 1.21.4, Use value 1.21.4 in CLI config,
- go 1.21.3, Use value 1.21.3 in CLI config,
- go 1.21.2, Use value 1.21.2 in CLI config,
- go 1.21.1, Use value 1.21.1 in CLI config,
- go 1.21.0, Use value 1.21.0 in CLI config,
- go 1.20.12, Use value 1.20.12 in CLI config,
- go 1.20.11, Use value 1.20.11 in CLI config,
- go 1.20.10, Use value 1.20.10 in CLI config,
- go 1.20.9, Use value 1.20.9 in CLI config,
- go 1.20.8, Use value 1.20.8 in CLI config,
- go 1.20.7, Use value 1.20.7 in CLI config,
- go 1.20.6, Use value 1.20.6 in CLI config,
- go 1.20.5, Use value 1.20.5 in CLI config,
- go 1.20.4, Use value 1.20.4 in CLI config,
- go 1.20.3, Use value 1.20.3 in CLI config,
- go 1.20.2, Use value 1.20.2 in CLI config,
- go 1.20.1, Use value 1.20.1 in CLI config,
- go 1.20, Use value 1.20 in CLI config,
- go 1.19.13, Use value 1.19.13 in CLI config,
- go 1.19.12, Use value 1.19.12 in CLI config,
- go 1.19.11, Use value 1.19.11 in CLI config,
- go 1.19.10, Use value 1.19.10 in CLI config,
- go 1.19.9, Use value 1.19.9 in CLI config,
- go 1.19.8, Use value 1.19.8 in CLI config,
- go 1.19.7, Use value 1.19.7 in CLI config,
- go 1.19.6, Use value 1.19.6 in CLI config,
- go 1.19.5, Use value 1.19.5 in CLI config,
- go 1.19.4, Use value 1.19.4 in CLI config,
- go 1.19.3, Use value 1.19.3 in CLI config,
- go 1.19.2, Use value 1.19.2 in CLI config,
- go 1.19.1, Use value 1.19.1 in CLI config,
- go 1.19, Use value 1.19 in CLI config,
- go 1.18.9, Use value 1.18.9 in CLI config,
- go 1.18.8, Use value 1.18.8 in CLI config,
- go 1.18.7, Use value 1.18.7 in CLI config,
- go 1.18.6, Use value 1.18.6 in CLI config,
- go 1.18.5, Use value 1.18.5 in CLI config,
- go 1.18.4, Use value 1.18.4 in CLI config,
- go 1.18.3, Use value 1.18.3 in CLI config,
- go 1.18.2, Use value 1.18.2 in CLI config,
- go 1.18.1, Use value 1.18.1 in CLI config,
- go 1.18, Use value 1.18 in CLI config,
- go 1.17.9, Use value 1.17.9 in CLI config,
- go 1.17.8, Use value 1.17.8 in CLI config,
- go 1.17.7, Use value 1.17.7 in CLI config,
- go 1.17.6, Use value 1.17.6 in CLI config,
- go 1.17.5, Use value 1.17.5 in CLI config,
- go 1.17.4, Use value 1.17.4 in CLI config,
- go 1.17.3, Use value 1.17.3 in CLI config,
- go 1.17.2, Use value 1.17.2 in CLI config,
- go 1.17.1, Use value 1.17.1 in CLI config,
- go 1.17, Use value 1.17 in CLI config
Python:
- Python 3 Latest (Default), Use value latest in CLI config,
- Python 3.12, Use value 3.12 in CLI config,
- Python 3.11, Use value 3.11 in CLI config,
- Python 3.10, Use value 3.10 in CLI config,
- Python 3.9, Use value 3.9 in CLI config,
- Python 3.8, Use value 3.8 in CLI config,
- Python 3.7, Use value 3.7 in CLI config,
- Python 3.6, Use value 3.6 in CLI config,
- Python 2, Use value 2 in CLI config
Csharp:
- C# 12 .NET 8 (Default), Use value 8 in CLI config,
- C# 10 .NET 6, Use value 6 in CLI config
NodeJS:
- v22.3.0 (Default), Use value 22.3.0 in CLI config,
- v20.15.0, Use value 20.15.0 in CLI config,
- v20.6.1, Use value 20.6.1 in CLI config,
- v19.9.0, Use value 19.9.0 in CLI config,
- v18.17.1, Use value 18.17.1 in CLI config,
- v17.19.1, Use value 17.19.1 in CLI config,
- v16.20.2, Use value 16.20.2 in CLI config,
- v15.14.0, Use value 15.14.0 in CLI config,
- v14.21.3, Use value 14.21.3 in CLI config
ReactJS:
- v18.2.0 (Default), Use value 18.2.0 in CLI config,
- v18.1.0, Use value 18.1.0 in CLI config,
- v18.0.0, Use value 18.0.0 in CLI config,
- v17.0.2, Use value 17.0.2 in CLI config,
- v17.0.1, Use value 17.0.1 in CLI config,
- v17.0.0, Use value 17.0.0 in CLI config,
- v16.14.0, Use value 16.14.0 in CLI config
Cpp:
- C++23 (Default), Use value 23 in CLI config,
- C++20, Use value 20 in CLI config,
- C++17, Use value 17 in CLI config
Maven:
- Maven 3.8.6 (Default), Use value 3.8.6 in CLI config,
- Maven 3.8.2, Use value 3.8.2 in CLI config,
- Maven 3.8.1, Use value 3.8.1 in CLI config,
- Maven 3.8.0, Use value 3.8.0 in CLI config,
- Maven 3.6.9, Use value 3.6.9 in CLI config,
- Maven 3.6.8, Use value 3.6.8 in CLI config,
- Maven 3.6.7, Use value 3.6.7 in CLI config ,
- Maven 3.6.6, Use value 3.6.6 in CLI config,
- Maven 3.6.5, Use value 3.6.5 in CLI config,
- Maven 3.6.4, Use value 3.6.4 in CLI config,
- Maven 3.6.3, Use value 3.6.3 in CLI config,
- Maven 3.6.2, Use value 3.6.2 in CLI config,
- Maven 3.6.1, Use value 3.6.1 in CLI config,
- Maven 3.6.0, Use value 3.6.0 in CLI config
Gradle:
- Gradle 8.6 (Default), Use value 8.6 in CLI config,
- Gradle 8.8, Use value 8.8 in CLI config,
- Gradle 8.7, Use value 8.7 in CLI config,
- Gradle 7.6.4, Use value 7.6.4 in CLI config,
- Gradle 8.5, Use value 8.5 in CLI config,
- Gradle 8.4, Use value 8.4 in CLI config,
- Gradle 7.6.3, Use value 7.6.3 in CLI config,
- Gradle 8.3, Use value 8.3 in CLI config,
- Gradle 8.2.1, Use value 8.2.1 in CLI config