| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package sarif
- const Version = "2.1.0"
- const Schema = "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json"
- type Log struct {
- Version string `json:"version"`
- Schema string `json:"$schema"`
- Runs []Run `json:"runs"`
- }
- type Run struct {
- Tool Tool `json:"tool"`
- Results []Result `json:"results,omitempty"`
- Invocations []Invocation `json:"invocations,omitempty"`
- Artifacts []Artifact `json:"artifacts,omitempty"`
- }
- type Artifact struct {
- Location ArtifactLocation `json:"location"`
- Length int `json:"length"`
- SourceLanguage string `json:"sourceLanguage"`
- Roles []string `json:"roles"`
- Encoding string `json:"encoding"`
- }
- const (
- AnalysisTarget = "analysisTarget"
- UTF8 = "UTF-8"
- Fail = "fail"
- Warning = "warning"
- Error = "error"
- Note = "note"
- None = "none"
- )
- type Hash struct {
- Sha256 string `json:"sha-256"`
- }
- type Tool struct {
- Driver ToolComponent `json:"driver"`
- }
- type Invocation struct {
- CommandLine string `json:"commandLine,omitempty"`
- Arguments []string `json:"arguments,omitempty"`
- WorkingDirectory ArtifactLocation `json:"workingDirectory,omitempty"`
- ExecutionSuccessful bool `json:"executionSuccessful"`
- }
- type ToolComponent struct {
- Name string `json:"name,omitempty"`
- Version string `json:"version,omitempty"`
- SemanticVersion string `json:"semanticVersion,omitempty"`
- InformationURI string `json:"informationUri,omitempty"`
- Rules []ReportingDescriptor `json:"rules,omitempty"`
- }
- type ReportingDescriptor struct {
- ID string `json:"id"`
- ShortDescription Message `json:"shortDescription"`
- // FullDescription Message `json:"fullDescription"`
- Help Message `json:"help"`
- HelpURI string `json:"helpUri,omitempty"`
- DefaultConfiguration ReportingConfiguration `json:"defaultConfiguration"`
- }
- type ReportingConfiguration struct {
- Enabled bool `json:"enabled"`
- Level string `json:"level,omitempty"`
- Parameters map[string]interface{} `json:"parameters,omitempty"`
- }
- type Result struct {
- RuleID string `json:"ruleId"`
- // RuleIndex int `json:"ruleIndex"`
- Kind string `json:"kind"`
- Level string `json:"level,omitempty"`
- Message Message `json:"message"`
- Locations []Location `json:"locations,omitempty"`
- RelatedLocations []Location `json:"relatedLocations,omitempty"`
- Fixes []Fix `json:"fixes,omitempty"`
- Suppressions []Suppression `json:"suppressions"`
- }
- type Suppression struct {
- Kind string `json:"kind"`
- Justification string `json:"justification"`
- }
- type Fix struct {
- Description Message `json:"description"`
- ArtifactChanges []ArtifactChange `json:"artifactChanges"`
- }
- type ArtifactChange struct {
- ArtifactLocation ArtifactLocation `json:"artifactLocation"`
- Replacements []Replacement `json:"replacements"`
- }
- type Replacement struct {
- DeletedRegion Region `json:"deletedRegion"`
- InsertedContent ArtifactContent `json:"insertedContent"`
- }
- type ArtifactContent struct {
- Text string `json:"text"`
- }
- type Message struct {
- Text string `json:"text,omitempty"`
- Markdown string `json:"markdown,omitempty"`
- }
- type Location struct {
- ID int `json:"id,omitempty"`
- Message *Message `json:"message,omitempty"`
- PhysicalLocation PhysicalLocation `json:"physicalLocation"`
- }
- type PhysicalLocation struct {
- ArtifactLocation ArtifactLocation `json:"artifactLocation"`
- Region Region `json:"region"`
- }
- type ArtifactLocation struct {
- URI string `json:"uri,omitempty"`
- Index int `json:"index,omitempty"`
- URIBaseID string `json:"uriBaseId,omitempty"`
- }
- type Region struct {
- StartLine int `json:"startLine"`
- StartColumn int `json:"startColumn"`
- EndLine int `json:"endLine,omitempty"`
- EndColumn int `json:"endColumn,omitempty"`
- }
|