fix(dynatrace): update link that "View Entity in Dynatrace" redirects user to

Signed-off-by: Frank Kong <frkong@redhat.com>
This commit is contained in:
Frank Kong
2023-06-23 17:09:39 -04:00
committed by blam
parent 252297093b
commit 3424cbfe5f
2 changed files with 35 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-dynatrace': patch
---
updated the link that the "View Entity in Dynatrace" redirects the user to.
@@ -43,6 +43,31 @@ const cardContents = (
);
};
const dynatraceEntityPrefixes = (idPrefix: string): string => {
switch (idPrefix) {
case 'APPLICATION':
return '#uemapplications/uemappmetrics;uemapplicationId=';
case 'SERVICE':
return '#services/serviceOverview;id=';
case `MOBILE_APPLICATION`:
return '#mobileappoverview;appID=';
case 'SYNTHETIC_TEST':
return 'ui/browser-monitor/';
case 'KUBERNETES_CLUSTER':
return 'ui/kubernetes/';
case 'PROCESS_GROUP_INSTANCE':
return '#processdetails;id=';
default:
return 'ui/entity/';
}
};
export const ProblemsList = (props: ProblemsListProps) => {
const { dynatraceEntityId } = props;
const configApi = useApi(configApiRef);
@@ -54,6 +79,10 @@ export const ProblemsList = (props: ProblemsListProps) => {
}, [dynatraceApi, dynatraceEntityId]);
const problems = value?.problems;
const deepLinkPrefix = dynatraceEntityPrefixes(
`${dynatraceEntityId.split('-')[0]}`,
);
if (loading) {
return <Progress />;
} else if (error) {
@@ -65,7 +94,7 @@ export const ProblemsList = (props: ProblemsListProps) => {
subheader={`Last 2 hours - ${dynatraceEntityId}`}
deepLink={{
title: 'View Entity in Dynatrace',
link: `${dynatraceBaseUrl}/#serviceOverview;id=${dynatraceEntityId}`,
link: `${dynatraceBaseUrl}/${deepLinkPrefix}${dynatraceEntityId}`,
}}
>
{cardContents(problems || [], dynatraceBaseUrl)}