Plugins
Create plugin asks for a name, the plugin’s id (the sameid as in plugin.json), whether it’s an airline or a pilot plugin, and whether it’s Public or Private (private plugins). Each plugin then has these tabs:
- Versions: every upload with its review and release. Open a version for its What’s new, source and history.
- Listing: the name, summary, About, icons and screenshots airlines see in Browse plugins. Uploading a version never changes the listing. A new plugin’s name and description come from
plugin.jsononly while the listing is empty. - Airlines (Pilots for a pilot plugin): who has it installed. For a private plugin, this is also where you share it with other airlines by their invite code.
- Settings, Distribution and Deprecate or unpublish.
Publishing a version
Use Publish a version and drop in the zip frompnpm bundle, or upload from a script with an API token that has the plugin:upload scope (Build & Deploy). Before uploading, the sheet checks the zip: a readable plugin.json with snake_case keys only, an id that matches this plugin, and a version newer than your latest.
To upload from a script, create the token on the Developer centre’s API tokens tab.
Every version needs a What’s new. Pilots see it with the update and the reviewer reads it. Type it in the sheet when you publish. An upload from a script sends it as the changelog field (SKYVEX_WHATS_NEW with pnpm bundle). Nothing in the zip is read for it.
Drafts
An upload from a script without a What’s new isn’t rejected. It waits as a draft: it isn’t in review and pilots can’t get it. Add a What’s new to the draft in the Developer centre and submit it to send it for review. You also get an email saying it’s waiting. Discard deletes a draft; it never went to review, so you can upload the same version number again.Release modes
Choose when you upload:- Release it straight away (automatic): released as soon as it’s approved.
- I’ll release it myself (manual): waits as Ready to release until you press Release, so you can time an update.