Skip to content

Commit 1351e15

Browse files
authored
Project key to xray api (jfrog#454)
1 parent 7ee750c commit 1351e15

File tree

10 files changed

+41
-24
lines changed

10 files changed

+41
-24
lines changed

cli/scancommands.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ func ShouldRunCurationAfterFailure(c *components.Context, tech techutils.Technol
542542
if err != nil {
543543
return
544544
}
545-
xrayManager, err := xray.CreateXrayServiceManager(serverDetails)
545+
xrayManager, err := xray.CreateXrayServiceManager(serverDetails, xray.WithScopedProjectKey(getProject(c)))
546546
if err != nil {
547547
return
548548
}

commands/audit/audit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ func initAuditCmdResults(params *AuditParams) (cmdResults *results.SecurityComma
393393
cmdResults.SetStartTime(params.StartTime())
394394
cmdResults.SetResultsContext(params.resultsContext)
395395

396-
xrayManager, err := xrayutils.CreateXrayServiceManager(serverDetails)
396+
xrayManager, err := xrayutils.CreateXrayServiceManager(serverDetails, xrayutils.WithScopedProjectKey(params.resultsContext.ProjectKey))
397397
if err != nil {
398398
return cmdResults.AddGeneralError(err, false)
399399
}

commands/audit/audit_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ func TestAuditWithConfigProfile(t *testing.T) {
420420
}},
421421
IsDefault: false,
422422
},
423-
expectedSastIssues: 3,
423+
expectedSastIssues: 4,
424424
},
425425
{
426426
name: "Sast scanner is enabled with exclusions",
@@ -546,7 +546,7 @@ func TestAuditWithConfigProfile(t *testing.T) {
546546
}},
547547
IsDefault: false,
548548
},
549-
expectedSastIssues: 3,
549+
expectedSastIssues: 4,
550550
expectedSecretsIssues: 16,
551551
expectedIacIssues: 9,
552552
expectedCaApplicable: 3,

commands/audit/sca/common.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func GetExcludePattern(params utils.AuditParams) string {
4444
func RunXrayDependenciesTreeScanGraph(scanGraphParams *scangraph.ScanGraphParams) (results []services.ScanResponse, err error) {
4545
var scanResults *services.ScanResponse
4646
technology := scanGraphParams.Technology()
47-
xrayManager, err := xray.CreateXrayServiceManager(scanGraphParams.ServerDetails())
47+
xrayManager, err := xray.CreateXrayServiceManager(scanGraphParams.ServerDetails(), xray.WithScopedProjectKey(scanGraphParams.XrayGraphScanParams().ProjectKey))
4848
if err != nil {
4949
return nil, err
5050
}

commands/scan/buildscan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func (bsc *BuildScanCommand) SetRescan(rescan bool) *BuildScanCommand {
7979

8080
// Scan published builds with Xray
8181
func (bsc *BuildScanCommand) Run() (err error) {
82-
xrayManager, xrayVersion, err := xrayutils.CreateXrayServiceManagerAndGetVersion(bsc.serverDetails)
82+
xrayManager, xrayVersion, err := xrayutils.CreateXrayServiceManagerAndGetVersion(bsc.serverDetails, xrayutils.WithScopedProjectKey(bsc.buildConfiguration.GetProject()))
8383
if err != nil {
8484
return err
8585
}

commands/scan/scan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ func (scanCmd *ScanCommand) createIndexerHandlerFunc(file *spec.File, cmdResults
447447
SetXrayGraphScanParams(params).
448448
SetFixableOnly(scanCmd.fixableOnly).
449449
SetSeverityLevel(scanCmd.minSeverityFilter.String())
450-
xrayManager, err := xray.CreateXrayServiceManager(scanGraphParams.ServerDetails())
450+
xrayManager, err := xray.CreateXrayServiceManager(scanGraphParams.ServerDetails(), xray.WithScopedProjectKey(scanCmd.resultsContext.ProjectKey))
451451
if err != nil {
452452
return targetResults.AddTargetError(fmt.Errorf("%s failed to create Xray service manager: %s", scanLogPrefix, err.Error()), false)
453453
}

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ require (
1111
github.com/jfrog/froggit-go v1.17.0
1212
github.com/jfrog/gofrog v1.7.6
1313
github.com/jfrog/jfrog-apps-config v1.0.1
14-
github.com/jfrog/jfrog-cli-artifactory v0.3.0
15-
github.com/jfrog/jfrog-cli-core/v2 v2.58.6
16-
github.com/jfrog/jfrog-client-go v1.53.0
14+
github.com/jfrog/jfrog-cli-artifactory v0.3.1
15+
github.com/jfrog/jfrog-cli-core/v2 v2.58.7
16+
github.com/jfrog/jfrog-client-go v1.53.1
1717
github.com/magiconair/properties v1.8.9
1818
github.com/owenrumney/go-sarif/v2 v2.3.0
1919
github.com/stretchr/testify v1.10.0

go.sum

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,12 @@ github.com/jfrog/gofrog v1.7.6 h1:QmfAiRzVyaI7JYGsB7cxfAJePAZTzFz0gRWZSE27c6s=
128128
github.com/jfrog/gofrog v1.7.6/go.mod h1:ntr1txqNOZtHplmaNd7rS4f8jpA5Apx8em70oYEe7+4=
129129
github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY=
130130
github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w=
131-
github.com/jfrog/jfrog-cli-artifactory v0.3.0 h1:nodmuOauNSx2OKwQChQ1fLcnhNs+tgWpOk9caMdAuoI=
132-
github.com/jfrog/jfrog-cli-artifactory v0.3.0/go.mod h1:BliRZeMdqVEKHOtREuowYBgNqwVAFcKY0/veOxQDjwo=
133-
github.com/jfrog/jfrog-cli-core/v2 v2.58.6 h1:cCg9o0M2p52qCnO0Y+Ry8lxbVIJDJy4s948li2UIYaM=
134-
github.com/jfrog/jfrog-cli-core/v2 v2.58.6/go.mod h1:VjXJpjapnKA0eBoCH9+5+nWQOxQJ+uzADMY2DQPkCzE=
135-
github.com/jfrog/jfrog-client-go v1.53.0 h1:oCNuxEtN2VWcbqGdIp1tdYupm7PJZP53etX1Pr24kxY=
136-
github.com/jfrog/jfrog-client-go v1.53.0/go.mod h1:IKmGx4sYeaiSKBnVzp/j6lVrmyRAXTABfo3B02SPxXI=
131+
github.com/jfrog/jfrog-cli-artifactory v0.3.1 h1:0F5CgS8iR7o0PoQWcjyLWWnZVrfruNstLezzRaAb9EY=
132+
github.com/jfrog/jfrog-cli-artifactory v0.3.1/go.mod h1:6QUvZ7US2VVUWzixh/ofn6LHhBelzLkAK+v5FqBvwZ4=
133+
github.com/jfrog/jfrog-cli-core/v2 v2.58.7 h1:njRlkJjNZ1cvG25S/6T4h+ouI+ZRABN6xZN87UIzB/M=
134+
github.com/jfrog/jfrog-cli-core/v2 v2.58.7/go.mod h1:ZXcipUeTTEQ/phqHdbCh4wJ5Oo4QVDxzQBREQ0J9mDc=
135+
github.com/jfrog/jfrog-client-go v1.53.1 h1:GDRLUDs6hhfGNjqbI+bjc3ApgBHnpVwURM+f26PVfyw=
136+
github.com/jfrog/jfrog-client-go v1.53.1/go.mod h1:XxYs2QtlTm92yqJ5O4j4vzWI8d4sDtKQUT1miNHMgnw=
137137
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
138138
github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
139139
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=

jas/analyzermanager.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
const (
2626
ApplicabilityFeatureId = "contextual_analysis"
2727
AnalyzerManagerZipName = "analyzerManager.zip"
28-
defaultAnalyzerManagerVersion = "1.19.1"
28+
defaultAnalyzerManagerVersion = "1.20.2"
2929
analyzerManagerDownloadPath = "xsc-gen-exe-analyzer-manager-local/v1"
3030
analyzerManagerDirName = "analyzerManager"
3131
analyzerManagerExecutableName = "analyzerManager"
@@ -37,7 +37,7 @@ const (
3737
jfPlatformXrayUrlEnvVariable = "JF_PLATFORM_XRAY_URL"
3838
logDirEnvVariable = "AM_LOG_DIRECTORY"
3939
watchesEnvVariable = "AM_WATCHES"
40-
projectEnvVariable = "AM_PROJECT_VIOLATIONS"
40+
projectEnvVariable = "AM_PROJECT_KEY"
4141
gitRepoEnvVariable = "AM_GIT_REPO_VIOLATIONS"
4242
notEntitledExitCode = 31
4343
unsupportedCommandExitCode = 13

utils/xray/xraymanager.go

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,45 @@ import (
77
"github.com/jfrog/jfrog-client-go/xray"
88
)
99

10-
func CreateXrayServiceManager(serverDetails *config.ServerDetails) (*xray.XrayServicesManager, error) {
10+
// Options for creating an Xray service manager.
11+
type XrayManagerOption func(f *xray.XrayServicesManager)
12+
13+
// Global reference to the project key, used for API endpoints that require it for authentication
14+
func WithScopedProjectKey(projectKey string) XrayManagerOption {
15+
return func(f *xray.XrayServicesManager) {
16+
f.SetProjectKey(projectKey)
17+
}
18+
}
19+
20+
func CreateXrayServiceManager(serverDetails *config.ServerDetails, options ...XrayManagerOption) (manager *xray.XrayServicesManager, err error) {
1121
certsPath, err := coreutils.GetJfrogCertsDir()
1222
if err != nil {
13-
return nil, err
23+
return
1424
}
1525
xrayDetails, err := serverDetails.CreateXrayAuthConfig()
1626
if err != nil {
17-
return nil, err
27+
return
1828
}
1929
serviceConfig, err := clientconfig.NewConfigBuilder().
2030
SetServiceDetails(xrayDetails).
2131
SetCertificatesPath(certsPath).
2232
SetInsecureTls(serverDetails.InsecureTls).
2333
Build()
34+
if err != nil {
35+
return
36+
}
37+
manager, err = xray.New(serviceConfig)
2438
if err != nil {
2539
return nil, err
2640
}
27-
return xray.New(serviceConfig)
41+
for _, option := range options {
42+
option(manager)
43+
}
44+
return
2845
}
2946

30-
func CreateXrayServiceManagerAndGetVersion(serviceDetails *config.ServerDetails) (*xray.XrayServicesManager, string, error) {
31-
xrayManager, err := CreateXrayServiceManager(serviceDetails)
47+
func CreateXrayServiceManagerAndGetVersion(serviceDetails *config.ServerDetails, options ...XrayManagerOption) (*xray.XrayServicesManager, string, error) {
48+
xrayManager, err := CreateXrayServiceManager(serviceDetails, options...)
3249
if err != nil {
3350
return nil, "", err
3451
}

0 commit comments

Comments
 (0)