ขณะนี้ GitLab ใน ChatGPT และ Codex อยู่ในเวอร์ชันเบต้า
ภาพรวม
ใช้เทมเพลตแอป GitLab Self-Managed เพื่อสร้างแอปฉบับร่างสำหรับเวิร์กสเปซโดยเฉพาะให้กับอินสแตนซ์ GitLab Self-Managed หรือ GitLab Dedicated ระบุชื่อโฮสต์ GitLab และข้อมูลเข้าสู่ระบบของแอปพลิเคชัน OAuth ตรวจสอบแอปฉบับร่าง แล้วเผยแพร่ให้สมาชิกเวิร์กสเปซที่มีสิทธิ์ใช้งาน เมื่อเผยแพร่แล้ว การดำเนินการที่เปิดใช้ของแอปจะพร้อมใช้งานในการสนทนา ChatGPT และเซสชัน Codex
ดูภาพรวมเกี่ยวกับลักษณะการทำงาน ความพร้อมใช้งาน สิทธิ์ การใช้ข้อมูล และข้อกำหนดด้านเครือข่ายที่ GitLab รองรับได้ที่ การเชื่อมต่อ GitLab กับ ChatGPT และ Codex
สิ่งที่คุณกำลังตั้งค่า
คุณกำลังสร้างแอปสำหรับเวิร์กสเปซโดยเฉพาะจากเทมเพลตแอป GitLab Self-Managed แอปใช้สิ่งต่อไปนี้:
แอปพลิเคชัน GitLab OAuth ที่ลงทะเบียนไว้บนโฮสต์ GitLab Self-Managed หรือ GitLab Dedicated ของคุณ
Application ID และ Secret ของ GitLab OAuth สำหรับการให้สิทธิ์ผู้ใช้
ขอบเขต OAuth ที่จำเป็น ได้แก่ api, write_repository และ openid
ชื่อโฮสต์ GitLab ของคุณ เช่น gitlab.example.com เพื่อกำหนดปลายทางสำหรับเว็บ, API, การให้สิทธิ์ และ Token
ก่อนเริ่มต้น
สิ่งที่คุณต้องมี:
สิทธิ์ผู้ดูแลระบบหรือเจ้าของเวิร์กสเปซ ChatGPT
สิทธิ์ GitLab สำหรับสร้างแอปพลิเคชัน OAuth ได้แก่ สิทธิ์ Owner ของกลุ่มสำหรับแอปที่กลุ่มเป็นเจ้าของ หรือสิทธิ์ผู้ดูแลระบบอินสแตนซ์สำหรับแอปที่ใช้ทั่วทั้งอินสแตนซ์
เฉพาะชื่อโฮสต์ GitLab โดยไม่ใส่ https://, พอร์ต หรือพาธ ใช้โฮสต์ GitLab Self-Managed หรือ GitLab Dedicated ไม่ใช่ gitlab.com
ข้อสรุปว่าต้องการให้ ChatGPT และ Codex รองรับการดำเนินการใดของ GitLab เช่น การค้นหา Repository, เวิร์กโฟลว์คำขอผสาน, เวิร์กโฟลว์ปัญหา, การแก้ไขไฟล์ หรือเวิร์กโฟลว์ Codex ที่ครอบคลุมยิ่งขึ้น
เปิด ChatGPT และ GitLab ไว้ในแท็บแยกกัน คัดลอก Redirect URI ที่แสดงใน ChatGPT ให้ตรงทุกประการ อย่าสร้างหรือแก้ไขค่านี้
ค่าที่ต้องเตรียม
ชื่อโฮสต์ GitLab เช่น gitlab.example.com
Redirect URI: คัดลอกจากขั้นตอนการตั้งค่าเทมเพลตใน ChatGPT
Application ID ของ GitLab OAuth
Secret ของ GitLab OAuth
ขอบเขต OAuth: คัดลอกจากขั้นตอนการตั้งค่าเทมเพลตใน ChatGPT
Start the template setup in ChatGPT
In ChatGPT, switch to the workspace where the app should be available.
Go to Workspace settings > Plugins.
In Directory, find GitLab, open its GitLab Self-Managed app template, and select Enable.
Enter a clear app name and description.
Enter the GitLab hostname, such as gitlab.example.com.
Copy the Redirect URI shown in ChatGPT, and keep this tab open.
Example: https://chatgpt.com/connector/oauth/<redirect_id>. Do not remove the redirect ID, add a trailing slash, or replace the URI with a generic ChatGPT URL.
สร้างแอปพลิเคชัน GitLab OAuth ใน GitLab
เลือกตำแหน่งที่จะสร้างแอปพลิเคชัน
เปิดโฮสต์ GitLab ของคุณ เช่น https://gitlab.example.com
เลือกว่าจะสร้างแอปพลิเคชันที่ใช้ทั่วทั้งอินสแตนซ์หรือแอปพลิเคชันที่กลุ่มเป็นเจ้าของ ตัวเลือกนี้กำหนดผู้ที่จัดการแอปพลิเคชัน ส่วนการเข้าถึงโปรเจกต์ยังคงเป็นไปตามสิทธิ์ GitLab ของผู้ใช้ที่ให้สิทธิ์และขอบเขต OAuth ที่อนุญาต
สำหรับแอปพลิเคชันที่ใช้ทั่วทั้งอินสแตนซ์ ให้ไปที่ ผู้ดูแลระบบ > แอปพลิเคชัน สำหรับแอปพลิเคชันที่กลุ่มเป็นเจ้าของ ให้ไปที่ การตั้งค่า > แอปพลิเคชัน ของกลุ่ม
เพิ่มรายละเอียดแอปพลิเคชัน
เลือก แอปพลิเคชันใหม่ หรือ เพิ่มแอปพลิเคชันใหม่
ป้อนชื่อแอปที่เข้าใจง่าย เช่น GitLab Self-Managed หรือ GitLab Dedicated
ใน Redirect URI ให้วาง URI ที่คัดลอกจาก ChatGPT ให้ตรงทุกประการ
เปิดใช้ Confidential ไว้สำหรับแอปพลิเคชัน OAuth ฝั่งเซิร์ฟเวอร์นี้
กำหนดค่าการเข้าถึงและบันทึก
สำหรับแอปพลิเคชันที่ใช้ทั่วทั้งอินสแตนซ์ GitLab แนะนำให้เลือก Trusted การตั้งค่านี้จะข้ามพรอมต์ขอสิทธิ์จากผู้ใช้
เลือกขอบเขต api, write_repository และ openid
ตรวจสอบว่าใครจัดการแอปพลิเคชันได้ และยืนยันว่าผู้ใช้ GitLab ที่ให้สิทธิ์มีสิทธิ์ในกลุ่มและโปรเจกต์อย่างเหมาะสม
บันทึกแอปพลิเคชัน
ข้อกำหนดของขอบเขต OAuth
เทมเพลตขอขอบเขต OAuth ต่อไปนี้สำหรับการดำเนินการ GitLab ที่เปิดใช้ใน ChatGPT และ Codex:
api: จำเป็นสำหรับการดำเนินการ GitLab API ที่แอปเปิดให้ใช้ รวมถึงการดำเนินการเกี่ยวกับคำขอผสาน ปัญหา และ CI/CD
write_repository: จำเป็นสำหรับการเขียนข้อมูลลงใน Repository ผ่าน Git
openid: จำเป็นสำหรับข้อมูลประจำตัวและข้อมูลสมาชิกของ OpenID Connect
คัดลอกข้อมูลเข้าสู่ระบบ GitLab OAuth
ในแอปพลิเคชัน GitLab ที่บันทึกไว้ ให้คัดลอก Application ID และ Secret ดูแล Secret ในฐานะข้อมูลเข้าสู่ระบบ หากข้อมูลนี้รั่วไหล ให้ต่ออายุใน GitLab และสร้างแอปเวิร์กสเปซใหม่
ตั้งค่าให้เสร็จใน ChatGPT
กลับไปที่แท็บตั้งค่าเทมเพลต ChatGPT
วาง Application ID ของ GitLab ลงใน OAuth client ID
วาง Secret ของ GitLab ลงใน OAuth client secret
ยืนยันว่าชื่อโฮสต์ GitLab มีเพียงชื่อโฮสต์ เช่น gitlab.example.com
เลือก สร้างฉบับร่าง
เปิดรายละเอียดแอปฉบับร่าง แล้วตรวจสอบการเข้าถึงตามบทบาทและการกำหนดค่าการดำเนินการ
เผยแพร่และจัดการแอปสำหรับ ChatGPT และ Codex
การสร้างแอปฉบับร่างไม่ได้ทำให้สมาชิกใช้งานแอปได้โดยอัตโนมัติ หลังจากตรวจสอบฉบับร่างแล้ว:
เลือก เผยแพร่ สำหรับแอปฉบับร่าง
ไปที่ การตั้งค่าเวิร์กสเปซ > ปลั๊กอิน และยืนยันว่า GitLab พร้อมใช้งานสำหรับบทบาทที่ต้องการ
ตรวจสอบ การเข้าถึงตามบทบาท สำหรับบทบาทที่ควรใช้แอปได้
ใน กำหนดค่าการดำเนินการ ให้ตรวจสอบการดำเนินการอ่านและเขียนที่พร้อมใช้งาน
ใน กำหนดค่าการอนุมัติ ให้เลือกว่าผู้ใช้ต้องอนุมัติการดำเนินการเมื่อใด ก่อนที่ ChatGPT หรือ Codex จะใช้แอป
ขอให้ผู้ใช้ทดสอบที่มีสิทธิ์เปิด GitLab จากไดเรกทอรีปลั๊กอิน หรือ การตั้งค่า > ปลั๊กอิน ยืนยันว่าผู้ใช้ติดตั้งปลั๊กอินและเชื่อมต่อกับแอปที่สร้างจากเทมเพลต Self-Managed ของ GitLab ได้
การตั้งค่าการอนุมัติแอปเหล่านี้ใช้กับการสนทนา ChatGPT และเธรด Codex
ตั้งค่ากิจกรรม GitLab สำหรับการตรวจสอบโค้ดด้วย Codex
หลังเผยแพร่แอปแล้ว ให้กำหนดค่ากิจกรรม GitLab ใน Codex หากคุณวางแผนจะใช้ Codex ตรวจสอบโค้ด การตั้งค่ากิจกรรมนี้จะกำหนดค่าเหตุการณ์เว็บฮุกที่จำเป็น
กำหนดค่าบัญชีบริการของเวิร์กสเปซ ให้ Codex สร้างบัญชี หรือระบุ Token การเข้าถึงส่วนบุคคลสำหรับบัญชีบริการที่มีอยู่
เปิดใช้ กิจกรรม GitLab สำหรับโปรเจกต์หรือกลุ่มระดับบนกลุ่มใดกลุ่มหนึ่ง
หาก Codex ต้องเรียกใช้งานเขียนโค้ดหรือใช้การตั้งค่าเฉพาะโปรเจกต์ ให้สร้างสภาพแวดล้อมของโปรเจกต์
แอป GitLab ใช้ OAuth ของผู้ใช้สำหรับการอ่านและการดำเนินการที่เปิดใช้ใน ChatGPT และ Codex สำหรับการเขียนผลการตรวจสอบของ Codex ใน GitLab Self-Managed หรือ GitLab Dedicated นั้น Token ของบัญชีบริการที่เวิร์กสเปซจัดการจะกำหนดข้อมูลประจำตัวและโปรเจกต์ที่ Codex แสดงความคิดเห็นหรือแสดงปฏิกิริยาได้
อ่านเพิ่มเติม: ตรวจสอบคำขอผสานของ GitLab ด้วย Codex
เชื่อมต่อและทดสอบแอป GitLab
ในฐานะผู้ใช้ที่มีสิทธิ์ ให้เปิด GitLab จากไดเรกทอรีปลั๊กอิน หรือ การตั้งค่า > ปลั๊กอิน เลือก ติดตั้งปลั๊กอิน แล้วเลือก เชื่อมต่อ
หากเวิร์กสเปซของคุณมีแอป GitLab มากกว่าหนึ่งแอป ให้เลือกแอปสำหรับโฮสต์ GitLab Self-Managed หรือ GitLab Dedicated นี้
ให้สิทธิ์แอปพลิเคชัน GitLab OAuth เมื่อระบบแจ้ง
เริ่มจากการดำเนินการอ่านเล็กๆ ใน ChatGPT หรือ Codex เช่น แสดงรายการโปรเจกต์ที่เข้าถึงได้ หรือดึงข้อมูลคำขอผสานที่ทราบอยู่แล้ว
หากเปิดใช้การดำเนินการเขียน ให้ทดสอบในโปรเจกต์ที่มีความเสี่ยงต่ำและในผลิตภัณฑ์แต่ละรายการที่จะใช้งาน ก่อนเปิดตัวในวงกว้าง
ชื่อโฮสต์และลักษณะการทำงานของ OAuth
แอปใช้ชื่อโฮสต์เพื่อกำหนดปลายทางของ GitLab ป้อนเฉพาะโฮสต์ เช่น gitlab.example.com อย่าใส่ https://, พาธ API หรือ Repository, พอร์ต หรือ gitlab.com เทมเพลตนี้ใช้สำหรับ GitLab Self-Managed หรือ GitLab Dedicated สำหรับ GitLab.com (SaaS) ให้ใช้แอป GitLab
การแก้ปัญหาการตั้งค่าแอป GitLab Self-Managed
Redirect URI ไม่ตรงกัน: ตรวจสอบว่า Redirect URI ของแอปพลิเคชัน GitLab OAuth ตรงกับ Redirect URI ที่แสดงใน ChatGPT ทุกประการ
ChatGPT สร้างหรือบันทึกแอปฉบับร่างไม่ได้: ตรวจสอบว่าได้ระบุชื่อโฮสต์, Application ID, Secret และ Redirect URI แล้ว
ยืนยันตัวตนสำเร็จแต่เรียกใช้โปรเจกต์ไม่ได้: ตรวจสอบว่าผู้ใช้ GitLab ที่ให้สิทธิ์เข้าถึงโปรเจกต์ได้ และแอปพลิเคชัน OAuth มีขอบเขตที่เทมเพลตกำหนด
API ส่งคืน 403 หรือมีสิทธิ์ไม่เพียงพอ: ตรวจสอบว่าบัญชี GitLab ที่เชื่อมต่อมีสิทธิ์ในโปรเจกต์หรือกลุ่มตามที่กำหนด และแอปพลิเคชัน OAuth มีขอบเขตที่เทมเพลตกำหนด
เข้าถึงโปรเจกต์ไม่ได้เลย: ตรวจสอบว่าผู้ใช้มีสิทธิ์เข้าถึงโปรเจกต์ เชื่อมต่อกับอินสแตนซ์ GitLab ที่ต้องการ และเลือกแอป GitLab ที่ถูกต้องใน ChatGPT หรือ Codex
