Provisioning: Fix getting finished job status (#103272)

* Provisioning: Improve finished job handling

* Misc

* Refactor
This commit is contained in:
Alex Khomenko
2025-04-02 15:41:21 +03:00
committed by GitHub
parent 6ff3af7e83
commit 3c8d6b4119
@@ -28,11 +28,12 @@ export function JobStatus({ watch, onStatusChange, onRunningChange, onErrorChang
watch: true,
});
const activeJob = activeQuery?.data?.items?.[0];
const repoLabel = watch.metadata?.labels?.['provisioning.grafana.app/repository'];
const finishedQuery = useGetRepositoryJobsWithPathQuery(
activeJob
activeJob || activeQuery.isUninitialized || activeQuery.isLoading || !repoLabel
? skipToken
: {
name: watch.metadata?.labels?.['provisioning.grafana.app/repository']!,
name: repoLabel,
uid: watch.metadata?.uid!,
}
);
@@ -40,7 +41,7 @@ export function JobStatus({ watch, onStatusChange, onRunningChange, onErrorChang
const job = activeJob || finishedQuery.data;
useEffect(() => {
if (!job) {
if (!job && !finishedQuery.isUninitialized) {
finishedQuery.refetch();
}
}, [finishedQuery, job]);
@@ -122,7 +123,7 @@ export function JobStatus({ watch, onStatusChange, onRunningChange, onErrorChang
<RepositoryLink name={job.metadata?.labels?.repository} />
) : (
<ControlledCollapse label={t('provisioning.job-status.label-view-details', 'View details')} isOpen={false}>
<pre>{JSON.stringify(job, null, ' ')}</pre>
<pre>{JSON.stringify(job, null, 2)}</pre>
</ControlledCollapse>
)}
</Stack>