SonarQube रिपोर्ट API और वेबहूक्स

यह लेख वर्णन करता है कि कैसे प्रोग्रामैटिकली SonarQube सुरक्षा रिपोर्ट्स तक पहुंचा जाए जो Procurize प्लेटफ़ॉर्म में संग्रहीत हैं। यह रिपोर्टों की सूची बनाने और प्राप्त करने, रिपोर्ट अभिलेख डाउनलोड करने, और नई रिपोर्टों के इन्जेस्ट होते ही वेबहूक सूचनाओं की सदस्यता लेने के लिए REST API को कवर करता है।

अवलोकन

SonarQube रिपोर्ट्स उप-मॉड्यूल संगठनों को SonarQube द्वारा उत्पन्न सुरक्षा और कोड गुणवत्ता रिपोर्ट्स को केंद्रीयकृत रूप से संग्रहित और प्रबंधित करने की सुविधा देता है। Procurize प्लेटफ़ॉर्म इस डेटा को निम्नलिखित के माध्यम से उजागर करता है:

  • संग्रहीत रिपोर्ट्स के मेटाडेटा को प्राप्त करने के लिये एक REST API
  • रिपोर्ट अभिलेख को ZIP अभिलेख के रूप में डाउनलोड करने के लिये एक एंडपॉइंट
  • नई रिपोर्ट उपलब्ध होने पर लगभग वास्तविक‑समय सूचनाओं के लिये वेबहूक्स

इन क्षमताओं से CI/CD पाइपलाइन, GRC सिस्टम, आंतरिक डैशबोर्ड, और तृतीय‑पक्ष जोखिम प्रबंधन उपकरणों के साथ एकीकरण संभव होता है।

प्रमाणीकरण और प्राधिकरण

इस लेख में वर्णित सभी API अनुरोधों को प्रमाणीकरण की आवश्यकता नहीं होती।

संगठन ID

यहाँ वर्णित सभी अनुरोधों के लिए एक संगठन ID आवश्यक है।
आप इसे संगठन के सेटिंग पैनल में https://dashboard.procurize.ai पर पा सकते हैं।
कृपया ध्यान दें कि सेटिंग पैनल तक पहुँच के लिये अधिकार आवश्यक हैं, और संगठन के सेटिंग पैनल तक पहुँचने के लिये उस संगठन में कम से कम “Administrator” भूमिका वाला उपयोगकर्ता होना चाहिए।

कॉपी ID बटन

बेस URL

सभी REST API एंडपॉइंट्स निम्नलिखित बेस URL के तहत सर्व किए जाते हैं:

https://api.procurize.com

SonarQube रिपोर्ट्स REST API

रिपोर्टों की सूची

प्लेटफ़ॉर्म में संग्रहीत SonarQube सुरक्षा रिपोर्ट्स की पृष्ठीकृत सूची प्राप्त करता है।

एंडपॉइंट

GET /security/report/list

क्वेरी पैरामीटर्स

  • org (आवश्यक): संगठन ID।
  • version (वैकल्पिक): उत्पादों का सटीक संस्करण, Semantic Versioning फॉर्मेट में।
  • minver (वैकल्पिक): उत्पादों का न्यूनतम संस्करण, Semantic Versioning फॉर्मेट में।
  • maxver (वैकल्पिक): उत्पादों का अधिकतम संस्करण, Semantic Versioning फॉर्मेट में।

कृपया ध्यान दें कि अनुरोध के लिये कम से कम version, minver या maxver में से एक पैरामीटर आवश्यक है।

अनुरोध उदाहरण

curl "https://api.procurize.com/security/report/list?org=00000000-0000-0000-0000-000000000001&version=1.0"

प्रतिक्रिया उदाहरण

{
  "organizationId": "00000000-0000-0000-0000-000000000001",
  "reports": [
    {
      "projectName": "Test product",
      "id": "00000000-0000-0000-0000-000000000002",
      "reportType": "CWE Top 25",
      "reportVersion": 2024,
      "projectVersion": "1.0",
      "date": "2025-12-17T09:05:48.5946432+00:00",
      "uploadDate": "2025-12-17T09:05:48.5946432+00:00",
      "vulnerabilitiesCount": 0,
      "securityRating": "A"
    }
  ]
}

रिपोर्ट अभिलेख डाउनलोड करें

पूरा SonarQube रिपोर्ट अभिलेख (HTML और PDF रिपोर्ट सहित) वाला ZIP अभिलेख डाउनलोड करता है।

एंडपॉइंट

GET /security/report/files
  • org (आवश्यक): संगठन ID।
  • reports (आवश्यक): रिपोर्ट IDs की सरणी।

अनुरोध उदाहरण

curl "https://api.procurize.com/security/report/files?org=00000000-0000-0000-0000-000000000001&reports=00000000-0000-0000-0000-000000000002&reports=00000000-0000-0000-0000-000000000003"

प्रतिक्रिया

  • सामग्री प्रकार: application/zip
  • प्रतिक्रिया बॉडी में बाइनरी ZIP फ़ाइल होती है

क्लाइंट को प्रतिक्रिया को स्ट्रीम करना चाहिए और डिस्क में सहेजना चाहिए।

त्रुटि संभालना

API मानक HTTP स्थिति कोड्स का उपयोग करता है।

  • 200 OK: अनुरोध सफल
  • 204 No Content: रिपोर्ट मौजूद नहीं
  • 400 Bad Request: अमान्य पैरामीटर या गलत अनुरोध
  • 500 Internal Server Error: अप्रत्याशित सर्वर त्रुटि

त्रुटि प्रतिक्रियाओं में मशीन‑पठनीय त्रुटि कोड और मानव‑पठनीय संदेश शामिल होते हैं।

वेबहूक्स

Procurize वेबहूक्स बाहरी सिस्टम को नई SonarQube रिपोर्ट्स इन्जेस्ट या अपडेट होने पर सूचनाएँ प्राप्त करने की अनुमति देते हैं।

वेबहूक्स कॉन्फ़िगर करना

वेबहूक्स को संगठन के सेटिंग पैनल, सुरक्षा रिपोर्ट्स सेक्शन में https://dashboard.procurize.ai पर जोड़ा या संपादित किया जा सकता है।
कृपया ध्यान दें कि सेटिंग पैनल तक पहुँच के लिये अधिकार आवश्यक हैं, और संगठन के सेटिंग पैनल तक पहुँचने के लिये उस संगठन में कम से कम “Administrator” भूमिका वाला उपयोगकर्ता होना चाहिए।

वेबहूक्स संपादक

वेबहूक्स की जाँच के लिये आप https://webhook-test.com जैसी लोकप्रिय ऑनलाइन सेवाओं का उपयोग कर सकते हैं।

वेबहूक पेलोड

वेबहूक इवेंट्स HTTP POST अनुरोधों के रूप में JSON पेलोड के साथ भेजे जाते हैं।

उदाहरण पेलोड

{
  "organizationId": "00000000-0000-0000-0000-000000000001",
  "reports": [
    {
      "projectName": "Test product",
      "id": "00000000-0000-0000-0000-000000000002",
      "reportType": "CWE Top 25",
      "reportVersion": 2024,
      "projectVersion": "1.0",
      "date": "2025-12-17T09:05:48.5946432+00:00",
      "uploadDate": "2025-12-17T09:05:48.5946432+00:00",
      "vulnerabilitiesCount": 0,
      "securityRating": "A"
    }
  ]
}

वेबहूक सुरक्षा

प्रामाणिकता सुनिश्चित करने के लिये वेबहूक अनुरोधों में एक सिग्नेचर हेडर शामिल होता है जिसे साझा सीक्रेट से उत्पन्न किया जाता है।

  • हस्ताक्षर HMAC-SHA256 का उपयोग करके गणना किया जाता है
  • क्लाइंट को पेलोड प्रोसेस करने से पहले हस्ताक्षर की जाँच करनी चाहिए

यह अनधिकृत या जाली वेबहूक डिलीवरी को रोकता है।

डिलिवरी और पुनः प्रयत्न

  • वेबहूक्स को सफल डिलीवरी माना जाने के लिये 2xx प्रतिक्रिया चाहिए
  • असफल डिलीवरी स्वचालित रूप से प्रतिघंटा पुनः प्रयास की जाती है
  • इवेंट्स कई बार डिलीवर हो सकते हैं; ग्राहकों को इडेम्पोटेंट प्रोसेसिंग लागू करनी चाहिए

सामान्य उपयोग केस

  • आंतरिक सुरक्षा डैशबोर्ड में SonarQube निष्कर्षों को स्वचालित रूप से इन्जेस्ट करें
  • गुणवत्ता गेट असफल होने पर अनुपालन वर्कफ़्लो ट्रिगर करें
  • ऑडिट और विक्रेता जोखिम समीक्षाओं के लिये सुरक्षा रिपोर्टों को संरेखित करें
  • तीसरे पक्ष के सिस्टम को नवीनतम कोड सुरक्षा स्थिति के साथ सिंक रखें
ऊपर
भाषा चुनें