外观
发布与审核
准备认证和展示信息
使用具备 plugins:read、plugins:write、releases:write 的 PAT,并先取得管理员批准的命名空间。 创建 metadata.json,包含 display_name、summary、description,以及可空的 icon_url、docs_url、support_url。
json
{
"display_name": "我的插件",
"summary": "一句话用途",
"description": "完整说明",
"icon_url": null,
"docs_url": null,
"support_url": null
}提交平台归档
sh
pluginctl publish --name my-team/my-plugin --metadata ./metadata.json --artifacts-dir ./artifacts --journal ./publish-1.0.0.json --endpoint https://market.example/v1/graphql --json首次创建展示草稿,并与首个版本一起提交一次审核;已有名称必须属于你当前有权管理的插件。 artifacts-dir 放置 pack 生成的 tar.gz 与 .pack.json。使用 source-url 时与 artifacts-dir 互斥,并明确 version 和 family。 publish 本地预检名称和字节,稳定记录 command ID,然后上传并等待校验达到 pending_review。
等待明确审核
sh
pluginctl status --name my-team/my-plugin --endpoint https://market.example/v1/graphql --json临时上传和候选材料保留 7 天,校验、审核与重试不会延期。上传 URL 有效期为 15 分钟; 材料过期后使用新的上传和候选重提未发布版本。
pending_review 和 publishing 都不是 published。管理员在审核队列核对 listing 与精确 release,并明确批准或拒绝。 最终鉴权并提交持久发布承诺后,系统写公开字节、snapshot与HTML,再独立确认两channel。 承诺前失权会拒绝候选;承诺后的ownership变化不取消原授权发布。后续版本不改变展示可见性。 通用 publish 不自行审批,即使调用者是管理员。
确认真实交付
使用distribution地址和authority UUID匿名show;按平台download并校验SHA-256/大小。 只取得 accepted receipt 或看到上传成功都不能证明审核通过或可下载。
sh
pluginctl publication-status --command-id <original-command-uuid> --endpoint https://market.example/v1/graphql --json结果区分stable/preview和HTML进度。failed/unknown由管理员按当前revision显式恢复原publication:
sh
pluginctl publication-recover --publication-id <publication-uuid> --revision <current-revision> --command-id <recovery-command-uuid> --endpoint https://market.example/v1/graphql --json保留原publication和原发布命令,不重传或换版本制造第二次发布。恢复命令applied只证明已重新排队。