मुख्य कंटेंट तक स्किप करें

GitLab एकीकरण

स्वचालित विश्लेषण के लिए अपने GitLab रिपॉजिटरी को ArchiCore से कनेक्ट करें।

विशेषताएं

  • सेल्फ-होस्टेड सपोर्ट — gitlab.com या अपने GitLab इंस्टेंस से कनेक्ट करें
  • मल्टीपल इंस्टेंस — एक साथ कई GitLab सर्वर कनेक्ट करें
  • प्राइवेट रिपॉजिटरी — प्राइवेट प्रोजेक्ट्स तक पूर्ण पहुंच
  • ब्रांच चयन — विश्लेषण करने के लिए ब्रांच चुनें
  • ऑटो-विश्लेषण — पुश इवेंट्स पर स्वचालित विश्लेषण
  • मर्ज रिक्वेस्ट रिव्यू — MR पर AI-संचालित कोड रिव्यू

सेटअप

चरण 1: पर्सनल एक्सेस टोकन बनाएं

  1. अपने GitLab → सेटिंग्सएक्सेस टोकन पर जाएं
  2. इन आवश्यक स्कोप के साथ नया टोकन बनाएं:
    • apiआवश्यक, पूर्ण API एक्सेस के लिए (प्राइवेट रिपॉजिटरी, वेबहुक, MR कमेंट्स)
    • read_repositoryआवश्यक, रिपॉजिटरी कंटेंट पढ़ने के लिए
आवश्यक स्कोप

प्राइवेट रिपॉजिटरी के लिए, api स्कोप अनिवार्य है। इसके बिना, ArchiCore प्राइवेट प्रोजेक्ट्स तक नहीं पहुंच सकता, भले ही आप रिपॉजिटरी के मालिक या एडमिन हों।

  1. टोकन कॉपी करें (आप इसे फिर नहीं देखेंगे!)

चरण 2: GitLab इंस्टेंस कनेक्ट करें

वेब इंटरफेस के माध्यम से:

  1. ArchiCore → सेटिंग्सएकीकरण पर जाएं
  2. GitLab जोड़ें पर क्लिक करें
  3. अपना GitLab URL दर्ज करें (जैसे https://gitlab.com या https://gitlab.company.com)
  4. अपना पर्सनल एक्सेस टोकन पेस्ट करें
  5. कनेक्ट पर क्लिक करें

API के माध्यम से:

curl -X POST https://api.archicore.io/api/gitlab/instances \
-H "Authorization: Bearer आपका_ARCHICORE_टोकन" \
-H "Content-Type: application/json" \
-d '{
"instanceUrl": "https://gitlab.company.com",
"accessToken": "आपका_GITLAB_PAT",
"name": "कंपनी GitLab"
}'

चरण 3: रिपॉजिटरी कनेक्ट करें

  1. GitLab इंस्टेंस कनेक्ट करने के बाद, प्रोजेक्ट जोड़ें पर क्लिक करें
  2. GitLab इंस्टेंस चुनें
  3. अपना रिपॉजिटरी खोजें
  4. ब्रांच चुनें
  5. कनेक्ट पर क्लिक करें

सेल्फ-होस्टेड GitLab

ArchiCore सेल्फ-होस्टेड GitLab इंस्टेंस का पूर्ण समर्थन करता है।

SSL प्रमाणपत्र

यदि आपका GitLab सेल्फ-साइन्ड सर्टिफिकेट का उपयोग करता है:

  1. कनेक्ट करते समय, "सेल्फ-साइन्ड सर्टिफिकेट की अनुमति दें" सक्षम करें
  2. या API कॉल में rejectUnauthorizedSSL: false सेट करें

नेटवर्क एक्सेस

Webhook काम करने के लिए, आपके GitLab इंस्टेंस को ArchiCore के webhook एंडपॉइंट तक पहुंचने में सक्षम होना चाहिए:

https://api.archicore.io/api/gitlab/webhook

यदि ArchiCore भी सेल्फ-होस्टेड है, तो अपने वातावरण में GITLAB_WEBHOOK_URL कॉन्फ़िगर करें।

मल्टीपल इंस्टेंस

आप मल्टीपल GitLab इंस्टेंस कनेक्ट कर सकते हैं:

  • gitlab.com (पब्लिक)
  • gitlab.company.com (कॉर्पोरेट)
  • gitlab.client.com (क्लाइंट प्रोजेक्ट्स)

प्रत्येक इंस्टेंस अपने क्रेडेंशियल्स के साथ अलग से प्रबंधित होता है।

Webhooks

ArchiCore इनके लिए स्वचालित रूप से webhook बना सकता है:

  • पुश इवेंट्स — कोड पुश होने पर विश्लेषण ट्रिगर करें
  • मर्ज रिक्वेस्ट इवेंट्स — MR में AI रिव्यू कमेंट्स जोड़ें

Webhook सेटअप

जब आप "ऑटो-विश्लेषण" सक्षम रिपॉजिटरी कनेक्ट करते हैं तो Webhook स्वचालित रूप से बनाए जाते हैं।

मैनुअल webhook कॉन्फ़िगरेशन:

  1. अपने GitLab प्रोजेक्ट → सेटिंग्सWebhooks पर जाएं
  2. URL जोड़ें: https://api.archicore.io/api/gitlab/webhook
  3. सीक्रेट टोकन: (ArchiCore द्वारा प्रदान)
  4. सक्षम करें: पुश इवेंट्स, मर्ज रिक्वेस्ट इवेंट्स

API संदर्भ

इंस्टेंस सूची

GET /api/gitlab/instances

इंस्टेंस जोड़ें

POST /api/gitlab/instances
Content-Type: application/json

{
"instanceUrl": "https://gitlab.company.com",
"accessToken": "glpat-xxxxxxxxxxxx",
"name": "मेरा GitLab",
"rejectUnauthorizedSSL": true
}

प्रोजेक्ट सूची

GET /api/gitlab/instances/{instanceId}/projects?search=myproject

ब्रांच सूची

GET /api/gitlab/instances/{instanceId}/projects/{projectId}/branches

रिपॉजिटरी कनेक्ट करें

POST /api/gitlab/repositories/connect
Content-Type: application/json

{
"instanceId": "uuid",
"projectId": 123,
"autoAnalyze": true,
"analyzeMRs": true,
"branch": "main"
}

रिपॉजिटरी डिस्कनेक्ट करें

DELETE /api/gitlab/repositories/{repoId}

समस्या निवारण

"अमान्य टोकन"

  • समाप्ति जांचें — सुनिश्चित करें कि आपका PAT समाप्त नहीं हुआ है
  • स्कोप सत्यापित करें — टोकन में api और read_repository स्कोप होने चाहिए
  • URL जांचें — सेल्फ-होस्टेड GitLab के लिए, सुनिश्चित करें कि URL सही है (https:// सहित)
  • टोकन पुनर्जनन करें — यदि समस्याएं जारी रहती हैं, तो सही स्कोप के साथ नया टोकन बनाएं

"SSL प्रमाणपत्र त्रुटि"

  • कनेक्ट करते समय "सेल्फ-साइन्ड सर्टिफिकेट की अनुमति दें" सक्षम करें
  • या अपना CA सर्टिफिकेट सिस्टम ट्रस्ट स्टोर में जोड़ें

"Webhook इवेंट्स प्राप्त नहीं कर रहा"

  • सत्यापित करें कि आपका GitLab webhook URL तक पहुंच सकता है
  • GitLab → प्रोजेक्ट → सेटिंग्स → Webhooks → हाल की डिलीवरी जांचें
  • सुनिश्चित करें कि webhook सीक्रेट मेल खाता है

"रिपॉजिटरी नहीं मिला"

  • टोकन स्कोप जांचें — प्राइवेट रिपॉजिटरी के लिए, आपके PAT में api स्कोप होना चाहिए। अकेले read_api स्कोप पर्याप्त नहीं है।
  • टोकन अनुमतियां सत्यापित करें — भले ही आप रिपॉजिटरी एडमिन या मालिक हों, गलत स्कोप वाला टोकन प्राइवेट प्रोजेक्ट्स तक नहीं पहुंच सकता।
  • पूर्ण पथ दर्ज करें — कनेक्ट करते समय, केवल प्रोजेक्ट नाम नहीं, पूर्ण रिपॉजिटरी पथ का उपयोग करें (जैसे ग्रुप/सबग्रुप/प्रोजेक्ट-नाम)।
  • आर्काइव स्थिति जांचें — आर्काइव्ड रिपॉजिटरी खोज परिणामों में दिखाई नहीं दे सकती।
  • सही इंस्टेंस सत्यापित करें — सुनिश्चित करें कि आप सही GitLab सर्वर (gitlab.com vs सेल्फ-होस्टेड) देख रहे हैं।