Help us shape the future of Go! Take the 2026 Go Developer Survey

violationutils

package
v1.41.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2026 License: Apache-2.0 Imports: 8 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CveViolation

type CveViolation struct {
	ScaViolation
	CveVulnerability   cyclonedx.Vulnerability
	ContextualAnalysis *formats.Applicability        `json:"contextual_analysis,omitempty"`
	FixedVersions      *[]cyclonedx.AffectedVersions `json:"fixed_versions,omitempty"`
	// TODO: remove comment after information displayed in cyclonedx.Vulnerability
	JfrogResearchInformation *formats.JfrogResearchInformation `json:"jfrogResearchInformation,omitempty"`
}

func (*CveViolation) ShouldFailBuild

func (cv *CveViolation) ShouldFailBuild() bool

func (*CveViolation) ShouldFailPR

func (cv *CveViolation) ShouldFailPR() bool

type JasViolation

type JasViolation struct {
	Violation
	Rule     *sarif.ReportingDescriptor `json:"rule,omitempty"`
	Result   *sarif.Result              `json:"result,omitempty"`
	Location *sarif.Location            `json:"location,omitempty"`
}

type LicenseViolation

type LicenseViolation struct {
	ScaViolation
	LicenseKey  string `json:"license_key"`
	LicenseName string `json:"license_name"`
}

type OperationalRiskViolation

type OperationalRiskViolation struct {
	ScaViolation
	OperationalRiskViolationReadableData
}

type OperationalRiskViolationReadableData

type OperationalRiskViolationReadableData struct {
	RiskReason    string `json:"riskReason"`
	IsEol         string `json:"isEndOfLife"`
	EolMessage    string `json:"endOfLifeMessage"`
	Cadence       string `json:"cadence"`
	Commits       string `json:"commits"`
	Committers    string `json:"committers"`
	NewerVersions string `json:"newerVersions"`
	LatestVersion string `json:"latestVersion"`
}

func GetOperationalRiskViolationReadableData

func GetOperationalRiskViolationReadableData(riskReason string, isEol *bool, eolMsg string, cadence *float64, commits *int64, committers *int, latestVersion string, newerVersion *int) OperationalRiskViolationReadableData

type Policy

type Policy struct {
	PolicyName        string `json:"policy"`
	Rule              string `json:"rule"`
	FailBuild         bool   `json:"fail_build,omitempty"`
	FailPullRequest   bool   `json:"fail_pull_request,omitempty"`
	SkipNotApplicable bool   `json:"skip_not_applicable,omitempty"`
}

type ScaViolation

type ScaViolation struct {
	Violation
	ImpactedComponent *cyclonedx.Component     `json:"impacted_component,omitempty"`
	DirectComponents  []formats.ComponentRow   `json:"direct_components,omitempty"`
	ImpactPaths       [][]formats.ComponentRow `json:"impact_paths,omitempty"`
}

type ScaViolationIssueType

type ScaViolationIssueType string
const (
	ScaViolationTypeSecurity        ScaViolationIssueType = "security"
	ScaViolationTypeOperationalRisk ScaViolationIssueType = "operational_risk"
	ScaViolationTypeLicense         ScaViolationIssueType = "license"

	CustomLicenseViolationId = "custom_license_violation"
)

func (ScaViolationIssueType) String

func (v ScaViolationIssueType) String() string

type Violation

type Violation struct {
	ViolationId   string                 `json:"violation_id"`
	ViolationType ViolationIssueType     `json:"violation_type"`
	Severity      severityutils.Severity `json:"severity"`
	Watch         string                 `json:"watch_name"`
	Policies      []Policy               `json:"matched_policies,omitempty"`
}

func (*Violation) ShouldFailBuild

func (v *Violation) ShouldFailBuild() bool

func (*Violation) ShouldFailPR

func (v *Violation) ShouldFailPR() bool

func (*Violation) ShouldSkipNotApplicable

func (v *Violation) ShouldSkipNotApplicable() bool

type ViolationIssueType

type ViolationIssueType string
const (
	LicenseViolationType  ViolationIssueType = "license"
	OperationalRiskType   ViolationIssueType = "operational_risk"
	CveViolationType      ViolationIssueType = "cve"
	SecretsViolationType  ViolationIssueType = "secrets"
	ServicesViolationType ViolationIssueType = "services"
	IacViolationType      ViolationIssueType = "iac"
	SastViolationType     ViolationIssueType = "sast"
)

func (ViolationIssueType) String

func (v ViolationIssueType) String() string

type Violations

type Violations struct {
	Sca      []CveViolation             `json:"sca,omitempty"`
	License  []LicenseViolation         `json:"license,omitempty"`
	OpRisk   []OperationalRiskViolation `json:"operational_risk,omitempty"`
	Secrets  []JasViolation             `json:"secrets,omitempty"`
	Iac      []JasViolation             `json:"iac,omitempty"`
	Services []JasViolation             `json:"services,omitempty"`
	Sast     []JasViolation             `json:"sast,omitempty"`
}

func (*Violations) Count

func (vs *Violations) Count() int

func (*Violations) HasViolations

func (vs *Violations) HasViolations() bool

func (*Violations) ShouldFailBuild

func (vs *Violations) ShouldFailBuild() bool

func (*Violations) ShouldFailPR

func (vs *Violations) ShouldFailPR() bool

func (*Violations) String

func (vs *Violations) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL