reporting

package
v1.267.0 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2023 License: Apache-2.0 Imports: 12 Imported by: 12

Documentation

Index

Constants

View Source
const (
	Green = iota + 1
	Yellow
	Red
	Grey
	Black
)

enum for style types

View Source
const StepReportDirectory = ".pipeline/stepReports"

StepReportDirectory specifies the default directory for markdown reports which can later be collected by step pipelineCreateSummary

Variables

This section is empty.

Functions

This section is empty.

Types

type ColumnStyle

type ColumnStyle int

ColumnStyle defines style for a specific column

func (ColumnStyle) String

func (c ColumnStyle) String() string

type GitHub added in v1.237.0

type GitHub struct {
	Owner         *string
	Repository    *string
	Assignees     *[]string
	IssueService  githubIssueService
	SearchService githubSearchService
}

GitHub contains metadata for reporting towards GitHub

func (*GitHub) UploadMultipleReports added in v1.237.0

func (g *GitHub) UploadMultipleReports(ctx context.Context, scanReports *[]IssueDetail) error

UploadMultipleReports uploads a number of reports to GitHub, one per IssueDetail to create transparency

func (*GitHub) UploadSingleReport added in v1.237.0

func (g *GitHub) UploadSingleReport(ctx context.Context, scanReport IssueDetail) error

UploadSingleReport uploads a single report to GitHub

type IssueDetail added in v1.204.0

type IssueDetail interface {
	Title() string
	ToMarkdown() ([]byte, error)
	ToTxt() string
}

IssueDetail represents any content that can be transformed into the body of a GitHub issue

type OverviewRow added in v1.125.0

type OverviewRow struct {
	Description string      `json:"description"`
	Details     string      `json:"details,omitempty"`
	Style       ColumnStyle `json:"style,omitempty"`
}

OverviewRow defines a row in the report's overview section it can consist of a description and some details where the details can have a style attached

type PolicyViolationReport added in v1.255.0

type PolicyViolationReport struct {
	ArtifactID       string
	Branch           string
	CommitID         string
	Description      string
	DirectDependency string
	Footer           string
	Group            string
	PackageURL       string
	PipelineName     string
	PipelineLink     string
	Version          string
}

func (*PolicyViolationReport) ToMarkdown added in v1.255.0

func (p *PolicyViolationReport) ToMarkdown() ([]byte, error)

type ScanCell

type ScanCell struct {
	Content string      `json:"content"`
	Style   ColumnStyle `json:"style"`
}

ScanCell defines one column of a scan result table

type ScanDetailTable

type ScanDetailTable struct {
	Headers       []string  `json:"headers"`
	Rows          []ScanRow `json:"rows"`
	WithCounter   bool      `json:"withCounter"`
	CounterHeader string    `json:"counterHeader"`
	NoRowsMessage string    `json:"noRowsMessage"`
}

ScanDetailTable defines a table containing scan result details

type ScanReport

type ScanReport struct {
	StepName       string          `json:"stepName"`
	ReportTitle    string          `json:"title"`
	Subheaders     []Subheader     `json:"subheaders"`
	Overview       []OverviewRow   `json:"overview"`
	FurtherInfo    string          `json:"furtherInfo"`
	ReportTime     time.Time       `json:"reportTime"`
	DetailTable    ScanDetailTable `json:"detailTable"`
	SuccessfulScan bool            `json:"successfulScan"`
}

ScanReport defines the elements of a scan report used by various scan steps

func (*ScanReport) AddSubHeader added in v1.125.0

func (s *ScanReport) AddSubHeader(header, details string)

AddSubHeader adds a sub header to the report containing of a text/title plus optional details

func (ScanReport) Title

func (s ScanReport) Title() string

Title returns the title of the report

func (*ScanReport) ToHTML

func (s *ScanReport) ToHTML() ([]byte, error)

ToHTML creates a HTML version of the report

func (*ScanReport) ToJSON added in v1.131.0

func (s *ScanReport) ToJSON() ([]byte, error)

ToJSON returns the report in JSON format

func (ScanReport) ToMarkdown

func (s ScanReport) ToMarkdown() ([]byte, error)

ToMarkdown creates a markdown version of the report content

func (ScanReport) ToTxt added in v1.204.0

func (s ScanReport) ToTxt() string

ToTxt up to now returns the report in JSON format

type ScanRow

type ScanRow struct {
	Columns []ScanCell `json:"columns"`
}

ScanRow defines one row of a scan result table

func (*ScanRow) AddColumn added in v1.125.0

func (s *ScanRow) AddColumn(content interface{}, style ColumnStyle)

AddColumn adds a column to a dedicated ScanRow

type Subheader added in v1.125.0

type Subheader struct {
	Description string `json:"text"`
	Details     string `json:"details,omitempty"`
}

Subheader defines a dedicated sub header in a report

type VulnerabilityReport added in v1.237.0

type VulnerabilityReport struct {
	ProjectName          string
	ProjectVersion       string
	BlackDuckProjectLink string
	ArtifactID           string
	Branch               string
	CommitID             string
	Description          string
	DependencyType       string
	Footer               string
	Group                string
	PackageURL           string
	PipelineName         string
	PipelineLink         string
	PublishDate          string
	Resolution           string
	Score                float64
	Severity             string
	Version              string
	VulnerabilityLink    string
	VulnerabilityName    string
	Origin               string
}

VulnerabilityReport represents metadata for a report on a vulnerability

func (*VulnerabilityReport) ToMarkdown added in v1.237.0

func (v *VulnerabilityReport) ToMarkdown() ([]byte, error)

ToMarkdown creates a vulnerability in markdown format which can be used in GitHub issues

Jump to

Keyboard shortcuts

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