Documentation
¶
Overview ¶
Package publish delivers rendered reports (report.Artifact) to destinations. A Publisher is the "where" of reporting, separate from the Reporter (the "what", pkg/report). So a scan can render several formats once and deliver them to several destinations.
Each publisher is configured from a saga.PublisherConfig and named by its kind; Kinds lists the built-in set.
Index ¶
Constants ¶
const DiffMarker = defaultDiffPRMarker
DiffMarker identifies the sticky comment `draugr diff --publish` maintains.
Exported so the diff command asks for it by name rather than restating the string. It is deliberately not the marker a Saga's PR-comment publisher uses: a run that posts both a report and a delta wants two comments, not one that overwrites the other.
const ReportMarker = defaultPRMarker
ReportMarker identifies the sticky comment a Saga's PR-comment publisher maintains.
Variables ¶
This section is empty.
Functions ¶
func Distinguishes ¶ added in v0.117.0
Distinguishes returns the field that makes a second entry of kind a second destination, empty for a kind this build does not have.
func DistinguishingValue ¶ added in v0.117.0
func DistinguishingValue(cfg saga.PublisherConfig) string
DistinguishingValue returns what cfg wrote in the field that tells two entries of its kind apart.
What the descriptor wrote, not what it resolves to. `repo`, `pr` and `url` all default from the environment, so two entries that write nothing are the same entry twice however they resolve, and that is the case worth catching.
func Renders ¶ added in v0.118.0
Renders returns the formats kind produces for itself, nil for a kind with none and for one this build does not have.
Types ¶
type Publisher ¶
type Publisher interface {
// Kind is the publisher's config selector, e.g. "file".
Kind() string
// Publish delivers the artifacts. A publisher may use only the artifacts it cares about
// (e.g. a code-scanning publisher would take the SARIF one), ignoring the rest.
Publish(ctx context.Context, artifacts []report.Artifact) error
}
Publisher delivers rendered report artifacts to one destination.