Bitbucket - การทำงานอัตโนมัติในการตรวจสอบโค้ดด้วย GenAI

1. ภาพรวม

ในแล็บนี้ คุณจะได้ตั้งค่าไปป์ไลน์ Bitbucket และผสานรวมกับ Gemini เพื่อทำให้ขั้นตอนการตรวจสอบโค้ดเป็นแบบอัตโนมัติ

92eff32c1969388f.png

สิ่งที่คุณจะได้เรียนรู้

ในแล็บนี้ คุณจะได้เรียนรู้วิธีทำสิ่งต่อไปนี้

  • วิธีเพิ่มขั้นตอนการตรวจสอบโค้ดอัตโนมัติด้วย GenAI ใน Bitbucket
  • วิธีเรียกใช้ CLI ของ devai ในเครื่องเพื่อทำให้การตรวจสอบโค้ดเป็นอัตโนมัติ

ข้อกำหนดเบื้องต้น

  • แล็บนี้มีสมมติฐานว่าคุณคุ้นเคยกับสภาพแวดล้อมของ Cloud Console และ Cloud Shell

2. การตั้งค่าและข้อกำหนด

การตั้งค่าโปรเจ็กต์ Cloud

  1. ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณอัปเดตได้ทุกเมื่อ
  • รหัสโปรเจ็กต์จะไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมดและเปลี่ยนแปลงไม่ได้ (เปลี่ยนไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งโดยปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยทั่วไปจะระบุเป็น PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสแบบสุ่มอีกรหัสหนึ่งได้ หรือคุณอาจลองใช้ชื่อของคุณเองและดูว่ามีชื่อนั้นหรือไม่ คุณจะเปลี่ยนแปลงรหัสนี้หลังจากขั้นตอนนี้ไม่ได้ และรหัสจะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์
  • โปรดทราบว่ายังมีค่าที่ 3 ซึ่งคือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 นี้ได้ในเอกสารประกอบ
  1. จากนั้นคุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตาม Codelab นี้จะไม่มีค่าใช้จ่ายมากนัก หรืออาจไม่มีค่าใช้จ่ายเลย หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD

การตั้งค่าสภาพแวดล้อม

เปิดแชทกับ Gemini

bc3c899ac8bcf488.png

หรือพิมพ์ "ขอความช่วยเหลือจาก Gemini" ในแถบค้นหา

e1e9ad314691368a.png

วิธีเปิดใช้ Gemini สำหรับ Google Cloud API

990a0ceea7d05531.png

คลิก "Start chatting" แล้วทำตามตัวอย่างคำถามหรือพิมพ์พรอมต์ของคุณเองเพื่อลองใช้

ed120d672468b412.png

พรอมต์ให้ลองใช้

  • อธิบาย Cloud Run ใน 5 ประเด็นสำคัญ
  • คุณเป็นผู้จัดการผลิตภัณฑ์ Google Cloud Run โปรดอธิบาย Cloud Run ให้แก่นักเรียน/นักศึกษาโดยใช้ประเด็นสำคัญสั้นๆ 5 ข้อ
  • คุณเป็นผู้จัดการผลิตภัณฑ์ Google Cloud Run โปรดอธิบาย Cloud Run ให้กับนักพัฒนา Kubernetes ที่ได้รับการรับรองโดยใช้ประเด็นสำคัญสั้นๆ 5 ข้อ
  • คุณเป็นผู้จัดการผลิตภัณฑ์ Google Cloud Run โปรดอธิบายว่าเมื่อใดที่คุณควรใช้ Cloud Run แทน GKE กับนักพัฒนาแอปอาวุโสใน 5 ประเด็นสั้นๆ

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเขียนพรอมต์ให้ดียิ่งขึ้นได้ในคู่มือการใช้พรอมต์

วิธีที่ Gemini สำหรับ Google Cloud ใช้ข้อมูลของคุณ

ความมุ่งมั่นของ Google ในการปกป้องความเป็นส่วนตัว

Google เป็นหนึ่งในบริษัทแรกๆ ในอุตสาหกรรมที่เผยแพร่ความมุ่งมั่นด้านความเป็นส่วนตัวของ AI/ML ซึ่งระบุความเชื่อของเราว่าลูกค้าควรมีการรักษาความปลอดภัยและการควบคุมข้อมูลในระดับสูงสุดที่จัดเก็บไว้ในระบบคลาวด์

ข้อมูลที่คุณส่งและรับ

คำถามที่คุณขอความช่วยเหลือจาก Gemini รวมถึงข้อมูลอินพุตหรือโค้ดที่คุณส่งให้ Gemini วิเคราะห์หรือทำให้เสร็จสมบูรณ์เรียกว่าพรอมต์ คำตอบหรือการเติมโค้ดที่คุณได้รับจาก Gemini เรียกว่าคำตอบ Gemini จะไม่ใช้พรอมต์ของคุณหรือคำตอบของ Gemini เป็นข้อมูลในการฝึกโมเดล

การเข้ารหัสพรอมต์

เมื่อคุณส่งพรอมต์ไปยัง Gemini ระบบจะเข้ารหัสข้อมูลของคุณขณะรับส่งเป็นอินพุตไปยังโมเดลพื้นฐานใน Gemini

ข้อมูลโปรแกรมที่สร้างจาก Gemini

Gemini ได้รับการฝึกด้วยโค้ดของ Google Cloud จากบุคคลที่หนึ่งและโค้ดของบุคคลที่สามที่เลือก คุณเป็นผู้รับผิดชอบด้านความปลอดภัย การทดสอบ และประสิทธิภาพของโค้ด รวมถึงการเติมโค้ด การสร้าง หรือการวิเคราะห์ที่ Gemini มอบให้คุณ

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Google จัดการพรอมต์ของคุณ

3. ตัวเลือกในการทดสอบพรอมต์

หากต้องการเปลี่ยน/ขยายข้อความแจ้ง devai cli ที่มีอยู่ คุณมีตัวเลือกหลายอย่างในการดำเนินการดังกล่าว

Vertex AI Studio เป็นส่วนหนึ่งของแพลตฟอร์ม Vertex AI ของ Google Cloud ซึ่งออกแบบมาโดยเฉพาะเพื่อลดความซับซ้อนและเร่งการพัฒนาและการใช้โมเดล Generative AI

Google AI Studio เป็นเครื่องมือบนเว็บสำหรับสร้างต้นแบบและทดลองใช้การออกแบบพรอมต์และ Gemini API

เว็บแอป Gemini (gemini.google.com) เป็นเครื่องมือบนเว็บที่ออกแบบมาเพื่อช่วยให้คุณสำรวจและใช้ประโยชน์จากความสามารถของโมเดล AI จาก Gemini ของ Google

4. สร้างบัญชีบริการ

เปิดใช้งาน Cloud Shell โดยคลิกไอคอนทางด้านขวาของแถบค้นหา

3e0c761ca41f315e.png

ในเทอร์มินัลที่เปิดอยู่ ให้เปิดใช้บริการที่จำเป็นเพื่อใช้ Vertex AI API และแชทกับ Gemini

gcloud services enable \
    aiplatform.googleapis.com \
    cloudaicompanion.googleapis.com \
    cloudresourcemanager.googleapis.com \
    secretmanager.googleapis.com

หากระบบแจ้งให้ให้สิทธิ์ ให้คลิก "ให้สิทธิ์" เพื่อดำเนินการต่อ

6356559df3eccdda.png

เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างบัญชีบริการและคีย์ใหม่

คุณจะใช้บัญชีบริการนี้เพื่อทำการเรียก API ไปยัง Vertex AI Gemini API จากไปป์ไลน์ CICD

PROJECT_ID=$(gcloud config get-value project)
SERVICE_ACCOUNT_NAME='vertex-client'
DISPLAY_NAME='Vertex Client'
KEY_FILE_NAME='vertex-client-key'

gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME --display-name "$DISPLAY_NAME"

มอบบทบาท

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.admin" --condition None

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor" --condition None

gcloud iam service-accounts keys create $KEY_FILE_NAME.json --iam-account=$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com

5. นำเข้าที่เก็บ GitHub ไปยังที่เก็บ Bitbucket

เข้าสู่ระบบ https://bitbucket.org/ แล้วเลือกตัวเลือก "Create" / Repository / Import repository"

bf74d0d8c903fd71.png

URL ของที่เก็บ Git:

https://github.com/GoogleCloudPlatform/genai-for-developers.git

เลือกพื้นที่ทำงานและโปรเจ็กต์ แล้วตั้งชื่อที่เก็บใหม่

891c8ac58cc71419.png

คลิก "Import repository" เพื่อเริ่มกระบวนการนำเข้า

6. เพิ่มตัวแปรไปป์ไลน์ Bitbucket

จากนั้นคุณจะเปิดใช้ไปป์ไลน์ CICD ของ Bitbucket เพื่อเรียกใช้การตรวจสอบโค้ดเมื่อมีการพุชการเปลี่ยนแปลงไปยังที่เก็บ

เปิดที่เก็บ Bitbucket ในเบราว์เซอร์ แล้วไปที่ส่วน "Repository settings / PIPELINES / Settings" เปิดใช้ไปป์ไลน์สำหรับที่เก็บนี้

8b431c2a83222546.png

ไปที่ส่วน "Repository settings / PIPELINES / Repository variables"

เพิ่มตัวแปร 3 รายการ

  • PROJECT_ID - รหัสโปรเจ็กต์ Qwiklabs ของคุณ
  • LOCATION - us-central1
  • GOOGLE_CLOUD_CREDENTIALS

สำหรับค่าตัวแปร GOOGLE_CLOUD_CREDENTIALS ให้ใช้คีย์บัญชีบริการที่สร้างไว้ในส่วนด้านบน เรียกใช้คำสั่งนี้ใน Google Cloud Shell แล้วคัดลอก/วางค่า

cat ~/vertex-client-key.json

มุมมองตัวแปรของที่เก็บ

fe2b8e768c09dc5b.png

7. เรียกใช้ไปป์ไลน์ Bitbucket

เปิดส่วน "Pipelines" แล้วคลิก "Run initial pipeline"

f97424bbfc790da8.png

เลือกสาขา "main" และไปป์ไลน์ "default" แล้วคลิก "Run"

8e7604e2f513360e.png

8. ตรวจสอบเอาต์พุตของไปป์ไลน์ Bitbucket

เปิด/รีเฟรชส่วน "Pipelines" และตรวจสอบเอาต์พุตของไปป์ไลน์

abf4fbdec6781ffd.png

335acbee3cba263f.png

ผลลัพธ์ของคำสั่งความครอบคลุมของการทดสอบ:

devai review testcoverage -c ./sample-app/src

คำสั่ง devai review testcoverage นี้จะวิเคราะห์โค้ดและชุดการทดสอบที่เกี่ยวข้อง (หากมี) โดยใช้โมเดล Generative AI อย่าง Gemini โดยจะประเมินความครอบคลุมของการทดสอบโค้ดที่ระบุ ระบุไฟล์และเมธอดที่มีและไม่มีการทดสอบหน่วย จากนั้นคำสั่งจะใช้ประโยชน์จากโมเดลเพื่อสรุปความครอบคลุม รวมถึงเมตริก เช่น บรรทัดและสาขา/เงื่อนไขที่ครอบคลุม โดยอิงตามการวิเคราะห์ของเครื่องมือดังกล่าว เครื่องมือจะให้คำแนะนำในการปรับปรุงความครอบคลุมของการทดสอบ แนะนำการทดสอบที่เฉพาะเจาะจงเพื่อเพิ่ม และให้คำแนะนำทั่วไปเกี่ยวกับแนวทางปฏิบัติแนะนำในการทดสอบ สุดท้ายนี้ ระบบจะแสดงผลคำตอบของโมเดล Gemini ซึ่งรวมถึงรายละเอียดต่างๆ เช่น ไฟล์ที่ไม่มีการครอบคลุม และคำแนะนำในการปรับปรุงการทดสอบที่มีอยู่ให้กับผู้ใช้ผ่านบรรทัดคำสั่ง

ผลลัพธ์ของคำสั่งการตรวจสอบโค้ด:

devai review code -c ./sample-app/src/main/java/anthos/samples/bankofanthos/balancereader

คำสั่ง devai review code จะดำเนินการตรวจสอบโค้ดอย่างละเอียดของข้อมูลโค้ดที่ระบุโดยใช้โมเดล Generative AI โดยจะใช้โค้ดที่จะตรวจสอบเป็นอินพุต (บริบท) และกำหนดค่ากำหนดรูปแบบเอาต์พุต (เอาต์พุต) โดยใช้ประโยชน์จากโมเดลภาษาขนาดใหญ่เพื่อวิเคราะห์โค้ดในด้านความถูกต้อง ประสิทธิภาพ ความสามารถในการบำรุงรักษา ความปลอดภัย และการปฏิบัติตามแนวทางปฏิบัติแนะนำ คำสั่งจะสร้างพรอมต์แบบละเอียดที่สั่งให้ Gemini ดำเนินการตรวจสอบอย่างไร จากนั้นจะส่งไปยังโมเดลเพื่อประเมินโค้ดที่ระบุ สุดท้ายนี้ ระบบจะประมวลผลคำตอบของ Gemini โดยจัดรูปแบบเป็นมาร์กดาวน์, JSON หรือตารางตามที่ผู้ใช้ต้องการ แล้วแสดงผลลัพธ์ของรีวิว

ผลลัพธ์ของคำสั่งตรวจสอบการปฏิบัติตามข้อกำหนด:

devai review compliance --context ./sample-app/k8s --config ./devai-cli/gemini/styleguide.md

คำสั่ง devai review compliance จะวิเคราะห์โค้ดเทียบกับชุดแนวทางปฏิบัติแนะนำ ซึ่งโดยทั่วไปจะใช้กับการกำหนดค่า Kubernetes โดยจะใช้โมเดล Gemini เพื่อตรวจสอบโค้ดที่ระบุ (context) และเปรียบเทียบกับมาตรฐานที่ระบุซึ่งกำหนดไว้ในไฟล์การกำหนดค่าแยกต่างหาก (config) คำสั่งนี้ใช้ประโยชน์จากพรอมต์เพื่อสั่งให้โมเดล Gemini ทำหน้าที่เป็นวิศวกร Kubernetes ผู้เชี่ยวชาญและจัดทำรายงานการปฏิบัติตามข้อกำหนด จากนั้นจะจัดรูปแบบผลการค้นหาเป็นคำอธิบายสั้นๆ โดยเน้นที่ตัวอย่างโค้ดที่แสดงวิธีแก้ไขปัญหาที่พบ สุดท้าย คำสั่งจะพิมพ์เอาต์พุตการตรวจสอบการปฏิบัติตามข้อกำหนดของ Gemini ไปยังคอนโซล ซึ่งช่วยให้ผู้ใช้ตรวจสอบโค้ดเพื่อการปฏิบัติตามข้อกำหนดได้ง่าย

9. โคลนที่เก็บ Bitbucket และตั้งค่าคีย์ SSH

กลับไปที่เทอร์มินัล Google Cloud Shell แล้วตั้งค่าคีย์ SSH ใหม่

อัปเดตอีเมลก่อนเรียกใช้คำสั่ง

ssh-keygen -t ed25519 -C "your-email-address"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

cat ~/.ssh/id_ed25519.pub

เพิ่มคีย์การเข้าถึงลงในที่เก็บ Bitbucket

เปิด "Repository settings / SECURITY / Access keys" แล้วคลิก "เพิ่มคีย์"

สำหรับคีย์ค่า ให้คัดลอก/วางเอาต์พุตของคำสั่งสุดท้าย

bac102fd433bb388.png

ในส่วน "Source" ให้คลิก "Clone" แล้วคัดลอก URL

571f4f775bcbd1f7.png

46c163d7e5356c67.png

กลับไปที่เทอร์มินัลแล้วโคลนที่เก็บ

cd ~
mkdir bitbucket
cd bitbucket

แทนที่ด้วย URL ของโปรเจ็กต์และที่เก็บ Bitbucket

git clone git@bitbucket.org:YOUR_PROJECT/genai-for-developers.git

เปลี่ยนไดเรกทอรีและเปิดไฟล์ bitbucket-pipelines.yml หากเปลี่ยนชื่อที่เก็บระหว่างการนำเข้า ให้อัปเดตชื่อโฟลเดอร์ก่อนเรียกใช้คำสั่งต่อไปนี้

cd genai-for-developers

cloudshell edit bitbucket-pipelines.yml

10. อธิบายโค้ดด้วย Gemini Code Assist

คลิกขวาที่ใดก็ได้ในbitbucket-pipelines.ymlไฟล์ แล้วเลือกGemini Code Assist > Explainนี้

29ef71c136d173a2.png

คำอธิบายการตรวจสอบ:

a183a2df0b6cc668.png

11. การพัฒนา DevAI CLI

ในส่วนนี้ คุณจะทำการเปลี่ยนแปลงกับ devai cli

ในการเริ่มต้น ให้ตั้งค่าสภาพแวดล้อมเสมือนของ Python ติดตั้งข้อกำหนด และเรียกใช้คำสั่งตัวอย่าง

cd ~/bitbucket/genai-for-developers/devai-cli
python3 -m venv venv
. venv/bin/activate
pip3 install -r src/requirements.txt
pip3 install --editable ./src
devai echo

ตั้งค่าตัวแปรสภาพแวดล้อมที่จำเป็น

export PROJECT_ID=$(gcloud config get-value project)
export LOCATION=us-central1

เรียกใช้คำสั่งตรวจสอบโค้ดเพื่อให้แน่ใจว่าทุกอย่างทำงานได้ดี

devai review code -c ~/bitbucket/genai-for-developers/sample-app/src/main/java/anthos/samples/bankofanthos/balancereader > code-review.md

cloudshell edit code-review.md

ตรวจสอบผลลัพธ์โดยใช้ตัวอย่างมาร์กดาวน์ใน Cloud Shell Editor

จากนั้นใช้ Command Palette แล้วเลือก "Markdown: Open Preview"

9587123b62f12a55.png

9999e7fbb20cf251.png

9a12ba6ee8b3eedd.png

คำสั่งตรวจสอบความครอบคลุมของการทดสอบ

devai review testcoverage -c ~/bitbucket/genai-for-developers/sample-app/src > testcoverage.md

cloudshell edit testcoverage.md

คำสั่งตรวจสอบการปฏิบัติตามข้อกำหนด

devai review compliance --context ~/bitbucket/genai-for-developers/sample-app/k8s --config ~/genai-for-developers/devai-cli/.gemini/styleguide.md > k8s-review.md

cloudshell edit k8s-review.md

คำสั่งการประเมินประสิทธิภาพ

devai review performance -c ~/bitbucket/genai-for-developers/sample-app/src/main/java > performance-review.md

cloudshell edit performance-review.md

คำสั่งตรวจสอบความปลอดภัย

devai review security -c ~/bitbucket/genai-for-developers/sample-app/src/main/java > security-review.md

cloudshell edit security-review.md

คำสั่งตรวจสอบรายการที่บล็อก

devai review blockers -c ~/bitbucket/genai-for-developers/sample-app/pom.xml
devai review blockers -c ~/bitbucket/genai-for-developers/sample-app/setup.md

การตรวจสอบและสรุปรูปภาพ/ไดอะแกรม

แผนภาพอินพุต[~/bitbucket/genai-for-developers/images/extension-diagram.png]:

4b109a74e1aa3fb6.png

คำสั่งตรวจสอบ

devai review image \
  -f ~/bitbucket/genai-for-developers/images/extension-diagram.png \
  -p "Review and summarize this diagram" > image-review.md

cloudshell edit image-review.md

เอาต์พุต:

The diagram outlines a process for conducting local code reviews using a VS Code extension or CLI, leveraging Google Cloud's Vertex AI (Gemini Pro) for generating review prompts. 

**Process Flow:**

1. **Code Style Check:** Developers initiate the process by checking their code for adherence to pre-defined style guidelines.
2. **Prompt Generation:** The VS Code extension/CLI sends the code to Vertex AI (Gemini Pro) on Google Cloud. 
3. **Vertex AI Review:**  Vertex AI analyzes the code and generates relevant review prompts.
4. **Local Review:** The prompts are sent back to the developer's IDE for their consideration.
5. **Optional Actions:** Developers can optionally: 
    - Create new JIRA issues directly from the IDE based on the review prompts.
    - Generate new issues in a GitLab repository.

**Key Components:**

* **VS Code Extension/CLI:** Tools facilitating the interaction with Vertex AI and potential integrations with JIRA and GitLab.
* **Vertex AI (Gemini Pro):**  Google Cloud's generative AI service responsible for understanding the code and generating meaningful review prompts.
* **Google Cloud Secret Manager:** Securely stores API keys and access tokens required to authenticate and interact with Google Cloud services.
* **JIRA/GitLab (Optional):** Issue tracking and project management tools that can be integrated for a streamlined workflow.

**Benefits:**

* **Automated Review Assistance:**  Leveraging AI to generate review prompts saves time and improves the consistency and quality of code reviews. 
* **Local Development:** The process empowers developers to conduct reviews locally within their familiar IDE.
* **Integration Options:** The flexibility to integrate with project management tools like JIRA and GitLab streamlines workflow and issue tracking.

การวิเคราะห์ความแตกต่างของรูปภาพ

devai review imgdiff \
  -c ~/bitbucket/genai-for-developers/images/devai-api.png \
  -t ~/bitbucket/genai-for-developers/images/devai-api-slack.png > image-diff-review.md

cloudshell edit image-diff-review.md

เอาต์พุต:

The following UI elements are missing in the "AFTER UPGRADE STATE" image compared to the "BEFORE UPGRADE STATE" image:

1. **Slack:** The entire Slack element, including the icon, "Team channel" label, and the arrow indicating interaction, is absent in the AFTER UPGRADE image. 
2. **Storage Bucket:**  The "Storage Bucket" element with its icon and "PDFs" label is missing in the AFTER UPGRADE image. 
3. **"GenAI Agents" label in Vertex AI block:** The BEFORE UPGRADE image has "Vertex AI Agents" and "GenAI Agent" labels within the Vertex AI block, while the AFTER UPGRADE image only has "Vertex AI."
4. **"Open JIRA Issue" and "Team Project" labels:** In the BEFORE UPGRADE image, these labels are connected to the JIRA block with an arrow. These are missing in the AFTER UPGRADE image.

**Decision Explanation:**

The analysis is based on a direct visual comparison of the two provided images, noting the presence and absence of specific UI elements and their associated labels. The elements listed above are present in the BEFORE UPGRADE image but absent in the AFTER UPGRADE image.

การวิเคราะห์ไฟล์วิดีโอ

devai review video \
  -f "/tmp/video.mp4" \
  -p "Review user journey video and create unit tests using jest framework"

คำสั่งสร้างเอกสาร

devai document readme -c ~/bitbucket/genai-for-developers/sample-app/src/main/

เอาต์พุต:

# Bank of Anthos - Balance Reader Service

## Description

The Balance Reader service is a component of the Bank of Anthos sample application. It provides a REST endpoint for retrieving the current balance of a user account. This service demonstrates key concepts for building microservices with Spring Boot and deploying them to a Kubernetes cluster.

## Features
...

ตรวจสอบคำสั่ง devai CLI ที่ใช้ได้ในเครื่องมือแก้ไข Cloud Shell

cloudshell edit ~/bitbucket/genai-for-developers/devai-cli/README.md

หรืออ่าน README.md ในที่เก็บ GitHub

12. ยินดีด้วย

ยินดีด้วย คุณทำ Codelab เสร็จแล้ว

สิ่งที่เราได้พูดถึงไปแล้ว

  • การเพิ่มขั้นตอนการตรวจสอบโค้ดอัตโนมัติด้วย GenAI ใน Bitbucket
  • เรียกใช้ CLI ของ devai ในเครื่อง

ขั้นตอนต่อไปที่ทำได้

  • เราจะจัดเซสชันแบบลงมือปฏิบัติเพิ่มเติมในเร็วๆ นี้

ล้างข้อมูล

โปรดลบโปรเจ็กต์ที่มีทรัพยากรหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการเพื่อหลีกเลี่ยงการเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้

การลบโปรเจ็กต์

วิธีที่ง่ายที่สุดในการยกเลิกการเรียกเก็บเงินคือการลบโปรเจ็กต์ที่คุณสร้างขึ้นสำหรับบทแนะนำ

©2024 Google LLC สงวนลิขสิทธิ์ Google และโลโก้ของ Google เป็นเครื่องหมายการค้าของ Google LLC ชื่อบริษัทและผลิตภัณฑ์อื่นๆ ทั้งหมดอาจเป็นเครื่องหมายการค้าของบริษัทที่เป็นเจ้าของ