OpenAI
หน้านี้แปลด้วยระบบอัตโนมัติ ดูต้นฉบับภาษาอังกฤษ.

ตั้งค่าเทมเพลตแอป GitHub Enterprise ใน ChatGPT

เรียนรู้วิธีที่ผู้ดูแลเวิร์กสเปซสามารถกำหนดค่าเทมเพลตแอป GitHub Enterprise ใน ChatGPT โดยใช้ GitHub App ขององค์กรตนเอง

อัปเดตล่าสุด: 21 days ago

ภาพรวม

ใช้คู่มือนี้หากคุณเป็นผู้ดูแลเวิร์กสเปซ ChatGPT ที่กำลังตั้งค่าเทมเพลตแอป GitHub Enterprise สำหรับองค์กรของคุณ เทมเพลตไม่ใช่แอปสุดท้ายที่สมาชิกใช้ เทมเพลตคือขั้นตอนการตั้งค่าที่สร้างแอปฉบับร่างเฉพาะเวิร์กสเปซ หลังจากคุณให้การกำหนดค่า GitHub Enterprise ที่จำเป็น

สำหรับ GitHub Enterprise การตั้งค่าจะเชื่อมต่อ ChatGPT กับ โฮสต์ GitHub Enterprise ขององค์กรคุณ คุณสร้าง GitHub App ลงทะเบียน URL Callback ของ ChatGPT สร้างข้อมูลประจำตัว จากนั้นวางค่าเหล่านั้นลงในขั้นตอนตั้งค่าเทมเพลต ChatGPT หลังจาก ChatGPT สร้างแอปฉบับร่างแล้ว คุณสามารถเผยแพร่และจัดการได้เหมือนแอปเวิร์กสเปซอื่นๆ

สิ่งที่คุณกำลังตั้งค่า

คุณกำลังสร้างแอป GitHub Enterprise เฉพาะเวิร์กสเปซใน ChatGPT แอปใช้:

  • GitHub App ที่ลงทะเบียนบนโฮสต์ GitHub Enterprise ของคุณ

  • Client ID และ Client secret ของ GitHub App สำหรับการอนุญาตผู้ใช้ด้วย OAuth

  • คีย์ส่วนตัวของ GitHub App เพื่อให้ ChatGPT สร้าง Token การติดตั้งสำหรับการดำเนินการกับ Repository ได้

  • webhook secret และ URL webhook เพื่อให้ GitHub Enterprise ส่งเหตุการณ์การติดตั้งและ Repository กลับไปยัง ChatGPT

  • ชื่อโฮสต์ GitHub Enterprise ของคุณ เช่น github.example.com

สร้าง GitHub App ไม่ใช่ GitHub OAuth App แบบสแตนด์อโลน การตั้งค่าเทมเพลต ChatGPT ต้องใช้ข้อมูลประจำตัว GitHub App, คีย์ส่วนตัว และการตั้งค่า webhook

ก่อนเริ่มต้น

คุณต้องมี:

  • สิทธิ์ผู้ดูแลหรือเจ้าของเวิร์กสเปซ ChatGPT

  • สิทธิ์ผู้ดูแล GitHub Enterprise หรือเจ้าขององค์กรที่สามารถสร้างและติดตั้ง GitHub Apps ได้

  • เฉพาะชื่อโฮสต์ GitHub Enterprise โดยไม่มี https:// หรือพาธ

  • การตัดสินใจว่าต้องการให้ ChatGPT รองรับการดำเนินการใดกับ Repository เช่น การค้นหา Repository แบบอ่านอย่างเดียว เวิร์กโฟลว์ Pull Request เวิร์กโฟลว์ issue การแก้ไขไฟล์ GitHub Actions หรือเวิร์กโฟลว์ Codex ที่กว้างขึ้น

  • สถานที่ปลอดภัยสำหรับจัดการคีย์ส่วนตัวและ Client secret ของ GitHub App

เปิด ChatGPT และ GitHub Enterprise ไว้ในแท็บแยกกัน อย่าคิด URL Callback ขึ้นเอง คัดลอก URL Callback ที่แสดงใน ChatGPT ให้ตรงทุกประการ

ค่าที่ต้องเตรียม

  • ชื่อโฮสต์ GitHub Enterprise: เช่น github.example.com

  • URL Callback: คัดลอกจากขั้นตอนตั้งค่าเทมเพลต ChatGPT

  • Client ID ของ GitHub App

  • Client secret ของ GitHub App

  • PEM คีย์ส่วนตัวของ GitHub App

  • webhook secret ที่ ChatGPT สร้างขึ้น

  • URL webhook ที่สร้างขึ้นหลังจากสร้างแอปฉบับร่างใน ChatGPT

เริ่มตั้งค่าเทมเพลตใน ChatGPT

  1. ใน ChatGPT ให้สลับไปยังเวิร์กสเปซที่ต้องการให้แอปใช้งานได้

  2. เปิด การตั้งค่าเวิร์กสเปซ > แอป

  3. เลือก ไดเรกทอรี

  4. ค้นหา GitHub Enterprise

  5. เลือกเทมเพลตแอป GitHub Enterprise แล้วเริ่มตั้งค่า

  6. ป้อนชื่อและคำอธิบายแอปที่ชัดเจน เช่น GitHub Enterprise หรือ GitHub Enterprise - Engineering

  7. ป้อนชื่อโฮสต์ GitHub Enterprise เช่น github.example.com

  8. คัดลอก URL Callback ที่แสดงใน ChatGPT เปิดแท็บนี้ค้างไว้

  9. คัดลอก webhook secret ที่สร้างขึ้น หากแสดงระหว่างการตั้งค่า

ตัวอย่าง URL Callback: https://chatgpt.com/connector/oauth/<callback_id>

อย่าลบ callback ID เพิ่มเครื่องหมายทับปิดท้าย หรือแทนที่ด้วย URL ChatGPT ทั่วไป

สร้าง GitHub App ใน GitHub Enterprise

  1. เปิดโฮสต์ GitHub Enterprise ของคุณ เช่น https://github.example.com

  2. ไปที่องค์กรหรือบัญชีที่ควรเป็นเจ้าของแอป

  3. เปิด การตั้งค่า > การตั้งค่านักพัฒนา > GitHub Apps

  4. เลือก GitHub App ใหม่

  5. ป้อนชื่อแอปที่ชัดเจน เช่น ChatGPT GitHub Enterprise Connector

  6. ป้อน URL หน้าแรก หากไม่มีหน้าภายในเฉพาะ ให้ใช้ URL องค์กร GitHub Enterprise

  7. ใน Callback URL ให้วาง URL Callback ที่คัดลอกมาจาก ChatGPT ให้ตรงทุกประการ

  8. เปิดใช้ Expire user authorization tokens ไว้ เว้นแต่ทีมความปลอดภัยของคุณมีเหตุผลเฉพาะให้เปลี่ยน

  9. เปิดใช้ Request user authorization during installation เพื่อให้ผู้ใช้อนุญาตแอประหว่างการติดตั้งหรือขั้นตอนเชื่อมต่อ

  10. ภายใต้ “สามารถติดตั้ง GitHub App นี้ได้ที่ใด?”ให้เลือกตัวเลือกที่แคบที่สุดซึ่งเหมาะกับการเปิดใช้งานของคุณ

  11. สร้าง GitHub App

กำหนดค่าสิทธิ์และเหตุการณ์

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

สำหรับการค้นพบ Repository และถาม-ตอบแบบอ่านอย่างเดียว ให้เริ่มด้วยสิทธิ์อ่าน เช่น:

  • Metadata: อ่านอย่างเดียว GitHub กำหนดให้ GitHub Apps ต้องมี metadata

  • Contents: อ่านอย่างเดียว สำหรับการเข้าถึงเนื้อหาไฟล์และ Repository

  • Issues: อ่านอย่างเดียว หากต้องค้นหาหรืออ่าน issue

  • Pull requests: อ่านอย่างเดียว หากต้องค้นหา Pull Request หรือใช้บริบทการรีวิว

  • Actions: อ่านอย่างเดียว หากต้องใช้สถานะการรันเวิร์กโฟลว์ งาน บันทึก หรืออาร์ติแฟกต์

สำหรับเวิร์กโฟลว์แบบเขียน ให้เพิ่มสิทธิ์เขียนเฉพาะที่จำเป็น เช่น Contents, Pull requests, Issues, Actions หรือ Workflows ใช้สิทธิ์ที่แคบที่สุดซึ่งรองรับการดำเนินการของ ChatGPT ที่ต้องการ

เหตุการณ์ webhook ควรตรงกับเวิร์กโฟลว์ที่คุณรองรับ เหตุการณ์ทั่วไป ได้แก่ Installation, Installation repositories, Push, Pull request, Issues, Issue comment, Workflow run และ Workflow job

สร้างและคัดลอกข้อมูลประจำตัว GitHub App

  1. ในการตั้งค่า GitHub App ให้คัดลอก Client ID

  2. สร้าง Client secret แล้วคัดลอกทันที

  3. ภายใต้ Private keys ให้สร้างคีย์ส่วนตัว

  4. ดาวน์โหลดไฟล์ .pem และจัดเก็บอย่างปลอดภัย

  5. เปิดไฟล์ .pem ในเครื่อง แล้วคัดลอกข้อความ PEM ทั้งหมด รวมถึงบรรทัดเริ่มต้นและสิ้นสุด

คีย์ส่วนตัวเป็นข้อมูลละเอียดอ่อน ปฏิบัติต่อเหมือนข้อมูลประจำตัว หากถูกเปิดเผย ให้สร้างคีย์ส่วนตัวใหม่ อัปเดตการตั้งค่าแอป ChatGPT และลบคีย์ที่ถูกละเมิดใน GitHub Enterprise

ตั้งค่าให้เสร็จใน ChatGPT

  1. กลับไปที่แท็บตั้งค่าเทมเพลต ChatGPT

  2. วาง Client ID ของ GitHub App ใน รหัสไคลเอ็นต์ OAuth

  3. วาง Client secret ของ GitHub App ใน ข้อมูลลับไคลเอ็นต์ OAuth

  4. ปล่อย ขอบเขต ไว้ตามเดิม เว้นแต่องค์กรของคุณตั้งใจต้องการแทนที่ค่าเริ่มต้นของเทมเพลต

  5. ยืนยันว่าชื่อโฮสต์ GitHub Enterprise เป็นชื่อโฮสต์เท่านั้น เช่น github.example.com

  6. วางหรืออัปโหลด PEM คีย์ส่วนตัวของ GitHub App ลงในคีย์ส่วนตัวของ GitHub App

  7. ยืนยันว่ามี webhook secret ที่สร้างขึ้น

  8. สร้างแอปฉบับร่าง

  9. เปิดรายละเอียดแอปฉบับร่างที่สร้างใน ChatGPT แล้วคัดลอก URL webhook ที่สร้างขึ้น

URL webhook ควรมีลักษณะดังนี้: https://connectors.api.openai.org/connectors/<connector_id>/webhook

ตั้งค่า webhook ให้เสร็จใน GitHub Enterprise

  1. กลับไปที่การตั้งค่า GitHub App ใน GitHub Enterprise

  2. เปิดการตั้งค่าทั่วไปของ GitHub App

  3. เปิดใช้ Active webhooks หากยังไม่ได้เปิดใช้

  4. วาง URL webhook ของ ChatGPT ใน Webhook URL

  5. วาง webhook secret ของ ChatGPT ใน Webhook secret

  6. เปิดใช้การตรวจสอบ SSL ไว้

  7. ยืนยันว่าเหตุการณ์ webhook ที่สมัครรับตรงกับสิทธิ์และการดำเนินการที่คุณเปิดใช้

  8. บันทึกการเปลี่ยนแปลง

เผยแพร่และจัดการแอปใน ChatGPT

การสร้างแอปฉบับร่างไม่ได้ทำให้สมาชิกใช้งานได้โดยอัตโนมัติ หลังจากตรวจสอบฉบับร่างแล้ว:

  1. เผยแพร่แอปฉบับร่าง

  2. ยืนยันว่าแอปปรากฏใน การตั้งค่าเวิร์กสเปซ > แอป > เปิดใช้แล้ว

  3. กำหนดค่า การเข้าถึงของผู้ใช้ สำหรับบทบาทที่ควรใช้แอป

  4. ตรวจสอบ การควบคุมการดำเนินการ สำหรับการดำเนินการอ่านและเขียน

  5. ตรวจสอบ สิทธิ์ของแอป เพื่อเลือกเวลาที่ ChatGPT จะขอให้สมาชิกยืนยันก่อนใช้แอป

  6. ขอให้ผู้ใช้ทดสอบที่ได้รับอนุญาตเปิด แอปใน ChatGPT และยืนยันว่าแอปปรากฏ

สิทธิ์ของแอปเหล่านี้มีผลกับการสนทนาใน ChatGPT เอเจนต์ของเวิร์กสเปซใช้การควบคุมต่อเอเจนต์ที่กำหนดโดยผู้สร้างเอเจนต์ เพื่อระบุว่าการดำเนินการของแอปใดใช้งานได้ และเมื่อใดที่ผู้ใช้ปลายทางต้องอนุมัติ สำหรับพฤติกรรมของเอเจนต์ โปรดดู: เอเจนต์ในเวิร์กสเปซ ChatGPT สำหรับ Enterprise และ Business

ติดตั้งและทดสอบ GitHub App

  1. ใน GitHub Enterprise ให้ติดตั้งแอป GitHub ในองค์กรหรือบัญชี

  2. เลือก Repository ทั้งหมดหรือ Repository ที่เลือกตามนโยบายเวิร์กสเปซ

  3. เริ่มขั้นตอนเชื่อมต่อจาก ChatGPT ในฐานะผู้ใช้ที่ได้รับอนุญาต

  4. อนุญาตแอป GitHub เมื่อมีข้อความแจ้ง

  5. เรียกใช้การดำเนินการอ่านขนาดเล็กก่อน เช่น แสดงรายการ Repository ที่เข้าถึงได้ หรือดึง Pull Request ที่ทราบ

  6. หากเปิดใช้การดำเนินการเขียน ให้ทดสอบกับ Repository ที่มีความเสี่ยงต่ำก่อนเปิดใช้งานในวงกว้าง

ลักษณะการทำงานของชื่อโฮสต์และ OAuth

ChatGPT ใช้ชื่อโฮสต์เพื่อสร้าง endpoint ของ GitHub Enterprise ป้อนเฉพาะโฮสต์ เช่น github.example.com หรือ octocorp.ghe.com

อย่าป้อนพาธ API, พาธ Repository หรือ github.com เว้นแต่นั่นคือโฮสต์ GitHub Enterprise ที่แน่นอนสำหรับแอปนี้

การแก้ปัญหา

  • Redirect URI ไม่ตรงกัน: ยืนยันว่า URL Callback ของ GitHub App ตรงกับ URL Callback ที่แสดงใน ChatGPT ทุกประการ

  • ChatGPT สร้างหรือบันทึกแอปฉบับร่างไม่ได้: ยืนยันว่ามีฟิลด์ที่จำเป็นครบถ้วน รวมถึงชื่อโฮสต์, รหัสไคลเอ็นต์ OAuth, ข้อมูลลับไคลเอ็นต์ OAuth, คีย์ส่วนตัว และ webhook secret

  • การตรวจสอบสิทธิ์สำเร็จแต่การเรียก Repository ล้มเหลว: ยืนยันว่าติดตั้ง GitHub App แล้วและมีสิทธิ์เข้าถึง Repository

  • API ส่งคืน 403 หรือสิทธิ์ไม่เพียงพอ: เพิ่มสิทธิ์ GitHub App ที่ขาด และให้เจ้าของการติดตั้งอนุมัติสิทธิ์ที่อัปเดตหากมีข้อความแจ้ง

  • ไม่มี Repository ปรากฏ: ยืนยันว่าการติดตั้งแอปรวม Repository ที่คาดไว้ และผู้ใช้ที่อนุญาตใน ChatGPT มีสิทธิ์เข้าถึง

  • การส่ง webhook ล้มเหลว: ยืนยันว่า URL webhook และ webhook secret ตรงกับค่าจาก ChatGPT เปิดใช้การตรวจสอบ SSL ไว้ และตรวจสอบให้แน่ใจว่าโฮสต์ GitHub Enterprise เข้าถึง connectors.api.openai.org ได้

  • ข้อผิดพลาดคีย์ส่วนตัว: ยืนยันว่าคัดลอกเนื้อหา PEM ครบถ้วน รวมถึงบรรทัดเริ่มต้นและสิ้นสุด

เอกสารอ้างอิง

บทความนี้มีประโยชน์หรือไม่