@@ -12,6 +12,8 @@ import (
1212type XrayServicesManager struct {
1313 client * jfroghttpclient.JfrogHttpClient
1414 config config.Config
15+ // Global reference to the provided project key, used for API endpoints that require it for authentication
16+ scopeProjectKey string
1517}
1618
1719// New creates a service manager to interact with Xray
@@ -34,6 +36,11 @@ func New(config config.Config) (*XrayServicesManager, error) {
3436 return manager , err
3537}
3638
39+ func (sm * XrayServicesManager ) SetProjectKey (projectKey string ) * XrayServicesManager {
40+ sm .scopeProjectKey = projectKey
41+ return sm
42+ }
43+
3744// Client will return the http client
3845func (sm * XrayServicesManager ) Client () * jfroghttpclient.JfrogHttpClient {
3946 return sm .client
@@ -154,6 +161,7 @@ func (sm *XrayServicesManager) IsTokenValidationEnabled() (isEnabled bool, err e
154161func (sm * XrayServicesManager ) ScanGraph (params services.XrayGraphScanParams ) (scanId string , err error ) {
155162 scanService := services .NewScanService (sm .client )
156163 scanService .XrayDetails = sm .config .GetServiceDetails ()
164+ scanService .ScopeProjectKey = sm .scopeProjectKey
157165 return scanService .ScanGraph (params )
158166}
159167
@@ -162,6 +170,7 @@ func (sm *XrayServicesManager) ScanGraph(params services.XrayGraphScanParams) (s
162170func (sm * XrayServicesManager ) GetScanGraphResults (scanID , xrayVersion string , includeVulnerabilities , includeLicenses , xscEnabled bool ) (* services.ScanResponse , error ) {
163171 scanService := services .NewScanService (sm .client )
164172 scanService .XrayDetails = sm .config .GetServiceDetails ()
173+ scanService .ScopeProjectKey = sm .scopeProjectKey
165174 return scanService .GetScanGraphResults (scanID , xrayVersion , includeVulnerabilities , includeLicenses , xscEnabled )
166175}
167176
@@ -185,6 +194,7 @@ func (sm *XrayServicesManager) GetImportGraphResults(scanID string) (*services.S
185194func (sm * XrayServicesManager ) BuildScan (params services.XrayBuildParams , includeVulnerabilities bool ) (scanResponse * services.BuildScanResponse , noFailBuildPolicy bool , err error ) {
186195 buildScanService := services .NewBuildScanService (sm .client )
187196 buildScanService .XrayDetails = sm .config .GetServiceDetails ()
197+ buildScanService .ScopeProjectKey = sm .scopeProjectKey
188198 return buildScanService .ScanBuild (params , includeVulnerabilities )
189199}
190200
@@ -241,12 +251,14 @@ func (sm *XrayServicesManager) ArtifactSummary(params services.ArtifactSummaryPa
241251func (sm * XrayServicesManager ) IsEntitled (featureId string ) (bool , error ) {
242252 entitlementsService := services .NewEntitlementsService (sm .client )
243253 entitlementsService .XrayDetails = sm .config .GetServiceDetails ()
254+ entitlementsService .ScopeProjectKey = sm .scopeProjectKey
244255 return entitlementsService .IsEntitled (featureId )
245256}
246257
247258// Xsc returns the Xsc service inside Xray
248259func (sm * XrayServicesManager ) Xsc () * xsc.XscInnerService {
249260 xscService := xsc .NewXscService (sm .client )
250261 xscService .XrayDetails = sm .config .GetServiceDetails ()
262+ xscService .ScopeProjectKey = sm .scopeProjectKey
251263 return xscService
252264}
0 commit comments