Documentation
¶
Overview ¶
Package gitlab is the source adapter for GitLab, on gitlab.com or self-managed (R-091). A connection signs in with an OAuth application (device or browser authorization), an access token or deploy token, or a deploy key, and may be limited to one group, nested or not.
Index ¶
- Constants
- func Info() api.KindInfo
- type Adapter
- func (a *Adapter) BeginAuthorization(ctx context.Context, req api.AuthorizationRequest) (api.Authorization, error)
- func (a *Adapter) Category() api.Category
- func (a *Adapter) CompleteAuthorization(ctx context.Context, req api.AuthorizationCompletion) (api.AuthorizationResult, error)
- func (a *Adapter) Configure(_ context.Context, raw json.RawMessage) error
- func (a *Adapter) Covers(repoURL string) int
- func (a *Adapter) GitCredential(ctx context.Context, repoURL string) (api.GitCredential, error)
- func (a *Adapter) HealthCheck(context.Context) error
- func (a *Adapter) Kind() string
- func (a *Adapter) ListBranches(ctx context.Context, repoURL string) ([]string, error)
- func (a *Adapter) ListRepositories(ctx context.Context, req api.ListRepositoriesRequest) ([]api.Repository, error)
- func (a *Adapter) Refresh(ctx context.Context) (map[string]secret.Value, error)
- func (a *Adapter) SourceCapabilities() api.SourceCapabilities
Constants ¶
const ( TokenTypeAccess = "access_token" TokenTypeDeploy = "deploy_token" )
The token types a token connection takes.
const DefaultHost = "gitlab.com"
DefaultHost is the host a connection is for when its settings name none.
const Kind = "gitlab"
Kind is the adapter's kind string.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter is one connection to a GitLab host.
func (*Adapter) BeginAuthorization ¶
func (a *Adapter) BeginAuthorization(ctx context.Context, req api.AuthorizationRequest) (api.Authorization, error)
BeginAuthorization starts device authorization (GitLab 17.2 and later) or browser authorization with PKCE.
func (*Adapter) CompleteAuthorization ¶
func (a *Adapter) CompleteAuthorization(ctx context.Context, req api.AuthorizationCompletion) (api.AuthorizationResult, error)
CompleteAuthorization polls the device code or exchanges the browser's code.
func (*Adapter) GitCredential ¶
GitCredential is the key, the token, or the OAuth access token, refreshed when it has expired.
func (*Adapter) HealthCheck ¶
HealthCheck succeeds once configured. Whether the credential still works is learned at the next clone or listing, which reports it (R-146).
func (*Adapter) ListBranches ¶
ListBranches lists a project's branches.
func (*Adapter) ListRepositories ¶
func (a *Adapter) ListRepositories(ctx context.Context, req api.ListRepositoriesRequest) ([]api.Repository, error)
ListRepositories lists the projects the connection is a member of, or those in its group and the group's subgroups.
func (*Adapter) Refresh ¶
Refresh renews an expired OAuth access token, and returns the tokens to store only when it did. Every other method has nothing to renew.
func (*Adapter) SourceCapabilities ¶
func (a *Adapter) SourceCapabilities() api.SourceCapabilities