services

package
v1.47.1 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2024 License: Apache-2.0 Imports: 16 Imported by: 20

Documentation

Index

Constants

View Source
const (
	BuildScanAPI = "api/v2/ci/build"

	XrayScanBuildNoFailBuildPolicy = "No Xray “Fail build in case of a violation” policy rule has been defined on this build"
)
View Source
const (
	// ReportsAPI refer to: https://www.jfrog.com/confluence/display/JFROG/Xray+REST+API#XrayRESTAPI-REPORTS
	ReportsAPI      = "api/v1/reports"
	Vulnerabilities = "vulnerabilities"
	Licenses        = "licenses"
	Violations      = "violations"
)
View Source
const (

	// ScanType values
	Dependency ScanType = "dependency"
	Binary     ScanType = "binary"

	XscGraphAPI = "api/v1/sca/scan/graph"

	XscVersionAPI = "api/v1/system/version"

	XraySuffix = "/xray/"

	XscSuffix = "/xsc/"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Artifact added in v1.12.0

type Artifact struct {
	General  General          `json:"general,omitempty"`
	Issues   []Issue          `json:"issues,omitempty"`
	Licenses []SummaryLicense `json:"licenses,omitempty"`
}

type ArtifactSummaryParams added in v1.12.0

type ArtifactSummaryParams struct {
	Checksums []string `json:"checksums,omitempty"`
	Paths     []string `json:"paths,omitempty"`
}

type ArtifactSummaryResponse added in v1.12.0

type ArtifactSummaryResponse struct {
	Artifacts []Artifact `json:"artifacts,omitempty"`
	Errors    []Error    `json:"errors,omitempty"`
}

type BinMgrService added in v0.20.1

type BinMgrService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

BinMgrService defines the http client and Xray details

func NewBinMgrService added in v0.20.1

func NewBinMgrService(client *jfroghttpclient.JfrogHttpClient) *BinMgrService

NewBinMgrService creates a new Xray Binary Manager Service

func (*BinMgrService) AddBuildsToIndexing added in v0.20.1

func (xbms *BinMgrService) AddBuildsToIndexing(buildNames []string) error

AddBuildsToIndexing will add builds to indexing configuration

func (*BinMgrService) GetJfrogHttpClient added in v0.20.1

func (xbms *BinMgrService) GetJfrogHttpClient() *jfroghttpclient.JfrogHttpClient

GetJfrogHttpClient returns the http client

func (*BinMgrService) GetXrayDetails added in v0.20.1

func (xbms *BinMgrService) GetXrayDetails() auth.ServiceDetails

GetXrayDetails returns the Xray details

type BuildScanResponse added in v1.6.4

type BuildScanResponse struct {
	Status          string          `json:"status,omitempty"`
	MoreDetailsUrl  string          `json:"more_details_url,omitempty"`
	FailBuild       bool            `json:"fail_build,omitempty"`
	Violations      []Violation     `json:"violations,omitempty"`
	Vulnerabilities []Vulnerability `json:"vulnerabilities,omitempty"`
	Info            string          `json:"info,omitempty"`
}

type BuildScanService added in v1.6.4

type BuildScanService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

func NewBuildScanService added in v1.6.4

func NewBuildScanService(client *jfroghttpclient.JfrogHttpClient) *BuildScanService

NewBuildScanService creates a new service to scan build dependencies.

func (*BuildScanService) ScanBuild added in v1.31.1

func (bs *BuildScanService) ScanBuild(params XrayBuildParams, includeVulnerabilities bool) (scanResponse *BuildScanResponse, noFailBuildPolicy bool, err error)

type Component added in v0.25.0

type Component struct {
	FixedVersions []string           `json:"fixed_versions,omitempty"`
	ImpactPaths   [][]ImpactPathNode `json:"impact_paths,omitempty"`
	Cpes          []string           `json:"cpes,omitempty"`
}

type Cve added in v0.25.0

type Cve struct {
	Id           string         `json:"cve,omitempty"`
	CvssV2Score  string         `json:"cvss_v2_score,omitempty"`
	CvssV2Vector string         `json:"cvss_v2_vector,omitempty"`
	CvssV3Score  string         `json:"cvss_v3_score,omitempty"`
	CvssV3Vector string         `json:"cvss_v3_vector,omitempty"`
	Cwe          []string       `json:"cwe,omitempty"`
	CweDetails   map[string]Cwe `json:"cwe_details,omitempty"`
}

type CvssScore added in v1.6.0

type CvssScore struct {
	MinScore float32 `json:"min_score,omitempty"`
	MaxScore float32 `json:"max_score,omitempty"`
}

type Cwe added in v1.40.0

type Cwe struct {
	Name        string        `json:"name,omitempty"`
	Description string        `json:"description,omitempty"`
	Categories  []CweCategory `json:"categories,omitempty"`
}

type CweCategory added in v1.40.0

type CweCategory struct {
	Category string `json:"category,omitempty"`
	Rank     string `json:"rank,omitempty"`
}

type DateTimeRange added in v1.32.0

type DateTimeRange struct {
	Start string `json:"start,omitempty"`
	End   string `json:"end,omitempty"`
}

type EnrichService added in v1.42.0

type EnrichService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

func NewEnrichService added in v1.42.0

func NewEnrichService(client *jfroghttpclient.JfrogHttpClient) *EnrichService

NewEnrichService creates a new service to enrich CycloneDX xml and jsons.

func (*EnrichService) GetImportGraphResults added in v1.42.0

func (es *EnrichService) GetImportGraphResults(scanId string) (*ScanResponse, error)

func (*EnrichService) ImportGraph added in v1.42.0

func (es *EnrichService) ImportGraph(importParams XrayGraphImportParams) (string, error)

type EntitlementsService added in v1.29.0

type EntitlementsService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

func NewEntitlementsService added in v1.29.0

func NewEntitlementsService(client *jfroghttpclient.JfrogHttpClient) *EntitlementsService

NewEntitlementsService creates a new service to retrieve the entitlement data from Xray

func (*EntitlementsService) GetXrayDetails added in v1.29.0

func (es *EntitlementsService) GetXrayDetails() auth.ServiceDetails

GetXrayDetails returns the Xray details

func (*EntitlementsService) IsEntitled added in v1.29.0

func (es *EntitlementsService) IsEntitled(featureId string) (entitled bool, err error)

IsEntitled returns true if the user is entitled for the requested feature ID

type Error added in v1.6.4

type Error struct {
	Error      string `json:"error,omitempty"`
	Identifier string `json:"identifier,omitempty"`
}

type ExtendedInformation added in v1.12.3

type ExtendedInformation struct {
	ShortDescription             string                        `json:"short_description,omitempty"`
	FullDescription              string                        `json:"full_description,omitempty"`
	JfrogResearchSeverity        string                        `json:"jfrog_research_severity,omitempty"`
	JfrogResearchSeverityReasons []JfrogResearchSeverityReason `json:"jfrog_research_severity_reasons,omitempty"`
	Remediation                  string                        `json:"remediation,omitempty"`
}

type Filter added in v1.6.0

type Filter VulnerabilitiesFilter

For backwork compatibility keeping old struct name

type General added in v1.12.0

type General struct {
	ComponentId string `json:"component_id,omitempty"`
	Name        string `json:"name,omitempty"`
	Path        string `json:"path,omitempty"`
	PkgType     string `json:"pkg_type,omitempty"`
	Sha256      string `json:"sha256,omitempty"`
}

type IgnoreRuleService added in v1.43.0

type IgnoreRuleService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

IgnoreRuleService defines the http client and Xray details

func NewIgnoreRuleService added in v1.43.0

func NewIgnoreRuleService(client *jfroghttpclient.JfrogHttpClient) *IgnoreRuleService

NewIgnoreRuleService creates a new Xray Ignore Rule Service

func (*IgnoreRuleService) Create added in v1.43.0

func (xirs *IgnoreRuleService) Create(params utils.IgnoreRuleParams) (ignoreRuleId string, err error)

Create will create a new Xray ignore rule The function creates the ignore rule and returns its id which is recieved after post

func (*IgnoreRuleService) Delete added in v1.43.0

func (xirs *IgnoreRuleService) Delete(ignoreRuleId string) error

Delete will delete an ignore rule by id

func (*IgnoreRuleService) Get added in v1.43.0

func (xirs *IgnoreRuleService) Get(ignoreRuleId string) (ignoreRuleResp *utils.IgnoreRuleParams, err error)

Get retrieves the details about an Xray ignore rule by its id It will error if the ignore rule id can't be found.

func (*IgnoreRuleService) GetJfrogHttpClient added in v1.43.0

func (xirs *IgnoreRuleService) GetJfrogHttpClient() *jfroghttpclient.JfrogHttpClient

GetJfrogHttpClient returns the http client

func (*IgnoreRuleService) GetXrayDetails added in v1.43.0

func (xirs *IgnoreRuleService) GetXrayDetails() auth.ServiceDetails

GetXrayDetails returns the Xray details

type ImpactPathNode added in v1.0.1

type ImpactPathNode struct {
	ComponentId string `json:"component_id,omitempty"`
	FullPath    string `json:"full_path,omitempty"`
}

type Issue added in v1.6.4

type Issue struct {
	IssueId                string             `json:"issue_id,omitempty"`
	Summary                string             `json:"summary,omitempty"`
	Description            string             `json:"description,omitempty"`
	IssueType              string             `json:"issue_type,omitempty"`
	Severity               string             `json:"severity,omitempty"`
	Provider               string             `json:"provider,omitempty"`
	Cves                   []SummaryCve       `json:"cves,omitempty"`
	Created                string             `json:"created,omitempty"`
	ImpactPath             []string           `json:"impact_path,omitempty"`
	Components             []SummaryComponent `json:"components,omitempty"`
	ComponentPhysicalPaths []string           `json:"component_physical_paths,omitempty"`
}

type JasConfig added in v1.44.0

type JasConfig struct {
	TokenValidationToggle *bool `json:"enable_token_validation_scanning,omitempty"`
}

type JasConfigService added in v1.44.0

type JasConfigService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

JasConfigService returns the https client and Xray details

func NewJasConfigService added in v1.44.0

func NewJasConfigService(client *jfroghttpclient.JfrogHttpClient) *JasConfigService

NewJasConfigService creates a new service to retrieve the version of Xray

func (*JasConfigService) GetJasConfigTokenValidation added in v1.44.0

func (jcs *JasConfigService) GetJasConfigTokenValidation() (bool, error)

GetJasConfigTokenValidation returns token validation status in xray

func (*JasConfigService) GetXrayDetails added in v1.44.0

func (jcs *JasConfigService) GetXrayDetails() auth.ServiceDetails

GetXrayDetails returns the Xray details

type JfrogResearchSeverityReason added in v1.12.3

type JfrogResearchSeverityReason struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	IsPositive  bool   `json:"is_positive,omitempty"`
}

type License added in v0.25.0

type License struct {
	Key        string               `json:"license_key,omitempty"`
	Name       string               `json:"name,omitempty"`
	Components map[string]Component `json:"components,omitempty"`
	Custom     bool                 `json:"custom,omitempty"`
	References []string             `json:"references,omitempty"`
}

type LicensesFilter added in v1.32.0

type LicensesFilter struct {
	Component       string        `json:"component,omitempty"`
	Artifact        string        `json:"artifact,omitempty"`
	Unknown         *bool         `json:"unknown,omitempty"`
	Unrecognized    *bool         `json:"unrecognized,omitempty"`
	LicenseNames    []string      `json:"license_names,omitempty"`
	LicensePatterns []string      `json:"license_patterns,omitempty"`
	ScanDate        DateTimeRange `json:"scan_date,omitempty"`
}

type LicensesReportRequestParams added in v1.32.0

type LicensesReportRequestParams struct {
	Name      string         `json:"name,omitempty"`
	Filters   LicensesFilter `json:"filters,omitempty"`
	Resources Resource       `json:"resources,omitempty"`
}

LicensesReportRequestParams defines a report request

type PolicyAlreadyExistsError added in v0.21.0

type PolicyAlreadyExistsError struct {
	InnerError error
}

func (*PolicyAlreadyExistsError) Error added in v0.21.0

type PolicyService added in v0.20.1

type PolicyService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

PolicyService defines the http client and Xray details

func NewPolicyService added in v0.20.1

func NewPolicyService(client *jfroghttpclient.JfrogHttpClient) *PolicyService

NewPolicyService creates a new Xray Policy Service

func (*PolicyService) Create added in v0.20.1

func (xps *PolicyService) Create(params utils.PolicyParams) error

Create will create a new Xray policy

func (*PolicyService) Delete added in v0.20.1

func (xps *PolicyService) Delete(policyName string) error

Delete will delete an existing policy by name It will error if no policy can be found by that name.

func (*PolicyService) Get added in v0.20.1

func (xps *PolicyService) Get(policyName string) (policyResp *utils.PolicyParams, err error)

Get retrieves the details about an Xray policy by its name It will error if no policy can be found by that name.

func (*PolicyService) GetJfrogHttpClient added in v0.20.1

func (xps *PolicyService) GetJfrogHttpClient() *jfroghttpclient.JfrogHttpClient

GetJfrogHttpClient returns the http client

func (*PolicyService) GetXrayDetails added in v0.20.1

func (xps *PolicyService) GetXrayDetails() auth.ServiceDetails

GetXrayDetails returns the Xray details

func (*PolicyService) Update added in v0.20.1

func (xps *PolicyService) Update(params utils.PolicyParams) error

Update will update an existing Xray policy by name It will error if no policy can be found by that name.

type ReportContent added in v1.6.0

type ReportContent struct {
	TotalRows int   `json:"total_rows"`
	Rows      []Row `json:"rows"`
}

ReportContent defines a report content response

type ReportContentRequestParams added in v1.6.0

type ReportContentRequestParams struct {
	ReportType string
	ReportId   string
	Direction  string
	PageNum    int
	NumRows    int
	OrderBy    string
}

ReportContentRequestParams defines a report content request

type ReportCve added in v1.7.1

type ReportCve struct {
	Id           string  `json:"cve,omitempty"`
	CvssV2Score  float64 `json:"cvss_v2_score,omitempty"`
	CvssV2Vector string  `json:"cvss_v2_vector,omitempty"`
	CvssV3Score  float64 `json:"cvss_v3_score,omitempty"`
	CvssV3Vector string  `json:"cvss_v3_vector,omitempty"`
}

type ReportDetails added in v1.6.0

type ReportDetails struct {
	Id                 int    `json:"id,omitempty"`
	Name               string `json:"name,omitempty"`
	Type               string `json:"report_type,omitempty"`
	Status             string `json:"status,omitempty"`
	TotalArtifacts     int    `json:"total_artifacts,omitempty"`
	ProcessedArtifacts int    `json:"num_of_processed_artifacts,omitempty"`
	Progress           int    `json:"progress,omitempty"`
	RowCount           int    `json:"number_of_rows,omitempty"`
	StartTime          string `json:"start_time,omitempty"`
	EndTime            string `json:"end_time,omitempty"`
	Author             string `json:"author,omitempty"`
}

ReportDetails defines the detail response for an Xray report

type ReportRequestParams added in v1.6.0

type ReportRequestParams VulnerabilitiesReportRequestParams

type ReportResponse added in v1.6.0

type ReportResponse struct {
	ReportId int    `json:"report_id"`
	Status   string `json:"status"`
}

ReportResponse defines a report request response

type ReportService added in v1.6.0

type ReportService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

ReportService defines the Http client and Xray details

func NewReportService added in v1.6.0

func NewReportService(client *jfroghttpclient.JfrogHttpClient) *ReportService

NewReportService creates a new Xray Report Service

func (*ReportService) Content added in v1.6.0

Content retrieves the report content for the provided request

func (*ReportService) Delete added in v1.6.0

func (rs *ReportService) Delete(reportId string) error

Delete deletes the report that has an id matching reportId

func (*ReportService) Details added in v1.6.0

func (rs *ReportService) Details(reportId string) (*ReportDetails, error)

Details retrieves the details for a report

func (*ReportService) Licenses added in v1.32.0

Licenses requests a new Xray scan for licenses

func (*ReportService) Violations added in v1.32.0

Violations requests a new Xray scan for violations

func (*ReportService) Vulnerabilities added in v1.6.0

Vulnerabilities requests a new Xray scan for vulnerabilities

type Repository added in v1.6.0

type Repository struct {
	Name                string   `json:"name,omitempty"`
	IncludePathPatterns []string `json:"include_path_patterns,omitempty"`
}

type RequestBuildScanResponse added in v1.6.4

type RequestBuildScanResponse struct {
	Info string `json:"info,omitempty"`
}

type RequestScanResponse added in v0.25.0

type RequestScanResponse struct {
	ScanId string `json:"scan_id,omitempty"`
}

type Resource added in v1.6.0

type Resource struct {
	Repositories []Repository `json:"repositories,omitempty"`
}

type Row added in v1.6.0

type Row struct {
	// Vulnerability Report field
	Cves                     []ReportCve `json:"cves,omitempty"`
	Cvsv2MaxScore            float64     `json:"cvss2_max_score,omitempty"`
	Cvsv3MaxScore            float64     `json:"cvss3_max_score,omitempty"`
	Summary                  string      `json:"summary,omitempty"`
	Severity                 string      `json:"severity,omitempty"`
	SeveritySource           string      `json:"severity_source,omitempty"`
	VulnerableComponent      string      `json:"vulnerable_component,omitempty"`
	ImpactedArtifact         string      `json:"impacted_artifact,omitempty"`
	ImpactPath               []string    `json:"impact_path,omitempty"`
	FixedVersions            []string    `json:"fixed_versions,omitempty"`
	Published                string      `json:"published,omitempty"`
	IssueId                  string      `json:"issue_id,omitempty"`
	PackageType              string      `json:"package_type,omitempty"`
	Provider                 string      `json:"provider,omitempty"`
	Description              string      `json:"description,omitempty"`
	ExternalAdvisorySource   string      `json:"external_advisory_source,omitempty"`
	ExternalAdvisorySeverity string      `json:"external_advisory_severity,omitempty"`
	// Licenses Report field
	License          string `json:"license,omitempty"`
	LicenseName      string `json:"license_name,omitempty"`
	Component        string `json:"component,omitempty"`
	Artifact         string `json:"artifact,omitempty"`
	ArtifactScanTime string `json:"artifact_scan_time,omitempty"`
	Unknown          *bool  `json:"unknown,omitempty"`
	Unrecognized     *bool  `json:"unrecognized,omitempty"`
	Custom           *bool  `json:"custom,omitempty"`
	// Common field
	Path       string   `json:"path,omitempty"`
	References []string `json:"references,omitempty"`
}

Row defines an entry of the report content

type ScanErrorJson added in v1.12.3

type ScanErrorJson struct {
	Error string `json:"error"`
}

type ScanResponse added in v0.25.0

type ScanResponse struct {
	ScanId             string          `json:"scan_id,omitempty"`
	XrayDataUrl        string          `json:"xray_data_url,omitempty"`
	Violations         []Violation     `json:"violations,omitempty"`
	Vulnerabilities    []Vulnerability `json:"vulnerabilities,omitempty"`
	Licenses           []License       `json:"licenses,omitempty"`
	ScannedComponentId string          `json:"component_id,omitempty"`
	ScannedPackageType string          `json:"package_type,omitempty"`
	ScannedStatus      string          `json:"status,omitempty"`
}

type ScanService added in v0.25.0

type ScanService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

func NewScanService added in v0.25.0

func NewScanService(client *jfroghttpclient.JfrogHttpClient) *ScanService

NewScanService creates a new service to scan binaries and audit code projects' dependencies.

func (*ScanService) GetScanGraphResults added in v0.25.0

func (ss *ScanService) GetScanGraphResults(scanId string, includeVulnerabilities, includeLicenses, xscEnabled bool) (*ScanResponse, error)

func (*ScanService) IsXscEnabled added in v1.32.0

func (ss *ScanService) IsXscEnabled() (xsxVersion string, err error)

IsXscEnabled will try to get XSC version. If route is not available, user is not entitled for XSC.

func (*ScanService) ScanGraph added in v0.25.0

func (ss *ScanService) ScanGraph(scanParams XrayGraphScanParams) (string, error)

func (*ScanService) SendScanGitInfoContext added in v1.32.0

func (ss *ScanService) SendScanGitInfoContext(details *XscGitInfoContext) (multiScanId string, err error)

type ScanType added in v1.6.1

type ScanType string

type SummaryComponent added in v1.11.2

type SummaryComponent struct {
	ComponentId   string   `json:"component_id,omitempty"`
	FixedVersions []string `json:"fixed_versions,omitempty"`
}

type SummaryCve added in v1.11.2

type SummaryCve struct {
	Id          string   `json:"cve,omitempty"`
	CvssV2Score string   `json:"cvss_v2,omitempty"`
	CvssV3Score string   `json:"cvss_v3,omitempty"`
	Cwe         []string `json:"cwe,omitempty"`
}

type SummaryLicense added in v1.12.0

type SummaryLicense struct {
	Components  []string `json:"components,omitempty"`
	FullName    string   `json:"full_name,omitempty"`
	MoreInfoUrl []string `json:"more_info_url,omitempty"`
	Name        string   `json:"name,omitempty"`
}

type SummaryResponse added in v1.6.4

type SummaryResponse struct {
	Issues []Issue
	Errors []Error
}

type SummaryService added in v1.6.4

type SummaryService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

SummaryService returns the https client and Xray details

func NewSummaryService added in v1.6.4

func NewSummaryService(client *jfroghttpclient.JfrogHttpClient) *SummaryService

NewSummaryService creates a new service to retrieve the version of Xray

func (*SummaryService) GetArtifactSummary added in v1.12.0

func (ss *SummaryService) GetArtifactSummary(params ArtifactSummaryParams) (*ArtifactSummaryResponse, error)

func (*SummaryService) GetBuildSummary added in v1.6.4

func (ss *SummaryService) GetBuildSummary(params XrayBuildParams) (*SummaryResponse, error)

type VersionService

type VersionService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

VersionService returns the https client and Xray details

func NewVersionService

func NewVersionService(client *jfroghttpclient.JfrogHttpClient) *VersionService

NewVersionService creates a new service to retrieve the version of Xray

func (*VersionService) GetVersion

func (vs *VersionService) GetVersion() (string, error)

GetVersion returns the version of Xray

func (*VersionService) GetXrayDetails

func (vs *VersionService) GetXrayDetails() auth.ServiceDetails

GetXrayDetails returns the Xray details

type Violation added in v0.25.0

type Violation struct {
	Summary             string               `json:"summary,omitempty"`
	Severity            string               `json:"severity,omitempty"`
	ViolationType       string               `json:"type,omitempty"`
	Components          map[string]Component `json:"components,omitempty"`
	WatchName           string               `json:"watch_name,omitempty"`
	IssueId             string               `json:"issue_id,omitempty"`
	Cves                []Cve                `json:"cves,omitempty"`
	References          []string             `json:"references,omitempty"`
	FailBuild           bool                 `json:"fail_build,omitempty"`
	LicenseKey          string               `json:"license_key,omitempty"`
	LicenseName         string               `json:"license_name,omitempty"`
	IgnoreUrl           string               `json:"ignore_url,omitempty"`
	RiskReason          string               `json:"risk_reason,omitempty"`
	IsEol               *bool                `json:"is_eol,omitempty"`
	EolMessage          string               `json:"eol_message,omitempty"`
	LatestVersion       string               `json:"latest_version,omitempty"`
	NewerVersions       *int                 `json:"newer_versions,omitempty"`
	Cadence             *float64             `json:"cadence,omitempty"`
	Commits             *int64               `json:"commits,omitempty"`
	Committers          *int                 `json:"committers,omitempty"`
	ExtendedInformation *ExtendedInformation `json:"extended_information,omitempty"`
	Technology          string               `json:"-"`
}

type ViolationsFilter added in v1.32.0

type ViolationsFilter struct {
	Type            string                `json:"type,omitempty"`
	WatchNames      []string              `json:"watch_names,omitempty"`
	WatchPatterns   []string              `json:"watch_patterns,omitempty"`
	Component       string                `json:"component,omitempty"`
	Artifact        string                `json:"artifact,omitempty"`
	PolicyNames     []string              `json:"policy_names,omitempty"`
	Severities      []string              `json:"severities,omitempty"`
	Updated         DateTimeRange         `json:"updated,omitempty"`
	SecurityFilters VulnerabilitiesFilter `json:"security_filters,omitempty"`
	LicenseFilters  LicensesFilter        `json:"license_filters,omitempty"`
}

type ViolationsReportRequestParams added in v1.32.0

type ViolationsReportRequestParams struct {
	Name      string           `json:"name,omitempty"`
	Filters   ViolationsFilter `json:"filters,omitempty"`
	Resources Resource         `json:"resources,omitempty"`
}

ViolationsReportRequestParams defines a report request

type VulnerabilitiesFilter added in v1.32.0

type VulnerabilitiesFilter struct {
	VulnerableComponent string        `json:"vulnerable_component,omitempty"`
	ImpactedArtifact    string        `json:"impacted_artifact,omitempty"`
	SummaryContains     string        `json:"summary_contains,omitempty"`
	HasRemediation      *bool         `json:"has_remediation,omitempty"`
	Cve                 string        `json:"cve,omitempty"`
	IssueId             string        `json:"issue_id,omitempty"`
	Severity            []string      `json:"severities,omitempty"`
	CvssScore           CvssScore     `json:"cvss_score,omitempty"`
	Published           DateTimeRange `json:"published,omitempty"`
	ScanDate            DateTimeRange `json:"scan_date,omitempty"`
}

type VulnerabilitiesReportRequestParams added in v1.32.0

type VulnerabilitiesReportRequestParams struct {
	Name      string                `json:"name,omitempty"`
	Filters   VulnerabilitiesFilter `json:"filters,omitempty"`
	Resources Resource              `json:"resources,omitempty"`
}

VulnerabilitiesReportRequestParams defines a report request

type Vulnerability added in v0.25.0

type Vulnerability struct {
	Cves                []Cve                `json:"cves,omitempty"`
	Summary             string               `json:"summary,omitempty"`
	Severity            string               `json:"severity,omitempty"`
	Components          map[string]Component `json:"components,omitempty"`
	IssueId             string               `json:"issue_id,omitempty"`
	References          []string             `json:"references,omitempty"`
	ExtendedInformation *ExtendedInformation `json:"extended_information,omitempty"`
	Technology          string               `json:"-"`
}

type WatchAlreadyExistsError added in v0.21.0

type WatchAlreadyExistsError struct {
	InnerError error
}

func (*WatchAlreadyExistsError) Error added in v0.21.0

type WatchService

type WatchService struct {
	XrayDetails auth.ServiceDetails
	// contains filtered or unexported fields
}

WatchService defines the http client and Xray details

func NewWatchService

func NewWatchService(client *jfroghttpclient.JfrogHttpClient) *WatchService

NewWatchService creates a new Xray Watch Service

func (*WatchService) Create

func (xws *WatchService) Create(params utils.WatchParams) error

Create will create a new Xray watch

func (*WatchService) Delete

func (xws *WatchService) Delete(watchName string) error

Delete will delete an existing watch by name It will error if no watch can be found by that name.

func (*WatchService) Get

func (xws *WatchService) Get(watchName string) (watchResp *utils.WatchParams, err error)

Get retrieves the details about an Xray watch by its name It will error if no watch can be found by that name.

func (*WatchService) GetJfrogHttpClient

func (xws *WatchService) GetJfrogHttpClient() *jfroghttpclient.JfrogHttpClient

GetJfrogHttpClient returns the http client

func (*WatchService) GetXrayDetails

func (xws *WatchService) GetXrayDetails() auth.ServiceDetails

GetXrayDetails returns the Xray details

func (*WatchService) Update

func (xws *WatchService) Update(params utils.WatchParams) error

Update will update an existing Xray watch by name It will error if no watch can be found by that name.

type XrayBuildParams added in v1.6.4

type XrayBuildParams struct {
	BuildName   string `json:"build_name,omitempty"`
	BuildNumber string `json:"build_number,omitempty"`
	Project     string `json:"project,omitempty"`
	Rescan      bool   `json:"rescan,omitempty"`
}

type XrayGraphImportParams added in v1.42.0

type XrayGraphImportParams struct {
	// A path in Artifactory that this Artifact is intended to be deployed to.
	// This will provide a way to extract the watches that should be applied on this graph
	ScanType          ScanType
	SBOMInput         []byte
	XscGitInfoContext *XscGitInfoContext
	XscVersion        string
}

type XrayGraphScanParams added in v0.25.0

type XrayGraphScanParams struct {
	// A path in Artifactory that this Artifact is intended to be deployed to.
	// This will provide a way to extract the watches that should be applied on this graph
	RepoPath   string
	ProjectKey string
	Watches    []string
	ScanType   ScanType
	// Dependencies Tree
	DependenciesGraph *xrayUtils.GraphNode
	// Binary tree received from indexer-app
	BinaryGraph            *xrayUtils.BinaryGraphNode
	IncludeVulnerabilities bool
	IncludeLicenses        bool
	XscGitInfoContext      *XscGitInfoContext
	XscVersion             string
	MultiScanId            string
}

func (*XrayGraphScanParams) GetProjectKey added in v0.25.0

func (gp *XrayGraphScanParams) GetProjectKey() string

type XscGitInfoContext added in v1.32.0

type XscGitInfoContext struct {
	GitRepoUrl    string   `json:"git_repo_url"`
	GitRepoName   string   `json:"git_repo_name,omitempty"`
	GitProject    string   `json:"git_project,omitempty"`
	GitProvider   string   `json:"git_provider,omitempty"`
	Technologies  []string `json:"technologies,omitempty"`
	BranchName    string   `json:"branch_name"`
	LastCommit    string   `json:"last_commit,omitempty"`
	CommitHash    string   `json:"commit_hash"`
	CommitMessage string   `json:"commit_message,omitempty"`
	CommitAuthor  string   `json:"commit_author,omitempty"`
}

type XscPostContextResponse added in v1.32.0

type XscPostContextResponse struct {
	MultiScanId string `json:"multi_scan_id,omitempty"`
}

type XscVersionResponse added in v1.32.0

type XscVersionResponse struct {
	Version string `json:"xsc_version"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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