Files
backstage/plugins
David Tuite 03e264519a Fix techdocs for url locations (#3589)
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`.
2020-12-07 11:46:40 +01:00
..
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-04 10:42:47 -05:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-04 16:44:01 +01:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-12-03 15:28:22 +00:00
2020-11-03 11:03:49 +01:00

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.

plugin

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.