03e264519a
Pasting a URL like `https://github.com/RoadieHQ/sample-service/blob/master/catalog-info-1.yaml` into the Register Existing Component input creates an Entity with the the `backstage.io/managed-by-location` annotation set to the `type` of `url. The TechDocs perparer does not handle this type. ```ts switch (type) { case 'github': case 'gitlab': case 'azure/api': { // ... } case 'file': // ... default: throw new InputError(`Unable to resolve location type ${type}`); } } ``` Thus, docs are never generated and we see the following error when trying to view then in Backstage. ``` InputError: Unable to resolve location type url at DirectoryPreparer.resolveManagedByLocationToDir (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/techdocs/stages/prepare/dir.ts:63:15) at DirectoryPreparer.prepare (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/techdocs/stages/prepare/dir.ts:73:51) at DocsBuilder.build (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/service/helpers.ts:74:45) at eval (webpack-internal:///../../node_modules/@backstage/plugin-techdocs-backend/src/service/router.ts:141:25) at processTicksAndRejections (internal/process/task_queues.js:93:5) ``` This may not be the correct solution. An alternative solution would be to ensure that pasted URLs end up with the `type` of `github` rather than `url`.
Plugins
Backstage is a single-page application composed of a set of plugins.
Our goal for the plugin ecosystem is that the definition of a plugin is flexible enough to allow you to expose pretty much any kind of infrastructure or software development tool as a plugin in Backstage. By following strong design guidelines we ensure the overall user experience stays consistent between plugins.
Creating a plugin
To create a plugin, follow the steps outlined here.
Suggesting a plugin
If you start developing a plugin that you aim to release as open source, we suggest that you create a new Issue. This helps the community know what plugins are in development.
You can also use this process if you have an idea for a good plugin but you hope that someone else will pick up the work.
