|
12 | 12 | - All original SARIF result fields (ruleId, message, locations, etc.) |
13 | 13 | - Derived fields (ruleGroup, ruleLanguage) parsed from ruleId |
14 | 14 | - versionControlProvenance from run, OR derived from filename pattern |
| 15 | +- repositoryUri (flattened from versionControlProvenance for easier querying) |
15 | 16 | - Source file tracking metadata |
16 | 17 |
|
17 | 18 | Repository URI Derivation from Filename: |
@@ -171,6 +172,8 @@ def replace_var(match): |
171 | 172 | "revisionTag": {"type": "keyword"}, |
172 | 173 | }, |
173 | 174 | }, |
| 175 | + # Flattened repositoryUri for easier querying (extracted from versionControlProvenance) |
| 176 | + "repositoryUri": {"type": "keyword"}, |
174 | 177 | # Metadata for tracking source SARIF file |
175 | 178 | "_sarif_source": { |
176 | 179 | "properties": { |
@@ -435,6 +438,9 @@ def sarif_results_generator(sarif_files, index_name): |
435 | 438 | # Add ONLY versionControlProvenance (not tool, automationDetails, etc.) |
436 | 439 | if version_control_provenance: |
437 | 440 | document["versionControlProvenance"] = version_control_provenance |
| 441 | + # Also add flattened repositoryUri for easier querying |
| 442 | + if version_control_provenance[0].get("repositoryUri"): |
| 443 | + document["repositoryUri"] = version_control_provenance[0]["repositoryUri"] |
438 | 444 |
|
439 | 445 | # Add source file metadata |
440 | 446 | document["_sarif_source"] = { |
|
0 commit comments