Skip to content

Commit d687016

Browse files
authored
soft failure for failed in information fetching (#116)
1 parent ea7d32d commit d687016

2 files changed

Lines changed: 22 additions & 18 deletions

File tree

internal/commands/scan.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ func NewScanCommand() *cobra.Command {
1919
RunE: func(cmd *cobra.Command, args []string) error {
2020
start := time.Now()
2121
logger.Infof("%v Fetch Starting", emoji.TriangularFlag)
22-
2322
assetsData, supportedChecks, err := clients.FetchClientData(accessToken, repositoryUrl, scmPlatform, branch)
24-
if err != nil {
23+
if assetsData.AuthorizedUser == nil || err != nil {
2524
logger.Error(err, "Failed to fetch client data")
2625
return err
2726
} else {

internal/scm-clients/clients/clients.go

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/aquasecurity/chain-bench/internal/scm-clients/github"
1515
"github.com/aquasecurity/chain-bench/internal/scm-clients/gitlab"
1616
"github.com/aquasecurity/chain-bench/internal/utils"
17+
pipelineModels "github.com/argonsecurity/pipeline-parser/pkg/models"
1718
"github.com/enescakir/emoji"
1819
)
1920

@@ -47,27 +48,31 @@ func FetchClientData(accessToken string, repoUrl string, scmPlatform string, bra
4748
repo, _ := adapter.GetRepository(orgName, repoName, branch)
4849
logger.FetchingFinished("Repository Settings", emoji.OilDrum)
4950

50-
branchName := utils.GetBranchName(utils.GetValue(repo.DefaultBranch), branch)
51+
var protection *models.Protection
52+
var pipelines []*pipelineModels.Pipeline
53+
var org *models.Organization
54+
var registry *models.PackageRegistry
5155

52-
logger.FetchingFinished("Branch Protection Settings", emoji.Seedling)
53-
protection, _ := adapter.GetBranchProtection(orgName, repo, branchName)
56+
if repo != nil {
57+
branchName := utils.GetBranchName(utils.GetValue(repo.DefaultBranch), branch)
5458

55-
pipelines, _ := adapter.GetPipelines(orgName, repoName, branchName)
56-
logger.FetchingFinished("Pipelines", emoji.Wrench)
59+
logger.FetchingFinished("Branch Protection Settings", emoji.Seedling)
60+
protection, _ = adapter.GetBranchProtection(orgName, repo, branchName)
5761

58-
var org *models.Organization
59-
var registry *models.PackageRegistry
62+
pipelines, _ = adapter.GetPipelines(orgName, repoName, branchName)
63+
logger.FetchingFinished("Pipelines", emoji.Wrench)
6064

61-
if *repo.Owner.Type == "Organization" {
62-
org, _ = adapter.GetOrganization(orgName)
63-
logger.FetchingFinished("Organization Settings", emoji.OfficeBuilding)
65+
if *repo.Owner.Type == "Organization" {
66+
org, _ = adapter.GetOrganization(orgName)
67+
logger.FetchingFinished("Organization Settings", emoji.OfficeBuilding)
6468

65-
registry, _ = adapter.GetRegistry(org)
69+
registry, _ = adapter.GetRegistry(org)
6670

67-
orgMembers, err := adapter.ListOrganizationMembers(orgName)
68-
if err == nil {
69-
org.Members = orgMembers
70-
logger.FetchingFinished("Members", emoji.Emoji(emoji.WomanAndManHoldingHands.Tone()))
71+
orgMembers, err := adapter.ListOrganizationMembers(orgName)
72+
if err == nil {
73+
org.Members = orgMembers
74+
logger.FetchingFinished("Members", emoji.Emoji(emoji.WomanAndManHoldingHands.Tone()))
75+
}
7176
}
7277
}
7378

@@ -80,7 +85,7 @@ func FetchClientData(accessToken string, repoUrl string, scmPlatform string, bra
8085
BranchProtections: protection,
8186
Pipelines: pipelines,
8287
Registry: registry,
83-
}, checksIds, nil
88+
}, checksIds, err
8489
}
8590

8691
func getRepoInfo(repoFullUrl string) (string, string, string, error) {

0 commit comments

Comments
 (0)