Skip to content

Commit 98d0971

Browse files
lokanandaprabhuvikram-raj
authored andcommitted
Considered api version while fetching the model for resource kind
1 parent eca6991 commit 98d0971

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

src/components/pipelineRuns-details/utils.ts

+3
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@ import { PipelineModel } from '../../models';
22
import { PipelineRunKind } from '../../types';
33
import PipelineResourceRef from '../triggers-details/PipelineResourceRef';
44
import { t } from '../utils/common-utils';
5+
import { groupVersionFor } from '../utils/k8s-utils';
56

67
export const convertBackingPipelineToPipelineResourceRefProps = (
78
pipelineRun: PipelineRunKind,
89
): React.ComponentProps<typeof PipelineResourceRef> => {
910
if (pipelineRun.spec.pipelineRef) {
11+
const { version } = groupVersionFor(pipelineRun.apiVersion);
1012
return {
1113
resourceKind: PipelineModel.kind,
1214
resourceName: pipelineRun.spec.pipelineRef.name,
1315
namespace: pipelineRun.metadata.namespace,
16+
resourceApiVersion: version,
1417
};
1518
}
1619

src/components/pipelines-details/utils.ts

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
ResourceModelLink,
88
TektonParam,
99
} from '../../types';
10+
import { groupVersionFor } from '../utils/k8s-utils';
1011
import { getSafeTaskResourceKind } from '../utils/pipeline-augment';
1112

1213
type PipelineTaskLinks = {
@@ -20,6 +21,7 @@ export const getPipelineTaskLinks = (
2021
const toResourceLinkData = (tasks: PipelineTask[]): ResourceModelLink[] => {
2122
const { t } = useTranslation('plugin__pipelines-console-plugin');
2223
if (!tasks) return [];
24+
const { version } = groupVersionFor(pipeline.apiVersion);
2325
return tasks?.map((task) => {
2426
if (task.taskRef) {
2527
if (task.taskRef.resolver === 'cluster') {
@@ -31,13 +33,15 @@ export const getPipelineTaskLinks = (
3133
name: nameParam,
3234
qualifier: task.name,
3335
namespace: PIPELINE_NAMESPACE,
36+
resourceApiVersion: version,
3437
};
3538
}
3639
return task.taskRef.kind === 'Task'
3740
? {
3841
resourceKind: getSafeTaskResourceKind(task.taskRef.kind),
3942
name: task.taskRef.name,
4043
qualifier: task.name,
44+
resourceApiVersion: version,
4145
}
4246
: {
4347
resourceKind: task.taskRef?.kind,

src/components/triggers-details/DynamicResourceLinkList.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export type ResourceModelLink = {
1010
qualifier?: string;
1111
disableLink?: boolean;
1212
namespace?: string;
13+
resourceApiVersion?: string;
1314
};
1415

1516
type DynamicResourceLinkListProps = {
@@ -44,6 +45,7 @@ const DynamicResourceLinkList: React.FC<DynamicResourceLinkListProps> = ({
4445
qualifier = '',
4546
disableLink = false,
4647
namespace: namespaceForTask,
48+
resourceApiVersion,
4749
}) => {
4850
let linkName = qualifier;
4951
if (qualifier?.length > 0 && name !== qualifier) {
@@ -57,6 +59,7 @@ const DynamicResourceLinkList: React.FC<DynamicResourceLinkListProps> = ({
5759
displayName={linkName}
5860
namespace={namespaceForTask || namespace}
5961
disableLink={disableLink}
62+
resourceApiVersion={resourceApiVersion}
6063
/>
6164
</div>
6265
);

src/components/triggers-details/PipelineResourceRef.tsx

+13-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ import { getReferenceForModel } from '../pipelines-overview/utils';
1010
import './PipelineResourceRef.scss';
1111

1212
const MODEL_KINDS = Object.values(models).reduce(
13-
(acc, model: K8sKind) => ({ ...acc, [model.kind]: model }),
13+
(acc, model: K8sKind) => ({
14+
...acc,
15+
[`${model.kind}-${model.apiVersion}`]: model,
16+
[model.kind]: model,
17+
}),
1418
{},
1519
);
1620

@@ -21,6 +25,7 @@ type PipelineResourceRefProps = {
2125
displayName?: string;
2226
largeIcon?: boolean;
2327
namespace?: string;
28+
resourceApiVersion?: string;
2429
};
2530

2631
const PipelineResourceRef: React.FC<PipelineResourceRefProps> = ({
@@ -30,8 +35,14 @@ const PipelineResourceRef: React.FC<PipelineResourceRefProps> = ({
3035
namespace,
3136
resourceKind,
3237
resourceName,
38+
resourceApiVersion,
3339
}) => {
34-
const model: K8sKind | undefined = MODEL_KINDS[resourceKind];
40+
const modelKey = resourceApiVersion
41+
? `${resourceKind}-${resourceApiVersion}`
42+
: resourceKind;
43+
const model: K8sKind | undefined =
44+
MODEL_KINDS[modelKey] || MODEL_KINDS[resourceKind];
45+
3546
let kind = resourceKind;
3647
if (model) {
3748
kind = getReferenceForModel(model);

0 commit comments

Comments
 (0)