RoostGPT CLI
Instructions for creating .env file
GIT_TYPE="github"
GIT_TOKEN="ghp_************************************"
OWNER_NAME="git_username"
REPO_NAME="repo_name"
REPO_ID="repo_id"
PROJECT_NAME=""
PROJECT_ID=""
USER_IP=""
BASE_BRANCH="master"
RELATIVE_DIRECTORY="relative_directory_name"
# GPT env vars
OPENAI_API_MODEL="gpt-4"
OPENAI_API_KEY="sk-******************************************"
# Vertex env vars
VERTEX_PROJECT_ID="vertex-project"
VERTEX_REGION="us-central1"
VERTEX_BEARER_TOKEN="ya29.**************************************************************************************"
VERTEX_MODEL="text-bison"
VERTEX_FINE_TUNE="false"
# Jira board env vars
JIRA_EMAIL="jira_email"
JIRA_HOST_NAME="_____.atlassian.net"
JIRA_PASSWORD=""
# Azure board env vars
AZURE_ORG="azure_org"
AZURE_TOKEN="zvp******************************************"
AZURE_PROJECT="azure+project_name"
# Logstash env vars
LOG_STASH_TYPE="api"
LOG_STASH_DATA_PATH=""
LOG_STASH_URL="https://**************"
LOG_STASH_USE_API_KEY="true"
LOG_STASH_API_KEY="SElx*************************************************"
LOG_STASH_USER_NAME="elastic"
LOG_STASH_TOKEN="lC_*****************"
# Swagger env vars
SWAGGER_DATA="https://****************************"
# Additional vars
TEST_NAME="dummy-test"
ROOST_DIR="/var/tmp/Roost/RoostGPT"
LANGUAGE="JAVA"
AI_MODEL="vertex"
PACKAGES_TO_SCAN=""
ITERATION="2"
TRIGGER_ID="1234567"
TIMEOUT="60"30"
GITOPS="true"
TEST_TYPE="unit"
RETRIGGER="false"
BOARD_TYPE="jira"
Here's a description of each variable:
GIT_TYPE
: Specifies the type of Gitrepository,repository.
supportedSupported values: "github", "gitlab", "azure", "bitbucket_cloud", "bitbucket_server".GIT_TOKEN
: A token for authenticating the specific Git repository.OWNER_NAME
: The name of the repository owner (Git username).REPO_NAME
: The name of the repository.REPO_ID
: The ID of the repository.PROJECT_NAME
: The name of the project.PROJECT_ID
: The ID of the project .USER_IP
: User IP required for "bitbucket_server".BASE_BRANCH
: The base branch of the repository (set to "master").RELATIVE_DIRECTORY
: The relative directory path within the repository.
# GPT env vars
OPENAI_API_MODEL
: Specifies the type of the OpenAI API model.supportedSupported values: "gpt4"gpt-4", "gpt-3.5-turbo" etc. ( This models availability depends on theOPENAI_API_KEY
).
Default value: "gpt-4".OPENAI_API_KEY
: The API key for accessing the OpenAI API.
# Vertex env vars
VERTEX_PROJECT_ID
: The ID of the Vertex project.VERTEX_REGION
: The region where the Vertex project is located (example "us-central1").VERTEX_BEARER_TOKEN
: The bearer token for accessing the Vertex API.VERTEX_MODEL
: The name of the Vertex model touseuse.(set
Supportedtovalues: "text-bison"), "code-bison".VERTEX_FINE_TUNE
: Indicates whether fine-tuning is enabled for themodelmodel.
Supported(setvalues:to"true", "false").
Default value: "false".
# Jira board env vars
JIRA_EMAIL
: The email address associated with your Jira account.JIRA_HOST_NAME
: The hostname of your Jira instance.JIRA_PASSWORD
: The password for your Jira account.
# Azure board env vars
AZURE_ORG
: The organization associated with your Azure Devops account.AZURE_TOKEN
: The access token for authenticating with Azure Devops.AZURE_PROJECT
: The name of the Azure Devops project.
# Logstash env vars
LOG_STASH_TYPE
: Specifies the type of Logstashintegrationintegration.
Supported(set tovalues: "api"), "file".
Default value: "api".LOG_STASH_DATA
: It is required if LOG_STASH_TYPE="file".LOG_STASH_URL
: The URL for the Logstash endpoint.LOG_STASH_USE_API_KEY
: Indicates whether Logstash uses an API key forauthenticationauthentication.(set
Supportedtovalues: "true"), "false".- Default value: "false".
LOG_STASH_API_KEY
: The API key for authenticating with Logstash.
It is required if LOG_STASH_USE_API_KEY="true"LOG_STASH_USER_NAME
: The username for authenticating with Logstash.LOG_STASH_TOKEN
: The token for authenticating with Logstash.
# Swagger env vars
SWAGGER_DATA
: The URL for the Swaggerfile.file or the Swagger JSON file path.
# Additional vars
TEST_NAME
: The name of thetesttest.
Default(set tovalue: "dummy-roost-test").ROOST_DIR
: The directory path for Roost.
Defaultvalue isvalue: "/var/tmp/Roost/RoostGPT".LANGUAGE
: The programming languageusedof(setthetosource"JAVA"),code.
Supportedsupportsvalues: "java", "go"&, "python", "csharp".
Default value: "java".AI_MODEL
: The AI model being used(settotogenerate tests.
Supported values: "gpt", "vertex"),.
Defaultsupportsvalue:gpt and vertex."gpt".PACKAGES_TO_SCAN
: The packages to bescanned.scanned, supports single package or comma separated values.
( Required for JAVA ex. com.example.product or com.example.product,com.example.controller )ITERATION
: The iteration number(setto2)improve and run the test.
Default value: "2".TRIGGER_ID
: The ID of the trigger. Unique id to identify multiple triggersTIMEOUT
: The timeoutduration.duration, after this the test generation will automatically stop.
Default value: "30" (setto3060minutesmin)).GITOPS
: Indicates whetherGitOpstoiscreateenabledPR(setfortothe generated tests or not.
Supported values: "true"), "false".
Default value: "true".TEST_TYPE
: The type of test(settotogenerate.
Supported values: "unit"),supports "unit" and"functional", "artillery", "swagger".
Default value: "functional".RETRIGGER
: Indicates whetherretriggeringtoisre-triggerenabledexisting(settesttogenerated that from where it left.
Supported values: "true", "false").
Default value: "false".BOARD_TYPE
: The type of boardbeingtousedbe(exampleused.
Supported values: "jira"),supports"azure".
Default value: "jira"and "azure".
CLI Commands
./roostGPT-macos
(for mac) & ./roostGPT-win.exe
(for windows)
This command is used to run the RoostGPT CLI on your operating system.
-
-h, --help
: Displays the help message that provides information about the available options and usage. -
--trigger
: Triggers the test creation process. -
--config <path>
: Specifies the location of the environment configuration file. The configuration file contains environment variables used by the RoostGPT application. -
--create-config
: Creates a sample configuration file in the current directory. This helps users set up the required environment variables for the RoostGPT application. -
--output <path>, -o <path>
: Specifies the path where the configuration file should be created. The configuration file contains environment variables used by the RoostGPT application.
Note: You can either use the --config
option or the --create-config
option to configure the environment variables. The --config
option takes precedence over the --create-config
option if both are provided.