公開申請(認定プラグイン)
開発者登録 → 名前空間 claim → niyase-plugin publish → 人手審査 → 公開 の流れ。SDK は npm 公開済み。
認定プラグイン(CERTIFIED)をマーケットプレイスで公開するまでの流れです。本ページは第三者が開発する認定プラグインが対象です。niyase 自身が作る公式プラグインは別の内部リリース経路(自動承認)を使うため対象外です。
@niyase/plugin-sdk は MIT ライセンスで npm に公開済みです。モノレポの外からでも npm install @niyase/plugin-sdk や npx @niyase/plugin-sdk new でそのまま開発を始められます(セットアップ)。
STEP 1: 開発者登録
marketplace の開発者ポータル(marketplace.niyase.com/developer、ログイン後は /me)で開発者プロフィール(表示名・slug)を登録します。
STEP 2: 名前空間を claim
プラグイン ID の @scope 部分(名前空間)を claim します。
@your-org/tasks を申請するには @your-org を所有している必要があります(先着順。@niyase は公式用に予約済み)。
STEP 3: 公開トークン(PAT)を発行
開発者ポータルで plugin.* スコープの Personal Access Token(PAT) を発行します。既存の個人アクセストークンと同じ仕組みですが、資格は明確に分離されています。plugin.* だけのトークンは通常の API を呼べず、開発者ポータル専用のルートしか通れません。
| スコープ | 用途 |
|---|---|
plugin.publish | 申請の作成・提出 |
plugin.read.stats | インストール統計参照 |
plugin.manage | プロフィール・名前空間管理 |
有効期限は必須で、既定 90 日・上限 365 日です(無期限トークンは発行できません)。開発者ポータルの画面から発行すると plugin.publish + plugin.read.stats が既定で付与されます。plugin.manage が必要な場合や有効期限を変えたい場合は API を直接呼んでください。PAT を使って新しい PAT を発行することはできません(セッションログイン中のみ発行可能です)。
STEP 4: 申請
CLI でビルド・検証・申請までを一括で行います。
NIYASE_TOKEN=<your plugin.publish PAT> niyase-plugin publish
# ✓ built (sha256 …)
# ✓ manifest 検証 OK (@your-org/tasks)
# ✓ 申請を送信しました (submission ..., state=SUBMITTED)
publish は内部で次を行います: ビルド → validateManifest() → 申請作成(DRAFT)→ バンドルアップロード(multipart、sha256 付き)→ 審査依頼(SUBMITTED)。
--dry-run を付けるとビルドと検証までで停止します(ネットワークに出ません)。トークンは --token / NIYASE_TOKEN / ~/.niyaserc の順で解決され、送信先は既定で https://api.niyase.com(--registry / NIYASE_REGISTRY で変更可)です。
公開の要件
審査の対象になるには、次を満たす必要があります。
- プラグイン ID が
@名前空間/名前の形式であること(例:@your-company/your-plugin) - マニフェストに niyase のカテゴリを指定していること
displayName/descriptionが明確で、誇大な表現を含まないこと- ライセンスを明示していること(MIT・Apache 2.0 等の OSS、または商用ライセンス)
- 外部 API を呼ぶ場合は、通信先と取得データの目的を明示すること
- ユーザーデータの扱いがプライバシーポリシーに沿っていること
STEP 5: 審査 → 公開
申請は状態機械(plugin_submission.state)で進みます。カッコ内は開発者ポータルでの表示ラベルです。
DRAFT(下書き) → SUBMITTED(申請済) → IN_REVIEW(審査中)
→ { CHANGES_REQUESTED(修正依頼) | APPROVED(承認) | REJECTED(却下) }
CHANGES_REQUESTED → SUBMITTED(修正して再提出)
APPROVED → PUBLISHED(公開)
{DRAFT | SUBMITTED | IN_REVIEW | CHANGES_REQUESTED} → WITHDRAWN(取り下げ)
PUBLISHED / REJECTED / WITHDRAWN は終端状態です。バージョン更新は新しい申請として作成し、再審査を受けます。
niyase スタッフが manifest とバンドル(署名付き URL)を確認し、承認 → 公開でマーケットプレイスに掲載されます。修正依頼はコメント付きで差し戻され、修正して再提出できます。申請中はいつでも取り下げ(withdraw)できます。申請状況は開発者ポータルのダッシュボードから確認できます。
公式プラグイン(niyase 自身が作る
@niyase/*)は別の内部スクリプトで自動承認されてリリースされます。認定プラグインは第三者のコードであるため、必ず人の手による審査を経ます。
実行基盤
認定プラグインのサーバーサイド処理はプラグイン開発企業が自社のインフラで提供します。niyase はコンピューティングリソースを提供しません。niyase が提供するのは次のものです。
| 提供物 | 説明 |
|---|---|
| Webhook | プラグインイベントを外部サーバーに通知 |
| API キー認証 | 外部サーバー認証用トークン |
| コールバック API | 外部サーバー → niyase の結果返信 |
| 汎用 CRUD API | プラグイン専用テーブルへの読み書き(コア API 連携) |
| バンドル配信 | GCS からのプロキシ配信。読み込み時に sha256 を再検証(不一致は配信を拒否) |
公開されたバンドルは、cloud では sandboxed iframe、desktop では <webview>、mobile では React Native WebView という、それぞれ別実行文脈で動きます(ホストの Cookie / localStorage には触れず、通信はブリッジ限定)。この配信は cloud に限定されず、cloud / desktop / mobile の 3 アプリすべてが対象です。
現時点では使えないもの(GA まで)
- プラグインの自社サーバーへの直接連携: ブラウザ上で動くプラグイン UI から、開発者自身のサーバーへ直接
fetchする経路(niyase.partnerproxy)は GA まで実装されません。ブラウザ側の bridge が使えるのはniyase.data/niyase.coreのみです。自社サーバーとの連携が必要な場合は、サーバー間(あなたのサーバー → niyase のコールバック API)で完結させてください。 - 独自ドメイン:
developer.niyase.comは GA で用意予定の marketplace への vanity ドメインです。現在は marketplace 内の開発者ポータル(marketplace.niyase.com/developer)を使います。
公開後
- バージョン更新は新しい申請として再審査されます
- インストール数・申請状況は開発者ポータルのダッシュボードで確認できます
- 整合性: 配布バンドルはアップロード時の sha256 と照合され、不一致なら配信されません