diff --git a/phabfive/maniphest/core.py b/phabfive/maniphest/core.py index 41892bb..9caaaeb 100644 --- a/phabfive/maniphest/core.py +++ b/phabfive/maniphest/core.py @@ -200,6 +200,7 @@ def _build_task_display_data( show_history=False, show_metadata=False, show_comments=False, + search_params=None, ): """Build structured task display data from API results.""" return build_task_display_data( @@ -222,6 +223,7 @@ def _build_task_display_data( show_history=show_history, show_metadata=show_metadata, show_comments=show_comments, + search_params=search_params, ) def parse_status_patterns_with_api(self, patterns_str): @@ -1198,6 +1200,27 @@ def task_search( "status" ] + # Build search params for metadata embedding + search_params = None + if show_metadata: + search_params = {} + if tag: + search_params["tag"] = tag + if text_query: + search_params["text_query"] = text_query + if assigned: + search_params["assigned"] = assigned + if space: + search_params["space"] = space + if updated_after_original: + search_params["updated_after"] = updated_after_original + if updated_before_original: + search_params["updated_before"] = updated_before_original + if created_after_original: + search_params["created_after"] = created_after_original + if created_before_original: + search_params["created_before"] = created_before_original + # Use shared method to build task data return self._build_task_display_data( result_data, @@ -1209,6 +1232,7 @@ def task_search( matching_status_map=matching_status_map, show_history=show_history, show_metadata=show_metadata, + search_params=search_params, ) def add_task_comment(self, ticket_identifier, comment_string): diff --git a/phabfive/maniphest/formatters.py b/phabfive/maniphest/formatters.py index 6d367b8..3ecc6ae 100644 --- a/phabfive/maniphest/formatters.py +++ b/phabfive/maniphest/formatters.py @@ -495,6 +495,7 @@ def build_metadata_section( matching_priority_map, matching_status_map, project_phid_to_name, + search_params=None, ): """ Build Metadata section dict with filter match information. @@ -511,6 +512,8 @@ def build_metadata_section( Mapping of task ID to status match boolean project_phid_to_name : dict Mapping of board PHID to project name + search_params : dict, optional + Search parameters to embed as Query section Returns ------- @@ -543,6 +546,10 @@ def build_metadata_section( else: metadata["MatchedStatus"] = False + # Add search query parameters + if search_params: + metadata["Query"] = search_params + return metadata @@ -566,6 +573,7 @@ def build_task_display_data( show_history=False, show_metadata=False, show_comments=False, + search_params=None, ): """ Build structured task display data from API results. @@ -609,6 +617,8 @@ def build_task_display_data( Whether to include filter match metadata show_comments : bool, optional Whether to include comments + search_params : dict, optional + Search parameters to embed in metadata Query section Returns ------- @@ -800,6 +810,7 @@ def build_task_display_data( matching_priority_map, matching_status_map, project_phid_to_name, + search_params=search_params, ) task_dict["Metadata"] = metadata_data