mirror of https://github.com/harness/drone.git
Add gogs import org/repo support to gitness (#735)
parent
66416c55a6
commit
fb892a8ca8
|
@ -32,6 +32,7 @@ import (
|
||||||
"github.com/drone/go-scm/scm/driver/gitea"
|
"github.com/drone/go-scm/scm/driver/gitea"
|
||||||
"github.com/drone/go-scm/scm/driver/github"
|
"github.com/drone/go-scm/scm/driver/github"
|
||||||
"github.com/drone/go-scm/scm/driver/gitlab"
|
"github.com/drone/go-scm/scm/driver/gitlab"
|
||||||
|
"github.com/drone/go-scm/scm/driver/gogs"
|
||||||
"github.com/drone/go-scm/scm/driver/stash"
|
"github.com/drone/go-scm/scm/driver/stash"
|
||||||
"github.com/drone/go-scm/scm/transport"
|
"github.com/drone/go-scm/scm/transport"
|
||||||
"github.com/drone/go-scm/scm/transport/oauth2"
|
"github.com/drone/go-scm/scm/transport/oauth2"
|
||||||
|
@ -45,6 +46,7 @@ const (
|
||||||
ProviderTypeBitbucket ProviderType = "bitbucket"
|
ProviderTypeBitbucket ProviderType = "bitbucket"
|
||||||
ProviderTypeStash ProviderType = "stash"
|
ProviderTypeStash ProviderType = "stash"
|
||||||
ProviderTypeGitea ProviderType = "gitea"
|
ProviderTypeGitea ProviderType = "gitea"
|
||||||
|
ProviderTypeGogs ProviderType = "gogs"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (p ProviderType) Enum() []any {
|
func (p ProviderType) Enum() []any {
|
||||||
|
@ -54,6 +56,7 @@ func (p ProviderType) Enum() []any {
|
||||||
ProviderTypeBitbucket,
|
ProviderTypeBitbucket,
|
||||||
ProviderTypeStash,
|
ProviderTypeStash,
|
||||||
ProviderTypeGitea,
|
ProviderTypeGitea,
|
||||||
|
ProviderTypeGogs,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,7 +115,17 @@ func oauthTransport(token string) (http.RoundTripper, error) {
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func oauthTransportGitea(token string) (http.RoundTripper, error) {
|
func gogsTransport(token string) (http.RoundTripper, error) {
|
||||||
|
if token == "" {
|
||||||
|
return nil, errors.New("no token provided")
|
||||||
|
}
|
||||||
|
return &oauth2.Transport{
|
||||||
|
Scheme: oauth2.SchemeToken,
|
||||||
|
Source: oauth2.StaticTokenSource(&scm.Token{Token: token}),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func authHeaderTransport(token string) (http.RoundTripper, error) {
|
||||||
if token == "" {
|
if token == "" {
|
||||||
return nil, errors.New("no token provided")
|
return nil, errors.New("no token provided")
|
||||||
}
|
}
|
||||||
|
@ -195,7 +208,17 @@ func getScmClientWithTransport(provider Provider) (*scm.Client, error) { //nolin
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("scm provider Host invalid: %w", err)
|
return nil, fmt.Errorf("scm provider Host invalid: %w", err)
|
||||||
}
|
}
|
||||||
transport, transportErr = oauthTransportGitea(provider.Password)
|
transport, transportErr = authHeaderTransport(provider.Password)
|
||||||
|
|
||||||
|
case ProviderTypeGogs:
|
||||||
|
if provider.Host == "" {
|
||||||
|
return nil, errors.New("scm provider Host missing")
|
||||||
|
}
|
||||||
|
c, err = gogs.New(provider.Host)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("scm provider Host invalid: %w", err)
|
||||||
|
}
|
||||||
|
transport, transportErr = gogsTransport(provider.Password)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return nil, fmt.Errorf("unsupported scm provider: %s", provider)
|
return nil, fmt.Errorf("unsupported scm provider: %s", provider)
|
||||||
|
|
|
@ -170,7 +170,8 @@ export enum GitProviders {
|
||||||
GITLAB_SELF_HOSTED = 'GitLab Self-Hosted',
|
GITLAB_SELF_HOSTED = 'GitLab Self-Hosted',
|
||||||
BITBUCKET = 'Bitbucket',
|
BITBUCKET = 'Bitbucket',
|
||||||
BITBUCKET_SERVER = 'Bitbucket Server',
|
BITBUCKET_SERVER = 'Bitbucket Server',
|
||||||
GITEA = 'Gitea'
|
GITEA = 'Gitea',
|
||||||
|
GOGS = 'Gogs'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const PullRequestFilterOption = {
|
export const PullRequestFilterOption = {
|
||||||
|
|
Loading…
Reference in New Issue