Plugin Development
Plugin development is how you add functionality to your DevPortal instance. The kind of project you create depends on the kind of plugin you want to create:
- Frontend plugin: React pages, cards, and tabs that run in the portal UI. Start with Example: Frontend Plugin.
- Backend plugin: server-side APIs and integrations. Start with Example: Backend Plugin.
- Backend module: code that extends an existing backend plugin, such as a custom Scaffolder action.
In DevPortal 3.x you build all three inside a workspace in the public devportal-plugins repository. Each workspace holds a Backstage development host for fast iteration plus one or more product packages under plugins/. The host exists for development only. DevPortal itself loads your plugin as a dynamic plugin, without rebuilding the portal.
The full path from an empty directory to a running plugin is:
- Set up a workspace: install the required Node and Yarn versions, scaffold the workspace, and start the development host.
- Build the plugin inside the workspace: a frontend plugin, a backend plugin, or a custom action.
- Make a frontend plugin appear through routes, menu items, and mount points in dynamic plugin configuration.
- Create your own plugin: export the workspace package and run it in devportal-local. See Loading a Dynamic Plugin for plugin entry shapes.
- Package and install: publish the plugin as an OCI artifact and add a plugin entry.
Read Basics first for the required tool versions. Creating Your Own Plugin walks the whole loop in order, command by command.
Was this helpful?