@@ -10,13 +10,26 @@ import (
10
10
11
11
type AdvancedPolicyProvider struct {}
12
12
13
- func (p AdvancedPolicyProvider ) GetPolicyProvider (policySpec lib_spec.PolicySpec , diggerHost string , diggerOrg string , token string ) (policy.Checker , error ) {
13
+ func (p AdvancedPolicyProvider ) GetPolicyProvider (policySpec lib_spec.PolicySpec , diggerHost string , diggerOrg string , token string , vcsType string ) (policy.Checker , error ) {
14
14
managementRepo := os .Getenv ("DIGGER_MANAGEMENT_REPO" )
15
15
if managementRepo != "" {
16
16
log .Printf ("info: using management repo policy provider" )
17
- token := os .Getenv ("GITHUB_TOKEN" )
17
+ var token = ""
18
+ var tokenName = ""
19
+ switch vcsType {
20
+ case "github" :
21
+ token = os .Getenv ("GITHUB_TOKEN" )
22
+ tokenName = "GITHUB_TOKEN"
23
+ case "gitlab" :
24
+ token = os .Getenv ("GITLAB_TOKEN" )
25
+ tokenName = "GITLAB_TOKEN"
26
+ default :
27
+ token = os .Getenv ("GITHUB_TOKEN" )
28
+ tokenName = "GITHUB_TOKEN"
29
+ }
30
+
18
31
if token == "" {
19
- return nil , fmt .Errorf ("failed to get managent repo policy provider: GITHUB_TOKEN not specified" )
32
+ return nil , fmt .Errorf ("failed to get managent repo policy provider: %v not specified" , tokenName )
20
33
}
21
34
return policy.DiggerPolicyChecker {
22
35
PolicyProvider : DiggerRepoPolicyProvider {
@@ -26,7 +39,7 @@ func (p AdvancedPolicyProvider) GetPolicyProvider(policySpec lib_spec.PolicySpec
26
39
}, nil
27
40
}
28
41
29
- checker , err := lib_spec.BasicPolicyProvider {}.GetPolicyProvider (policySpec , diggerHost , diggerOrg , token )
42
+ checker , err := lib_spec.BasicPolicyProvider {}.GetPolicyProvider (policySpec , diggerHost , diggerOrg , token , "" )
30
43
return checker , err
31
44
}
32
45
0 commit comments