This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit f6377f66954c50e926163f2b41651fb0ea2f45a9
Author: Pierre Jeambrun <[email protected]>
AuthorDate: Mon Sep 15 15:32:54 2025 -0600

    Front end for hitl endpoint update (#55674)
    
    Follow up of https://github.com/apache/airflow/pull/55603.
    
    Only the last commit is relevant. Tested locally all seems good.
    
    (cherry picked from commit c14c18e5ae9f1bdb065c90b585bc2f3c14460574)
---
 .../src/airflow/ui/src/components/NeedsReviewButton.tsx |  8 ++++----
 .../src/airflow/ui/src/hooks/useRequiredActionTabs.ts   |  6 +++---
 .../src/pages/HITLTaskInstances/HITLTaskInstances.tsx   |  8 ++++----
 .../airflow/ui/src/pages/TaskInstance/HITLResponse.tsx  | 17 ++++++++++-------
 .../src/airflow/ui/src/queries/useDeleteDagRun.ts       |  4 ++--
 .../src/airflow/ui/src/queries/useDeleteTaskInstance.ts |  4 ++--
 .../src/airflow/ui/src/queries/useUpdateHITLDetail.ts   | 14 +++++++-------
 7 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/airflow-core/src/airflow/ui/src/components/NeedsReviewButton.tsx 
b/airflow-core/src/airflow/ui/src/components/NeedsReviewButton.tsx
index fcec3a8fe1d..6ceb54a3d05 100644
--- a/airflow-core/src/airflow/ui/src/components/NeedsReviewButton.tsx
+++ b/airflow-core/src/airflow/ui/src/components/NeedsReviewButton.tsx
@@ -20,7 +20,7 @@ import { Box } from "@chakra-ui/react";
 import { useTranslation } from "react-i18next";
 import { LuUserRoundPen } from "react-icons/lu";
 
-import { useHumanInTheLoopServiceGetHitlDetails } from "openapi/queries";
+import { useTaskInstanceServiceGetHitlDetails } from "openapi/queries";
 import { useAutoRefresh } from "src/utils/query";
 
 import { StatsCard } from "./StatsCard";
@@ -37,10 +37,10 @@ export const NeedsReviewButton = ({
   readonly taskId?: string;
 }) => {
   const hookAutoRefresh = useAutoRefresh({ dagId });
-  const { data: hitlStatsData, isLoading } = 
useHumanInTheLoopServiceGetHitlDetails(
+  const { data: hitlStatsData, isLoading } = 
useTaskInstanceServiceGetHitlDetails(
     {
-      dagId,
-      dagRunId: runId,
+      dagId: dagId ?? "~",
+      dagRunId: runId ?? "~",
       responseReceived: false,
       state: ["deferred"],
       taskId,
diff --git a/airflow-core/src/airflow/ui/src/hooks/useRequiredActionTabs.ts 
b/airflow-core/src/airflow/ui/src/hooks/useRequiredActionTabs.ts
index ddef7c64b08..c187f7b2415 100644
--- a/airflow-core/src/airflow/ui/src/hooks/useRequiredActionTabs.ts
+++ b/airflow-core/src/airflow/ui/src/hooks/useRequiredActionTabs.ts
@@ -20,7 +20,7 @@ import { useEffect } from "react";
 import { useTranslation } from "react-i18next";
 import { useLocation, useNavigate } from "react-router-dom";
 
-import { useHumanInTheLoopServiceGetHitlDetails } from "openapi/queries";
+import { useTaskInstanceServiceGetHitlDetails } from "openapi/queries";
 
 export type HITLQueryParams = {
   dagId: string;
@@ -70,10 +70,10 @@ export const useRequiredActionTabs = (
     return location.pathname.replace("/required_actions", "");
   })();
 
-  const { data: hitlData, isLoading: isLoadingHitl } = 
useHumanInTheLoopServiceGetHitlDetails(
+  const { data: hitlData, isLoading: isLoadingHitl } = 
useTaskInstanceServiceGetHitlDetails(
     {
       dagId: hitlParams.dagId,
-      dagRunId: hitlParams.dagRunId,
+      dagRunId: hitlParams.dagRunId ?? "~",
       taskId: hitlParams.taskId,
       taskIdPattern: hitlParams.taskIdPattern,
     },
diff --git 
a/airflow-core/src/airflow/ui/src/pages/HITLTaskInstances/HITLTaskInstances.tsx 
b/airflow-core/src/airflow/ui/src/pages/HITLTaskInstances/HITLTaskInstances.tsx
index 29e762ee636..65fb4a33db9 100644
--- 
a/airflow-core/src/airflow/ui/src/pages/HITLTaskInstances/HITLTaskInstances.tsx
+++ 
b/airflow-core/src/airflow/ui/src/pages/HITLTaskInstances/HITLTaskInstances.tsx
@@ -23,7 +23,7 @@ import { useCallback } from "react";
 import { useTranslation } from "react-i18next";
 import { Link as RouterLink, useParams, useSearchParams } from 
"react-router-dom";
 
-import { useHumanInTheLoopServiceGetHitlDetails } from "openapi/queries";
+import { useTaskInstanceServiceGetHitlDetails } from "openapi/queries";
 import type { HITLDetail } from "openapi/requests/types.gen";
 import { DataTable } from "src/components/DataTable";
 import { useTableURLState } from "src/components/DataTable/useTableUrlState";
@@ -122,9 +122,9 @@ export const HITLTaskInstances = () => {
   const [sort] = sorting;
   const responseReceived = searchParams.get(RESPONSE_RECEIVED_PARAM);
 
-  const { data, error, isLoading } = useHumanInTheLoopServiceGetHitlDetails({
-    dagId,
-    dagRunId: runId,
+  const { data, error, isLoading } = useTaskInstanceServiceGetHitlDetails({
+    dagId: dagId ?? "~",
+    dagRunId: runId ?? "~",
     limit: pagination.pageSize,
     offset: pagination.pageIndex * pagination.pageSize,
     orderBy: sort ? [`${sort.desc ? "-" : ""}${sort.id}`] : [],
diff --git 
a/airflow-core/src/airflow/ui/src/pages/TaskInstance/HITLResponse.tsx 
b/airflow-core/src/airflow/ui/src/pages/TaskInstance/HITLResponse.tsx
index 95e52b145a2..11072fe862e 100644
--- a/airflow-core/src/airflow/ui/src/pages/TaskInstance/HITLResponse.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/TaskInstance/HITLResponse.tsx
@@ -19,7 +19,7 @@
 import { Box } from "@chakra-ui/react";
 import { useParams } from "react-router-dom";
 
-import { useHumanInTheLoopServiceGetHitlDetail } from "openapi/queries";
+import { useTaskInstanceServiceGetHitlDetail } from "openapi/queries";
 import { ProgressBar } from "src/components/ui";
 
 import { HITLResponseForm } from "../HITLTaskInstances/HITLResponseForm";
@@ -27,12 +27,15 @@ import { HITLResponseForm } from 
"../HITLTaskInstances/HITLResponseForm";
 export const HITLResponse = () => {
   const { dagId, mapIndex, runId, taskId } = useParams();
 
-  const { data: hitlDetail } = useHumanInTheLoopServiceGetHitlDetail({
-    dagId: dagId ?? "~",
-    dagRunId: runId ?? "~",
-    mapIndex: Number(mapIndex ?? -1),
-    taskId: taskId ?? "~",
-  });
+  const { data: hitlDetail } = useTaskInstanceServiceGetHitlDetail(
+    {
+      dagId: dagId ?? "",
+      dagRunId: runId ?? "",
+      mapIndex: Number(mapIndex ?? -1),
+      taskId: taskId ?? "",
+    },
+    undefined,
+  );
 
   if (!hitlDetail?.task_instance) {
     return (
diff --git a/airflow-core/src/airflow/ui/src/queries/useDeleteDagRun.ts 
b/airflow-core/src/airflow/ui/src/queries/useDeleteDagRun.ts
index 9535d31ae48..c5c75320551 100644
--- a/airflow-core/src/airflow/ui/src/queries/useDeleteDagRun.ts
+++ b/airflow-core/src/airflow/ui/src/queries/useDeleteDagRun.ts
@@ -24,7 +24,7 @@ import {
   useDagRunServiceGetDagRunsKey,
   UseDagRunServiceGetDagRunKeyFn,
   useTaskInstanceServiceGetTaskInstancesKey,
-  useHumanInTheLoopServiceGetHitlDetailsKey,
+  useTaskInstanceServiceGetHitlDetailsKey,
 } from "openapi/queries";
 import { toaster } from "src/components/ui";
 
@@ -51,7 +51,7 @@ export const useDeleteDagRun = ({ dagId, dagRunId, 
onSuccessConfirm }: DeleteDag
       UseDagRunServiceGetDagRunKeyFn({ dagId, dagRunId }),
       [useDagRunServiceGetDagRunsKey],
       [useTaskInstanceServiceGetTaskInstancesKey],
-      [useHumanInTheLoopServiceGetHitlDetailsKey],
+      [useTaskInstanceServiceGetHitlDetailsKey],
     ];
 
     await Promise.all(queryKeys.map((key) => queryClient.invalidateQueries({ 
queryKey: key })));
diff --git a/airflow-core/src/airflow/ui/src/queries/useDeleteTaskInstance.ts 
b/airflow-core/src/airflow/ui/src/queries/useDeleteTaskInstance.ts
index 1ea27d22186..545168280e1 100644
--- a/airflow-core/src/airflow/ui/src/queries/useDeleteTaskInstance.ts
+++ b/airflow-core/src/airflow/ui/src/queries/useDeleteTaskInstance.ts
@@ -26,7 +26,7 @@ import {
   useDagRunServiceGetDagRunsKey,
   UseDagRunServiceGetDagRunKeyFn,
   UseGridServiceGetGridTiSummariesKeyFn,
-  useHumanInTheLoopServiceGetHitlDetailsKey,
+  useTaskInstanceServiceGetHitlDetailsKey,
 } from "openapi/queries";
 import { toaster } from "src/components/ui";
 
@@ -63,7 +63,7 @@ export const useDeleteTaskInstance = ({
       [useDagRunServiceGetDagRunsKey],
       [useTaskInstanceServiceGetTaskInstancesKey],
       [useTaskInstanceServiceGetTaskInstanceKey, { dagId, dagRunId, mapIndex, 
taskId }],
-      [useHumanInTheLoopServiceGetHitlDetailsKey],
+      [useTaskInstanceServiceGetHitlDetailsKey],
     ];
 
     await Promise.all(queryKeys.map((key) => queryClient.invalidateQueries({ 
queryKey: key })));
diff --git a/airflow-core/src/airflow/ui/src/queries/useUpdateHITLDetail.ts 
b/airflow-core/src/airflow/ui/src/queries/useUpdateHITLDetail.ts
index 03d3246cc6b..f9dca74b281 100644
--- a/airflow-core/src/airflow/ui/src/queries/useUpdateHITLDetail.ts
+++ b/airflow-core/src/airflow/ui/src/queries/useUpdateHITLDetail.ts
@@ -23,9 +23,9 @@ import { useTranslation } from "react-i18next";
 import {
   UseDagRunServiceGetDagRunKeyFn,
   useDagRunServiceGetDagRunsKey,
-  useHumanInTheLoopServiceGetHitlDetailsKey,
-  useHumanInTheLoopServiceGetHitlDetailKey,
-  useHumanInTheLoopServiceUpdateHitlDetail,
+  useTaskInstanceServiceGetHitlDetailsKey,
+  useTaskInstanceServiceGetHitlDetailKey,
+  useTaskInstanceServiceUpdateHitlDetail,
   useTaskInstanceServiceGetTaskInstanceKey,
   useTaskInstanceServiceGetTaskInstancesKey,
 } from "openapi/queries";
@@ -52,8 +52,8 @@ export const useUpdateHITLDetail = ({
       [useDagRunServiceGetDagRunsKey],
       [useTaskInstanceServiceGetTaskInstancesKey, { dagId, dagRunId }],
       [useTaskInstanceServiceGetTaskInstanceKey, { dagId, dagRunId, mapIndex, 
taskId }],
-      [useHumanInTheLoopServiceGetHitlDetailsKey, { dagIdPattern: dagId, 
dagRunId }],
-      [useHumanInTheLoopServiceGetHitlDetailKey, { dagId, dagRunId }],
+      [useTaskInstanceServiceGetHitlDetailsKey, { dagIdPattern: dagId, 
dagRunId }],
+      [useTaskInstanceServiceGetHitlDetailKey, { dagId, dagRunId }],
     ];
 
     await Promise.all(queryKeys.map((key) => queryClient.invalidateQueries({ 
queryKey: key })));
@@ -72,7 +72,7 @@ export const useUpdateHITLDetail = ({
     });
   };
 
-  const { isPending, mutate } = useHumanInTheLoopServiceUpdateHitlDetail({
+  const { isPending, mutate } = useTaskInstanceServiceUpdateHitlDetail({
     onError,
     onSuccess,
   });
@@ -82,7 +82,7 @@ export const useUpdateHITLDetail = ({
       mutate({
         dagId,
         dagRunId,
-        mapIndex,
+        mapIndex: mapIndex ?? -1,
         requestBody: {
           chosen_options: updateHITLResponseRequestBody.chosen_options ?? [],
           params_input: updateHITLResponseRequestBody.params_input ?? {},

Reply via email to