Details about env variables
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
#Bedrock AI env vars
- AWS_BEDROCK_MODEL
Description: Indicates which bedrock model should be used.
Optional/Required: Required if AI_TYPE is "bedrock_ai" - AWS_DEFAULT_REGION
Description: The AWS region of the model hosted
Optional/Required: Required if AI_TYPE is "bedrock_ai"
- AWS_ACCESS_KEY_ID
Description: AWS Access Key ID Credentials
Optional/Required: Optional. Can be exported in the environment where Roost Binary will be running
- AWS_SECRET_ACCESS_KEY
Description: AWS Secret Access Key ID Credentials
Optional/Required: Optional. Can be exported in the environment where Roost Binary will be running - AWS_SESSION_TOKEN
Description: AWS Session Token Credentials
Optional/Required: Optional. Can be exported in the environment where Roost Binary will be running
# 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
# 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
#UI Test env vars
- BROWSER_USE_HEADLESS
Description: To Open the Browser in headless mode when running UI test
Supported Values: "true","false"
Optional/Required: Optional - URLS_TO_TEST
Description: The URL for which RoostGPT need to generate playwright test
Supported Values: Any valid website url
Optional/Required: Required
# User can provide additional env var starting with "UI_" prefix like UI_LOGIN_TYPE,UI_LOGIN_EMAIL etc.
# 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