scripts/tag_task_execution.py (24 lines of code) (raw):

import json report = "%teamcity.build.workingDir%/%report_file%" try: with open(report, 'r') as file: data = json.load(file) resolved_instances = data.get('resolved_instances', 0) unresolved_instances = data.get('unresolved_instances', 0) error_instances = data.get('error_instances', 0) empty_patch_instances = data.get('empty_patch_instances', 0) if resolved_instances > 0: print("##teamcity[addBuildTag '✅ Good solution']") if unresolved_instances > 0: print("##teamcity[addBuildTag '❌ Bad solution']") if error_instances > 0 or empty_patch_instances > 0: print("##teamcity[addBuildTag '⚠️ Error']") print(f"##teamcity[buildStatus text='Solution was not provided or contains errors']") else: print(f"##teamcity[buildStatus text='Solution was generated by AI agent']") except FileNotFoundError: print(f"ERROR: File '{report}' not found") except json.JSONDecodeError: print(f"ERROR: Invalid JSON format in '{report}'") except Exception as e: print(f"ERROR: An unexpected error occurred: {str(e)}")