wmill 1.442.0__py3-none-any.whl → 1.443.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
wmill/client.py CHANGED
@@ -631,14 +631,45 @@ class Windmill:
631
631
  message: str = None,
632
632
  approver: str = None,
633
633
  default_args_json: dict = None,
634
- dynamic_enum_json: dict = None,
634
+ dynamic_enums_json: dict = None,
635
635
  ) -> None:
636
636
  """
637
- Request interactive Slack approval
638
- :param slack_resource_path: Slack resource path
639
- :param channel_id: Slack channel
640
- :param message: Message to send to Slack
641
- :param approver: Approver name
637
+ Sends an interactive approval request via Slack, allowing optional customization of the message, approver, and form fields.
638
+
639
+ **[Enterprise Edition Only]** To include form fields in the Slack approval request, use the "Advanced -> Suspend -> Form" functionality.
640
+ Learn more at: https://www.windmill.dev/docs/flows/flow_approval#form
641
+
642
+ :param slack_resource_path: The path to the Slack resource in Windmill.
643
+ :type slack_resource_path: str
644
+ :param channel_id: The Slack channel ID where the approval request will be sent.
645
+ :type channel_id: str
646
+ :param message: Optional custom message to include in the Slack approval request.
647
+ :type message: str, optional
648
+ :param approver: Optional user ID or name of the approver for the request.
649
+ :type approver: str, optional
650
+ :param default_args_json: Optional dictionary defining or overriding the default arguments for form fields.
651
+ :type default_args_json: dict, optional
652
+ :param dynamic_enums_json: Optional dictionary overriding the enum default values of enum form fields.
653
+ :type dynamic_enums_json: dict, optional
654
+
655
+ :raises Exception: If the function is not called within a flow or flow preview.
656
+ :raises Exception: If the required flow job or flow step environment variables are not set.
657
+
658
+ :return: None
659
+
660
+ **Usage Example:**
661
+ >>> client.request_interactive_slack_approval(
662
+ ... slack_resource_path="/u/alex/my_slack_resource",
663
+ ... channel_id="admins-slack-channel",
664
+ ... message="Please approve this request",
665
+ ... approver="approver123",
666
+ ... default_args_json={"key1": "value1", "key2": 42},
667
+ ... dynamic_enums_json={"foo": ["choice1", "choice2"], "bar": ["optionA", "optionB"]},
668
+ ... )
669
+
670
+ **Notes:**
671
+ - This function must be executed within a Windmill flow or flow preview.
672
+ - The function checks for required environment variables (`WM_FLOW_JOB_ID`, `WM_FLOW_STEP_ID`) to ensure it is run in the appropriate context.
642
673
  """
643
674
  workspace = self.workspace
644
675
  flow_job_id = os.environ.get("WM_FLOW_JOB_ID")
@@ -662,8 +693,8 @@ class Windmill:
662
693
  params["flow_step_id"] = os.environ.get("WM_FLOW_STEP_ID")
663
694
  if default_args_json:
664
695
  params["default_args_json"] = json.dumps(default_args_json)
665
- if dynamic_enum_json:
666
- params["dynamic_enum_json"] = json.dumps(dynamic_enum_json)
696
+ if dynamic_enums_json:
697
+ params["dynamic_enums_json"] = json.dumps(dynamic_enums_json)
667
698
 
668
699
  self.get(
669
700
  f"/w/{workspace}/jobs/slack_approval/{os.environ.get('WM_JOB_ID', 'NO_JOB_ID')}",
@@ -1026,7 +1057,7 @@ def request_interactive_slack_approval(
1026
1057
  message: str = None,
1027
1058
  approver: str = None,
1028
1059
  default_args_json: dict = None,
1029
- dynamic_enum_json: dict = None,
1060
+ dynamic_enums_json: dict = None,
1030
1061
  ) -> None:
1031
1062
  return _client.request_interactive_slack_approval(
1032
1063
  slack_resource_path=slack_resource_path,
@@ -1034,7 +1065,7 @@ def request_interactive_slack_approval(
1034
1065
  message=message,
1035
1066
  approver=approver,
1036
1067
  default_args_json=default_args_json,
1037
- dynamic_enum_json=dynamic_enum_json,
1068
+ dynamic_enums_json=dynamic_enums_json,
1038
1069
  )
1039
1070
 
1040
1071
  @init_global_client
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wmill
3
- Version: 1.442.0
3
+ Version: 1.443.0
4
4
  Summary: A client library for accessing Windmill server wrapping the Windmill client API
5
5
  Home-page: https://windmill.dev
6
6
  License: Apache-2.0
@@ -1,8 +1,8 @@
1
1
  wmill/__init__.py,sha256=nGZnQPezTdrBnBW1D0JqUtm75Gdf_xi3tAcPGwHRZ5A,46
2
- wmill/client.py,sha256=uDkf2w9QTEpig2lfYZle-ZK-Ta1NQ0XuTlH44TIciMQ,37141
2
+ wmill/client.py,sha256=8N1zUQ59FHLiQQ63x490dt7FbhJOOKPxmUlKjLO7rr8,39080
3
3
  wmill/py.typed,sha256=8PjyZ1aVoQpRVvt71muvuq5qE-jTFZkK-GLHkhdebmc,26
4
4
  wmill/s3_reader.py,sha256=izHlg2Xsg0Sr_LkDDEC35VuEijJcuPBDIm-xj21KsgU,1668
5
5
  wmill/s3_types.py,sha256=XVjPyc5sjWesTy6nnRReojhyPgPsaT0EY3X57mWUaJ4,1173
6
- wmill-1.442.0.dist-info/METADATA,sha256=mmSG-onSK88R0dyrh5243hcrmgzFuqSpjuYJzM87sVM,2693
7
- wmill-1.442.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
8
- wmill-1.442.0.dist-info/RECORD,,
6
+ wmill-1.443.0.dist-info/METADATA,sha256=Qx-3d1tIr_gmU9TVsb5_1uKJWeK0zVjRXlB7bt1gHos,2693
7
+ wmill-1.443.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
8
+ wmill-1.443.0.dist-info/RECORD,,