diff options
-rw-r--r-- | bridge/gitlab/import.go | 25 | ||||
-rw-r--r-- | bridge/jira/import.go | 52 |
2 files changed, 39 insertions, 38 deletions
diff --git a/bridge/gitlab/import.go b/bridge/gitlab/import.go index 7dc99056..7939f4e4 100644 --- a/bridge/gitlab/import.go +++ b/bridge/gitlab/import.go @@ -33,29 +33,32 @@ type gitlabImporter struct { func (gi *gitlabImporter) Init(_ context.Context, repo *cache.RepoCache, conf core.Configuration) error { gi.conf = conf - return nil -} -// ImportAll iterate over all the configured repository issues (notes) and ensure the creation -// of the missing issues / comments / label events / title changes ... -func (gi *gitlabImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) { creds, err := auth.List(repo, auth.WithTarget(target), auth.WithKind(auth.KindToken), - auth.WithMeta(auth.MetaKeyBaseURL, gi.conf[confKeyGitlabBaseUrl]), - auth.WithMeta(auth.MetaKeyLogin, gi.conf[confKeyDefaultLogin]), + auth.WithMeta(auth.MetaKeyBaseURL, conf[confKeyGitlabBaseUrl]), + auth.WithMeta(auth.MetaKeyLogin, conf[confKeyDefaultLogin]), ) if err != nil { - return nil, err + return err } + if len(creds) == 0 { - return nil, ErrMissingIdentityToken + return ErrMissingIdentityToken } - gi.client, err = buildClient(gi.conf[confKeyGitlabBaseUrl], creds[0].(*auth.Token)) + + gi.client, err = buildClient(conf[confKeyGitlabBaseUrl], creds[0].(*auth.Token)) if err != nil { - return nil, err + return err } + return nil +} + +// ImportAll iterate over all the configured repository issues (notes) and ensure the creation +// of the missing issues / comments / label events / title changes ... +func (gi *gitlabImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) { gi.iterator = iterator.NewIterator(ctx, gi.client, 10, gi.conf[confKeyProjectID], since) out := make(chan core.ImportResult) gi.out = out diff --git a/bridge/jira/import.go b/bridge/jira/import.go index f9daadd8..00148bb6 100644 --- a/bridge/jira/import.go +++ b/bridge/jira/import.go @@ -34,12 +34,6 @@ type jiraImporter struct { // Init . func (ji *jiraImporter) Init(ctx context.Context, repo *cache.RepoCache, conf core.Configuration) error { ji.conf = conf - return nil -} - -// ImportAll iterate over all the configured repository issues and ensure the -// creation of the missing issues / timeline items / edits / label events ... -func (ji *jiraImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) { var cred auth.Credential @@ -47,40 +41,44 @@ func (ji *jiraImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, si creds, err := auth.List(repo, auth.WithTarget(target), auth.WithKind(auth.KindLoginPassword), - auth.WithMeta(auth.MetaKeyBaseURL, ji.conf[confKeyBaseUrl]), - auth.WithMeta(auth.MetaKeyLogin, ji.conf[confKeyDefaultLogin]), + auth.WithMeta(auth.MetaKeyBaseURL, conf[confKeyBaseUrl]), + auth.WithMeta(auth.MetaKeyLogin, conf[confKeyDefaultLogin]), ) if err != nil { - return nil, err + return err } if len(creds) > 0 { cred = creds[0] - } else { - creds, err = auth.List(repo, - auth.WithTarget(target), - auth.WithKind(auth.KindLogin), - auth.WithMeta(auth.MetaKeyBaseURL, ji.conf[confKeyBaseUrl]), - auth.WithMeta(auth.MetaKeyLogin, ji.conf[confKeyDefaultLogin]), - ) - if err != nil { - return nil, err - } - if len(creds) > 0 { - cred = creds[0] - } + goto end } + creds, err = auth.List(repo, + auth.WithTarget(target), + auth.WithKind(auth.KindLogin), + auth.WithMeta(auth.MetaKeyBaseURL, conf[confKeyBaseUrl]), + auth.WithMeta(auth.MetaKeyLogin, conf[confKeyDefaultLogin]), + ) + if err != nil { + return err + } + if len(creds) > 0 { + cred = creds[0] + } + +end: if cred == nil { - return nil, fmt.Errorf("no credential for this bridge") + return fmt.Errorf("no credential for this bridge") } // TODO(josh)[da52062]: Validate token and if it is expired then prompt for // credentials and generate a new one - ji.client, err = buildClient(ctx, ji.conf[confKeyBaseUrl], ji.conf[confKeyCredentialType], cred) - if err != nil { - return nil, err - } + ji.client, err = buildClient(ctx, conf[confKeyBaseUrl], conf[confKeyCredentialType], cred) + return err +} +// ImportAll iterate over all the configured repository issues and ensure the +// creation of the missing issues / timeline items / edits / label events ... +func (ji *jiraImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) { sinceStr := since.Format("2006-01-02 15:04") project := ji.conf[confKeyProject] |