Documentation ¶
Index ¶
- Constants
- func CreateSarifResultFile(vulns *Vulnerabilities) *format.SARIF
- func WriteSarifFile(sarif *format.SARIF, utils piperutils.FileUtils) ([]piperutils.Path, error)
- func WriteVulnerabilityReports(scanReport reporting.ScanReport, utils piperutils.FileUtils) ([]piperutils.Path, error)
- type Client
- func (b *Client) GetComponents(projectName, versionName string) (*Components, error)
- func (b *Client) GetComponentsWithLicensePolicyRule(projectName, versionName string) (*Components, error)
- func (b *Client) GetPolicyStatus(projectName, versionName string) (*PolicyStatus, error)
- func (b *Client) GetProject(projectName string) (*Project, error)
- func (b *Client) GetProjectVersion(projectName, projectVersion string) (*ProjectVersion, error)
- func (b *Client) GetProjectVersionLink(projectName, versionName string) (string, error)
- func (b *Client) GetVulnerabilities(projectName, versionName string) (*Vulnerabilities, error)
- type Component
- type Components
- type Link
- type Metadata
- type PolicyStatus
- type PolicyVersionDetails
- type Project
- type ProjectVersion
- type ProjectVersions
- type Projects
- type SeverityLevels
- type Vulnerabilities
- type Vulnerability
- type VulnerabilityWithRemediation
Constants ¶
const ( HEADER_PROJECT_DETAILS_V4 = "application/vnd.blackducksoftware.project-detail-4+json" HEADER_USER_V4 = "application/vnd.blackducksoftware.user-4+json" HEADER_BOM_V6 = "application/vnd.blackducksoftware.bill-of-materials-6+json" )
const ReportsDirectory = "blackduck"
ReportsDirectory defines the subfolder for the Blackduck reports which are generated
Variables ¶
This section is empty.
Functions ¶
func CreateSarifResultFile ¶
func CreateSarifResultFile(vulns *Vulnerabilities) *format.SARIF
CreateSarifResultFile creates a SARIF result from the Vulnerabilities that were brought up by the scan
func WriteSarifFile ¶
func WriteSarifFile(sarif *format.SARIF, utils piperutils.FileUtils) ([]piperutils.Path, error)
WriteSarifFile write a JSON sarif format file for upload into e.g. GCP
func WriteVulnerabilityReports ¶
func WriteVulnerabilityReports(scanReport reporting.ScanReport, utils piperutils.FileUtils) ([]piperutils.Path, error)
WriteVulnerabilityReports writes vulnerability information from ScanReport into dedicated outputs e.g. HTML
Types ¶
type Client ¶
type Client struct { BearerToken string `json:"bearerToken,omitempty"` BearerExpiresInMilliseconds int64 `json:"expiresInMilliseconds,omitempty"` // contains filtered or unexported fields }
Client defines a BlackDuck client
func (*Client) GetComponents ¶
func (b *Client) GetComponents(projectName, versionName string) (*Components, error)
func (*Client) GetComponentsWithLicensePolicyRule ¶
func (b *Client) GetComponentsWithLicensePolicyRule(projectName, versionName string) (*Components, error)
func (*Client) GetPolicyStatus ¶
func (b *Client) GetPolicyStatus(projectName, versionName string) (*PolicyStatus, error)
func (*Client) GetProject ¶
GetProject returns a project with a given name
func (*Client) GetProjectVersion ¶
func (b *Client) GetProjectVersion(projectName, projectVersion string) (*ProjectVersion, error)
GetProjectVersion returns a project version with a given name
func (*Client) GetProjectVersionLink ¶
func (*Client) GetVulnerabilities ¶
func (b *Client) GetVulnerabilities(projectName, versionName string) (*Vulnerabilities, error)
type Components ¶
type PolicyStatus ¶
type PolicyStatus struct { OverallStatus string `json:"overallStatus,omitempty"` PolicyVersionDetails `json:"componentVersionPolicyViolationDetails,omitempty"` }
type PolicyVersionDetails ¶
type PolicyVersionDetails struct { Name string `json:"name,omitempty"` SeverityLevels []SeverityLevels `json:"severityLevels,omitEmpty"` }
type ProjectVersion ¶
type ProjectVersion struct { Name string `json:"versionName,omitempty"` Metadata `json:"_meta,omitempty"` }
ProjectVersion defines a version of a BlackDuck project
type ProjectVersions ¶
type ProjectVersions struct { TotalCount int `json:"totalCount,omitempty"` Items []ProjectVersion `json:"items,omitempty"` }
ProjectVersions defines the response to a BlackDuck project version API request
type Projects ¶
type Projects struct { TotalCount int `json:"totalCount,omitempty"` Items []Project `json:"items,omitempty"` }
Projects defines the response to a BlackDuck project API request
type SeverityLevels ¶
type Vulnerabilities ¶
type Vulnerabilities struct { TotalCount int `json:"totalCount,omitempty"` Items []Vulnerability `json:"items,omitempty"` }
type Vulnerability ¶
type Vulnerability struct { Name string `json:"componentName,omitempty"` Version string `json:"componentVersionName,omitempty"` VulnerabilityWithRemediation `json:"vulnerabilityWithRemediation,omitempty"` }
func (Vulnerability) Title ¶
func (v Vulnerability) Title() string
Title returns the issue title representation of the contents
func (Vulnerability) ToMarkdown ¶
func (v Vulnerability) ToMarkdown() ([]byte, error)
ToMarkdown returns the markdown representation of the contents
func (Vulnerability) ToTxt ¶
func (v Vulnerability) ToTxt() string
ToTxt returns the textual representation of the contents
type VulnerabilityWithRemediation ¶
type VulnerabilityWithRemediation struct { VulnerabilityName string `json:"vulnerabilityName,omitempty"` BaseScore float32 `json:"baseScore,omitempty"` Severity string `json:"severity,omitempty"` RemediationStatus string `json:"remediationStatus,omitempty"` Description string `json:"description,omitempty"` OverallScore float32 `json:"overallScore,omitempty"` }