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`.
1. Don't use mkdocs in name of APIs or variables. It is an implementation detail and liable to change in future.
2. techDocsApi.getMetadata('mkdocs') and techDocsAPI.getMetadata('entity') should be two separate functions just because their responses differ in structure. They should also be type checked.
3. Use either 'techdocs' or 'TechDocs' consistently. 'techDocs' seems like an unnecessary third way to write TechDocs, which can be avoided.
4. Remove unused /plugins/techdocs-backend/src/service/metadata.ts file
* TechDocs: Logger already prints the name of plugin
* TechDocs: Display a custom error message if provided
* TechDocs: throw custom error message if index.md is not present
* Language improvements. Thanks @freben
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Fredrik Adelöw <freben@gmail.com>
* Basic implementation of readTree on github and use it in techdocs
* Added a UrlPreparer and cleaned up some minor things
* Download entire archive and filter out the wanted files in readTree
* Added test for dir output of tree reader
* Fixed formatting
* Fixed formatting
* Some cleanups and fixes
* Fix typing issues
* Fix prettier
* Fix prettier
* Removed unused dependency
* Fixed comments on PR
* Prettier
* Moved @types/fs-extra to devDeps
* Fixed another PR comment
* Added a test for getDocFilesFromRepository
* Prettier
* 'master' of github.com:spotify/backstage:
Read git auth token from backend config (#2992)
chore(catalog-model): add the petstore into the default entities
chore(deps-dev): bump @storybook/addon-actions from 6.0.21 to 6.0.26
chore(deps): bump eslint-config-prettier from 6.10.0 to 6.14.0
Add API docs link to About card
adds a sample organization set of users and groups (#2963)
Make sure hasCostsWithinTimeframe is a boolean
fix(catalog-backend): fix codeowners processor to handle users
feat(catalog): add simple client side paging
default to last 30 days
Removed default-branch library since it's no longer used (#3019)
useRealTimers in onCssReady test case
move type dependecy
remove unused import
changeset
simpler query params
* origin:
fix: ts
fix: forwardRef to SidebarItem
fix(cli): one more await in the test
backend-common: make loadBackendConfig return config directly and log all resolved app-configs
* 'master' of github.com:spotify/backstage: (34 commits)
TechDocs Backend: Replace hardcoded github api by configuration value (#3004)
fix: accordion details design for job stage failure (#3014)
fix: responsive of page example in storybook (#3005)
fix: update the ItemCard component and it's story (#3007)
rename stories folder to Chip (#3009)
feat: Display the plugins InfoCards on EntityPage Overwiev suitable full height (#2826)
fix(cost-insights): More exports to help custom alerting
chore(scaffolder): bump rjsf
remove unused CSS (#2999)
feat: update github pull requests package version
fix(github-actions): fix crash when viewing ongoing workflows
fix(cli): removePlugin forgotten await
catalog-backend: relations db review comments and more tests
Feat/add aws lambda plugin (#2985)
chore(deps): bump object-path from 0.11.4 to 0.11.5 (#2983)
add changeset
fix CodeSnippet test case warnings
fix CopyTextButton test case warnings
fix the warning by wrapping in act
fix(catalog): fix link to techdocs
...
* replace hardcoded by configuration value
* use integrations configuration to read github apiBaseUrl
Co-authored-by: Emre Konar <emre.konar@zalando.de>