fetcher

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2022 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SourceTypeGitlab = "gitlab"
	SourceTypeGithub = "github"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GithubPipelineResolver

type GithubPipelineResolver struct {
	// contains filtered or unexported fields
}

func (*GithubPipelineResolver) ByRepository

func (resolver *GithubPipelineResolver) ByRepository(repository *Repository) (*Pipeline, error)

type GithubRepositoryResolver

type GithubRepositoryResolver struct {
	// contains filtered or unexported fields
}

func (*GithubRepositoryResolver) ByNamespace

func (resolver *GithubRepositoryResolver) ByNamespace(namespace string) (RepositoryList, error)

func (*GithubRepositoryResolver) ByRepository

func (resolver *GithubRepositoryResolver) ByRepository(repository string) (*Repository, error)

func (*GithubRepositoryResolver) ByUser

func (resolver *GithubRepositoryResolver) ByUser(user string) (RepositoryList, error)

type GitlabPipelineResolver

type GitlabPipelineResolver struct {
	// contains filtered or unexported fields
}

func (*GitlabPipelineResolver) ByRepository

func (resolver *GitlabPipelineResolver) ByRepository(repository *Repository) (*Pipeline, error)

type GitlabRepositoryResolver

type GitlabRepositoryResolver struct {
	// contains filtered or unexported fields
}

func (*GitlabRepositoryResolver) ByNamespace

func (resolver *GitlabRepositoryResolver) ByNamespace(namespace string) (RepositoryList, error)

func (*GitlabRepositoryResolver) ByRepository

func (resolver *GitlabRepositoryResolver) ByRepository(repository string) (*Repository, error)

func (*GitlabRepositoryResolver) ByUser

func (resolver *GitlabRepositoryResolver) ByUser(user string) (RepositoryList, error)

type Pipeline

type Pipeline struct {
	Ref           string          `json:"ref"`
	URL           string          `json:"url"`
	Time          string          `json:"time"`
	CommitSHA     string          `json:"commitSHA"`
	CommitAuthor  string          `json:"commitAuthor"`
	CommitMessage string          `json:"commitMessage"`
	CommitState   PipelineState   `json:"commitState"`
	PipelineRuns  PipelineRunList `json:"pipelineRuns"`
}

Pipeline defines all attributes that define a pipeline state.

type PipelineResolver

type PipelineResolver interface {
	// ByRepository resolves the pipeline for the given repository identifier and branch identifier.
	ByRepository(repository *Repository) (*Pipeline, error)
}

PipelineResolver defines a common API for types that allow for resolving of pipelines.

func NewGithubPipelineResolver

func NewGithubPipelineResolver(githubToken string) (PipelineResolver, error)

func NewGitlabPipelineResolver

func NewGitlabPipelineResolver(gitlabToken, gitlabEndpoint string) (PipelineResolver, error)

type PipelineRun

type PipelineRun struct {
	Name  string        `json:"name"`
	State PipelineState `json:"state"`
	URL   string        `json:"url"`
}

type PipelineRunList

type PipelineRunList []PipelineRun

PipelineRunList represents a sortable list of pipeline runs, that all belong to the same commit.

func (PipelineRunList) GetState

func (list PipelineRunList) GetState() PipelineState

func (PipelineRunList) Len

func (list PipelineRunList) Len() int

func (PipelineRunList) Less

func (list PipelineRunList) Less(i int, j int) bool

func (PipelineRunList) Swap

func (list PipelineRunList) Swap(i int, j int)

type PipelineState

type PipelineState string

PipelineState enumerates all valid states a pipeline can have.

const (
	PipelineStateSuccess PipelineState = "success"
	PipelineStateFailed  PipelineState = "failed"
	PipelineStateRunning PipelineState = "running"
	PipelineStateUnknown PipelineState = "unknown"
)

func (PipelineState) CompareTo

func (state PipelineState) CompareTo(other PipelineState) int

func (PipelineState) ToInt

func (state PipelineState) ToInt() int

type Repository

type Repository struct {
	ID            string `json:"id"`
	Source        string `json:"source"`
	Name          string `json:"name"`
	Namespace     string `json:"namespace"`
	DefaultBranch string `json:"defaultBranch"`
	URL           string `json:"url"`
}

Repository contains the required metadata of repository that can be queried for pipeline information.

type RepositoryGroup

type RepositoryGroup struct {
	Title        string         `json:"title"`
	Repositories RepositoryList `json:"repositories"`
}

RepositoryGroup groups several repositories into a named unit.

type RepositoryList

type RepositoryList []*Repository

RepositoryList represents a sortable list of repositories.

func (RepositoryList) Len

func (list RepositoryList) Len() int

func (RepositoryList) Less

func (list RepositoryList) Less(i int, j int) bool

func (RepositoryList) Swap

func (list RepositoryList) Swap(i int, j int)

type RepositoryResolver

type RepositoryResolver interface {
	// ByRepository resolves a repository by its own identifier.
	ByRepository(repository string) (*Repository, error)

	// ByNamespace resolves all repositories for a given namespace identifier.
	ByNamespace(namespace string) (RepositoryList, error)

	// ByUser resolves all repositories for a given user identifier.
	ByUser(user string) (RepositoryList, error)
}

RepositoryResolver defines a common API for types that allow for resolving of repositories.

func NewGithubRepositoryResolver

func NewGithubRepositoryResolver(githubToken string) (RepositoryResolver, error)

func NewGitlabRepositoryResolver

func NewGitlabRepositoryResolver(gitlabToken, gitlabEndpoint string) (RepositoryResolver, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL