11"""sarif-parser - Parse SARIF reports and covert them to DeepSource issues."""
2+
23from __future__ import annotations
34
45import hashlib
@@ -57,6 +58,7 @@ def parse(
5758
5859 deepsource_issues : list [Issue ] = []
5960 total_report_issues = 0
61+ sanitised_issues_count = 0
6062 for run in sarif_data ["runs" ]:
6163 total_report_issues += len (run ["results" ])
6264 for issue in run ["results" ]:
@@ -96,6 +98,7 @@ def parse(
9698 issue_code = issue ["ruleId" ]
9799 if issue_code in issue_map :
98100 issue_code = issue_map [issue_code ]["issue_code" ]
101+ sanitised_issues_count += 1
99102 else :
100103 # This issue isn't sanitised. Send an alert.
101104 sentry .raise_info (
@@ -121,9 +124,11 @@ def parse(
121124
122125 logger .info (
123126 "Total issues in SARIF report: %s. \n "
124- "Issues extracted for the run in files sent for analysis: %s" ,
127+ "Issues extracted for the run in files sent for analysis: %s. \n "
128+ "Sanitized issues count, with id in map: %s." ,
125129 total_report_issues ,
126130 len (deepsource_issues ),
131+ sanitised_issues_count ,
127132 )
128133
129134 return deepsource_issues
@@ -174,6 +179,10 @@ def run_sarif_parser(
174179 sentry .raise_info (
175180 f"Could not find issue map at { issue_map_path } for analyzer."
176181 )
182+ # Add a log too
183+ logger .warning (
184+ "Could not find issue map at %s for analyzer." , issue_map_path
185+ )
177186
178187 # Run parser
179188 deepsource_issues = []
@@ -202,5 +211,6 @@ def run_sarif_parser(
202211 "is_passed" : len (deepsource_issues ) == 0 ,
203212 "extra_data" : {},
204213 }
214+
205215 with open (output_path , "w" ) as file :
206216 json .dump (issues_dict , file )
0 commit comments