RoostGPT
RoostGPT דורש את הדברים הבאים כדי לפעול בהצלחה
- רישיון בצורת טוקן או קובץ מ - Roost
- טוקן ו/או מפתח מספק Gen-AI תלוי בספק
- טוקן עבור ממשק של GitHub (עם הרשאות קריאה וכתיבה)
גישה אופציונלית:
טוקן ממשק של Jira (עם הרשאות קריאה וכתיבה)
שרת דוא"ל, משתמש וסיסמה (תלוי בתהליך שארגון רוצה להטמיע)
טוקן Slack או טימס
- השוואת תכונות של פלטפורמת RoostGPT
- RoostGPT בניהול עצמי (Self hosted) - OnPrem
- RoostGPT מאוחסן בעצמו - פריסה ב-AWS באמצעות Terraform
- 1. תחילת העבודה
- 2. הגדרת ספק OAuth
- 3. הגדרת מסד נתונים
- 4. משתני טראפורמה
- 5. שדרוג/תחזוקה של משטח הבקרה של RoostGPT
- RoostGPT ממשק שורת פקודה (CLI) של
- פלאג אין עבור VSCode
- RoostGPT Infrastructure
השוואת תכונות של פלטפורמת RoostGPT
תכונות נתמכות באפשרויות פריסה שונות
| קטגוריית תכונה | ממשק אינטרנט (UI) | ממשק שורת פקודה (CLI) | תוסף IDE |
|---|---|---|---|
| שילוב סביבת עבודה | לא זמין | ✅ תמיכה בטריגר של סביבת עבודה מקומית | ✅ תמיכה בטריגר של סביבת עבודה מקומית |
| שילוב בקרת גרסאות | ✅ תמיכה מלאה בפעילות Git דרך ממשק אינטרנט | ✅ תמיכה מלאה בפעילות Git באמצעות פקודות CLI | ❌ מוגבל לפעולות בסביבת עבודה מקומית |
| התראות | ✅ התראות בזמן אמת עם סיום יצירת הבדיקה | ❌ אין מערכת התראות | ❌ אין מערכת התראות |
| ניהול רישיונות | ✅ אימות רישיון משולב בממשק המשתמש | ✅ אימות קבצי רישיון או מבוסס API | ✅ אימות קבצי רישיון או מבוסס API |
| ניטור אירועים | ✅ תמיכה ב-Webhook עבור אירועי Git (יצירת PR, דחיפה וכו') | ❌ אין ניטור אירועי Git | ❌ אין ניטור אירועי Git |
| ניהול משתמשים | ✅ בקרת גישה מבוססת תפקידים עם תצוגות מנהל ומשתמש נפרדות | ⚠️ על בסיס משתמש אינדיבידואלי במערכת מקומית | ⚠️ על בסיס משתמש אינדיבידואלי במערכת מקומית |
| אנליטיקה ודיווח | ✅ לוח מחוונים מקיף עם דוחות ומדדים מפורטים ליצירת בדיקות | ❌ אין פונקציונליות של לוח המחוונים | ⚠️ ממשק משתמש בסיסי המציג רק בדיקות שנוספו |
| סביבת ביצוע בדיקות | ✅ מכולות Docker מבודדות לביצוע בדיקות מאובטח ואימות קומפילציה | ⚠️ מצב מקומי: ניהול תלויות ידני מצב Docker: דורש זמן ריצה של Docker |
⚠️ נדרש ניהול תלות ידני |
| קלות שימוש | ✅ טפסי אינטרנט אינטואיטיביים עם יצירת בדיקות בלחיצה אחת | ⚠️ הגדרת קובץ env או הורדת env מממשק המשתמש של האינטרנט עבור טריגר ממשק שורת פקודה (CLI) | ✅ שילוב תפריט הקשר עם תמיכה בעדשות קוד |
| כלי השוואת בדיקות | ✅ תצוגת השוואה מובנית עבור תרחישי בדיקה מרובים | ❌ אין פונקציונליות השוואה | ❌ אין פונקציונליות השוואה |
| שרת API | ✅ שרת API ייעודי לגישה תכנותית | ❌ אין שרת API | ❌ אין שרת API |
| היסטוריה ומסלול ביקורת | ✅ היסטוריית אירועים מקיפה ורישום ביקורת | ⚠️ היסטוריה מבוססת ממשק שורת פקודה (CLI) עבור סשן המשתמש הנוכחי | ❌ אין ניהול היסטוריה |
| שיתוף צוות | ✅ שיתוף אישורים מרכזי באמצעות מחברים והפצה של תצורות בדיקה כלל-צוותיות | ❌ אין יכולות שיתוף | ❌ אין יכולות שיתוף |
|
מסד נתונים הַתמָדָה |
✅ תצורות בדיקה ומחברים מאוחסנים במסד נתונים מרכזי | ⚠️ אין שמירה על הגדרות. התצורה נשמרת באופן מקומי במערכת. | ⚠️ אין שמירה על הגדרות. התצורה נשמרת באופן מקומי במערכת. |
|
מערכת עצמאית |
❌ לא ניתן לפרוס את ממשק המשתמש כעצמאי ויש לאחסן אותו בשרת | ✅ ניתן לפרוס ממשק שורת פקודה (CLI) כעצמאי ללא שרת API או שרת מתארח | ✅ ניתן לפרוס את התוסף כעצמאי ללא שרת API או שרת מתארח |
|
פְּרִיסָה |
בענן ובמקום העבודה | בלינוקס, חלונות, מק OS | מהתקנת VSCode Marketplace והדיסק של IntelliJ |
אַגָדָה
- ✅ תמיכה מלאה: התכונה מיושמת במלואה וזמינה
- ⚠️ תמיכה חלקית: התכונה זמינה עם מגבלות או נדרשת הגדרה ידנית
- ❌ לא זמין: התכונה אינה נתמכת באפשרות פריסה זו
אפשרויות פריסה
ממשק אינטרנט (UI)
הכי טוב עבור: צוותים הדורשים ניהול פרויקטים מקיף, ניתוח מפורט וניהול מרכזי.
ממשק שורת פקודה (CLI)
הכי טוב בשביל: מפתחים המעדיפים זרימות עבודה מבוססות טרמינל ואינטגרציה אוטומטית של צינורות CI/CD.
תוסף IDE
מתאים ביותר ל: מפתחים פרטיים המחפשים אינטגרציה חלקה בסביבת הפיתוח שלהם.
ממשק תכנות יישומים (API)
הכי טוב בשביל: שילוב אוטומטי של צינורות CI/CD (ממשקי API מוגבלים חשופים לגישה לשרת ה-API המתארח של RoostGPT).
RoostGPT בניהול עצמי (Self hosted) - OnPrem
התקנת RoostGPT על שרת אובונטו
דרישות שרת אובונטו
- שרת אובונטו 22.04 ומעלה
- מעבד מינימלי - 8 ליבות
- זיכרון RAM מינימלי - 16 ג'יגה-בייט
- דיסק רוט מינימלי - 50 ג'יגה-בייט
- דיסק נוסף - 250 ג'יגה-בייט (עבור נקודת הרכבה /var/tmp/Roost)
למשתמשי אובונטו רצוי שיהיה להם גישת sudo ללא סיסמה
Roost הורד את כלי הפריסה של
העתק והפעל את קטע ה-bash שלהלן. הכלי יבקש את הפרטים הדרושים ויפעיל את מחסנית RoostGPT.
curl -sLO https://github.com/roost-io/roost-support/releases/latest/download/roost-deployment-tool
chmod +x roost-deployment-tool
SSL תצורת רשת ותעודות
תעודות SSL לדומיין הארגוני
העתיקו תעודות SSL לשרת אובונטו ורשום לעצמך את המפתח ואת מיקום קובץ האישור.
זה חייב להיות מוזכר בקובץ config.json
תצורת רשת
אפשר תעבורה נכנסת לפורטים הבאים
| פּרוֹטוֹקוֹל | נָמָל | IP מקור |
| TCP (HTTPS) | 443 | כל כתובות ה-IP ברשת החברה |
| SSH | 22 | לשימוש צוות תמיכת ה-IT בלבד |
| TCP | 60001 - 62120 |
RoostGPT הפעלת סטאק
בצע את הפקודה למטה כדי לעדכן את הסטאק
./roost-deployment-tool create-stack
כדי לרענן/לשדרג את גרסת Roost סטאק
./roost-deployment-tool refresh-stack
RoostGPT מאוחסן בעצמו - פריסה ב-AWS באמצעות Terraform
כדי לארח את ערימת RoostGPT באופן עצמאי, אנו זקוקים למשאבי התשתית הבאים.
- מסד נתונים MySQL או Postgres
- תעודות SSL ודומיין DNS
- מזהה לקוח, סוד ותצורת DNS הקשורים ליישום oAuth עבור הפניה מחדש
- זיהוי טווח IP CIDR ואזור זמינות של מרכז נתונים בענן לצורך הגדרת משאבי מחשוב ענן ורשת
המשאבים הבאים יוקצו באמצעות סקריפט Terraform
- VPC ותת-רשתות ציבוריות ופרטיות מתאימות ושער NAT
- מופעי Ubuntu Compute (EC2) ואמצעי אחסון נלווים
- מאזן עומסים של יישומים וקבוצות יעד
1. תחילת העבודה
Roost מספקת סקריפטים של Terraform כדי להפעיל ולקבוע את התצורה של פלטפורמת RoostGPT בקלות. להלן השלבים לפריסת Roost ב-AWS באמצעות Terraform.
ארכיטקטורה ברמה גבוהה
סקריפטים של Roost Terraform יוצרים את הרכיבים הבאים בענן AWS
דיאגרמה אינטראקטיבית בכתובת https://docs.roost.ai/arch
דרישות קדם
- חשבון משתמש עם הרשאות מנהל / מדיניות מופעלות להפעלת סקריפטים של terraform
- אֵזוֹר
- מזהה_אזור_מארח_מסלול53
- ec2_ami (עבור אובונטו ג'אמי 22.04)
- dns_ארגוני
- ip_block_vpc (VPC CIDR שבו יוקם Roost)
- okta_client_id או ספק אימות מתאים (אנא עיינו בסעיף הבא)
- שם החברה
הורד את הסקריפטים של Terraform
curl -LO https://github.com/roost-io/roost-support/raw/refs/heads/master/terraform-ec2.zip
2. הגדרת ספק OAuth
Roost תומך במנגנוני אימות שונים כפי שצוין להלן
- אוקטה
- גוגל
- מיקרוסופט ת'ור ADFS
הגדרת לקוח אימות OKTA
- היכנס לחשבון OKTA שלך עם הרשאות מנהל ( אם אין לך חשבון Okta קיים, הירשם בדף הבית | מפתח Okta )
- מתפריט הניווט השמאלי, עבור אל יישומים -> יישומים.
- בחר צור אינטגרציית אפליקציה ← OIDC - OpenID Connect ← יישום אינטרנט, לאחר מכן לחץ על הבא
- מלאו את שם האינטגרציה המתאים לאפליקציה, העלו את הלוגו.
- הוסף כתובות URI להפניה מחדש של כניסה
- https://<שם_DNS>/התחברות
- אפשר גישה למשתמשים דרך משימות → גישה מבוקרת
- בחר את קבוצות המשתמשים או אפשר גישה לכולם
- שמור ורשום לעצמך את מזהה הלקוח של Okta ואת סוד הלקוח (יש צורך בכך בהמשך בתצורה למטה)
- מתפריט הניווט השמאלי, עבור אל אבטחה -> API
- רשום לעצמך את ה-URI של המנפיק עבור שרת ההרשאות המוגדר כברירת מחדל
- משהו כמו https://{your_domain}.okta.com/oauth2/default
הגדרת לקוח אימות גוגל
-
שילוב כניסה מגוגל באפליקציית האינטרנט שלך | כניסה מגוגל לאתרי אינטרנט | מפתחי גוגל
-
צור אישורים, בחר לקוח OAuth וסוג יישום כאפליקציית אינטרנט
-
הוסף מקור JavaScript מורשה כ
-
https://<שם_DNS>
-
-
הוסף כתובות URI מורשות להפניה מחדש
-
https://<שם_DNS>/התחברות
-
https://<שם_DNS>/api/auth/redirect/google
-
-
הורד את קובץ ה-JSON
-
רשום לעצמך את מזהה הלקוח של גוגל ואת סוד הלקוח (נדרש בהמשך בתצורה למטה)
הגדרת לקוח אימות Azure ADFS
Roost 0Auth2 Setup - Windows Server 2016/2019 - ADFS 4.0
-
פתח את מנהל השרתים מתפריט התחל, בחר כלים > ניהול AD FS
-
ממסך ניהול AD FS , עבור אל AD FS ➜ קבוצות יישומים
-
לחץ על הוסף קבוצת יישומים בחלונית הימנית
-
מלא שם ( Roost ) עבור קבוצת היישומים
-
בחר דפדפן אינטרנט של יישום שרת שניגש ל-API אינטרנטי ולחץ על הבא
-
שימו לב לערך של מזהה הלקוח . זה יהיה הערך של
AZURE_ADFS_CLIENT_IDהמשתנה -
מלאו את כתובת ה-URI להפניה ( https://<DNS_NAME>/login ) ולחצו על הוסף, לאחר מכן על הבא
-
סמן את התיבה צור סוד משותף
-
השתמשו בלחצן העתק ללוח כדי לאחזר את הסוד. זה יהיה הערך של
AZURE_ADFS_CLIENT_SECRETהמשתנה. לחצו על הבא -
הזן את מזהה ה-Web API (זהה ל-RedirectUri - https://<DNS_NAME>/login ) ולחץ על הוסף, לאחר מכן על הבא.
-
במסך מדיניות בקרת גישה , בחר מדיניות, בדרך כלל אפשר לכולם ולחץ על הבא
-
במסך הגדרת הרשאות יישום , בחר את ה- openid של ההיקף ולחץ על הבא
-
סקור את ההגדרות ולחצו על הבא
-
סגור את האשף על ידי לחיצה על סגור . האפליקציה שלנו רשומה כעת ב- ADFS .
-
כעת, עלינו להגדיר את התביעות עבור היישום
-
פתחו את המאפיינים עבור קבוצת היישומים שזה עתה יצרנו.
-
בחר את ערך יישום האינטרנט ( Roost - Web API ) ולחץ על עריכה
-
בכרטיסייה כללי טרנספורמציה של הנפקה , לחץ על לחצן הוסף כלל
-
בחר שלח מאפייני LDAP כתביעות ולחץ על הבא
-
תן שם לכלל ( Roost Claims ) ובחר את Active Directory כמאגר המאפיינים.
-
כעת הגדר את התביעות הבאות ( תכונת LDAP => סוג תביעה יוצאת ):
-
כתובות דוא"ל => כתובת דוא"ל
-
שם פרטי => שם פרטי
-
שם משפחה => שם משפחה
-
שם חשבון SAM => שם חשבון Windows
-
שם משתמש ראשי => UPN
-
לחץ על סיום כדי לשמור את התביעות
-
כעת אתה אמור לראות את הכלל נוסף. לחץ על אישור מספר פעמים כדי לשמור את ההגדרות.
-
כעת ההתקנה הושלמה. קבענו את שלושת הערכים הבאים כמשתני סביבה:
-
AZURE_ADFS_CLIENT_ISSUER- תחום של שרת ADFS ( https://adfs.contoso.com ) -
AZURE_ADFS_CLIENT_ID- מזהה לקוח של יישום שרת -
AZURE_ADFS_CLIENT_SECRET- סוד הלקוח שהעתקנו ללוח
אם אינך רוצה להשתמש בסוד הלקוח, הוסף יישום מקורי והעביר AZURE_ADFS_CLIENT_SECRETאת המשתנה כריק.
3. הגדרת מסד נתונים
Roost מאחסן את סטטוס זרימת העבודה של GPT ומידע רלוונטי אחר במסד הנתונים. Roost תומך ב-MySQL, Postgres ו-Amazon Aurora DB. כל מסד נתונים נדרש כדי ש-RoostGPT יפעל.
להלן השלבים להגדרת RDS ב-AWS
אמזון אורורה (תואם ל-MySQL) או MySQL
-
בחר RDS
-
בחר צור מסד נתונים
-
בחר "יצירה קלה" עבור "Amazon Aurora עם תאימות MYSQL" או "MySQL"
-
שנה את קבוצת האבטחה של RDS כדי לאפשר גישה ליציאת TCP 3306 לקבוצת האבטחה של מופעי מישור הבקרה בלבד.
-
רשום לעצמך את נקודת הקצה, המשתמש והסיסמה של מסד הנתונים של מופע הכותב (יש צורך בכך בהמשך בתצורה שלהלן)
צור משתמש חדש עם הרשאות קריאה וכתיבה והימנע משימוש בהתחברות של מנהל מערכת.
# Sample command to create a user using MySQL CLI
# Provide password on prompt
mysql -h <SQL Host URL> -u <root|master|admin> -p
CREATE USER 'Roost'@'%' identified WITH mysql_native_password by 'Roost#123';
CREATE DATABASE roostio;
GRANT ALL on roostio.* to 'Roost'@'%';
# Execute the Roost Schema file, if available
\. /var/tmp/Roost/db/roost.sql
אמזון אורורה (תואם ל-PostgreSQL) או PostgreSQL
-
בחר RDS
-
בחר צור מסד נתונים
-
בחר "יצירה קלה" עבור "Amazon Aurora עם תאימות PostgreSQL" או "PostgreSQL"
-
שנה את קבוצת האבטחה של RDS כדי לאפשר גישה ליציאת TCP 5432 לקבוצת האבטחה של מופעי מישור הבקרה בלבד.
-
רשום לעצמך את נקודת הקצה, המשתמש והסיסמה של מסד הנתונים של מופע הכותב (יש צורך בכך בהמשך בתצורה שלהלן)
-
צור משתמש חדש עם הרשאות קריאה וכתיבה והימנע משימוש בהתחברות של מנהל מערכת.
psql "host=<PG Host URL> user=<admin> dbname=postgres port=5432 sslmode=require"
CREATE DATABASE roostio; -- creates app database [5]
CREATE USER roost WITH PASSWORD 'Roost#123'; -- creates login role [3]
GRANT ALL PRIVILEGES ON DATABASE roostio TO roost; -- DB-level grant [4]
-- Connect to the new DB (reconnect as admin or roost), then set schema privileges
\c roostio
GRANT USAGE ON SCHEMA public TO roost;
GRANT ALL ON ALL TABLES IN SCHEMA public TO roost;
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO roost;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT ALL ON TABLES TO roost;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT USAGE ON SEQUENCES TO roost;
-- Execute the Roost Schema file, if available
\i /var/tmp/Roost/db/roost.sql
4. משתני טראפורמה
אנא בצעו את השלבים הבאים כדי לשנות קבצי terraform כדי לשלב את
- העתק
terraform.tfvars.originalכterraform.tfvars - מלאו את הפרטים הבאים (ערכי דוגמה כבר סופקו)
enterprise_dns = "subdomain.domain.com"
admin_email = "comma separated list of emails"
enterprise_email_domain = "email-domain.com"
company = ""
license_key = ""
roost_jwt_token = "32-character-secure-long-secret"
roost_version = "v1.1.17"
az1_suffix = "b"
az2_suffix = "c"
certificate_arn = "arn:aws:acm:region:account:certificate/cert-id"
ec2_ami = "ami-023a307f3d27ea427"
region = "region"
ip_block_vpc="172.32.255.192"
route53_hosted_zone_id = ""
key_pair = "roost-ssh"
azure_tenant_id = ""
azure_client_id = ""
azure_client_secret = ""
okta_client_id = "your client id"
okta_client_secret = "your client secret"
okta_issuer = "https://account.okta.com/oauth2/default"
is_own_mysql = false
mysql_db_name = "roostio"
mysql_host = "mysqldb_host_url"
mysql_password = "Roost#123"
mysql_port = 3306
mysql_root_password = "Admin#123"
mysql_username = "Roost"
Terraform הגדרות משתני
|
Field |
Values | Description |
| roost_version | "v1.1.17" | |
| license_key | ||
| prefix | "terraform-gpt" | |
| region | "us-west-1" | |
| az1_suffix | "b" | |
| az2_suffix | "c" | |
| deletion_protection | false | |
| route53_hosted_zone_id | ||
| enterprise_dns | "roostgpt.example.com" | |
| enterprise_ssl_certificate_path | "/var/tmp/Roost/certs/server.cer" | |
| enterprise_ssl_certificate_key_path | "/var/tmp/Roost/certs/server.key" | |
| certificate_arn | "" | |
| ec2_ami | "ami-03df6dea56f8aa618" | |
| key_pair | "roost-gpt-keypair" | |
| generate_key_pair | true | |
| device_name | "sdh" | |
| ip_block_vpc | "172.32.255.192" | |
| instance_type_controlplane | "c5a.2xlarge" | |
| instance_type_jumphost | "t3.micro" | |
| disk_roostgpt | 150 | |
| disk_jumphost | 150 | |
| disk_controlplane | 150 | |
| google_client_id | ||
| google_client_secret | ||
| github_client_id | ||
| github_client_secret | ||
| linkedin_client_id | ||
| linkedin_client_secret | ||
| azure_tenant_id | ||
| azure_client_id | ||
| azure_client_secret | ||
| okta_client_id | "0oa4bweaxcqn2sfTu5d7" | |
| okta_client_secret | "D5oRtWXUWcl9gp1312dVtuSoumU4vrECO4wSsqAO" | |
| okta_issuer | ||
| roost_jwt_token | ||
| company | ||
| company_logo | "https://roost.ai/hubfs/logos/Roost.ai-logo-gold.svg" | |
| enterprise_email_domain | "example.com" | |
| admin_email | "admin@email" | |
| admin_email_pass | "" | |
| senders_email | "sender@email" | |
| is_own_mysql | false | |
| db_type | "mysql" | |
| mysql_host | "mysqldb_host_url" | |
| mysql_password | "Roost#123" | |
| mysql_username | "Roost" | |
| mysql_port | 3306 | |
| mysql_db_name | "roostio" | |
| mysql_root_password | "Admin#123" | |
| senders_email_pass | ||
| email_smtp_host |
5. שדרוג/תחזוקה של משטח הבקרה של RoostGPT
ישנן מספר אפשרויות זמינות לרענון או שדרוג מחסנית RoostGPT. מהנדס התשתית יכול להשתמש בכל אחת מהגישות הללו.
RoostGPT א. שימוש בסקריפט Terraform לשדרוג גרסת
עדכון משתני Terraform ב- "terraform.tfvars" כדי לשקף את גרסת Roost המתאימה
|
שָׂדֶה |
ערכים |
|
גרסת_הרוסט |
1.1.17 גרסה |
הפעל את הפקודות הבאות:
terraform apply
ב. שימוש בסקריפט Terraform לרענון משטח הבקרה (ללא שינוי תצורה)
הפעל את הפקודות הבאות
terraform apply --replace="null_resource.provision-controlplane-system" --replace="null_resource.provision-roostgpt-server" --replace="null_resource.run-controlplane-services"
ג. שימוש ב-SSH לביצוע מופע במישור הבקרה
משטח הבקרה של RoostGPT מריץ סקריפט חיבור של docker וניתן לעדכן את כל ההיצע באמצעות השלבים הבאים.
- התחברות SSH למערכת הבסטיון של התשתית שלך כמשתמש אובונטו
- בצע את הקטע הבא עם גרסת Roost המתאימה (לאחר החלפת גרסה 1.1.17)
ssh cp "ROOST_VER='v1.1.17' /var/tmp/Roost/bin/roost-enterprise.sh -c /var/tmp/Roost/config.json -i roostai"
RoostGPT ממשק שורת פקודה (CLI) של
הפעל את RoostGPT מהמערכת שלך כקובץ בינארי מקומי. קובץ הבינארי של RoostGPT מאפשר גמישות שאין שני לה במהלך יצירת בדיקות, בכך שהוא מאפשר לך להפעיל יצירת בדיקות באופן מקומי וגם דרך git באמצעות קובץ .env אחד פשוט.
קובץ Executable זמין עבור MacOS, Windows ו- Linux.
קובץ בינארי של RoostGPT זמין בכתובת https://github.com/roost-io/roost-support/releases
הורדת הוראות
Windows עבור
הורד את הקובץ roostgpt-win.exe מ- https://github.com/roost-io/roost-support/releases/download/v1.1.17/roostgpt-win.exe
הוסף את הקובץ הבינארי "roostgpt-win.exe" למשתנה הסביבה PATH שלך
עבור אובונטו ו-MacOS
curl https://raw.githubusercontent.com/roost-io/roost-support/master/roostgpt.sh | sudo bash -
פקודות ממשק שורת פקודה (CLI)
roostgpt (עבור מק) ו- ./roostGPT-win.exe (עבור חלונות)
פקודה זו משמשת להפעלת RoostGPT CLI במערכת ההפעלה שלך.
-
-h, --help: מציג את הודעת העזרה המספקת מידע על האפשרויות הזמינות והשימוש בהן. roostgpt version updateעדכון גרסת roostgpt.roostgpt config createיוצר קובץ תצורה של roostgpt. קובץ התצורה מכיל משתני סביבה המשמשים את יישום RoostGPT.
--output-dir, -o <path>יוצר קובץ תצורה בספרייה ספציפית. קובץ התצורה מכיל משתני סביבה המשמשים את יישום RoostGPT. נתיב ברירת המחדל הוא pwd.--name <name>יוצר את קובץ התצורה עם שם ספציפי. שם ברירת המחדל הוא default.env.
-
roostgpt config update: מעדכן את קובץ התצורה של roostgpt.-
--config, -c <path>: מציין את מיקום קובץ תצורת הסביבה. קובץ התצורה מכיל משתני סביבה המשמשים את יישום RoostGPT. -
--name <name>טוען את הפקודה pwd/$name.env. מתעלמים ממנה אם הקובץ --file מסופק.
-
-
roostgpt test create: מפעיל את יצירת הבדיקה.--config,-c <path>נתיב לקובץ התצורה אם סופק. ערך ברירת המחדל הוא pwd/default.env.--docker,-dצור בדיקות בסביבת docker, עיין בתכונות נתמכות כדי לראות אילו גרסאות כלים/שפות נתמכות.--verbose,-vהפעל רישום מפורט (מצב ניפוי שגיאות).-
--interactive, -i: הפעל מצב אינטראקטיבי.
roostgpt test improveשפר את הבדיקה שנבחרה בהתבסס על משוב המשתמשים.--docker,-dשיפור בדיקות בסביבת docker, ראה תכונות נתמכות כדי לראות אילו גרסאות כלים/שפות נתמכות.--verbose,-vהפעל רישום מפורט (מצב ניפוי שגיאות).--interactive, -i: הפעל מצב אינטראקטיבי.
roostgpt test retrigger: הפעל מחדש את הבדיקה שנבחרה מהנקודה בה היא נעצרה במהלך הביצוע האחרון שלה.
--docker,-dהפעלה מחדש של בדיקות בסביבת docker, ראה תכונות נתמכות כדי לראות אילו גרסאות כלים/שפות נתמכות.--verbose,-vהפעל רישום מפורט (מצב ניפוי שגיאות).--interactive, -i: הפעל מצב אינטראקטיבי.
-
תמיכה בבדיקת roostgpt: ערבו את תמיכת RoostGPT לשיפור הבדיקה שנבחרה.
--verbose,-vהפעל רישום מפורט (מצב ניפוי שגיאות).
-
roostgpt test execute : בצע את הבדיקה שנבחרה
--docker,-dהפעלה מחדש של בדיקות בסביבת docker, ראה תכונות נתמכות כדי לראות אילו גרסאות כלים/שפות נתמכות.--verbose,-vהפעל רישום מפורט (מצב ניפוי שגיאות).--interactive, -i: הפעל מצב אינטראקטיבי.
-
roostgpt test view: הצג את כל תוכניות הבדיקה האחרונות והגורמים המפעילים שלהן -
roostgpt analysisניתוח הבדיקות והתרחישים הקיימים ויצירת דוח.--config,-c <path>נתיב לקובץ התצורה אם סופק. ערך ברירת המחדל הוא pwd/default.env.--docker,-dהפעל מחדש בדיקות בסביבת docker, עיין בתכונות נתמכות כדי לראות איזה כלי/שפה.--verbose,-vהפעל רישום מפורט (מצב ניפוי שגיאות).
env. הוראות ליצירת קובץ
דרך קלה להוריד את קובץ ה-.env היא להשתמש ב- https://app.roost.ai/gptCLIForm
קובץ ה-.env צריך להיות באותו נתיב תיקייה כמו קובץ הבינארי RoostGPT.
כך ייראה תוכן קובץ ה-.env שלך:
# GIT env vars
GIT_TYPE=github # Default is github; Supports [github, gitlab, azure, bitbucket, local]
HOSTED_TYPE=cloud # Default is cloud; Supports [cloud, hosted]
GIT_HOSTED_URL= # Required if HOSTED_TYPE=hosted
USE_SSH=false # 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=true # 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
ENABLE_SECRET_SCANNING_BYPASS= # Optional; Default is true; Supports [true, false]
# Open AI env vars
OPENAI_API_MODEL=gpt-4 # Optional; Default is gpt-4
OPENAI_BASE_URL= # Optional; Default is "https://api.openai.com/v1"
OPENAI_API_KEY= # Required if AI_TYPE=openai
# Vertex AI env vars
VERTEX_FINE_TUNE=false # Optional; Default is false, Supports [true, false]
VERTEX_CREDENTIAL_TYPE= # Required if AI_TYPE=vertexai; Supports [file, token]
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 and VERTEX_CREDENTIAL_TYPE=token
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]
VERTEX_SERVICE_ACCOUNT_KEY= # Required if AI_TYPE=vertexai and VERTEX_CREDENTIAL_TYPE=file; path to the service account key file
# 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=2024-02-15-preview # Optional Default is 2024-02-15-preview
AZURE_INFERENCE_AI= # Optional; Default is false; Supports [true, false]
# 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
# AWS Bedrock env vars
AWS_BEDROCK_MODEL= # Required if AI_TYPE=AWS_BEDROCK
AWS_DEFAULT_REGION= # Required if AI_TYPE=AWS_BEDROCK
AWS_ACCESS_KEY_ID= # Optional if AI_TYPE=AWS_BEDROCK
AWS_SECRET_ACCESS_KEY= # Optional if AI_TYPE=AWS_BEDROCK
AWS_SESSION_TOKEN= # Optional if AI_TYPE=AWS_BEDROCK
# Advanced AI env vars
AI_TEMPERATURE=0.2 # Optional; Default value is 0.2
USE_ASSISTANT=false # 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
CREATE_EXCEL= # Optional; Default is false; Supports [true, false]
TICKET_INPUT_TYPE= # Optional; Default is id; Supports [id, file]
TICKET_FILES= # Required if TICKET_INPUT_TYPE is file, List of comma separated files
# Log env vars
LOG_SOURCE=elks # Optional; Default is elks
LOG_SOURCE_PATH= # Optional; the log file path
LOG_FILE_ENCODING= # Optional; the log file encodeing; Default is utf-8
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=
# Proto Spec env cars
PROTO_SPEC_SOURCE= # Optional; Supports [file, gitpath, url, gitrepo]
PROTO_SPEC_FILE_PATH= # Optional; path of the source file if source is file/gitpath. Relative path in case of gitpath
PROTO_SPEC_URL= # Optional; URL of the source file if source is url
PROTO_SPEC_GIT_REPO_URL= # Optional; the proto repo clone URL
PROTO_SPEC_GIT_BRANCH= # Required: branch of git repo of proto file
PROTO_SPEC_REPO_NAME= # Required; Repo name of proto file
PROTO_SPEC_REPO_ID= # Required if GIT_TYPE=gitlab
PROTO_SPEC_PROJECT_NAME= # Required for GIT_TYPE=azure
PROTO_SPEC_PROJECT_ID= # Required for GIT_TYPE=bitbucket
API_TEST_SERVER_CONFIG= # Optional; The api server config
# 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=get,post,put,patch,delete # 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=app.roost.ai # Optional; Default is app.roost.ai
ROOST_TOKEN= # Optional; the Roost token or license filepath, default $HOME/.roost/license.ral
TELEMETRY=true # Optional; Default is true, Supports [true, false], send telemetry data to roost, no private information is shared.
# Additional env vars
TEST_NAME=roost-test # Optional; Default is roost-test
ROOST_DIR=/var/tmp/Roost/RoostGPT # Optional; Default is /var/tmp/Roost/RoostGPT
LANGUAGE=java # Optional; Default is java; Supports [java, go, python, csharp, nodejs, cpp]
AI_TYPE=openai # Optional; Default is openai; Supports [openai, vertexai, azure_open_ai, open_source_ai, sagemaker_model, claude_ai, dbrx, bedrock_ai, deepseek_ai]
JAVA_BUILD_TOOL=maven # 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=1 # Optional; Set VERIFY_TEST=true to enable iteration; Default value of ITERATION is 1
TIMEOUT=1 # Optional; Default is 1 hour
ROOST_USER_INPUT= # Optional; The user input will be used to generate tests.
TEST_TYPE=unit # Optional; Default is unit Supports [unit, functional, artillery, integration, api-spec-test, ui-test, functional-source]
BOARD_TYPE=jira # Optional; Default is jira; Supports [jira, azure, none]
MAX_DEPTH=-1 # 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, karate, playwright] 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
VERIFY_TEST=false # Optional; Default is false, Supports [true, false]
VULNERABILITY_GEN=false # 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=false # Optional; Default is false, 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
CREATE_UNIQUE_BRANCH_FOR_REPORT= # Optional; Default is false; Supports [true, false]
ONE_TEST_FILE_PER_SOURCEFILE= # Optional; valid for LANGUAGE=go , if user want to generate a single test file per source file
GRADING_NOTES=
USER_SCENARIOS=
USE_CACHE=
# UI Test vars
BROWSER_USE_HEADLESS=true # Optional; Default is false; Supports [true, false]
URLS_TO_TEST= # Required if TEST_TYPE="ui-test" and TEST_FRAMEWORK="playwright"
# User can provide additional env var starting with "UI_" prefix
UI_LOGIN_TYPE= # Optional; use only if TEST_TYPE="ui-test" and TEST_FRAMEWORK="playwright"
UI_SITE_USERNAME= # Optional; use only if TEST_TYPE="ui-test" and TEST_FRAMEWORK="playwright"
UI_SITE_PASSWORD= # Optional; use only if TEST_TYPE="ui-test" and TEST_FRAMEWORK="playwright" #
# 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=17 # Optional; Default is 17, Used for TEST_FRAMEWORK "JUnit4, "JUnit5", "karate", "rest-assured"
MAVEN_VERSION=3.8.6 # Optional; Default is 3.8.6, Used for TEST_FRAMEWORK "JUnit4, "JUnit5", "karate", "rest-assured"
GRADLE_VERSION=8.6 # Optional; Default is 8.6, Used for TEST_FRAMEWORK "JUnit4, "JUnit5", "karate", "rest-assured"
GO_VERSION=1.19.9 # Optional; Default is 1.19.9, Used for TEST_FRAMEWORK "gotest"
PYTHON_VERSION=3 # Optional; Default is 3, Used for TEST_FRAMEWORK "pytest", "unittest"
DOTNET_VERSION=8 # Optional; Default is 8, Used for TEST_FRAMEWORK "nunit"
NODE_VERSION=18.18.0 # Optional; Default is 18.18.0, Used for TEST_FRAMEWORK "artillery", "postman", "rest-assured", "karate", "jest", "mocha"
KARATE_VERSION=1.5.1 # Optional; Default is 1.5.1, Used for TEST_FRAMEWORK "karate",
הערה: אם ערך בקובץ ה-.env שלך מכיל את התו '#', הקף את הערך כולו במרכאות. פעולה זו מונעת את פירוש ה-'#' כתחילת הערה.
דוגמה: SECRET_KEY="my#secret#key"
פרטים על משתני env
הנה תיאור של כל משתנה:
# משתני סביבת גיט
- GIT_TYPE
תיאור: מציין את סוג מאגר ה-Git.
ערך ברירת מחדל: "github"
ערכים נתמכים: "github", "gitlab", "azure", "bitbucket", "local"
אופציונלי/נדרש: אופציונלי - HOSTED_TYPE
תיאור: מציין היכן פלטפורמת Git נגישה.
ערך ברירת מחדל: "cloud"
ערכים נתמכים: "cloud", "hosted"
אופציונלי/נדרש: אופציונלי - GIT_HOSTED_URL
תיאור: כתובת ה-URL של פלטפורמת ה-Git המתארחת.
אופציונלי/נדרש: נדרש אם HOSTED_TYPE הוא "hosted" - USE_SSH
תיאור: מציין האם להשתמש באימות מבוסס SSH עבור Git.
ערך ברירת מחדל: "false"
ערכים נתמכים: "true", "false"
אופציונלי/נדרש: אופציונלי - LOCAL_PROJECT_PATH
תיאור: נתיב לסביבת העבודה שלך.
אופציונלי/נדרש: נדרש אם GIT_TYPE הוא "מקומי" - SOURCE_GIT_CLONE_URL
תיאור: כתובת URL לשכפול עבור מאגר המקור.
אופציונלי/נדרש: אופציונלי - SOURCE_GIT_TOKEN
תיאור: אסימון לאימות מאגר Git המקור הספציפי.
אופציונלי/נדרש: נדרש - SOURCE_OWNER_NAME
תיאור: שם בעל מאגר המקור (שם משתמש Git).
אופציונלי/נדרש: נדרש - SOURCE_REPO_NAME
תיאור: שם מאגר המקור.
אופציונלי/נדרש: נדרש - SOURCE_REPO_ID
תיאור: מזהה של מאגר המקור.
אופציונלי/נדרש: נדרש אם GIT_TYPE הוא "gitlab" - SOURCE_PROJECT_NAME
תיאור: שם פרויקט המקור.
אופציונלי/נדרש: נדרש אם GIT_TYPE הוא "azure" - SOURCE_PROJECT_ID
תיאור: מזהה של פרויקט המקור.
אופציונלי/נדרש: נדרש אם GIT_TYPE הוא "bitbucket" - SOURCE_BASE_BRANCH
תיאור: ענף בסיס לבדיקה במאגר המקור.
אופציונלי/נדרש: נדרש - SOURCE_RELATIVE_DIRECTORY
תיאור: נתיב ספרייה יחסית בתוך מאגר המקור.
אופציונלי/נדרש: אופציונלי - SAME_TARGET_DETAIL
תיאור: מציין אם פרטי ה-Git של היעד זהים לפרטי ה-Git של המקור.
ערך ברירת מחדל: "true"
ערכים נתמכים: "true", "false"
אופציונלי/נדרש: אופציונלי - DESTINATION_GIT_CLONE_URL
תיאור: כתובת URL לשכפול עבור מאגר היעד.
אופציונלי/נדרש: אופציונלי - DESTINATION_GIT_TOKEN
תיאור: אסימון לאימות מאגר ה-Git הספציפי שהוא יעד.
אופציונלי/נדרש: נדרש אם SAME_TARGET_DETAIL הוא "false" - DESTINATION_OWNER_NAME
תיאור: שם בעל מאגר היעד (שם משתמש Git).
אופציונלי/נדרש: נדרש אם SAME_TARGET_DETAIL הוא "false" - DESTINATION_REPO_NAME
תיאור: שם מאגר היעד.
אופציונלי/נדרש: נדרש אם SAME_TARGET_DETAIL הוא "false" - DESTINATION_REPO_ID
תיאור: מזהה של מאגר היעד.
אופציונלי/נדרש: נדרש אם SAME_TARGET_DETAIL הוא "false" ו-GIT_TYPE הוא "gitlab" - DESTINATION_PROJECT_NAME
תיאור: שם פרויקט היעד.
אופציונלי/נדרש: נדרש אם SAME_TARGET_DETAIL הוא "false" ו-GIT_TYPE הוא "azure" - DESTINATION_PROJECT_ID
תיאור: מזהה של פרויקט היעד.
אופציונלי/נדרש: נדרש אם SAME_TARGET_DETAIL הוא "false" ו-GIT_TYPE הוא "bitbucket" - DESTINATION_BASE_BRANCH
תיאור: ענף בסיס שבו יש לדחוף את קוד הבדיקה למאגר היעד.
אופציונלי/נדרש: נדרש אם SAME_TARGET_DETAIL הוא "false"
# פתח משתני סביבת בינה מלאכותית
- OPENAI_API_MODEL
תיאור: מציין את סוג מודל ה-API של OpenAI שיש להשתמש בו.
ערך ברירת מחדל: "gpt-4"
ערכים נתמכים: "gpt-4", "gpt-3.5-turbo" וכו'. (זמינות המודלים תלויה ב-OPENAI_API_KEY).
אופציונלי/נדרש: אופציונלי
- OPENAI_API_KEY
תיאור: מפתח ה-API הנדרש לגישה ל-API של OpenAI.
אופציונלי/נדרש: נדרש אם AI_TYPE הוא "openai"
# משתני סביבת בינה מלאכותית פתוחה של AZURE
-
AZURE_OPENAI_ENDPOINTתיאור: נקודת הקצה של ה-API המשמשת לגישה לשירותי Azure OpenAI.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "azure_open_ai"
-
AZURE_DEPLOYMENT_NAMEתיאור: שם פריסת Azure OpenAI שברצונך להשתמש בה.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "azure_open_ai"
-
AZURE_OPENAI_KEYתיאור: מפתח ה-API הנדרש לאימות בקשות ל-Azure OpenAI.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "azure_open_ai"
-
AZURE_OPENAI_VERSIONתיאור: מציין את גרסת ה-API של Azure OpenAI שיש להשתמש בו.
ערך ברירת מחדל: "2024-02-15-preview"אופציונלי/חובה: אופציונלי
#משתני סביבת Bedrock AI
- AWS_BEDROCK_MODEL
תיאור: מציין באיזה מודל סלע יש להשתמש.
אופציונלי/נדרש: נדרש אם AI_TYPE הוא "bedrock_ai" - AWS_DEFAULT_REGION
תיאור: אזור AWS של המודל המתארח.
אופציונלי/נדרש: נדרש אם AI_TYPE הוא "bedrock_ai".
- AWS_ACCESS_KEY_ID
תיאור: אישורי זיהוי מפתח גישה של AWS
אופציונלי/נדרש: אופציונלי. ניתן לייצא לסביבה שבה יפעל Roost Binary
- AWS_SECRET_ACCESS_KEY
תיאור: אישורי זיהוי מפתח גישה סודי של AWS
אופציונלי/נדרש: אופציונלי. ניתן לייצא לסביבה שבה יפעל Roost Binary - AWS_SESSION_TOKEN
תיאור: אישורי אסימון סשן של AWS
אופציונלי/נדרש: אופציונלי. ניתן לייצא לסביבה שבה יפעל Roost Binary
# משתני סביבת בינה מלאכותית של קודקוד
- VERTEX_FINE_TUNE
תיאור: מציין האם כוונון עדין מופעל עבור המודל.
ערך ברירת מחדל: "false"
ערכים נתמכים: "true", "false" - VERTEX_PROJECT_ID
תיאור: מזהה פרויקט ה-Vertex שאיתו אתה עובד.
אופציונלי/נדרש: נדרש אם AI_TYPE הוא "vertexai"
- תיאור VERTEX_REGION
: האזור בו ממוקם פרויקט Vertex. לדוגמה, "us-central1".
אופציונלי/נדרש: נדרש אם AI_TYPE הוא "vertexai" ו-VERTEX_FINE_TUNE הוא "true"
- VERTEX_BEARER_TOKEN
תיאור: אסימון ה-bearer המשמש לאימות בקשות ל-API של Vertex.
אופציונלי/נדרש: נדרש אם AI_TYPE הוא "vertexai".
- תיאור VERTEX_MODEL
: שם מודל הקודקוד שיש להשתמש בו.
ערכים נתמכים: "text-bison", "code-bison"
אופציונלי/נדרש: נדרש אם AI_TYPE הוא "vertexai"
# קוד פתוח של סביבת בינה מלאכותית
-
OPEN_SOURCE_MODEL_ENDPOINTתיאור: נקודת הקצה של ה-API המשמשת לגישה למודל הבינה המלאכותית בקוד פתוח.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "open_source_ai"
-
מודל_מקור_פתוחתיאור: שם מודל הבינה המלאכותית בקוד פתוח שברצונך להשתמש בו.ערכים נתמכים: "meta-llama/Llama-2-13b-chat", "HuggingFaceH4/starchat-beta"אופציונלי/חובה: אופציונלי
# משתני סביבה של מודל SageMaker
-
SAGEMAKER_MODEL_ENDPOINTתיאור: נקודת הקצה שבה מתארח מודל SageMaker.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "sagemaker_model"
# מגוון סביבות של קלוד AI
-
CLAUDE_AI_MODELתיאור: מציין את סוג מודל הבינה המלאכותית של קלוד שיש להשתמש בו.ערכים נתמכים: "claude-3-opus-20240229", "claude-3-sonnet-20240229", "claude-3-haiku-20240307"אופציונלי/נדרש: נדרש אם AI_TYPE הוא "claude_ai"
-
CLAUDE_AI_API_KEYתיאור: מפתח ה-API הנדרש לגישה לממשק ה-API של קלוד AI.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "claude_ai"
# משתני סביבת DBRX AI
-
DBRX_MODEL_ENDPOINTתיאור: נקודת הקצה שבה מתארח מודל הבינה המלאכותית של DBRX.אופציונלי/חובה: אופציונלי
-
אסימון DBRX_AUTH_TOKENתיאור: אסימון האימות הנדרש לגישה למודל DBRX.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "dbrx"
-
DBRX_MODEL_NAMEתיאור: שם מודל ה-DBRX שברצונך להשתמש בו.אופציונלי/נדרש: נדרש אם AI_TYPE הוא "dbrx"
# משתני סביבה מתקדמים של בינה מלאכותית
-
טמפרטורת בינה מלאכותיתתיאור: מציין את הגדרת הטמפרטורה עבור תגובות בינה מלאכותית, אשר משפיעה על היצירתיות והשונות של יצירת הבדיקות. ערך גבוה יותר מביא לתוצאות יצירתיות ומגוונות יותר, בעוד שערך נמוך יותר מייצר תגובות דטרמיניסטיות יותר.ערך ברירת מחדל: 0.6ערכים נתמכים: כל ערך מספרי, בדרך כלל בין 0.0 ל-1.0.אופציונלי/חובה: אופציונלי
- השתמש בעוזר
תיאור: מציין האם להשתמש בתכונת המסייע ב-OpenAI.ערכים נתמכים: "אמת", "שקר"אופציונלי/חובה: אופציונלי
# משתני סביבת לוח Jira
-
JIRA_EMAILתיאור: כתובת הדוא"ל המשויכת לחשבון Jira שלך.אופציונלי/נדרש: נדרש אם TEST_TYPE הוא "functional" ו-BOARD_TYPE הוא "jira"
-
JIRA_HOST_NAMEתיאור: שם המארח של מופע Jira שלך (למשל, jira.company.com).אופציונלי/נדרש: נדרש אם TEST_TYPE הוא "functional" ו-BOARD_TYPE הוא "jira"
-
סיסמת JIRAתיאור: הסיסמה לחשבון Jira שלך.אופציונלי/נדרש: נדרש אם TEST_TYPE הוא "functional" ו-BOARD_TYPE הוא "jira"
-
JIRA_IDתיאור: מזהה Jira המשויך לחשבונך, משמש לעתים קרובות כמזהה ייחודי.אופציונלי/נדרש: נדרש אם TEST_TYPE הוא "functional" ו-BOARD_TYPE הוא "jira"
# משתני סביבת לוח Azure
-
AZURE_ORGתיאור: הארגון המשויך לחשבון Azure DevOps שלך.אופציונלי/נדרש: נדרש אם TEST_TYPE הוא "פונקציונלי" ו-BOARD_TYPE הוא "תכלת"
-
אסימון_AZUREתיאור: אסימון הגישה לאימות עם Azure DevOps.אופציונלי/נדרש: נדרש אם TEST_TYPE הוא "פונקציונלי" ו-BOARD_TYPE הוא "תכלת"
-
פרויקט_AZUREתיאור: שם פרויקט Azure DevOps.אופציונלי/נדרש: נדרש אם TEST_TYPE הוא "פונקציונלי" ו-BOARD_TYPE הוא "תכלת"
-
מזהה_פריט_עבודה_AZUREתיאור: המזהה המשויך לפריט העבודה הרלוונטי ב-Azure DevOps.
# משתני סביבת לוח מתקדמים של Jira/Azure
-
צור_מפרט_APIתיאור: משמש לסוג בדיקה פונקציונליתאופציונלי/נדרש: נדרש אם TEST_TYPE=functional
# משתני סביבה של יומן
-
מקור_לוגתיאור: המקור שממנו נוצרים היומנים.ערך ברירת מחדל: "איילים"אופציונלי/חובה: אופציונלי
-
נתיב_מקור_לוגתיאור: מיקום בו מאוחסנים קבצי היומן.אופציונלי/חובה: אופציונלי
-
LOG_ELASTICSEARCH_URLתיאור: כתובת ה-URL עבור מופע Elasticsearch.אופציונלי/חובה: אופציונלי
-
LOG_ELASTICSEARCH_USERתיאור: שם משתמש לגישה למשאבי Elasticsearch.אופציונלי/חובה: אופציונלי
-
אסימון חיפוש_אלסטי LOG_ELASTICSEARCHתיאור: אסימון אימות המשמש לגישה למשאבי Elasticsearch.אופציונלי/חובה: אופציונלי
-
LOG_ELASTICSEARCH_API_KEYתיאור: מפתח API המשמש לאימות ואישור גישה לממשקי API של Elasticsearch.אופציונלי/חובה: אופציונלי
-
קידוד_קובץ_לוגתיאור: משמש לקידוד קובץ היומן, ברירת המחדל היא utf-8, תומך ב-[utf-8, utf-16le].אופציונלי/חובה: אופציונלי
# מקרי בדיקה התנהגותיים משתני סביבה
-
סוג_מבחן_התנהגותיתיאור: מציין את סוג מבחני ההתנהגות שיש להשתמש בהם.ערכים נתמכים: "מלפפון חמוץ"אופציונלי/חובה: אופציונלי
-
מקור_מבחן_התנהגותיתיאור: מציין את מיקום המקור עבור נתוני בדיקת ההתנהגות.ערכים נתמכים: "קובץ", "gitpath", "כתובת URL"אופציונלי/חובה: אופציונלי
-
נתיב_קובץ_בדיקת_התנהגותתיאור: נתיב לקובץ המקור אם BEHAVIORAL_TEST_SOURCE הוא "file" או "gitpath". עבור "gitpath", זה צריך להיות נתיב יחסי בתוך המאגר.אופציונלי/חובה: אופציונלי
-
כתובת_URL_לבדיקת_התנהגותתיאור: כתובת ה-URL של קובץ המקור אם ה-BEHAVIORAL_TEST_SOURCE הוא "url".אופציונלי/חובה: אופציונלי
# משתני סביבה של מפרט API
-
API_SPEC_TYPEתיאור: מציין את סוג מפרט ה-API שיש להשתמש בו.ערכים נתמכים: "סוואגר", "דוור"אופציונלי/חובה: אופציונלי
-
API_SPEC_SOURCEתיאור: מציין את מיקום המקור עבור נתוני מפרט ה-API.ערכים נתמכים: "קובץ", "gitpath", "כתובת URL"אופציונלי/חובה: אופציונלי
-
API_SPEC_FILE_PATHתיאור: נתיב לקובץ המקור אם API_SPEC_SOURCE הוא "file" או "gitpath". עבור "gitpath", זה צריך להיות נתיב יחסי בתוך המאגר.אופציונלי/חובה: אופציונלי
-
API_SPEC_URLתיאור: כתובת ה-URL של קובץ המקור אם API_SPEC_SOURCE היא "url".אופציונלי/חובה: אופציונלי
-
API_SPEC_ALIAS:אופציונלי/חובה: אופציונלי
# משתני סביבת בדיקת יישומים
-
נקודת כניסה לאפליקציהתיאור: מציין את הנתיב היחסי של נקודת הכניסה של היישום משורש הפרויקט. תיאור זה משמש כאשר נדרשת יצירת בדיקות יישום בנוסף לבדיקות יחידה.ערכים נתמכים: כל נתיב יחסי תקף לקובץ או ספרייה של נקודת הכניסה בתוך הפרויקט. נתמך רק עבור דגמי GPT-4-turbo.אופציונלי/חובה: אופציונלי
# משתני סביבת בדיקת API
-
HTTP_VERBS_FOR_TESTINGתיאור: מציין את שיטות ה-HTTP שיש לבדוק עבור כל ממשקי ה-API. זה מאפשר לך לסנן אילו פעלים (שיטות) של HTTP צריכים להיכלל בבדיקות.ערך ברירת מחדל: "get, post, put, patch, delete"ערכים נתמכים: כל שילוב של פעלים של HTTP, מופרדים באמצעות פסיקים (למשל, "get, post, put, patch, delete").אופציונלי/חובה: אופציונלי
-
REGEX_HTTP_ENDPOINTS_FOR_TESTINGתיאור: מחרוזת ביטוי רגולרי המשמשת להתאמת נקודות קצה ספציפיות שיש לבדוק. אם משתנה זה נותר ריק, כל נקודות הקצה ייכללו בבדיקה.ערכים נתמכים: כל תבנית רגולציה חוקית לסינון נקודות קצה.אופציונלי/חובה: אופציונלי
# משתני סביבת רישיון
-
ROOST_DOMAINתיאור: מציין את דומיין Roost שישמש. תיאור זה מגדיר את כתובת ה-URL הבסיסית עבור שירותי RoostGPT.ערך ברירת מחדל: "app.roost.ai"ערכים נתמכים: כל כתובת URL חוקית של דומיין Roost.אופציונלי/חובה: אופציונלי
-
אסימון_ROOSTתיאור: אסימון האימות הנדרש לגישה ל-RoostGPT CLI. אסימון זה נחוץ לאימות ואישור הבקשות שלך ל-RoostGPT.אופציונלי/נדרש: חובה
-
טלמטריהתיאור: קובע האם נתוני טלמטריה נשלחים ל-Roost. נתוני טלמטריה מסייעים בשיפור השירות אך אינם כוללים מידע פרטי.ערך ברירת מחדל: "אמת"ערכים נתמכים: "אמת", "שקר"אופציונלי/חובה: אופציונלי
# משתנים נוספים
-
שם_מבחןתיאור: השם שהוקצה לבדיקה.ערך ברירת מחדל: "roost-test"ערכים נתמכים: כל מחרוזת חוקית.אופציונלי/חובה: אופציונלי
-
ROOST_DIRתיאור: נתיב הספרייה שבו מאוחסנים קבצי RoostGPT ותצורות.ערך ברירת מחדל: "/var/tmp/Roost/RoostGPT"ערכים נתמכים: כל נתיב ספרייה חוקי.אופציונלי/חובה: אופציונלי
-
שָׂפָהתיאור: שפת התכנות של קוד המקור שיש לבדוק.ערך ברירת מחדל: "ג'אווה"ערכים נתמכים: "java", "go", "python", "csharp", "node.js"אופציונלי/חובה: אופציונלי
-
בינה מלאכותית_סוגתיאור: מציין את מודל הבינה המלאכותית המשמש ליצירת בדיקות.ערך ברירת מחדל: "openai"ערכים נתמכים: "openai", "vertexai", "open_source_ai", "azure_open_ai", "sagemaker_model", "claude_ai", "dbrx"אופציונלי/חובה: אופציונלי
-
כלי_בניית_JAVAתיאור: מציין את כלי הבנייה של ג'אווה שעבורו יש ליצור בדיקה.ערך ברירת מחדל: "maven"ערכים נתמכים: "maven", "gradle".אופציונלי/חובה: אופציונלי
-
חבילות_לסריקהתיאור: מציין את החבילות שיש לסרוק לצורך יצירת בדיקה. תומך בחבילה בודדת או בערכים מופרדים בפסיקים.ערכים נתמכים: רשימה מופרדת בפסיקים של שמות חבילות (לדוגמה, "com.example.product" או "com.example.product, com.example.controller").אופציונלי/נדרש: נדרש עבור Java
-
איטרציהתיאור: מספר האיטרציות להרצת ושיפור הבדיקות.ערך ברירת מחדל: "1"ערכים נתמכים: כל מספר שלם חיובי.אופציונלי/חובה: אופציונלי
- פסק זמן
תיאור: משך הזמן שאחריו יצירת הבדיקה תופסק אוטומטית.ערך ברירת מחדל: "שעה אחת"ערכים נתמכים: כל מחרוזת משך חוקית (לדוגמה, "30 דקות", "שעתיים").אופציונלי/חובה: אופציונלי
- סוג_בדיקה
תיאור: סוג הבדיקה שיש ליצור.ערך ברירת מחדל: "יחידה"ערכים נתמכים: "יחידה", "פונקציונלי", "בדיקת api-spec", "אינטגרציה"אופציונלי/חובה: אופציונלי
- מסגרת_בדיקה
תיאור: מציין את מסגרת הבדיקות שתשמש בה בהתבסס על שפת התכנות וסוג הבדיקה.ערכים נתמכים:עבור פייתון: "pytest", "unittest"עבור גולאנג: "gottest"עבור ג'אווה: "JUnit4", "JUnit5"עבור Csharp: "nunit"עבור Node.js: "jest", "mocha"עבור בדיקות מפרט API או בדיקות אינטגרציה: "דוור", "ארטילריה", "היה בטוח", "קראטה"אופציונלי/חובה: אופציונלי
-
מזהה_טריגרתיאור: מזהה ייחודי עבור טריגרים. משמש להבחנה בין טריגרים מרובים.ערך ברירת מחדל: חותמת זמן של תקופהערכים נתמכים: כל מחרוזת או חותמת זמן ייחודית.אופציונלי/חובה: אופציונלי
- סוג_לוח
תיאור: מציין את סוג הלוח שישמש למעקב.ערך ברירת מחדל: "ג'ירה"ערכים נתמכים: "jira", "azure", "none"אופציונלי/חובה: אופציונלי
-
עומק מקסימליתיאור: עומק מקסימלי של ספריות לחיפוש קבצי בדיקה. אם מוגדר ל-1-, הוא יעבור על כל ספריות המשנה.ערכים נתמכים: כל מספר שלם שאינו שלילי או -1.אופציונלי/חובה: אופציונלי
-
פונקציות לבדיקהתיאור: רשימת שמות פונקציות לבדיקה, שצוינו כ-module.[class.]method או module.function.ערכים נתמכים: רשימה מופרדת בפסיקים של שמות פונקציות.אופציונלי/חובה: אופציונלי
-
השתמש במטמוןתיאור: השתמש במטמון מקומי כדי ליצור בדיקה. (רק למפתחים)ערך ברירת מחדל: "שקר"ערכים נתמכים: "אמת", "שקר".אופציונלי/חובה: אופציונלי
-
אימות_בדיקהתיאור: מציין האם יש לוודא שהבדיקות שנוצרו פועלות כראוי.ערכים נתמכים: "אמת", "שקר"אופציונלי/חובה: אופציונלי
-
פגיעות_GENתיאור: מציין האם ליצור דוח פגיעות בהתבסס על הבדיקות.ערכים נתמכים: "אמת", "שקר"אופציונלי/חובה: אופציונלי
-
שקול/י בדיקה קיימתתיאור: משמש ליצירת בדיקות יחידה ב-Java, Python ו-Golang. הוא סורק את המאגר שלך כדי לזהות בדיקות קיימות עבור הפונקציה שצוינה. אם נמצאות בדיקות, הוא משלב אותן בבחינתו ויוצר.מקרי בדיקה נוספים לפי הצורך.ערך ברירת מחדל: "אמת"ערכים נתמכים: "אמת", "שקר"אופציונלי/חובה: אופציונלי
-
הערות_דירוגתיאור: הערות ציון הן קריטריוני ביקורת המשמשים להערכת ושיפור תגובות שנוצרו על ידי בינה מלאכותית לצורך דיוק ויעילות טובים יותר.ערך ברירת מחדל: "אמת"ערכים נתמכים: "אמת", "שקר"אופציונלי/חובה: אופציונלי
-
תגיות_מותאמות_למשתמשתיאור: התגים שיש לצרף לקוד הבדיקה, כך שהבדיקות יוכלו להריץ אותן על סמך התגים.אופציונלי/חובה: אופציונלי
- ROOST_USER_INPUT
תיאור: קלט משתמש שישמש ליצירת בדיקות.ערכים נתמכים: כל מחרוזת קלט חוקית.אופציונלי/חובה: אופציונלי
#משתני סביבת בדיקת ממשק משתמש
- BROWSER_USE_HEADLESS
תיאור: כדי לפתוח את הדפדפן במצב ללא חיבור headless בעת הפעלת בדיקת ממשק משתמש
ערכים נתמכים: "true","false"
אופציונלי/נדרש: אופציונלי - URLS_TO_TEST
תיאור: כתובת ה-URL שעבורה RoostGPT צריך ליצור בדיקת playbook.
ערכים נתמכים: כל כתובת URL חוקית של אתר אינטרנט.
אופציונלי/נדרש: נדרש.
# המשתמש יכול לספק משתנה env נוסף שמתחיל בקידומת "UI_", כגון UI_LOGIN_TYPE, UI_LOGIN_EMAIL וכו'.
# שיפור משתני סביבת הבדיקה
- נתיב_קובץ
תיאור: מיקום הקובץ המכיל את הבדיקה אם המשתנה IMPROVE_TEST מוגדר כ-"true". קובץ זה ישמש כבסיס לשיפור הבדיקה שנוצרה.ערכים נתמכים: כל נתיב קובץ חוקי.אופציונלי/נדרש: נדרש אם IMPROVE_TEST מוגדר כ-"true".
-
תוכן_משתמשתיאור: תוכן שסופק על ידי המשתמש לשימוש לשיפור הבדיקה שנוצרה. תוכן זה ישולב בתהליך השיפור.ערכים נתמכים: כל טקסט או נתונים תקפים שסופקו על ידי המשתמש.אופציונלי/נדרש: נדרש אם IMPROVE_TEST מוגדר כ-"true".
-
מבחן בדיקה_ENDPOINTתיאור: נקודת הקצה שיש לשפר כאשר TEST_TYPE מוגדר ל-"postman". תיאור זה מציין לאיזו נקודת קצה של ה-API יכוון סקריפט הבדיקה של Postman.ערכים נתמכים: כל כתובת URL חוקית של נקודת קצה של API.אופציונלי/נדרש: נדרש אם TEST_TYPE מוגדר כ-"postman".
# גרסת שפה משתני סביבה
-
גרסת_JAVAתיאור: מציין את גרסת Java שיש להשתמש בה כאשר ה-TEST_FRAMEWORK הוא "JUnit4", "JUnit5", "karate" או "rest-assured".ערך ברירת מחדל: "17"אופציונלי/חובה: אופציונלי
- MAVEN_VERSION
תיאור: מציין את גרסת Maven שתשמש עבור פרויקטים של Java כאשר TEST_FRAMEWORK הוא "JUnit4", "JUnit5", "karate" או "rest-assured".
ערך ברירת מחדל: "3.8.6"אופציונלי/חובה: אופציונלי - GRADLE_VERSION
תיאור: מציין את גרסת Gradle שתשמש עבור פרויקטים של Java כאשר TEST_FRAMEWORK הוא "JUnit4", "JUnit5", "karate" או "rest-assured".
ערך ברירת מחדל: "8.6"אופציונלי/חובה: אופציונלי -
GO_VERSIONאופציונלי/חובה: אופציונלי
- גרסת_פייתון
תיאור: מציין את גרסת Python שתשמש כאשר TEST_FRAMEWORK הוא "pytest" או "unittest".
ערך ברירת מחדל: "3"אופציונלי/חובה: אופציונלי -
DOTNET_VERSIONאופציונלי/חובה: אופציונלי
-
NODE_VERSIONתיאור: מציין את גרסת Node.js שתשמש כאשר ה-TEST_FRAMEWORK הוא "artillery", "postman", "rest-assured", "karate", "jest" או "mocha".
ערך ברירת מחדל: "18.18.0"אופציונלי/חובה: אופציונלי
פלאג אין עבור VSCode
תוסף הקוד Roost GPT VS מאפשר לך ליצור בדיקות לקוד שלך באמצעות RoostGPT בלחיצה אחת, ישירות מסביבת העבודה של VS Code.
הורדה:
https://marketplace.visualstudio.com/items?itemName=RoostGPT.roostgpt
הַתקָנָה:
כדי להשתמש בפלאג אין של RoostGPT VS Code, נדרש להתקין VS Code בעמדה שלך, כמו גם את כל התלויות הנדרשות להרצת הקוד שלך, מכיוון ש-RoostGPT יריץ לעתים קרובות את קוד הבדיקה שנוצר כדי לשפר אותו.
ניתן להוריד ולהתקין את VS Code עבור מערכת ההפעלה שלך כאן.
לאחר התקנת VS Code , ניתן להוריד את סיומת Roost GPT VS Code ממארקט של VS Code, על ידי חיפוש קל Roost GPT בחנות התוספים. לחלופין, תוכל להוריד ולהתקין את סיומת VS Code מכאן .
לאחר התקנת ההרחבה, אתה מוכן ליצור בדיקות עבור הקוד שתרצה.
תצורה:
לאחר שההרחבה הותקנה בהצלחה במערכת שלך, תוכל להמשיך בהגדרת ההרחבה כדי להתחיל ליצור בדיקות. פעולה זו כוללת מתן מידע הנדרש ליצירת בדיקות.
כדי להגדיר את ההרחבה לשימוש בה, פשוט פתח את הגדרות ההרחבה עבור Roost GPT, תוכל לחפש אותה בחנות ההרחבות, או שתוכל למצוא אותה ברשימת ההרחבות המותקנות שלך.
לאחר מכן תוכל להגדיר את הערכים הנדרשים בהתאם לסביבת העבודה ולצרכים שלך. להלן השדות הנדרשים שתצטרך להגדיר בכל מקרה:
שדות חובה
-
אסימון Roost: ניתן לקבל את אסימון ה-roost שלכם מדף הפרופיל שלי ב- app.roost.ai . אם אין לכם אסימון Roost, תוכלו להירשם לתקופת ניסיון בחינם ולנסות את RoostGPT בחינם, באמצעות כתובת האימייל של הארגון שלכם מכאן .
-
דומיין רוסט: הזן את הדומיין שבו אסימון הרוסט שסופק פעיל, ערך ברירת המחדל הוא app.roost.ai.
-
פסק זמן: הגדר את פסק הזמן ליצירת בדיקה (בשעות), ערך ברירת המחדל הוא 1.
-
שפה: בחר את השפה שבה כתוב סביבת העבודה/קוד המקור שלך, תומך כעת ב-Java, Python, Go, NodeJS, C# ו-C++.
-
סוג לוח: בחר את סוג לוח הסקראם/קנבאן, נדרש לבדיקות פונקציונליות. הגדר כלא סוגי בדיקות אחרים, תומך בלוחות ללא, ג'ירה ו-Azure. ערך ברירת המחדל הוא ללא.
-
איטרציות: הגדר את מספר האיטרציות ליצירת בדיקות. אם תספק ערך איטרציה גדול מ-0, הבדיקה תפעיל את מקרי הבדיקה שנוצרו ותעביר את השגיאה שאירעה (אם קיימת) למודל הבינה המלאכותית. לאחר מכן, מקרה הבדיקה יעודכן באותו קובץ ויפעל שוב עד למספר האיטרציות ויעצור אם הוא רץ בהצלחה בין לבין. ערך ברירת המחדל הוא 1.
-
טלמטריה: הגדר כ-False אם אינך רוצה לשלוח נתוני טלמטריה ל-roost. ערך ברירת המחדל הוא true.
-
מודל בינה מלאכותית גנרטיבי: בחר באיזה מודל להשתמש ליצירת קוד בדיקה, התומך ב-OpenAI, Google Vertex, Azure Open AI, Claude AI , DeepSeek, AWS Bedrock, ו-DBRX Hosted Models כולל OpenSource Hosted Models (LLAMA2 ו-starchat).
- ספק קלט: הגדר כ-true אם ברצונך לספק קלט משלך לפני יצירת הבדיקה, תתבקש להזין קלט לפני תחילת יצירת הבדיקה. ערך ברירת המחדל הוא false.
- MaxDepth: משמש לציון כמה עמוק בתוך סביבת העבודה ההרחבה תעבור כדי לסרוק קבצים ליצירת בדיקות. ערך ברירת המחדל הוא מעבר לכל תת-הספריות.
- EnvFile: ניתן להשתמש בשדה זה כדי לספק את הנתיב לקובץ env, אשר יספק ל-RoostGPT קובץ env עם משתני סביבת משתמש אשר יילקחו בחשבון בהתקדמות יצירת הבדיקה. ניתן להשאיר שדה זה ריק.
-
פרטי מודל בינה מלאכותית:
- אם מודל הבינה המלאכותית הגנרטיבית הוא בינה מלאכותית פתוחה:
- מפתח API של OpenAI: ספקו את מפתח ה-API של OpenAI שלכם אם אתם מתכננים להשתמש ב-OpenAI כמודל הבינה המלאכותית הגנרית ליצירת מקרי הבדיקה שלכם.
- מודל API של OpenAI: ספק את מודל הבינה המלאכותית שאליו מפתח ה-API שסופק יש גישה, תומך ב-gpt-4o, gpt-4, gpt-3.5-turbo.
- מפתח API של OpenAI: ספקו את מפתח ה-API של OpenAI שלכם אם אתם מתכננים להשתמש ב-OpenAI כמודל הבינה המלאכותית הגנרית ליצירת מקרי הבדיקה שלכם.
- אם מודל הבינה המלאכותית הגנרטיבית הוא Google Vertex:
- אסימון נושא קודקוד: ספקו את אסימון נושא הקודקוד שלכם אם אתם מתכננים להשתמש ב-Google Vertex כמודל בינה מלאכותית גנרטיבי ליצירת מקרי הבדיקה שלכם.
- מזהה פרויקט ורטקס: ספק את המזהה של פרויקט ורטקס בגוגל שלך.
- אזור קודקוד: הזן את האזור שבו נמצא אזור הקודקוד שלך
- מודל קודקוד: בחר את מודל הקודקוד שישמש ליצירת קוד; תומך ב-text-bison, code-bison ו-codechat-bison. ערך ברירת המחדל הוא text-bison.
- אסימון נושא קודקוד: ספקו את אסימון נושא הקודקוד שלכם אם אתם מתכננים להשתמש ב-Google Vertex כמודל בינה מלאכותית גנרטיבי ליצירת מקרי הבדיקה שלכם.
- אם מודל הבינה המלאכותית הגנרטיבית הוא קלוד בינה מלאכותית:
- מודל בינה מלאכותית: בחר את מודל הבינה המלאכותית שישמש מהתפריט הנפתח.
- מפתח API : ספק את מפתח ה-API של קלוד AI שלך .
- אם מודל הבינה המלאכותית הגנרטיבית הוא Azure Open AI:
- מפתח API: ספק את מפתח ה-API עבור מודל Azure Open AI שלך.
- נקודת קצה של API: ציין את נקודת הקצה של ה-API שבה מתארח מודל Azure Open AI שלך.
- שם פריסה: הזן את שם הפריסה עבור מודל Azure Open AI API שלך.
- אם מודל הבינה המלאכותית הגנרטיבית הוא קוד פתוח:
- נקודת קצה של מודל קוד פתוח: ספקו את נקודת הקצה עבור מודל הקוד הפתוח. אם אתם מתכננים להשתמש באחד ממודלי הקוד הפתוח המסופקים על ידי roost, עליכם לספק אותה בפורמט 'http://MODEL_IP:5000/generate' כאשר MODEL_IP היא כתובת ה-IP של המופע שבו פועל המכולה של המודל.
- מודל בינה מלאכותית בקוד פתוח: בחר את מודל הבינה המלאכותית שישמש ליצירת בדיקות, תומך ב- meta-llama/Llama-2-13b-chat וב- HuggingFaceH4/starchat-beta. ערך ברירת המחדל הוא meta-llama/Llama-2-13b-chat.
- נקודת קצה של מודל קוד פתוח: ספקו את נקודת הקצה עבור מודל הקוד הפתוח. אם אתם מתכננים להשתמש באחד ממודלי הקוד הפתוח המסופקים על ידי roost, עליכם לספק אותה בפורמט 'http://MODEL_IP:5000/generate' כאשר MODEL_IP היא כתובת ה-IP של המופע שבו פועל המכולה של המודל.
- אם מודל הבינה המלאכותית הגנרטיבית הוא בינה מלאכותית פתוחה:
שדות מתקדמים (אופציונלי):
- שדות אופציונליים זמינים לשימוש יעיל בתואר LLM כמו
- ניתן להגדיר advanced.UseAssistant ל-True עבור דגמי gpt turbo,
- ניתן להגדיר את AiTemperature לערכים שונים מברירת המחדל (0.2) כדי לשלוט באיכות הבדיקה,
- ניתן להגדיר את VerifyTest לערך בוליאני True. ערך ברירת המחדל הוא False,
- ניתן להגדיר את UseDocker כ-True כדי ליצור את הבדיקות בתוך docker. זה ידרוש גישה מקומית לשרת Docker Engine.
יצירת בדיקות:
לאחר השלמת הגדרת התוסף, תוכלו להתחיל להשתמש בתוסף VS Code כדי ליצור בדיקות עבור סביבת העבודה שלכם. כדי ליצור בדיקות, פשוט לחצו לחיצה ימנית על קובץ בתפריט Explorer ובחרו את סוג הבדיקה שברצונכם ליצור מתפריט ההקשר שמופיע. שימו לב שלכל סוג בדיקה יש דרישות מסוימות כדי להתחיל ביצירת בדיקות.
סוגי הבדיקות הנתמכים כעת הם כדלקמן:
- בדיקות יחידה.
- בדיקות API.
- בדיקות פונקציונליות.
- הִשׁתַלְבוּת.
דרישות הבדיקה
להלן שדות חובה והוראות נוספות ליצירת בדיקה בהתאם לכל סוג בדיקה נתמך:
-
מבחני יחידה: כדי ליצור מבחני יחידה, פשוט בחרו את הספרייה שבה נמצא הקובץ שלכם, לחצו לחיצה ימנית על קובץ ובחרו "יצירת מבחני יחידה", ולאחר מכן בחרו את מסגרת הבדיקות שברצונכם להשתמש בה מהחלון הקופץ. פעולה זו תיצור מבחני יחידה עבור כל הקבצים הנמצאים בספריית האב של קובץ זה. אין צורך בשדות נוספים מלבד השדות הנדרשים שהוזכרו לעיל ליצירת מבחני יחידה. ודאו שהשפה שהוגדרה בהגדרות ההרחבה תואמת את השפה שבה נמצא קוד המקור שלכם.
-
אם ברצונך שהבדיקות ייווצרו עבור מספר מצומצם של פונקציות ספציפיות בלבד ולא עבור כל בסיס הקוד, ציין את שמות הפונקציות שעבורן ברצונך שהבדיקות ייווצרו בתיבת הקלט FunctionsToTest במקטע המתקדם של הגדרות ההרחבה, באופן מופרד בפסיקים (למשל, Func1, Func2,...). פעולה זו תבטיח שהבדיקות ייווצרו רק עבור הפונקציות שצוינו.
-
עבור בדיקות יחידה של Java, אנא ודא שהפעלת הבדיקה ממודול חוקי המכיל pom.xml חוקי, או צור בדיקות עבור הפרויקט כולו אם pom.xml קיים בתיקיית סביבת העבודה.
- עבור בדיקות React Unit, עליך להשתמש במודל GPT-4 turbo ולהגדיר את use assistant כ-true בחלק המתקדם של הגדרות ההרחבה vs-code.
-
-
בדיקות API: כדי ליצור בדיקות API, עליך ללחוץ לחיצה ימנית על קובץ ה-json של אוסף Postman או על קובץ המפרט של ה-API של swagger ולאחר מכן לבחור באפשרות "Generate API tests". אם תבחר קובץ אחר שאינו קובץ המפרט של ה-API שלך, יצירת הבדיקה תיכשל. לאחר מכן עליך לבחור את מסגרת הבדיקה שתשמש ליצירת הבדיקה (artillery, postman או rest-assured) מהחלון הקופץ שסופק. אין צורך בשדות נוספים מלבד השדות הנדרשים שהוזכרו לעיל עבור בדיקות API. עבור בדיקות API, תוכל גם לסנן אילו פעלים של HTTP (כגון post, get וכו') ייבדקו על ידי שינוי הגדרת HttpFilters מהקטע המתקדם. שימו לב שאם תבחר ב-postman כמסגרת הבדיקה, תצטרך להתקין את newman cli במערכת שלך על מנת להריץ בדיקות שנוצרו מהרחבת RoostGPT. תוכל להתקין את newman cli באמצעות הפקודה: npm install -g newman.
-
אם ברצונך ליצור בדיקות API עבור פעלים ספציפיים של HTTP (get, post, put, patch, delete וכו'), תוכל לבחור אילו פעלים ספציפיים יש לבדוק בחלק המתקדם של הגדרות ההרחבה תחת התכונה של מסנני HTTP.
-
אם ברצונך ליצור בדיקות API עבור נקודות קצה ספציפיות של API התואמות לתבנית רגולציה נתונה, תוכל להגדיר את תבנית הרגולציה בכרטיסייה מתקדמת של הגדרות ההרחבה תחת התכונה נקודות קצה של HTTP לבדיקה.
- עבור מבחני קראטה ומבחני Rest - Assured , ודאו שיצירת הבדיקה מופעלת מתוך מאגר Java/maven תקף, כלומר, שימו את קובץ spec ה-API במאגר Java והתחלו את יצירת הבדיקה משם .
-
-
בדיקות אינטגרציה: בעת יצירת בדיקות אינטגרציה, עליך ללחוץ לחיצה ימנית על קובץ ה-json של אוסף Postman או על קובץ המפרט של ה-API של swagger ולאחר מכן לבחור באפשרות בדיקות אינטגרציה. אם תבחר קובץ אחר שאינו קובץ המפרט של ה-API, יצירת הבדיקה תיכשל. לאחר בחירת האפשרות, עליך לבחור את מסגרת הבדיקה שתשמש ליצירת הבדיקה (artillery, postman או rest-assured). לאחר מכן עליך לבחור את סוג תבנית gherkin שלך. תוכל לבחור קובץ ולעיין בקובץ תבנית gherkin שלך, או שתוכל לבחור כתובת URL ולספק את כתובת ה-URL לתבנית Gherkin שלך. אין צורך בשדות נוספים מלבד השדות הנדרשים שהוזכרו לעיל עבור בדיקות אינטגרציה. שימו לב שאם תבחרו ב-Postman כמסגרת הבדיקה, תצטרכו להתקין את newman cli במערכת שלכם כדי להריץ בדיקות שנוצרו מהרחבת RoostGPT. ניתן להתקין את newman cli באמצעות הפקודה: npm install -g newman. עבור מבחני קראטה ומבחני Rest - Assured , ודאו שיצירת הבדיקה מופעלת מתוך מאגר Java/maven תקף, כלומר, שימו את קובץ spec ה-API במאגר Java והתחלו את יצירת הבדיקה משם .
- בדיקות פונקציונליות: כדי ליצור בדיקות פונקציונליות, עליך לבחור את סוג הלוח שלך כ-JIRA או Azure ולאחר מכן נדרשים גם הפרטים הבאים:
- אם סוג הלוח הוא Jira:
- אימייל של ג'ירה.
- ג'ירה אסימון.
- שם מארח של ג'ירה.
- אם סוג הלוח הוא Azure:
- ארגון Azure
- אסימון תכלת.
- פרויקט Azure.
- אם סוג הלוח הוא Jira:
שיפור וניתוח של בדיקות שנוצרו
לאחר השלמת תהליך יצירת הבדיקה, ייפתח פאנל צדדי שיציג את כל קבצי הבדיקה שנוצרו. באפשרותך לבחור את הקובץ שברצונך להציג באמצעות התפריט הנפתח שסופק. אם תרצה, תוכל גם לערוך את הקבצים בפאנל עצמו ולשמור את השינויים שלך באמצעות כפתור השמירה שסופק.
אם ברצונך להפעיל את הבדיקות שנוצרו, תוכל לעשות זאת באמצעות כפתור ההפעלה שסופק בפאנל הצדדי. פעולה זו תפעיל את קובץ הבדיקה שנבחר. שים לב כי תצטרך שכל התלויות הנדרשות להפעלת הבדיקות יהיו מותקנות במערכת המקומית שלך כדי שיצירת הבדיקה תתרחש. עבור בדיקות ארטילריה, לאחר שתלחץ על כפתור ההפעלה, תתבקש להזין את כתובת האתר של היעד עבור הבדיקות. אם ברצונך לספק כתובת אתר, אנא ספק אותה בתיבת הקלט, ולאחר מכן תישאל אם ברצונך להעלות קובץ .env כדי לספק משתני סביבה. אם כן, תוכל להעלות את קובץ ה-env עבור אותו הדבר.
אם אינך מרוצה מהבדיקות שנוצרו ומעוניינת בשיפורים או שינויים בבדיקה, בתחתית הפאנל הצדדי תמצא בקשת משוב, הזן את בקשת המשוב שברצונך לתת למודל הבינה המלאכותית ולאחר מכן לחץ על כפתור השיפור. פעולה זו תפעיל את שיפור הבדיקה.
RoostGPT Infrastructure
This section details the RoostGPT resources required
משאבי RoostGPT למיתוג לבן
משאבי Terraform שסופקו ב-AWS
| שם המשאב |
תֵאוּר |
| זוג_מפתח_aws |
צמד מפתחות AWS EC2 ל-SSH |
| aws_eip |
כתובת IP אלסטית שתשמש את NAT Gateway עבור תת-רשת ציבורית |
| aws_ami |
מזהה AMI מבוסס אובונטו - ספציפי לאזור |
| aws_vpc |
VPC |
| אזורי_זמינות_aws |
AZ מועדף |
| שער_אינטרנט_aws |
IG עבור VPC כדי לתקשר עם האינטרנט, למשל עדכון apt |
| רשת_aws_subnet |
תת-רשתות פרטיות וציבוריות |
| קבוצת_אבטחה_aws |
SG עבור שירותי bastion, backend ו-frontend של RoostGPT |
| קבוצת_יעד_aws_lb |
קבוצת יעד עבור מאזן עומסים |
| טבלת_מסלול_aws |
ערכי טבלת ניתוב עבור תעבורה נכנסת ויוצאת |
| aws_instance |
מופעים לפריסת שירותי RoostGPT בקצה הקדמי והצדדי |
| aws_route_table_association |
כדי לאפשר תעבורת רשת, בין דוגמה לדוגמה, תקשורת |
| משאב_ריק |
כדי לפרוס ולהפעיל סקריפטים של מתקין RoostGPT על המופע |
Docker (hub.docker.com) תמונות של
| שם התמונה | תָג |
| zbio/roostai_mysql_db | גרסה 1.1.17 |
| zbio/roost-nginx | האחרון |
| zbio/roost-app | גרסה 1.1.17 |
| zbio/roostai-server | גרסה 1.1.17 |
| zbio/roostgpt-go | גרסה 1.1.17 |
| zbio/roostgpt | גרסה 1.1.17 |
| zbio/roostgpt-ui | גרסה 1.1.17 |
| zbio/roost-proxy | גרסה 1.1.17 |
סקריפטים או קבצי הרצה של RoostGPT מ-
| שֵׁם | מַטָרָה |
| roost.sh | סקריפט פריסה עבור מחסנית מתארחת |
| roost-enterprise.sh | סקריפט בקר עבור מחסנית מתארחת |
| main-config.json | תבנית תצורה עבור מחסנית מתארחת |
| aiServer.sh | סקריפטים פנימיים עבור מחסנית מתארחת |
| aiServer.gz | קובץ הרצה פנימי של daemon עבור מחסנית אירוח |
| releaseServer.sh | סקריפטים פנימיים עבור מחסנית מתארחת |
| releaseServer.gz | קובץ הרצה פנימי של daemon עבור מחסנית אירוח |
| roost.sql | תבנית SQL עבור מסד נתונים (מחסנית מתארחת) |
| roostcertgen.gz | יצירת אישורים חתומים עצמית (מחסנית מתארחת) |
|
מתקין עבור מחסנית שרת אובונטו יחידה המאוחסנת במקום
|
|
| roostgpt-1.0.15.vsix | תוסף קוד VS |
| חלונות | לינוקס | מקוס | |
| ממשק שורת פקודה (CLI) | roostgpt-win.exe | roostgpt-לינוקס | |
| בדיקת ממשק משתמש
|
RoostUITestGenerator-win.exe | RoostUITestGenerator-לינוקס |
RoostUITestGenerator-macos-amd RoostUITestGenerator-macos-arm |
| ג'אווה | RoostJavaASTParser.jar | RoostJavaASTParser.jar | RoostJavaASTParser.jar |
| פִּיתוֹן | RoostPythonASTParser-win.exe | RoostPythonASTParser-לינוקס | RoostPythonASTParser-mac |
| סי שארפ | RoostCSharpASTParser-win.exe | RoostCSharpASTParser-לינוקס | RoostCSharpASTParser-macos |
| גולאנג | RoostGolangASTParser-win.exe | RoostGolangASTParser-לינוקס | RoostGolangASTParser-macos |
| ג'אווהסקריפט | RoostJavascriptASTParser-win.exe | RoostJavascriptASTParser-לינוקס |
|
| API (מבחן קראטה) |
מסד נתונים RoostGPT עבור שרת מתארח
פתרון RoostGPT דורש RDBMS כדי
לאחסן תצורות בדיקה
מידע על מחבר RoostGPT
מידע על משתמשים וצוות
עבור POC או ניסויים מוגבלים, RoostGPT יכול גם להשתמש במסד נתונים ממוחשב. עם זאת, יש לו מגבלות הקשורות ל
- אמינות ואבטחה ברמה ארגונית
- סט תכונות ואינטגרציות מתקדמות
- תמיכה מקצועית וערבויות SLA
- תחזוקה ועדכונים אוטומטיים
