プラグインクイックスタート
このガイドでは、空のフォルダーから動作するプラグインをすばやく作成します。
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 リファレンス: