@@ -40,6 +40,7 @@ class CliConfig:
4040 allow_unverified : bool = False
4141 enable_json : bool = False
4242 enable_sarif : bool = False
43+ sarif_file : Optional [str ] = None
4344 enable_gitlab_security : bool = False
4445 gitlab_security_file : Optional [str ] = None
4546 disable_overview : bool = False
@@ -103,6 +104,10 @@ def from_args(cls, args_list: Optional[List[str]] = None) -> 'CliConfig':
103104 args .api_token
104105 )
105106
107+ # --sarif-file implies --enable-sarif
108+ if args .sarif_file :
109+ args .enable_sarif = True
110+
106111 # Strip quotes from commit message if present
107112 commit_message = args .commit_message
108113 if commit_message and commit_message .startswith ('"' ) and commit_message .endswith ('"' ):
@@ -126,6 +131,7 @@ def from_args(cls, args_list: Optional[List[str]] = None) -> 'CliConfig':
126131 'allow_unverified' : args .allow_unverified ,
127132 'enable_json' : args .enable_json ,
128133 'enable_sarif' : args .enable_sarif ,
134+ 'sarif_file' : args .sarif_file ,
129135 'enable_gitlab_security' : args .enable_gitlab_security ,
130136 'gitlab_security_file' : args .gitlab_security_file ,
131137 'disable_overview' : args .disable_overview ,
@@ -471,6 +477,13 @@ def create_argument_parser() -> argparse.ArgumentParser:
471477 action = "store_true" ,
472478 help = "Enable SARIF output of results instead of table or JSON format"
473479 )
480+ output_group .add_argument (
481+ "--sarif-file" ,
482+ dest = "sarif_file" ,
483+ metavar = "<path>" ,
484+ default = None ,
485+ help = "Output file path for SARIF report (implies --enable-sarif)"
486+ )
474487 output_group .add_argument (
475488 "--enable-gitlab-security" ,
476489 dest = "enable_gitlab_security" ,
0 commit comments