Documentation ¶
Index ¶
- Constants
- func UploadMultipleReportsToGithub(scanReports *[]IssueDetail, token, APIURL, owner, repository string, ...) error
- func UploadSingleReportToGithub(scanReport IssueDetail, token, APIURL, owner, repository string, ...) error
- type ColumnStyle
- type IssueDetail
- type OverviewRow
- type ScanCell
- type ScanDetailTable
- type ScanReport
- type ScanRow
- type Subheader
- type Uploader
Constants ¶
const ( Green = iota + 1 Yellow Red Grey Black )
enum for style types
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 ¶
func UploadMultipleReportsToGithub ¶
func UploadMultipleReportsToGithub(scanReports *[]IssueDetail, token, APIURL, owner, repository string, assignees, trustedCerts []string, uploader Uploader) error
UploadMultipleReportsToGithub uploads a number of reports to GitHub, one per IssueDetail to create transparency
func UploadSingleReportToGithub ¶
func UploadSingleReportToGithub(scanReport IssueDetail, token, APIURL, owner, repository string, assignees []string, uploader Uploader) error
UploadSingleReportToGithub uploads a single report to GitHub
Types ¶
type ColumnStyle ¶
type ColumnStyle int
ColumnStyle defines style for a specific column
func (ColumnStyle) String ¶
func (c ColumnStyle) String() string
type IssueDetail ¶
IssueDetail represents any content that can be transformed into the body of a GitHub issue
type OverviewRow ¶
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 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 ¶
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) ToHTML ¶
func (s *ScanReport) ToHTML() ([]byte, error)
ToHTML creates a HTML version of the report
func (*ScanReport) ToJSON ¶
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 ¶
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 ¶
func (s *ScanRow) AddColumn(content interface{}, style ColumnStyle)
AddColumn adds a column to a dedicated ScanRow
type Subheader ¶
type Subheader struct { Description string `json:"text"` Details string `json:"details,omitempty"` }
Subheader defines a dedicated sub header in a report
type Uploader ¶
type Uploader interface {
CreateIssue(ghCreateIssueOptions *piperGithub.CreateIssueOptions) error
}