Merge branch 'master' into rugvip/test-port

This commit is contained in:
Patrik Oldsberg
2021-11-22 17:33:10 +01:00
committed by GitHub
606 changed files with 10288 additions and 2245 deletions
@@ -17,12 +17,13 @@ import React from 'react';
import { Box, IconButton, Link, Typography, Tooltip } from '@material-ui/core';
import RetryIcon from '@material-ui/icons/Replay';
import JenkinsLogo from '../../../../assets/JenkinsLogo.svg';
import { generatePath, Link as RouterLink } from 'react-router-dom';
import { Link as RouterLink } from 'react-router-dom';
import { JenkinsRunStatus } from '../Status';
import { useBuilds } from '../../../useBuilds';
import { buildRouteRef } from '../../../../plugin';
import { Table, TableColumn } from '@backstage/core-components';
import { Project } from '../../../../api/JenkinsApi';
import { useRouteRef } from '@backstage/core-plugin-api';
const FailCount = ({ count }: { count: number }): JSX.Element | null => {
if (count !== 0) {
@@ -91,28 +92,33 @@ const generatedColumns: TableColumn[] = [
field: 'fullName',
highlight: true,
render: (row: Partial<Project>) => {
if (!row.fullName || !row.lastBuild?.number) {
return (
<>
{row.fullName ||
row.fullDisplayName ||
row.displayName ||
'Unknown'}
</>
);
}
const LinkWrapper = () => {
const routeLink = useRouteRef(buildRouteRef);
if (!row.fullName || !row.lastBuild?.number) {
return (
<>
{row.fullName ||
row.fullDisplayName ||
row.displayName ||
'Unknown'}
</>
);
}
return (
<Link
component={RouterLink}
to={generatePath(buildRouteRef.path, {
jobFullName: encodeURIComponent(row.fullName),
buildNumber: String(row.lastBuild?.number),
})}
>
{row.fullDisplayName}
</Link>
);
return (
<Link
component={RouterLink}
to={routeLink({
jobFullName: encodeURIComponent(row.fullName),
buildNumber: String(row.lastBuild?.number),
})}
>
{row.fullDisplayName}
</Link>
);
};
return <LinkWrapper />;
},
},
{
+2 -2
View File
@@ -19,7 +19,7 @@ import { useEntity } from '@backstage/plugin-catalog-react';
import React from 'react';
import { Route, Routes } from 'react-router';
import { JENKINS_ANNOTATION, LEGACY_JENKINS_ANNOTATION } from '../constants';
import { buildRouteRef, rootRouteRef } from '../plugin';
import { buildRouteRef } from '../plugin';
import { CITable } from './BuildsPage/lib/CITable';
import { DetailedViewPage } from './BuildWithStepsPage/';
@@ -41,7 +41,7 @@ export const Router = (_props: Props) => {
return (
<Routes>
<Route path={`/${rootRouteRef.path}`} element={<CITable />} />
<Route path="/" element={<CITable />} />
<Route path={`/${buildRouteRef.path}`} element={<DetailedViewPage />} />
</Routes>
);
+6 -6
View File
@@ -20,20 +20,20 @@ import {
createPlugin,
createRoutableExtension,
createRouteRef,
createSubRouteRef,
discoveryApiRef,
identityApiRef,
} from '@backstage/core-plugin-api';
import { JenkinsClient, jenkinsApiRef } from './api';
export const rootRouteRef = createRouteRef({
path: '',
title: 'Jenkins',
id: 'jenkins',
});
export const buildRouteRef = createRouteRef({
path: 'build/:jobFullName/:buildNumber',
params: ['jobFullName', 'buildNumber'],
title: 'Jenkins build',
export const buildRouteRef = createSubRouteRef({
id: 'jenkins/builds',
path: '/builds/:jobFullName/:buildNumber',
parent: rootRouteRef,
});
export const jenkinsPlugin = createPlugin({