प्लगइन के लिए त्वरित शुरुआत
यह गाइड आपको जल्दी ही खाली फ़ोल्डर से चलते हुए प्लगइन तक पहुँचाती है।
1) केवल बैकएंड वाला न्यूनतम प्लगइन बनाएँ
इन फ़ाइलों वाला एक फ़ोल्डर बनाएँ:
text
my-plugin/
manifest.json
backend/
script.jsmanifest.json:
json
{
"id": "my-plugin",
"name": "My Plugin",
"version": "0.1.0",
"plugins": [
{
"kind": "backend",
"id": "my-plugin-backend",
"entrypoint": "backend/script.js"
}
]
}backend/script.js:
js
async function init(sdk) {
sdk.console.log("Plugin started");
sdk.events.onInterceptResponse(function(req, res) {
if (!res) return;
if (res.getCode() === 403) {
sdk.console.warn("403 on " + req.getUrl());
}
});
}प्लगइन > इंस्टॉल करें से इंस्टॉल करें, फ़ोल्डर चुनें, प्लगइन चालू करें और जाँचें कि लॉग में Plugin started दिखाई देता है।
2) यदि आप TypeScript का उपयोग कर रहे हैं
इस संरचना का उपयोग करें:
text
my-plugin/
manifest.json
backend/
src/index.tsइस कमांड से बंडल बनाएँ:
bash
pnpm add -D @ogmabox/ogma-sdk esbuild typescript
pnpm exec esbuild backend/src/index.ts \
--bundle \
--platform=neutral \
--format=iife \
--external:@ogma/sdk --external:@ogmabox/ogma-sdk \
--outfile=backend/script.jsफिर ऊपर बताए अनुसार फ़ोल्डर इंस्टॉल करें।
3) बाद में फ्रंटएंड जोड़ें
फ्रंटएंड एंट्री और UI फ़ाइलें तभी जोड़ें जब आपको पैनल की आवश्यकता हो:
text
my-plugin/
frontend/
script.js
style.css # optionalफिर manifest.json में यह जोड़ें:
json
{
"kind": "frontend",
"id": "my-plugin-frontend",
"entrypoint": "frontend/script.js",
"backend": { "id": "my-plugin-backend" }
}फ्रंटएंड संचार के लिए window.ogmaSDK.ready(...) का उपयोग करें और बैकएंड कॉल को sdk.api हैंडलर में रखें।
4) वे अनुमतियाँ जिनकी आपको लगभग हमेशा आवश्यकता होती है
ऊपर दिए बैकएंड उदाहरण के लिए:
- कोई अनुमति आवश्यक नहीं (सुरक्षित डिफ़ॉल्ट अनुमतियाँ अपने-आप प्रदान की जाती हैं)
यदि आपका प्लगइन बाहरी अनुरोध भेजता है, तो जोड़ें:
json
"permissions": ["send_requests"]यदि आपका प्लगइन निष्कर्ष लिखता है, तो जोड़ें:
json
"permissions": ["write_findings"]केवल वही अनुमतियाँ माँगें जिनका आप वास्तव में उपयोग करते हैं।
पहले प्लगइन की समस्याएँ हल करना
Plugin failed to initialize→ लॉग खोलें और सुनिश्चित करें किinit(sdk)परिभाषित है।Invalid manifest→ JSON के कॉमा और उद्धरण चिह्न जाँचें।- कॉलबैक नहीं चल रहे → सुनिश्चित करें कि प्लगइन चालू है और संबंधित इवेंट (
onInterceptResponse) रजिस्टर किया गया है।
पूरे API संदर्भ के लिए: