diff --git a/airflow-core/src/airflow/ui/src/queries/useTrigger.ts b/airflow-core/src/airflow/ui/src/queries/useTrigger.ts index 307ea033da66c..0f5a99ab4a8eb 100644 --- a/airflow-core/src/airflow/ui/src/queries/useTrigger.ts +++ b/airflow-core/src/airflow/ui/src/queries/useTrigger.ts @@ -19,6 +19,7 @@ import { useQueryClient } from "@tanstack/react-query"; import { useState } from "react"; import { useTranslation } from "react-i18next"; +import { useNavigate } from "react-router-dom"; import { UseDagRunServiceGetDagRunsKeyFn, @@ -27,6 +28,7 @@ import { UseTaskInstanceServiceGetTaskInstancesKeyFn, UseGridServiceGetGridRunsKeyFn, } from "openapi/queries"; +import type { TriggerDagRunResponse } from "openapi/requests/types.gen"; import type { DagRunTriggerParams } from "src/components/TriggerDag/TriggerDAGForm"; import { toaster } from "src/components/ui"; @@ -34,7 +36,9 @@ export const useTrigger = ({ dagId, onSuccessConfirm }: { dagId: string; onSucce const queryClient = useQueryClient(); const [error, setError] = useState(undefined); const { t: translate } = useTranslation("components"); - const onSuccess = async () => { + const navigate = useNavigate(); + + const onSuccess = async (dagRun: TriggerDagRunResponse) => { const queryKeys = [ [useDagServiceGetDagsUiKey], UseDagRunServiceGetDagRunsKeyFn({ dagId }, [{ dagId }]), @@ -50,6 +54,8 @@ export const useTrigger = ({ dagId, onSuccessConfirm }: { dagId: string; onSucce type: "success", }); onSuccessConfirm(); + + navigate(`/dags/${dagRun.dag_id}/runs/${dagRun.dag_run_id}`); }; const onError = (_error: unknown) => {