techdocs: Add JSON Schema config

Show better error if techdocs.builder is set to 'ci' and if no docs are found.
Return 404 from googleStorage client when a file is not found.
This commit is contained in:
Himanshu Mishra
2020-12-05 10:48:54 +01:00
parent c91fd25a53
commit a212e43142
5 changed files with 66 additions and 9 deletions
@@ -15,18 +15,30 @@
*/
import React from 'react';
import { ErrorPage } from '@backstage/core';
import { ErrorPage, useApi, configApiRef } from '@backstage/core';
type Props = {
errorMessage?: string;
};
export const TechDocsNotFound = ({ errorMessage }: Props) => {
const techdocsBuilder = useApi(configApiRef).getOptionalString(
'techdocs.builder',
);
let additionalInfo = '';
if (techdocsBuilder === 'ci') {
additionalInfo =
"Note that you have set techdocs.builder to 'ci' in your config, which means this Backstage app will not " +
"build docs if they are not found. Make sure the project's CI/CD pipeline builds and publishes docs. Or " +
"change techdocs.builder to 'local' to build docs from this Backstage instance.";
}
return (
<ErrorPage
status="404"
statusMessage={errorMessage || 'Documentation not found'}
additionalInfo={window.location.pathname}
additionalInfo={additionalInfo}
/>
);
};