From 9f61e2e5eff2ae5c5e3ff9ef1775870303ee3fd5 Mon Sep 17 00:00:00 2001 From: mikalai_biazruchka Date: Mon, 30 Mar 2026 12:02:00 +0300 Subject: [PATCH 1/4] fix: (EL-4040, 4041) improve image processing and add toggle for processing in Jira and ADO wrappers - Fixed bugs in ADO wrapper: Skip images with empty URLs and handle errors gracefully when parsing attachments or fetching external images. - Added `process_images` toggle in Jira API models and methods to optionally skip image processing for raw content retrieval. - Updated error handling to raise exceptions when LLM is unavailable and processing is enabled. - Documented the new functionality for improved clarity and usability. Fixes: * ProjectAlita/projectalita.github.io#4040 * ProjectAlita/projectalita.github.io#4041 --- alita_sdk/tools/ado/wiki/ado_wrapper.py | 41 ++++++++-------- alita_sdk/tools/jira/api_wrapper.py | 63 ++++++++++++++++++------- 2 files changed, 68 insertions(+), 36 deletions(-) diff --git a/alita_sdk/tools/ado/wiki/ado_wrapper.py b/alita_sdk/tools/ado/wiki/ado_wrapper.py index 84c1cc084..176e2bf9e 100644 --- a/alita_sdk/tools/ado/wiki/ado_wrapper.py +++ b/alita_sdk/tools/ado/wiki/ado_wrapper.py @@ -508,6 +508,11 @@ def _process_images(self, page_content: str, wiki_identified: str, image_descrip logger.error(f"Failed to initialize repos wrapper for wiki '{wiki_identified}': {str(e)}") for image_name, image_url in matches: + # BUG 1 fix: skip images with empty URLs — cannot fetch or resolve them + if not image_url: + logger.warning(f"Skipping image '{image_name}': empty URL, leaving original markdown unchanged.") + continue + if image_url.startswith("/.attachments/"): try: if repos_wrapper is None: @@ -517,26 +522,24 @@ def _process_images(self, page_content: str, wiki_identified: str, image_descrip image_description_prompt=image_description_prompt, repos_wrapper=repos_wrapper) except Exception as e: - logger.error(f"Error parsing attachment: {str(e)}") - description = f"Error parsing attachment: {image_url}" + # Skip rather than replace with a corrupted description + logger.warning(f"Skipping image '{image_name}': error parsing attachment '{image_url}': {str(e)}") + continue else: - if not image_url: - logger.warning(f"Skipping image '{image_name}' with empty URL") - description = "[Image could not be processed: empty URL]" - else: - try: - response = requests.get(image_url) - response.raise_for_status() - file_content = response.content - description = parse_file_content( - file_content=file_content, - file_name="image.png", - llm=self.llm, - prompt=image_description_prompt - ) - except Exception as e: - logger.error(f"Error fetching external image: {str(e)}") - description = f"Error fetching external image: {image_url}" + try: + response = requests.get(image_url) + response.raise_for_status() + file_content = response.content + description = parse_file_content( + file_content=file_content, + file_name="image.png", + llm=self.llm, + prompt=image_description_prompt + ) + except Exception as e: + # BUG 2 fix: skip rather than replace with a corrupted literal description + logger.warning(f"Skipping image '{image_name}': error fetching external image '{image_url}': {str(e)}") + continue new_image_markdown = f"![{image_name}]({description})" page_content = page_content.replace(f"![{image_name}]({image_url})", new_image_markdown) diff --git a/alita_sdk/tools/jira/api_wrapper.py b/alita_sdk/tools/jira/api_wrapper.py index a1a82da17..f7417192c 100644 --- a/alita_sdk/tools/jira/api_wrapper.py +++ b/alita_sdk/tools/jira/api_wrapper.py @@ -120,14 +120,16 @@ jira_issue_key=(str, Field(description="Jira issue key from which field with images will be extracted, e.g. TEST-1234")), field_name=(str, Field(description="Field name containing images to be processed. Common values are 'description', 'comment', or custom fields like 'customfield_10300'")), prompt=(Optional[str], Field(description="Custom prompt to use for image description generation. If not provided, a default prompt will be used", default=None)), - context_radius=(Optional[int], Field(description="Number of characters to include before and after each image for context. Default is 500", default=500)) + context_radius=(Optional[int], Field(description="Number of characters to include before and after each image for context. Default is 500", default=500)), + process_images=(Optional[bool], Field(description="Whether to process images with LLM and replace references with descriptions. Set to False to return raw field content without image processing. Default is True", default=True)) ) GetCommentsWithImageDescriptions = create_model( "GetCommentsWithImageDescriptionsModel", jira_issue_key=(str, Field(description="Jira issue key from which comments with images will be extracted, e.g. TEST-1234")), prompt=(Optional[str], Field(description="Custom prompt to use for image description generation. If not provided, a default prompt will be used", default=None)), - context_radius=(Optional[int], Field(description="Number of characters to include before and after each image for context. Default is 500", default=500)) + context_radius=(Optional[int], Field(description="Number of characters to include before and after each image for context. Default is 500", default=500)), + process_images=(Optional[bool], Field(description="Whether to process images with LLM and replace references with descriptions. Set to False to return raw comments without image processing. Default is True", default=True)) ) GetRemoteLinks = create_model( @@ -1270,7 +1272,9 @@ def _process_image_with_llm(self, image_data, image_name: str = "", context_text # Get the LLM instance llm = self.llm if not llm: - return "[LLM not available for image processing]" + raise ToolException( + "LLM is required for image processing but is not configured in this toolkit instance." + ) # Try to load and validate the image with PIL instead of using imghdr try: @@ -1451,7 +1455,7 @@ def _extract_image_data(self, field_data): return f"Unsupported field content type: {type(field_data)}. Expected a string, list, or dict." def get_field_with_image_descriptions(self, jira_issue_key: str, field_name: str, prompt: Optional[str] = None, - context_radius: int = 500): + context_radius: int = 500, process_images: bool = True): """ Get a field from Jira issue and augment any images in it with textual descriptions that include image names and contextual information from surrounding text. @@ -1459,17 +1463,20 @@ def get_field_with_image_descriptions(self, jira_issue_key: str, field_name: str This method will: 1. Extract the specified field content from Jira 2. Detect images in the content - 3. Retrieve and process each image with an LLM, providing surrounding context - 4. Replace image references with the generated text descriptions + 3. Retrieve and process each image with an LLM, providing surrounding context (if process_images=True) + 4. Replace image references with the generated text descriptions (if process_images=True) Args: jira_issue_key: The Jira issue key to retrieve field from (e.g., 'TEST-1234') field_name: The field containing images (e.g., 'description') prompt: Custom prompt for the LLM when analyzing images. If None, a default prompt will be used. context_radius: Number of characters to include before and after each image for context. Default is 500. + process_images: Whether to process images with LLM. Set to False to return raw field content + without image processing. Default is True. Returns: - The field content with image references replaced with contextual descriptions + The field content with image references replaced with contextual descriptions, + or raw field content when process_images=False """ try: # Get the specified field from the Jira issue @@ -1485,6 +1492,16 @@ def get_field_with_image_descriptions(self, jira_issue_key: str, field_name: str # Handle multiple images or non-string content field_content = self._extract_image_data(field_content) + if not process_images: + logger.info(f"Image processing skipped for field '{field_name}' of issue '{jira_issue_key}' (process_images=False)") + return f"Field '{field_name}' from issue '{jira_issue_key}':\n\n{field_content}" + + if not self.llm: + raise ToolException( + "LLM is required for image processing but is not configured in this toolkit instance. " + "Please configure an LLM in the toolkit settings or set process_images=False to skip image processing." + ) + # Regular expression to find image references in Jira markup image_pattern = r'!([^!|]+)(?:\|[^!]*)?!' @@ -1594,7 +1611,7 @@ def process_image_match(self, match, body, attachment_resolver, context_radius=5 logger.error(f"Error retrieving attachment {image_ref}: {str(e)}") return f"[Image: {image_ref} - Error: {str(e)}]" - def get_processed_comments_list_with_image_description(self, jira_issue_key: str, prompt: Optional[str] = None, context_radius: int = 500): + def get_processed_comments_list_with_image_description(self, jira_issue_key: str, prompt: Optional[str] = None, context_radius: int = 500, process_images: bool = True): # Retrieve all comments for the issue comments = self._client.issue_get_comments(jira_issue_key) @@ -1619,10 +1636,13 @@ def get_processed_comments_list_with_image_description(self, jira_issue_key: str comment_created = comment.get('created', 'Unknown date') comment_body = self._extract_image_data(comment_body) - # Process the comment body by replacing image references with descriptions - processed_body = re.sub(image_pattern, - lambda match: self.process_image_match(match, comment_body, attachment_resolver, context_radius, prompt), - comment_body) + if process_images: + # Process the comment body by replacing image references with descriptions + processed_body = re.sub(image_pattern, + lambda match: self.process_image_match(match, comment_body, attachment_resolver, context_radius, prompt), + comment_body) + else: + processed_body = comment_body # Add the processed comment to our results processed_comments.append({ @@ -1635,28 +1655,37 @@ def get_processed_comments_list_with_image_description(self, jira_issue_key: str return processed_comments - def get_comments_with_image_descriptions(self, jira_issue_key: str, prompt: Optional[str] = None, context_radius: int = 500): + def get_comments_with_image_descriptions(self, jira_issue_key: str, prompt: Optional[str] = None, context_radius: int = 500, process_images: bool = True): """ Get all comments from Jira issue and augment any images in them with textual descriptions. This method will: 1. Extract all comments from the specified Jira issue 2. Detect images in each comment - 3. Retrieve and process each image with an LLM, providing surrounding context - 4. Replace image references with the generated text descriptions + 3. Retrieve and process each image with an LLM, providing surrounding context (if process_images=True) + 4. Replace image references with the generated text descriptions (if process_images=True) Args: jira_issue_key: The Jira issue key to retrieve comments from (e.g., 'TEST-1234') prompt: Custom prompt for the LLM when analyzing images. If None, a default prompt will be used. context_radius: Number of characters to include before and after each image for context. Default is 500. + process_images: Whether to process images with LLM. Set to False to return raw comments without + image processing. Default is True. Returns: - The comments with image references replaced with contextual descriptions + The comments with image references replaced with contextual descriptions, + or raw comments when process_images=False """ try: + if process_images and not self.llm: + raise ToolException( + "LLM is required for image processing but is not configured in this toolkit instance. " + "Please configure an LLM in the toolkit settings or set process_images=False to skip image processing." + ) processed_comments = self.get_processed_comments_list_with_image_description(jira_issue_key=jira_issue_key, prompt=prompt, - context_radius=context_radius) + context_radius=context_radius, + process_images=process_images) if not processed_comments: return f"No comments found for issue '{jira_issue_key}'" # Format the output From 2fb550deaac4f2f342cf63c13d40d36a374109d2 Mon Sep 17 00:00:00 2001 From: mikalai_biazruchka Date: Mon, 30 Mar 2026 12:26:37 +0300 Subject: [PATCH 2/4] fix: (EL-4040, 4041) add `process_images` toggle to YAML test cases for Jira and ADO - Updated multiple test cases to include the `process_images` field, set to `false`, to disable image processing for raw content validation. - Adjusted validation logic and expectations in ADO test cases to align with `process_images=false`. --- ...ase_05_get_wiki_page_image_processing.yaml | 19 +++++++++++++------ ...e_19_get_field_with_images_happy_path.yaml | 3 +++ ...1_get_comments_with_images_happy_path.yaml | 3 +++ ..._get_comments_with_images_no_comments.yaml | 3 +++ 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml b/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml index 3f4a1c6fc..a5e9201b4 100644 --- a/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml +++ b/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml @@ -43,6 +43,9 @@ nodes: recursion_level: type: fixed value: oneLevel + process_images: + type: fixed + value: false output: - tool_result structured_output: true @@ -65,7 +68,8 @@ nodes: task: type: fstring value: | - Validate that the wiki page content was retrieved successfully with image descriptions. + Validate that the wiki page content was retrieved successfully. + Image processing is disabled in this test (process_images=false), so raw content is expected. Tool Result: {tool_result} Expected Page ID: {page_id} @@ -80,13 +84,16 @@ nodes: - url: string - order: number - sub_pages: array (can be empty) - - content: string containing markdown with image descriptions (not raw attachment URLs) + - content: string (raw markdown content — image references are NOT processed) Validation requirements: - 1. Content field must be present - 2. Image descriptions should be contextual (e.g., describing laptop, workspace, desk) - 3. Images should NOT be raw attachment URLs - they should be processed descriptions - 4. Content should match the pattern: ![image.png](descriptive text about the image) + 1. eTag must be present + 2. page object must be present + 3. page id must match 54 + 4. content field must be present and non-empty + 5. Since process_images=false, raw image markdown (e.g., ![image.png]()) is acceptable + 6. has_image_descriptions and content_contextual should be set to true only if + content contains actual descriptive text beyond raw image syntax Return JSON test_results: {{ diff --git a/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml b/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml index dafbd3e48..7c80e7235 100644 --- a/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml +++ b/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml @@ -42,6 +42,9 @@ nodes: field_name: type: variable value: field_name + process_images: + type: fixed + value: false output: - tool_result structured_output: true diff --git a/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml b/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml index 2ed6416c6..ad6d69a75 100644 --- a/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml +++ b/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml @@ -35,6 +35,9 @@ nodes: jira_issue_key: type: variable value: issue_key + process_images: + type: fixed + value: false output: - tool_result structured_output: true diff --git a/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml b/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml index f7a8df5c6..6635814e4 100644 --- a/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml +++ b/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml @@ -35,6 +35,9 @@ nodes: jira_issue_key: type: variable value: issue_key + process_images: + type: fixed + value: false output: - tool_result structured_output: true From af83db6d5e9752941443cec0c4783fac7ee03f97 Mon Sep 17 00:00:00 2001 From: Vlad Variushkin Date: Mon, 30 Mar 2026 11:37:02 +0200 Subject: [PATCH 3/4] fix(tests): [jira] Fix JR21 - correct LLM validation for process_images=false scenario --- ...1_get_comments_with_images_happy_path.yaml | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml b/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml index ad6d69a75..060a30781 100644 --- a/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml +++ b/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml @@ -55,37 +55,27 @@ nodes: task: type: fstring value: | - Analyze the output from the 'get_comments_with_image_descriptions' tool. + Analyze the output from the 'get_comments_with_image_descriptions' tool called with process_images=false. Tool Result: {tool_result} Perform the following checks: 1. Confirm the tool executed successfully (result is not empty or null). 2. Result should contain comments with text content. - 3. For images in comments, verify descriptions are meaningful: - - meaningful descriptions contain actual content analysis (not just error messages) - - expected warning patterns that indicate acceptable behavior (check if message contains these keywords): - * "identify" + "image" + "format" - PIL cannot read the format - * "loading image" or "load" + "error" - file corruption or unsupported format - * "converting image" or "convert" + "error" - image processing failed - * "attachment not found" or "not found" - image reference doesn't exist - * "download failed" or "download" + "error" - network or authentication issue - * "image processing error" or "processing" + "error" - LLM temporarily unavailable - * "no content url" or "content" + "url" - attachment has no downloadable content - - unacceptable patterns indicating system failure: + 3. Since process_images=false was used, image processing was intentionally skipped. + Raw image references (e.g. "!filename.jpg|alt=..." or "!filename.png!") in the output are CORRECT and EXPECTED behavior. + Do NOT fail the test because images were not described - that is by design when process_images=false. + 4. Only fail if: + - The result is empty or null (tool did not return any data) + - The result contains system failure indicators: * "llm not available" - configuration issue * stack traces or unexpected python exceptions - 4. If comments exist without images, the tool should still succeed. - 5. If images have descriptions, they should describe the actual image content. - - Look for keywords and patterns, not exact message matches. - Determine if warnings are expected processing limitations (acceptable) or system failures (test fails). - Expected warnings indicate proper error handling and are acceptable. + 5. If comments exist (with or without images), the tool succeeded. Return a JSON object named test_results with the following structure: {{ - "test_passed": boolean (true if descriptions are meaningful or tool handles missing images correctly), + "test_passed": boolean (true if tool returned comments successfully, regardless of image processing), "summary": "brief description of outcome", "error": "error details if failed, null if passed" }} From a99019274657b2c125154942e1acf302904c8123 Mon Sep 17 00:00:00 2001 From: Vlad Variushkin Date: Mon, 30 Mar 2026 11:37:02 +0200 Subject: [PATCH 4/4] fix(tests): revert changes in autotests --- ...ase_05_get_wiki_page_image_processing.yaml | 19 ++++-------- ...e_19_get_field_with_images_happy_path.yaml | 3 -- ...1_get_comments_with_images_happy_path.yaml | 31 ++++++++++++------- ..._get_comments_with_images_no_comments.yaml | 3 -- 4 files changed, 25 insertions(+), 31 deletions(-) diff --git a/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml b/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml index a5e9201b4..3f4a1c6fc 100644 --- a/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml +++ b/.alita/tests/test_pipelines/suites/ado/tests/test_case_05_get_wiki_page_image_processing.yaml @@ -43,9 +43,6 @@ nodes: recursion_level: type: fixed value: oneLevel - process_images: - type: fixed - value: false output: - tool_result structured_output: true @@ -68,8 +65,7 @@ nodes: task: type: fstring value: | - Validate that the wiki page content was retrieved successfully. - Image processing is disabled in this test (process_images=false), so raw content is expected. + Validate that the wiki page content was retrieved successfully with image descriptions. Tool Result: {tool_result} Expected Page ID: {page_id} @@ -84,16 +80,13 @@ nodes: - url: string - order: number - sub_pages: array (can be empty) - - content: string (raw markdown content — image references are NOT processed) + - content: string containing markdown with image descriptions (not raw attachment URLs) Validation requirements: - 1. eTag must be present - 2. page object must be present - 3. page id must match 54 - 4. content field must be present and non-empty - 5. Since process_images=false, raw image markdown (e.g., ![image.png]()) is acceptable - 6. has_image_descriptions and content_contextual should be set to true only if - content contains actual descriptive text beyond raw image syntax + 1. Content field must be present + 2. Image descriptions should be contextual (e.g., describing laptop, workspace, desk) + 3. Images should NOT be raw attachment URLs - they should be processed descriptions + 4. Content should match the pattern: ![image.png](descriptive text about the image) Return JSON test_results: {{ diff --git a/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml b/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml index 7c80e7235..dafbd3e48 100644 --- a/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml +++ b/.alita/tests/test_pipelines/suites/jira/tests/test_case_19_get_field_with_images_happy_path.yaml @@ -42,9 +42,6 @@ nodes: field_name: type: variable value: field_name - process_images: - type: fixed - value: false output: - tool_result structured_output: true diff --git a/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml b/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml index 060a30781..2ed6416c6 100644 --- a/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml +++ b/.alita/tests/test_pipelines/suites/jira/tests/test_case_21_get_comments_with_images_happy_path.yaml @@ -35,9 +35,6 @@ nodes: jira_issue_key: type: variable value: issue_key - process_images: - type: fixed - value: false output: - tool_result structured_output: true @@ -55,27 +52,37 @@ nodes: task: type: fstring value: | - Analyze the output from the 'get_comments_with_image_descriptions' tool called with process_images=false. + Analyze the output from the 'get_comments_with_image_descriptions' tool. Tool Result: {tool_result} Perform the following checks: 1. Confirm the tool executed successfully (result is not empty or null). 2. Result should contain comments with text content. - 3. Since process_images=false was used, image processing was intentionally skipped. - Raw image references (e.g. "!filename.jpg|alt=..." or "!filename.png!") in the output are CORRECT and EXPECTED behavior. - Do NOT fail the test because images were not described - that is by design when process_images=false. - 4. Only fail if: - - The result is empty or null (tool did not return any data) - - The result contains system failure indicators: + 3. For images in comments, verify descriptions are meaningful: + - meaningful descriptions contain actual content analysis (not just error messages) + - expected warning patterns that indicate acceptable behavior (check if message contains these keywords): + * "identify" + "image" + "format" - PIL cannot read the format + * "loading image" or "load" + "error" - file corruption or unsupported format + * "converting image" or "convert" + "error" - image processing failed + * "attachment not found" or "not found" - image reference doesn't exist + * "download failed" or "download" + "error" - network or authentication issue + * "image processing error" or "processing" + "error" - LLM temporarily unavailable + * "no content url" or "content" + "url" - attachment has no downloadable content + - unacceptable patterns indicating system failure: * "llm not available" - configuration issue * stack traces or unexpected python exceptions - 5. If comments exist (with or without images), the tool succeeded. + 4. If comments exist without images, the tool should still succeed. + 5. If images have descriptions, they should describe the actual image content. + + Look for keywords and patterns, not exact message matches. + Determine if warnings are expected processing limitations (acceptable) or system failures (test fails). + Expected warnings indicate proper error handling and are acceptable. Return a JSON object named test_results with the following structure: {{ - "test_passed": boolean (true if tool returned comments successfully, regardless of image processing), + "test_passed": boolean (true if descriptions are meaningful or tool handles missing images correctly), "summary": "brief description of outcome", "error": "error details if failed, null if passed" }} diff --git a/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml b/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml index 6635814e4..f7a8df5c6 100644 --- a/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml +++ b/.alita/tests/test_pipelines/suites/jira/tests/test_case_22_get_comments_with_images_no_comments.yaml @@ -35,9 +35,6 @@ nodes: jira_issue_key: type: variable value: issue_key - process_images: - type: fixed - value: false output: - tool_result structured_output: true