Skip to content

Commit d33f3e4

Browse files
authored
Send filename to xray on sbom-enrich api (#291)
1 parent 09bce2d commit d33f3e4

File tree

4 files changed

+13
-16
lines changed

4 files changed

+13
-16
lines changed

Diff for: commands/enrich/enrich.go

+8-11
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"errors"
66
"fmt"
77
"github.com/jfrog/jfrog-cli-security/utils/results/output"
8+
"github.com/jfrog/jfrog-client-go/utils/errorutils"
89
"os"
910
"os/exec"
1011
"path/filepath"
@@ -22,7 +23,6 @@ import (
2223
"github.com/jfrog/jfrog-cli-security/utils/xray"
2324
"github.com/jfrog/jfrog-client-go/artifactory/services/fspatterns"
2425
clientutils "github.com/jfrog/jfrog-client-go/utils"
25-
"github.com/jfrog/jfrog-client-go/utils/errorutils"
2626
ioUtils "github.com/jfrog/jfrog-client-go/utils/io"
2727
"github.com/jfrog/jfrog-client-go/utils/io/fileutils"
2828
"github.com/jfrog/jfrog-client-go/utils/log"
@@ -84,7 +84,7 @@ func AppendVulnsToJson(cmdResults *results.SecurityCommandResults) error {
8484
var vulnerabilities []map[string]string
8585
xrayResults := cmdResults.GetScaScansXrayResults()
8686
if len(xrayResults) == 0 {
87-
return fmt.Errorf("failed while getting sca scan from xray: %s", err.Error())
87+
return fmt.Errorf("xray scan results are empty")
8888
} else if len(xrayResults) > 1 {
8989
log.Warn("Received %d results, parsing only first result", len(xrayResults))
9090
}
@@ -108,7 +108,7 @@ func AppendVulnsToXML(cmdResults *results.SecurityCommandResults) error {
108108
destination := result.FindElements("//bom")[0]
109109
xrayResults := cmdResults.GetScaScansXrayResults()
110110
if len(xrayResults) == 0 {
111-
return fmt.Errorf("failed while getting sca scan from xray: %s", err.Error())
111+
return fmt.Errorf("xray scan results are empty")
112112
} else if len(xrayResults) > 1 {
113113
log.Warn("Received %d results, parsing only first result", len(xrayResults))
114114
}
@@ -187,6 +187,10 @@ func (enrichCmd *EnrichCommand) Run() (err error) {
187187
scanResults.GeneralError = errors.Join(scanResults.GeneralError, fileCollectingErr)
188188
}
189189

190+
if scanResults.GetErrors() != nil {
191+
return errorutils.CheckError(scanResults.GetErrors())
192+
}
193+
190194
isXml, err := isXML(scanResults.Targets)
191195
if err != nil {
192196
return
@@ -200,13 +204,6 @@ func (enrichCmd *EnrichCommand) Run() (err error) {
200204
return
201205
}
202206
}
203-
204-
if err != nil {
205-
return err
206-
}
207-
if scanResults.GetErrors() != nil {
208-
return errorutils.CheckError(scanResults.GetErrors())
209-
}
210207
log.Info("Enrich process completed successfully.")
211208
return nil
212209
}
@@ -262,7 +259,7 @@ func (enrichCmd *EnrichCommand) createIndexerHandlerFunc(indexedFileProducer par
262259
if err != nil {
263260
return targetResults.AddTargetError(fmt.Errorf("%s failed to create Xray service manager: %s", logPrefix, err.Error()), false)
264261
}
265-
scanResults, err := enrichgraph.RunImportGraphAndGetResults(importGraphParams, xrayManager)
262+
scanResults, err := enrichgraph.RunImportGraphAndGetResults(importGraphParams, xrayManager, filepath.Base(filePath))
266263
if err != nil {
267264
return targetResults.AddTargetError(fmt.Errorf("%s failed to import graph: %s", logPrefix, err.Error()), false)
268265
}

Diff for: commands/enrich/enrichgraph/enrichgraph.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ const (
99
EnrichMinimumVersionXray = "3.101.3"
1010
)
1111

12-
func RunImportGraphAndGetResults(params *EnrichGraphParams, xrayManager *xray.XrayServicesManager) (*services.ScanResponse, error) {
13-
scanId, err := xrayManager.ImportGraph(*params.xrayGraphImportParams)
12+
func RunImportGraphAndGetResults(params *EnrichGraphParams, xrayManager *xray.XrayServicesManager, rootPath string) (*services.ScanResponse, error) {
13+
scanId, err := xrayManager.ImportGraph(*params.xrayGraphImportParams, rootPath)
1414
if err != nil {
1515
return nil, err
1616
}

Diff for: go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ require (
112112
gopkg.in/warnings.v0 v0.1.2 // indirect
113113
)
114114

115-
// replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go dev
115+
replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20250126110945-81abbdde452f
116116

117117
// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/jfrog/jfrog-cli-core/v2 dev
118118

Diff for: go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYL
129129
github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
130130
github.com/jfrog/jfrog-cli-core/v2 v2.57.7 h1:2cZS9C5jBYpyCF4PoUzvGCnwFA7CsvG6jszCj1I3tsg=
131131
github.com/jfrog/jfrog-cli-core/v2 v2.57.7/go.mod h1:ueB6LtU+gW7/hTyfKyka/BHi52oo5lEH46RodTly1PU=
132-
github.com/jfrog/jfrog-client-go v1.49.1 h1:AdJ+x+BSka3pCVDu6MCEvojwOmXvy1Q5S0dILvpfoDw=
133-
github.com/jfrog/jfrog-client-go v1.49.1/go.mod h1:ohIfKpMBCQsE9kunrKQ1wvoExpqsPLaluRFO186B5EM=
132+
github.com/jfrog/jfrog-client-go v1.28.1-0.20250126110945-81abbdde452f h1:2IIy3XfvmEp5zJgakKZiyKGGeVyDsouwYmtD+4QiVd4=
133+
github.com/jfrog/jfrog-client-go v1.28.1-0.20250126110945-81abbdde452f/go.mod h1:ohIfKpMBCQsE9kunrKQ1wvoExpqsPLaluRFO186B5EM=
134134
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
135135
github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
136136
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=

0 commit comments

Comments
 (0)