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

weilee pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new c922dfb54f4 refactor(HITL): make default options class variables to 
avoid typo (#53849)
c922dfb54f4 is described below

commit c922dfb54f4943b0293559df0223f6bccf935c44
Author: Wei Lee <weilee...@gmail.com>
AuthorDate: Thu Jul 31 09:43:49 2025 +0800

    refactor(HITL): make default options class variables to avoid typo (#53849)
---
 .../src/airflow/providers/standard/operators/hitl.py    | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git 
a/providers/standard/src/airflow/providers/standard/operators/hitl.py 
b/providers/standard/src/airflow/providers/standard/operators/hitl.py
index c16c1fabf93..d469e580a09 100644
--- a/providers/standard/src/airflow/providers/standard/operators/hitl.py
+++ b/providers/standard/src/airflow/providers/standard/operators/hitl.py
@@ -170,6 +170,9 @@ class ApprovalOperator(HITLOperator, SkipMixin):
 
     FIXED_ARGS = ["options", "multiple"]
 
+    APPROVE = "Approve"
+    REJECT = "Reject"
+
     def __init__(self, ignore_downstream_trigger_rules: bool = False, 
**kwargs) -> None:
         for arg in self.FIXED_ARGS:
             if arg in kwargs:
@@ -177,13 +180,17 @@ class ApprovalOperator(HITLOperator, SkipMixin):
 
         self.ignore_downstream_trigger_rules = ignore_downstream_trigger_rules
 
-        super().__init__(options=["Approve", "Reject"], multiple=False, 
**kwargs)
+        super().__init__(
+            options=[self.APPROVE, self.REJECT],
+            multiple=False,
+            **kwargs,
+        )
 
     def execute_complete(self, context: Context, event: dict[str, Any]) -> Any:
         ret = super().execute_complete(context=context, event=event)
 
         chosen_option = ret["chosen_options"][0]
-        if chosen_option == "Approve":
+        if chosen_option == self.APPROVE:
             self.log.info("Approved. Proceeding with downstream tasks...")
             return ret
 
@@ -224,11 +231,13 @@ class HITLBranchOperator(HITLOperator):
 class HITLEntryOperator(HITLOperator):
     """Human-in-the-loop Operator that is used to accept user input through 
TriggerForm."""
 
+    OK = "OK"
+
     def __init__(self, **kwargs) -> None:
         if "options" not in kwargs:
-            kwargs["options"] = ["OK"]
+            kwargs["options"] = [self.OK]
 
             if "defaults" not in kwargs:
-                kwargs["defaults"] = ["OK"]
+                kwargs["defaults"] = [self.OK]
 
         super().__init__(**kwargs)

Reply via email to