gitlab

package
v1.0.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2026 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ReactionTargetMergeRequest = "mergeRequest"
	ReactionTargetNote         = "note"
)
View Source
const (
	PipelineStatusSuccess   = "success"
	PipelineStatusFailed    = "failed"
	PipelineStatusCanceled  = "canceled"
	PipelineStatusCancelled = "cancelled"
	PipelineStatusSkipped   = "skipped"
	PipelineStatusManual    = "manual"
	PipelineStatusBlocked   = "blocked"
)
View Source
const (
	DeploymentPayloadType = "gitlab.deployment"

	DeploymentStatusRunning  = "running"
	DeploymentStatusSuccess  = "success"
	DeploymentStatusFailed   = "failed"
	DeploymentStatusCanceled = "canceled"
)
View Source
const (
	AuthTypePersonalAccessToken = "personalAccessToken"
	AuthTypeAppOAuth            = "appOAuth"
	OAuthAccessToken            = "accessToken"
	OAuthRefreshToken           = "refreshToken"
)
View Source
const (
	ResourceTypeMember      = "member"
	ResourceTypeMilestone   = "milestone"
	ResourceTypeProject     = "project"
	ResourceTypeEnvironment = "environment"
)
View Source
const (
	JobStatusCreated  = "created"
	JobStatusPending  = "pending"
	JobStatusRunning  = "running"
	JobStatusSuccess  = "success"
	JobStatusFailed   = "failed"
	JobStatusCanceled = "canceled"
	JobStatusSkipped  = "skipped"
	JobStatusManual   = "manual"
)
View Source
const (
	CommitStatusPayloadType = "gitlab.commitStatus"

	CommitStatusStatePending  = "pending"
	CommitStatusStateRunning  = "running"
	CommitStatusStateSuccess  = "success"
	CommitStatusStateFailed   = "failed"
	CommitStatusStateCanceled = "canceled"
	CommitStatusStateSkipped  = "skipped"
)
View Source
const (
	ReleaseStrategySpecific = "specific"
	ReleaseStrategyLatest   = "latest"
)
View Source
const (
	PipelinePayloadType         = "gitlab.pipeline.finished"
	PipelinePassedOutputChannel = "passed"
	PipelineFailedOutputChannel = "failed"

	RunPipelinePollInterval = 5 * time.Minute
	RunPipelinePollAction   = "poll"
	RunPipelineKVPipelineID = "pipeline_id"
)
View Source
const (
	IssueStateEventClose  = "close"
	IssueStateEventReopen = "reopen"
)
View Source
const (
	MergeRequestStateEventClose  = "close"
	MergeRequestStateEventReopen = "reopen"
)
View Source
const CommitPayloadType = "gitlab.commit"

Variables

This section is empty.

Functions

func ListEnvironments added in v0.29.0

func ListEnvironments(ctx core.ListResourcesContext) ([]core.IntegrationResource, error)

Types

type AcceptMergeRequest added in v0.29.0

type AcceptMergeRequest struct{}

func (*AcceptMergeRequest) Cancel added in v0.29.0

func (*AcceptMergeRequest) Cleanup added in v0.29.0

func (c *AcceptMergeRequest) Cleanup(ctx core.SetupContext) error

func (*AcceptMergeRequest) Color added in v0.29.0

func (c *AcceptMergeRequest) Color() string

func (*AcceptMergeRequest) Configuration added in v0.29.0

func (c *AcceptMergeRequest) Configuration() []configuration.Field

func (*AcceptMergeRequest) Description added in v0.29.0

func (c *AcceptMergeRequest) Description() string

func (*AcceptMergeRequest) Documentation added in v0.29.0

func (c *AcceptMergeRequest) Documentation() string

func (*AcceptMergeRequest) ExampleOutput added in v0.29.0

func (c *AcceptMergeRequest) ExampleOutput() map[string]any

func (*AcceptMergeRequest) Execute added in v0.29.0

func (*AcceptMergeRequest) HandleHook added in v0.29.0

func (c *AcceptMergeRequest) HandleHook(ctx core.ActionHookContext) error

func (*AcceptMergeRequest) HandleWebhook added in v0.29.0

func (*AcceptMergeRequest) Hooks added in v0.29.0

func (c *AcceptMergeRequest) Hooks() []core.Hook

func (*AcceptMergeRequest) Icon added in v0.29.0

func (c *AcceptMergeRequest) Icon() string

func (*AcceptMergeRequest) Label added in v0.29.0

func (c *AcceptMergeRequest) Label() string

func (*AcceptMergeRequest) Name added in v0.29.0

func (c *AcceptMergeRequest) Name() string

func (*AcceptMergeRequest) OutputChannels added in v0.29.0

func (c *AcceptMergeRequest) OutputChannels(configuration any) []core.OutputChannel

func (*AcceptMergeRequest) Setup added in v0.29.0

func (c *AcceptMergeRequest) Setup(ctx core.SetupContext) error

type AcceptMergeRequestConfiguration added in v0.29.0

type AcceptMergeRequestConfiguration struct {
	Project                  string  `mapstructure:"project"`
	MergeRequestIID          string  `mapstructure:"mergeRequestIid"`
	MergeCommitMessage       string  `mapstructure:"mergeCommitMessage"`
	Squash                   bool    `mapstructure:"squash"`
	SquashCommitMessage      *string `mapstructure:"squashCommitMessage,omitempty"`
	ShouldRemoveSourceBranch bool    `mapstructure:"shouldRemoveSourceBranch"`
	SHA                      string  `mapstructure:"sha"`
}

type AcceptMergeRequestRequest added in v0.29.0

type AcceptMergeRequestRequest struct {
	MergeCommitMessage       string `json:"merge_commit_message,omitempty"`
	SquashCommitMessage      string `json:"squash_commit_message,omitempty"`
	Squash                   *bool  `json:"squash,omitempty"`
	ShouldRemoveSourceBranch *bool  `json:"should_remove_source_branch,omitempty"`
	SHA                      string `json:"sha,omitempty"`
}

type AddIssueLabel added in v0.30.0

type AddIssueLabel struct{}

func (*AddIssueLabel) Cancel added in v0.30.0

func (c *AddIssueLabel) Cancel(ctx core.ExecutionContext) error

func (*AddIssueLabel) Cleanup added in v0.30.0

func (c *AddIssueLabel) Cleanup(ctx core.SetupContext) error

func (*AddIssueLabel) Color added in v0.30.0

func (c *AddIssueLabel) Color() string

func (*AddIssueLabel) Configuration added in v0.30.0

func (c *AddIssueLabel) Configuration() []configuration.Field

func (*AddIssueLabel) Description added in v0.30.0

func (c *AddIssueLabel) Description() string

func (*AddIssueLabel) Documentation added in v0.30.0

func (c *AddIssueLabel) Documentation() string

func (*AddIssueLabel) ExampleOutput added in v0.30.0

func (c *AddIssueLabel) ExampleOutput() map[string]any

func (*AddIssueLabel) Execute added in v0.30.0

func (c *AddIssueLabel) Execute(ctx core.ExecutionContext) error

func (*AddIssueLabel) HandleHook added in v0.30.0

func (c *AddIssueLabel) HandleHook(ctx core.ActionHookContext) error

func (*AddIssueLabel) HandleWebhook added in v0.30.0

func (*AddIssueLabel) Hooks added in v0.30.0

func (c *AddIssueLabel) Hooks() []core.Hook

func (*AddIssueLabel) Icon added in v0.30.0

func (c *AddIssueLabel) Icon() string

func (*AddIssueLabel) Label added in v0.30.0

func (c *AddIssueLabel) Label() string

func (*AddIssueLabel) Name added in v0.30.0

func (c *AddIssueLabel) Name() string

func (*AddIssueLabel) OutputChannels added in v0.30.0

func (c *AddIssueLabel) OutputChannels(configuration any) []core.OutputChannel

func (*AddIssueLabel) Setup added in v0.30.0

func (c *AddIssueLabel) Setup(ctx core.SetupContext) error

type AddIssueLabelConfiguration added in v0.30.0

type AddIssueLabelConfiguration struct {
	Project  string   `mapstructure:"project"`
	IssueIID string   `mapstructure:"issueIid"`
	Labels   []string `mapstructure:"labels"`
}

type AddMergeRequestReviewers added in v0.30.0

type AddMergeRequestReviewers struct{}

func (*AddMergeRequestReviewers) Cancel added in v0.30.0

func (*AddMergeRequestReviewers) Cleanup added in v0.30.0

func (*AddMergeRequestReviewers) Color added in v0.30.0

func (c *AddMergeRequestReviewers) Color() string

func (*AddMergeRequestReviewers) Configuration added in v0.30.0

func (c *AddMergeRequestReviewers) Configuration() []configuration.Field

func (*AddMergeRequestReviewers) Description added in v0.30.0

func (c *AddMergeRequestReviewers) Description() string

func (*AddMergeRequestReviewers) Documentation added in v0.30.0

func (c *AddMergeRequestReviewers) Documentation() string

func (*AddMergeRequestReviewers) ExampleOutput added in v0.30.0

func (c *AddMergeRequestReviewers) ExampleOutput() map[string]any

func (*AddMergeRequestReviewers) Execute added in v0.30.0

func (*AddMergeRequestReviewers) HandleHook added in v0.30.0

func (*AddMergeRequestReviewers) HandleWebhook added in v0.30.0

func (*AddMergeRequestReviewers) Hooks added in v0.30.0

func (c *AddMergeRequestReviewers) Hooks() []core.Hook

func (*AddMergeRequestReviewers) Icon added in v0.30.0

func (c *AddMergeRequestReviewers) Icon() string

func (*AddMergeRequestReviewers) Label added in v0.30.0

func (c *AddMergeRequestReviewers) Label() string

func (*AddMergeRequestReviewers) Name added in v0.30.0

func (c *AddMergeRequestReviewers) Name() string

func (*AddMergeRequestReviewers) OutputChannels added in v0.30.0

func (c *AddMergeRequestReviewers) OutputChannels(configuration any) []core.OutputChannel

func (*AddMergeRequestReviewers) Setup added in v0.30.0

type AddMergeRequestReviewersConfiguration added in v0.30.0

type AddMergeRequestReviewersConfiguration struct {
	Project         string   `mapstructure:"project"`
	MergeRequestIID string   `mapstructure:"mergeRequestIid"`
	Reviewers       []string `mapstructure:"reviewers"`
}

type AddReaction added in v0.28.0

type AddReaction struct{}

func (*AddReaction) Cancel added in v0.28.0

func (c *AddReaction) Cancel(ctx core.ExecutionContext) error

func (*AddReaction) Cleanup added in v0.28.0

func (c *AddReaction) Cleanup(ctx core.SetupContext) error

func (*AddReaction) Color added in v0.28.0

func (c *AddReaction) Color() string

func (*AddReaction) Configuration added in v0.28.0

func (c *AddReaction) Configuration() []configuration.Field

func (*AddReaction) Description added in v0.28.0

func (c *AddReaction) Description() string

func (*AddReaction) Documentation added in v0.28.0

func (c *AddReaction) Documentation() string

func (*AddReaction) ExampleOutput added in v0.28.0

func (c *AddReaction) ExampleOutput() map[string]any

func (*AddReaction) Execute added in v0.28.0

func (c *AddReaction) Execute(ctx core.ExecutionContext) error

func (*AddReaction) HandleHook added in v0.28.0

func (c *AddReaction) HandleHook(ctx core.ActionHookContext) error

func (*AddReaction) HandleWebhook added in v0.28.0

func (*AddReaction) Hooks added in v0.28.0

func (c *AddReaction) Hooks() []core.Hook

func (*AddReaction) Icon added in v0.28.0

func (c *AddReaction) Icon() string

func (*AddReaction) Label added in v0.28.0

func (c *AddReaction) Label() string

func (*AddReaction) Name added in v0.28.0

func (c *AddReaction) Name() string

func (*AddReaction) OutputChannels added in v0.28.0

func (c *AddReaction) OutputChannels(configuration any) []core.OutputChannel

func (*AddReaction) Setup added in v0.28.0

func (c *AddReaction) Setup(ctx core.SetupContext) error

type AddReactionConfiguration added in v0.28.0

type AddReactionConfiguration struct {
	Project         string `mapstructure:"project"`
	MergeRequestIID string `mapstructure:"mergeRequestIid"`
	Target          string `mapstructure:"target"`
	NoteID          string `mapstructure:"noteId"`
	Content         string `mapstructure:"content"`
}

type ApproveMergeRequest added in v0.29.0

type ApproveMergeRequest struct{}

func (*ApproveMergeRequest) Cancel added in v0.29.0

func (*ApproveMergeRequest) Cleanup added in v0.29.0

func (c *ApproveMergeRequest) Cleanup(ctx core.SetupContext) error

func (*ApproveMergeRequest) Color added in v0.29.0

func (c *ApproveMergeRequest) Color() string

func (*ApproveMergeRequest) Configuration added in v0.29.0

func (c *ApproveMergeRequest) Configuration() []configuration.Field

func (*ApproveMergeRequest) Description added in v0.29.0

func (c *ApproveMergeRequest) Description() string

func (*ApproveMergeRequest) Documentation added in v0.29.0

func (c *ApproveMergeRequest) Documentation() string

func (*ApproveMergeRequest) ExampleOutput added in v0.29.0

func (c *ApproveMergeRequest) ExampleOutput() map[string]any

func (*ApproveMergeRequest) Execute added in v0.29.0

func (*ApproveMergeRequest) HandleHook added in v0.29.0

func (c *ApproveMergeRequest) HandleHook(ctx core.ActionHookContext) error

func (*ApproveMergeRequest) HandleWebhook added in v0.29.0

func (*ApproveMergeRequest) Hooks added in v0.29.0

func (c *ApproveMergeRequest) Hooks() []core.Hook

func (*ApproveMergeRequest) Icon added in v0.29.0

func (c *ApproveMergeRequest) Icon() string

func (*ApproveMergeRequest) Label added in v0.29.0

func (c *ApproveMergeRequest) Label() string

func (*ApproveMergeRequest) Name added in v0.29.0

func (c *ApproveMergeRequest) Name() string

func (*ApproveMergeRequest) OutputChannels added in v0.29.0

func (c *ApproveMergeRequest) OutputChannels(configuration any) []core.OutputChannel

func (*ApproveMergeRequest) Setup added in v0.29.0

type ApproveMergeRequestConfiguration added in v0.29.0

type ApproveMergeRequestConfiguration struct {
	Project         string `mapstructure:"project"`
	MergeRequestIID string `mapstructure:"mergeRequestIid"`
	SHA             string `mapstructure:"sha"`
}

type ApproveMergeRequestRequest added in v0.29.0

type ApproveMergeRequestRequest struct {
	SHA string `json:"sha,omitempty"`
}

type Auth

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

func NewAuth

func NewAuth(client core.HTTPContext) *Auth

func (*Auth) HandleCallback

func (a *Auth) HandleCallback(req *http.Request, config *Configuration, expectedState, redirectURI string) (*TokenResponse, error)

func (*Auth) RefreshToken

func (a *Auth) RefreshToken(baseURL, clientID, clientSecret, refreshToken string) (*TokenResponse, error)

type AwardEmoji added in v0.28.0

type AwardEmoji struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	User        User   `json:"user"`
	CreatedAt   string `json:"created_at"`
	UpdatedAt   string `json:"updated_at"`
	AwardableID int    `json:"awardable_id,omitempty"`
}

type CiMinutesNamespaceUsage

type CiMinutesNamespaceUsage struct {
	Month                 string `json:"month"`
	MonthIso8601          string `json:"monthIso8601"`
	Minutes               int    `json:"minutes"`
	SharedRunnersDuration int    `json:"sharedRunnersDuration"`
}

type CiMinutesProjectRef

type CiMinutesProjectRef struct {
	ID       string `json:"id"`
	Name     string `json:"name"`
	FullPath string `json:"fullPath"`
}

type CiMinutesProjectUsage

type CiMinutesProjectUsage struct {
	Minutes               int                  `json:"minutes"`
	SharedRunnersDuration int                  `json:"sharedRunnersDuration"`
	Project               *CiMinutesProjectRef `json:"project"`
}

type Client

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

func NewClient

func NewClient(httpClient core.HTTPContext, ctx core.IntegrationContext) (*Client, error)

func (*Client) AcceptMergeRequest added in v0.29.0

func (c *Client) AcceptMergeRequest(ctx context.Context, projectID, mergeRequestIID string, req *AcceptMergeRequestRequest) (*MergeRequest, error)

AcceptMergeRequest merges an open merge request. See https://docs.gitlab.com/api/merge_requests/#merge-a-merge-request

func (*Client) ApproveMergeRequest added in v0.29.0

func (c *Client) ApproveMergeRequest(ctx context.Context, projectID, mergeRequestIID string, req *ApproveMergeRequestRequest) (*MergeRequestApproval, error)

ApproveMergeRequest approves a merge request as the authenticated user. See https://docs.gitlab.com/api/merge_request_approvals/#approve-merge-request

func (*Client) CancelPipeline

func (c *Client) CancelPipeline(ctx context.Context, projectID string, pipelineID int) error

func (*Client) CreateCommitStatus

func (c *Client) CreateCommitStatus(ctx context.Context, projectID, sha string, req *CreateCommitStatusRequest) (*CommitStatus, error)

CreateCommitStatus sets (publishes) a build/CI status on a commit.

func (*Client) CreateDeployment added in v0.29.0

func (c *Client) CreateDeployment(ctx context.Context, projectID string, req *CreateDeploymentRequest) (*Deployment, error)

CreateDeployment creates a deployment for a project environment. GitLab creates the environment automatically if it does not yet exist.

func (*Client) CreateIssue

func (c *Client) CreateIssue(ctx context.Context, projectID string, req *IssueRequest) (*Issue, error)

func (*Client) CreateIssueNote added in v0.30.0

func (c *Client) CreateIssueNote(ctx context.Context, projectID, issueIID string, req *CreateNoteRequest) (*Note, error)

func (*Client) CreateMergeRequest added in v0.30.0

func (c *Client) CreateMergeRequest(ctx context.Context, projectID string, req *CreateMergeRequestRequest) (*MergeRequest, error)

CreateMergeRequest opens a new merge request in a project. See https://docs.gitlab.com/api/merge_requests/#create-mr

func (*Client) CreateMergeRequestAwardEmoji added in v0.28.0

func (c *Client) CreateMergeRequestAwardEmoji(ctx context.Context, projectID, mergeRequestIID string, req *CreateAwardEmojiRequest) (*AwardEmoji, error)

CreateMergeRequestAwardEmoji adds an award emoji to the merge request itself. If the authenticated user has already awarded this emoji, it returns the existing award emoji instead of failing, making the operation idempotent.

func (*Client) CreateMergeRequestNote added in v0.28.0

func (c *Client) CreateMergeRequestNote(ctx context.Context, projectID, mergeRequestIID string, req *CreateNoteRequest) (*Note, error)

func (*Client) CreateMergeRequestNoteAwardEmoji added in v0.28.0

func (c *Client) CreateMergeRequestNoteAwardEmoji(ctx context.Context, projectID, mergeRequestIID, noteID string, req *CreateAwardEmojiRequest) (*AwardEmoji, error)

CreateMergeRequestNoteAwardEmoji adds an award emoji to a note on a merge request. If the authenticated user has already awarded this emoji, it returns the existing award emoji instead of failing, making the operation idempotent.

func (*Client) CreatePipeline

func (c *Client) CreatePipeline(ctx context.Context, projectID string, req *CreatePipelineRequest) (*Pipeline, error)

func (*Client) CreateRelease

func (c *Client) CreateRelease(ctx context.Context, projectID string, req *CreateReleaseRequest) (*Release, error)

CreateRelease creates a release, tagging Ref first if TagName doesn't already exist.

func (*Client) DeleteRelease

func (c *Client) DeleteRelease(ctx context.Context, projectID, tagName string) (*Release, error)

DeleteRelease deletes a release and returns the deleted release; it does not delete the underlying tag.

func (*Client) DeleteTag

func (c *Client) DeleteTag(ctx context.Context, projectID, tagName string) error

DeleteTag deletes a Git tag from the project's repository.

func (*Client) FetchIntegrationData

func (c *Client) FetchIntegrationData() (*User, []Project, error)

func (*Client) GetCiMinutesUsage

func (c *Client) GetCiMinutesUsage(ctx context.Context, namespaceGID *string, date string) (*CiMinutesNamespaceUsage, []CiMinutesProjectUsage, error)

GetCiMinutesUsage returns a namespace's CI/CD minutes usage for the given month with a per-project breakdown, a nil namespaceGID for the current user's personal namespace, and a nil usage if GitLab has no namespace-level record for that month.

func (*Client) GetCommit

func (c *Client) GetCommit(ctx context.Context, projectID, ref string) (*Commit, error)

GetCommit returns a single commit, including its top-level Status and LastPipeline (GitLab's native overall CI status). The ref may be a SHA, branch, or tag name.

func (*Client) GetGroup

func (c *Client) GetGroup(groupID string) (*Group, error)

GetGroup fetches a single group by numeric ID or full path.

func (*Client) GetIssue added in v0.30.0

func (c *Client) GetIssue(ctx context.Context, projectID, issueIID string) (*Issue, error)

func (*Client) GetLatestPipeline

func (c *Client) GetLatestPipeline(projectID, ref string) (*Pipeline, error)

func (*Client) GetLatestRelease

func (c *Client) GetLatestRelease(ctx context.Context, projectID string) (*Release, error)

GetLatestRelease returns the most recently published release, skipping upcoming (scheduled) ones.

func (*Client) GetMergeRequest added in v0.30.0

func (c *Client) GetMergeRequest(ctx context.Context, projectID, mergeRequestIID string) (*MergeRequest, error)

GetMergeRequest fetches a single merge request, including its current reviewers.

func (*Client) GetPipeline

func (c *Client) GetPipeline(projectID string, pipelineID int) (*Pipeline, error)

func (*Client) GetPipelineTestReportSummary

func (c *Client) GetPipelineTestReportSummary(projectID string, pipelineID int) (*PipelineTestReportSummary, error)

func (*Client) GetRelease

func (c *Client) GetRelease(ctx context.Context, projectID, tagName string) (*Release, error)

GetRelease fetches a single release by tag name.

func (*Client) ListEnvironments added in v0.29.0

func (c *Client) ListEnvironments(projectID string) ([]Environment, error)

ListEnvironments lists the available environments for a project. Only available environments are returned so users pick a live deployment target.

func (*Client) ListGroupMembers

func (c *Client) ListGroupMembers(groupID string) ([]User, error)

func (*Client) ListMergeRequestAwardEmoji added in v0.28.0

func (c *Client) ListMergeRequestAwardEmoji(projectID, mergeRequestIID string) ([]AwardEmoji, error)

ListMergeRequestAwardEmoji lists the award emoji on a merge request.

func (*Client) ListMergeRequestNoteAwardEmoji added in v0.28.0

func (c *Client) ListMergeRequestNoteAwardEmoji(projectID, mergeRequestIID, noteID string) ([]AwardEmoji, error)

ListMergeRequestNoteAwardEmoji lists the award emoji on a note of a merge request.

func (*Client) ListMilestones

func (c *Client) ListMilestones(projectID string) ([]Milestone, error)

func (*Client) ListPipelines

func (c *Client) ListPipelines(projectID string) ([]Pipeline, error)

func (*Client) ListProjectMembers added in v0.28.0

func (c *Client) ListProjectMembers(projectID string) ([]User, error)

ListProjectMembers lists all members of a project, including inherited ones.

func (*Client) UpdateDeployment added in v0.29.0

func (c *Client) UpdateDeployment(ctx context.Context, projectID string, deploymentID int, req *UpdateDeploymentRequest) (*Deployment, error)

UpdateDeployment updates the status of an existing deployment.

func (*Client) UpdateIssue added in v0.30.0

func (c *Client) UpdateIssue(ctx context.Context, projectID, issueIID string, req *UpdateIssueRequest) (*Issue, error)

func (*Client) UpdateIssueNote added in v0.30.0

func (c *Client) UpdateIssueNote(ctx context.Context, projectID, issueIID, noteID string, req *UpdateNoteRequest) (*Note, error)

UpdateIssueNote edits an existing note (comment) on an issue. See https://docs.gitlab.com/api/notes/#modify-existing-issue-note

func (*Client) UpdateMergeRequest added in v0.30.0

func (c *Client) UpdateMergeRequest(ctx context.Context, projectID, mergeRequestIID string, req *UpdateMergeRequestRequest) (*MergeRequest, error)

UpdateMergeRequest edits an existing merge request's fields. See https://docs.gitlab.com/api/merge_requests/#update-mr

func (*Client) UpdateMergeRequestReviewers added in v0.30.0

func (c *Client) UpdateMergeRequestReviewers(ctx context.Context, projectID, mergeRequestIID string, reviewerIDs []int) (*MergeRequest, error)

UpdateMergeRequestReviewers replaces the reviewers of a merge request with the given set of user IDs. See https://docs.gitlab.com/api/merge_requests/#update-mr

func (*Client) UpdateRelease

func (c *Client) UpdateRelease(ctx context.Context, projectID, tagName string, req *UpdateReleaseRequest) (*Release, error)

UpdateRelease edits an existing release's name, description, milestones, or released-at date; the tag and assets can't be changed here.

type Commit

type Commit struct {
	ID             string          `json:"id"`
	ShortID        string          `json:"short_id"`
	Title          string          `json:"title"`
	Message        string          `json:"message"`
	AuthorName     string          `json:"author_name"`
	AuthorEmail    string          `json:"author_email"`
	AuthoredDate   string          `json:"authored_date"`
	CommitterName  string          `json:"committer_name"`
	CommitterEmail string          `json:"committer_email"`
	CommittedDate  string          `json:"committed_date"`
	CreatedAt      string          `json:"created_at"`
	ParentIDs      []string        `json:"parent_ids"`
	WebURL         string          `json:"web_url"`
	Status         string          `json:"status"`
	LastPipeline   *CommitPipeline `json:"last_pipeline,omitempty"`
	Stats          *CommitStats    `json:"stats,omitempty"`
}

Commit is a GitLab repository commit. Its top-level Status and LastPipeline are GitLab's native overall CI status for the commit (rolled up from its pipeline). See https://docs.gitlab.com/api/commits/#get-a-single-commit

type CommitPipeline

type CommitPipeline struct {
	ID        int    `json:"id"`
	IID       int    `json:"iid,omitempty"`
	ProjectID int    `json:"project_id,omitempty"`
	Ref       string `json:"ref"`
	SHA       string `json:"sha"`
	Status    string `json:"status"`
	Source    string `json:"source,omitempty"`
	CreatedAt string `json:"created_at,omitempty"`
	UpdatedAt string `json:"updated_at,omitempty"`
	WebURL    string `json:"web_url,omitempty"`
}

CommitPipeline is the last pipeline associated with a commit - GitLab's native rolled-up CI status for that commit.

type CommitStats

type CommitStats struct {
	Additions int `json:"additions"`
	Deletions int `json:"deletions"`
	Total     int `json:"total"`
}

CommitStats is the line-change summary of a commit.

type CommitStatus

type CommitStatus struct {
	ID           int      `json:"id"`
	SHA          string   `json:"sha"`
	Ref          string   `json:"ref"`
	Status       string   `json:"status"`
	Name         string   `json:"name"`
	TargetURL    string   `json:"target_url"`
	Description  string   `json:"description"`
	CreatedAt    string   `json:"created_at"`
	StartedAt    string   `json:"started_at"`
	FinishedAt   string   `json:"finished_at"`
	AllowFailure bool     `json:"allow_failure"`
	Coverage     *float64 `json:"coverage"`
	PipelineID   int      `json:"pipeline_id,omitempty"`
	Author       *User    `json:"author,omitempty"`
}

CommitStatus is a GitLab commit build/CI status. See https://docs.gitlab.com/api/commits/#set-the-pipeline-status-of-a-commit

type Configuration

type Configuration struct {
	AuthType     string `mapstructure:"authType" json:"authType"`
	BaseURL      string `mapstructure:"baseUrl" json:"baseUrl"`
	ClientID     string `mapstructure:"clientId" json:"clientId"`
	ClientSecret string `mapstructure:"clientSecret" json:"clientSecret"`
	GroupID      string `mapstructure:"groupId" json:"groupId"`
	AccessToken  string `mapstructure:"accessToken" json:"accessToken"`
}

type CreateAwardEmojiRequest added in v0.28.0

type CreateAwardEmojiRequest struct {
	Name string `json:"name"`
}

type CreateCommitStatusRequest

type CreateCommitStatusRequest struct {
	State       string   `json:"state"`
	Ref         string   `json:"ref,omitempty"`
	Name        string   `json:"name,omitempty"`
	TargetURL   string   `json:"target_url,omitempty"`
	Description string   `json:"description,omitempty"`
	Coverage    *float64 `json:"coverage,omitempty"`
	PipelineID  *int     `json:"pipeline_id,omitempty"`
}

CreateCommitStatusRequest mirrors GitLab's POST /projects/:id/statuses/:sha body. Only State is required; the rest are omitted when empty.

type CreateDeployment added in v0.29.0

type CreateDeployment struct{}

func (*CreateDeployment) Cancel added in v0.29.0

func (*CreateDeployment) Cleanup added in v0.29.0

func (c *CreateDeployment) Cleanup(ctx core.SetupContext) error

func (*CreateDeployment) Color added in v0.29.0

func (c *CreateDeployment) Color() string

func (*CreateDeployment) Configuration added in v0.29.0

func (c *CreateDeployment) Configuration() []configuration.Field

func (*CreateDeployment) Description added in v0.29.0

func (c *CreateDeployment) Description() string

func (*CreateDeployment) Documentation added in v0.29.0

func (c *CreateDeployment) Documentation() string

func (*CreateDeployment) ExampleOutput added in v0.29.0

func (c *CreateDeployment) ExampleOutput() map[string]any

func (*CreateDeployment) Execute added in v0.29.0

func (c *CreateDeployment) Execute(ctx core.ExecutionContext) error

func (*CreateDeployment) HandleHook added in v0.29.0

func (c *CreateDeployment) HandleHook(ctx core.ActionHookContext) error

func (*CreateDeployment) HandleWebhook added in v0.29.0

func (*CreateDeployment) Hooks added in v0.29.0

func (c *CreateDeployment) Hooks() []core.Hook

func (*CreateDeployment) Icon added in v0.29.0

func (c *CreateDeployment) Icon() string

func (*CreateDeployment) Label added in v0.29.0

func (c *CreateDeployment) Label() string

func (*CreateDeployment) Name added in v0.29.0

func (c *CreateDeployment) Name() string

func (*CreateDeployment) OutputChannels added in v0.29.0

func (c *CreateDeployment) OutputChannels(configuration any) []core.OutputChannel

func (*CreateDeployment) Setup added in v0.29.0

func (c *CreateDeployment) Setup(ctx core.SetupContext) error

type CreateDeploymentConfiguration added in v0.29.0

type CreateDeploymentConfiguration struct {
	Project     string `mapstructure:"project"`
	Environment string `mapstructure:"environment"`
	Ref         string `mapstructure:"ref"`
	SHA         string `mapstructure:"sha"`
	Tag         bool   `mapstructure:"tag"`
	Status      string `mapstructure:"status"`
}

type CreateDeploymentRequest added in v0.29.0

type CreateDeploymentRequest struct {
	Environment string `json:"environment"`
	Ref         string `json:"ref"`
	SHA         string `json:"sha"`
	Tag         bool   `json:"tag"`
	Status      string `json:"status"`
}

type CreateDeploymentStatus added in v0.29.0

type CreateDeploymentStatus struct{}

func (*CreateDeploymentStatus) Cancel added in v0.29.0

func (*CreateDeploymentStatus) Cleanup added in v0.29.0

func (*CreateDeploymentStatus) Color added in v0.29.0

func (c *CreateDeploymentStatus) Color() string

func (*CreateDeploymentStatus) Configuration added in v0.29.0

func (c *CreateDeploymentStatus) Configuration() []configuration.Field

func (*CreateDeploymentStatus) Description added in v0.29.0

func (c *CreateDeploymentStatus) Description() string

func (*CreateDeploymentStatus) Documentation added in v0.29.0

func (c *CreateDeploymentStatus) Documentation() string

func (*CreateDeploymentStatus) ExampleOutput added in v0.29.0

func (c *CreateDeploymentStatus) ExampleOutput() map[string]any

func (*CreateDeploymentStatus) Execute added in v0.29.0

func (*CreateDeploymentStatus) HandleHook added in v0.29.0

func (*CreateDeploymentStatus) HandleWebhook added in v0.29.0

func (*CreateDeploymentStatus) Hooks added in v0.29.0

func (c *CreateDeploymentStatus) Hooks() []core.Hook

func (*CreateDeploymentStatus) Icon added in v0.29.0

func (c *CreateDeploymentStatus) Icon() string

func (*CreateDeploymentStatus) Label added in v0.29.0

func (c *CreateDeploymentStatus) Label() string

func (*CreateDeploymentStatus) Name added in v0.29.0

func (c *CreateDeploymentStatus) Name() string

func (*CreateDeploymentStatus) OutputChannels added in v0.29.0

func (c *CreateDeploymentStatus) OutputChannels(configuration any) []core.OutputChannel

func (*CreateDeploymentStatus) Setup added in v0.29.0

type CreateDeploymentStatusConfiguration added in v0.29.0

type CreateDeploymentStatusConfiguration struct {
	Project      string `mapstructure:"project"`
	DeploymentID string `mapstructure:"deploymentId"`
	Status       string `mapstructure:"status"`
}

type CreateIssue

type CreateIssue struct{}

func (*CreateIssue) Cancel

func (c *CreateIssue) Cancel(ctx core.ExecutionContext) error

func (*CreateIssue) Cleanup

func (c *CreateIssue) Cleanup(ctx core.SetupContext) error

func (*CreateIssue) Color

func (c *CreateIssue) Color() string

func (*CreateIssue) Configuration

func (c *CreateIssue) Configuration() []configuration.Field

func (*CreateIssue) Description

func (c *CreateIssue) Description() string

func (*CreateIssue) Documentation

func (c *CreateIssue) Documentation() string

func (*CreateIssue) ExampleOutput

func (c *CreateIssue) ExampleOutput() map[string]any

func (*CreateIssue) Execute

func (c *CreateIssue) Execute(ctx core.ExecutionContext) error

func (*CreateIssue) HandleHook added in v0.18.0

func (c *CreateIssue) HandleHook(ctx core.ActionHookContext) error

func (*CreateIssue) HandleWebhook

func (*CreateIssue) Hooks added in v0.18.0

func (c *CreateIssue) Hooks() []core.Hook

func (*CreateIssue) Icon

func (c *CreateIssue) Icon() string

func (*CreateIssue) Label

func (c *CreateIssue) Label() string

func (*CreateIssue) Name

func (c *CreateIssue) Name() string

func (*CreateIssue) OutputChannels

func (c *CreateIssue) OutputChannels(configuration any) []core.OutputChannel

func (*CreateIssue) Setup

func (c *CreateIssue) Setup(ctx core.SetupContext) error

type CreateIssueComment added in v0.30.0

type CreateIssueComment struct{}

func (*CreateIssueComment) Cancel added in v0.30.0

func (*CreateIssueComment) Cleanup added in v0.30.0

func (c *CreateIssueComment) Cleanup(ctx core.SetupContext) error

func (*CreateIssueComment) Color added in v0.30.0

func (c *CreateIssueComment) Color() string

func (*CreateIssueComment) Configuration added in v0.30.0

func (c *CreateIssueComment) Configuration() []configuration.Field

func (*CreateIssueComment) Description added in v0.30.0

func (c *CreateIssueComment) Description() string

func (*CreateIssueComment) Documentation added in v0.30.0

func (c *CreateIssueComment) Documentation() string

func (*CreateIssueComment) ExampleOutput added in v0.30.0

func (c *CreateIssueComment) ExampleOutput() map[string]any

func (*CreateIssueComment) Execute added in v0.30.0

func (*CreateIssueComment) HandleHook added in v0.30.0

func (c *CreateIssueComment) HandleHook(ctx core.ActionHookContext) error

func (*CreateIssueComment) HandleWebhook added in v0.30.0

func (*CreateIssueComment) Hooks added in v0.30.0

func (c *CreateIssueComment) Hooks() []core.Hook

func (*CreateIssueComment) Icon added in v0.30.0

func (c *CreateIssueComment) Icon() string

func (*CreateIssueComment) Label added in v0.30.0

func (c *CreateIssueComment) Label() string

func (*CreateIssueComment) Name added in v0.30.0

func (c *CreateIssueComment) Name() string

func (*CreateIssueComment) OutputChannels added in v0.30.0

func (c *CreateIssueComment) OutputChannels(configuration any) []core.OutputChannel

func (*CreateIssueComment) Setup added in v0.30.0

func (c *CreateIssueComment) Setup(ctx core.SetupContext) error

type CreateIssueCommentConfiguration added in v0.30.0

type CreateIssueCommentConfiguration struct {
	Project  string `mapstructure:"project"`
	IssueIID string `mapstructure:"issueIid"`
	Body     string `mapstructure:"body"`
}

type CreateIssueConfiguration

type CreateIssueConfiguration struct {
	Project   string   `mapstructure:"project"`
	Title     string   `mapstructure:"title"`
	Body      string   `mapstructure:"body"`
	Assignees []string `mapstructure:"assignees"`
	Labels    []string `mapstructure:"labels"`
	Milestone string   `mapstructure:"milestone"`
	DueDate   string   `mapstructure:"dueDate"`
}

type CreateMergeComment added in v0.28.0

type CreateMergeComment struct{}

func (*CreateMergeComment) Cancel added in v0.28.0

func (*CreateMergeComment) Cleanup added in v0.28.0

func (c *CreateMergeComment) Cleanup(ctx core.SetupContext) error

func (*CreateMergeComment) Color added in v0.28.0

func (c *CreateMergeComment) Color() string

func (*CreateMergeComment) Configuration added in v0.28.0

func (c *CreateMergeComment) Configuration() []configuration.Field

func (*CreateMergeComment) Description added in v0.28.0

func (c *CreateMergeComment) Description() string

func (*CreateMergeComment) Documentation added in v0.28.0

func (c *CreateMergeComment) Documentation() string

func (*CreateMergeComment) ExampleOutput added in v0.28.0

func (c *CreateMergeComment) ExampleOutput() map[string]any

func (*CreateMergeComment) Execute added in v0.28.0

func (*CreateMergeComment) HandleHook added in v0.28.0

func (c *CreateMergeComment) HandleHook(ctx core.ActionHookContext) error

func (*CreateMergeComment) HandleWebhook added in v0.28.0

func (*CreateMergeComment) Hooks added in v0.28.0

func (c *CreateMergeComment) Hooks() []core.Hook

func (*CreateMergeComment) Icon added in v0.28.0

func (c *CreateMergeComment) Icon() string

func (*CreateMergeComment) Label added in v0.28.0

func (c *CreateMergeComment) Label() string

func (*CreateMergeComment) Name added in v0.28.0

func (c *CreateMergeComment) Name() string

func (*CreateMergeComment) OutputChannels added in v0.28.0

func (c *CreateMergeComment) OutputChannels(configuration any) []core.OutputChannel

func (*CreateMergeComment) Setup added in v0.28.0

func (c *CreateMergeComment) Setup(ctx core.SetupContext) error

type CreateMergeCommentConfiguration added in v0.28.0

type CreateMergeCommentConfiguration struct {
	Project         string `mapstructure:"project"`
	MergeRequestIID string `mapstructure:"mergeRequestIid"`
	Body            string `mapstructure:"body"`
}

type CreateMergeRequest added in v0.30.0

type CreateMergeRequest struct{}

func (*CreateMergeRequest) Cancel added in v0.30.0

func (*CreateMergeRequest) Cleanup added in v0.30.0

func (c *CreateMergeRequest) Cleanup(ctx core.SetupContext) error

func (*CreateMergeRequest) Color added in v0.30.0

func (c *CreateMergeRequest) Color() string

func (*CreateMergeRequest) Configuration added in v0.30.0

func (c *CreateMergeRequest) Configuration() []configuration.Field

func (*CreateMergeRequest) Description added in v0.30.0

func (c *CreateMergeRequest) Description() string

func (*CreateMergeRequest) Documentation added in v0.30.0

func (c *CreateMergeRequest) Documentation() string

func (*CreateMergeRequest) ExampleOutput added in v0.30.0

func (c *CreateMergeRequest) ExampleOutput() map[string]any

func (*CreateMergeRequest) Execute added in v0.30.0

func (*CreateMergeRequest) HandleHook added in v0.30.0

func (c *CreateMergeRequest) HandleHook(ctx core.ActionHookContext) error

func (*CreateMergeRequest) HandleWebhook added in v0.30.0

func (*CreateMergeRequest) Hooks added in v0.30.0

func (c *CreateMergeRequest) Hooks() []core.Hook

func (*CreateMergeRequest) Icon added in v0.30.0

func (c *CreateMergeRequest) Icon() string

func (*CreateMergeRequest) Label added in v0.30.0

func (c *CreateMergeRequest) Label() string

func (*CreateMergeRequest) Name added in v0.30.0

func (c *CreateMergeRequest) Name() string

func (*CreateMergeRequest) OutputChannels added in v0.30.0

func (c *CreateMergeRequest) OutputChannels(configuration any) []core.OutputChannel

func (*CreateMergeRequest) Setup added in v0.30.0

func (c *CreateMergeRequest) Setup(ctx core.SetupContext) error

type CreateMergeRequestConfiguration added in v0.30.0

type CreateMergeRequestConfiguration struct {
	Project            string   `mapstructure:"project"`
	SourceBranch       string   `mapstructure:"sourceBranch"`
	TargetBranch       string   `mapstructure:"targetBranch"`
	Title              string   `mapstructure:"title"`
	Description        string   `mapstructure:"description"`
	Assignees          []string `mapstructure:"assignees"`
	Reviewers          []string `mapstructure:"reviewers"`
	Labels             []string `mapstructure:"labels"`
	Milestone          string   `mapstructure:"milestone"`
	RemoveSourceBranch bool     `mapstructure:"removeSourceBranch"`
	Squash             bool     `mapstructure:"squash"`
}

type CreateMergeRequestRequest added in v0.30.0

type CreateMergeRequestRequest struct {
	SourceBranch       string `json:"source_branch"`
	TargetBranch       string `json:"target_branch"`
	Title              string `json:"title"`
	Description        string `json:"description,omitempty"`
	AssigneeIDs        []int  `json:"assignee_ids,omitempty"`
	ReviewerIDs        []int  `json:"reviewer_ids,omitempty"`
	Labels             string `json:"labels,omitempty"`
	MilestoneID        *int   `json:"milestone_id,omitempty"`
	RemoveSourceBranch *bool  `json:"remove_source_branch,omitempty"`
	Squash             *bool  `json:"squash,omitempty"`
}

type CreateNoteRequest added in v0.28.0

type CreateNoteRequest struct {
	Body string `json:"body"`
}

type CreatePipelineRequest

type CreatePipelineRequest struct {
	Ref    string            `json:"ref"`
	Inputs map[string]string `json:"inputs,omitempty"`
}

type CreateRelease

type CreateRelease struct{}

func (*CreateRelease) Cancel

func (c *CreateRelease) Cancel(ctx core.ExecutionContext) error

func (*CreateRelease) Cleanup

func (c *CreateRelease) Cleanup(ctx core.SetupContext) error

func (*CreateRelease) Color

func (c *CreateRelease) Color() string

func (*CreateRelease) Configuration

func (c *CreateRelease) Configuration() []configuration.Field

func (*CreateRelease) Description

func (c *CreateRelease) Description() string

func (*CreateRelease) Documentation

func (c *CreateRelease) Documentation() string

func (*CreateRelease) ExampleOutput

func (c *CreateRelease) ExampleOutput() map[string]any

func (*CreateRelease) Execute

func (c *CreateRelease) Execute(ctx core.ExecutionContext) error

func (*CreateRelease) HandleHook

func (c *CreateRelease) HandleHook(ctx core.ActionHookContext) error

func (*CreateRelease) HandleWebhook

func (*CreateRelease) Hooks

func (c *CreateRelease) Hooks() []core.Hook

func (*CreateRelease) Icon

func (c *CreateRelease) Icon() string

func (*CreateRelease) Label

func (c *CreateRelease) Label() string

func (*CreateRelease) Name

func (c *CreateRelease) Name() string

func (*CreateRelease) OutputChannels

func (c *CreateRelease) OutputChannels(configuration any) []core.OutputChannel

func (*CreateRelease) Setup

func (c *CreateRelease) Setup(ctx core.SetupContext) error

type CreateReleaseConfiguration

type CreateReleaseConfiguration struct {
	Project     string   `mapstructure:"project"`
	TagName     string   `mapstructure:"tagName"`
	Ref         string   `mapstructure:"ref"`
	Name        string   `mapstructure:"name"`
	Description string   `mapstructure:"description"`
	Milestones  []string `mapstructure:"milestones"`
	ReleasedAt  string   `mapstructure:"releasedAt"`
}

type CreateReleaseRequest

type CreateReleaseRequest struct {
	TagName     string   `json:"tag_name"`
	Ref         string   `json:"ref,omitempty"`
	Name        string   `json:"name,omitempty"`
	Description string   `json:"description,omitempty"`
	Milestones  []string `json:"milestones,omitempty"`
	ReleasedAt  string   `json:"released_at,omitempty"`
}

type DeleteRelease

type DeleteRelease struct{}

func (*DeleteRelease) Cancel

func (c *DeleteRelease) Cancel(ctx core.ExecutionContext) error

func (*DeleteRelease) Cleanup

func (c *DeleteRelease) Cleanup(ctx core.SetupContext) error

func (*DeleteRelease) Color

func (c *DeleteRelease) Color() string

func (*DeleteRelease) Configuration

func (c *DeleteRelease) Configuration() []configuration.Field

func (*DeleteRelease) Description

func (c *DeleteRelease) Description() string

func (*DeleteRelease) Documentation

func (c *DeleteRelease) Documentation() string

func (*DeleteRelease) ExampleOutput

func (c *DeleteRelease) ExampleOutput() map[string]any

func (*DeleteRelease) Execute

func (c *DeleteRelease) Execute(ctx core.ExecutionContext) error

func (*DeleteRelease) HandleHook

func (c *DeleteRelease) HandleHook(ctx core.ActionHookContext) error

func (*DeleteRelease) HandleWebhook

func (*DeleteRelease) Hooks

func (c *DeleteRelease) Hooks() []core.Hook

func (*DeleteRelease) Icon

func (c *DeleteRelease) Icon() string

func (*DeleteRelease) Label

func (c *DeleteRelease) Label() string

func (*DeleteRelease) Name

func (c *DeleteRelease) Name() string

func (*DeleteRelease) OutputChannels

func (c *DeleteRelease) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteRelease) Setup

func (c *DeleteRelease) Setup(ctx core.SetupContext) error

type DeleteReleaseConfiguration

type DeleteReleaseConfiguration struct {
	Project         string `mapstructure:"project"`
	ReleaseStrategy string `mapstructure:"releaseStrategy"`
	TagName         string `mapstructure:"tagName"`
	DeleteTag       bool   `mapstructure:"deleteTag"`
}

type Deployment added in v0.29.0

type Deployment struct {
	ID          int                    `json:"id"`
	IID         int                    `json:"iid"`
	Ref         string                 `json:"ref"`
	SHA         string                 `json:"sha"`
	Status      string                 `json:"status"`
	CreatedAt   string                 `json:"created_at"`
	UpdatedAt   string                 `json:"updated_at,omitempty"`
	User        *User                  `json:"user,omitempty"`
	Environment *DeploymentEnvironment `json:"environment,omitempty"`
	Deployable  map[string]any         `json:"deployable,omitempty"`
}

type DeploymentEnvironment added in v0.29.0

type DeploymentEnvironment struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	ExternalURL string `json:"external_url,omitempty"`
}

type Environment added in v0.29.0

type Environment struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Slug        string `json:"slug,omitempty"`
	ExternalURL string `json:"external_url,omitempty"`
	State       string `json:"state,omitempty"`
	Tier        string `json:"tier,omitempty"`
}

type GetCommitStatus

type GetCommitStatus struct{}

func (*GetCommitStatus) Cancel

func (c *GetCommitStatus) Cancel(ctx core.ExecutionContext) error

func (*GetCommitStatus) Cleanup

func (c *GetCommitStatus) Cleanup(ctx core.SetupContext) error

func (*GetCommitStatus) Color

func (c *GetCommitStatus) Color() string

func (*GetCommitStatus) Configuration

func (c *GetCommitStatus) Configuration() []configuration.Field

func (*GetCommitStatus) Description

func (c *GetCommitStatus) Description() string

func (*GetCommitStatus) Documentation

func (c *GetCommitStatus) Documentation() string

func (*GetCommitStatus) ExampleOutput

func (c *GetCommitStatus) ExampleOutput() map[string]any

func (*GetCommitStatus) Execute

func (c *GetCommitStatus) Execute(ctx core.ExecutionContext) error

func (*GetCommitStatus) HandleHook

func (c *GetCommitStatus) HandleHook(ctx core.ActionHookContext) error

func (*GetCommitStatus) HandleWebhook

func (*GetCommitStatus) Hooks

func (c *GetCommitStatus) Hooks() []core.Hook

func (*GetCommitStatus) Icon

func (c *GetCommitStatus) Icon() string

func (*GetCommitStatus) Label

func (c *GetCommitStatus) Label() string

func (*GetCommitStatus) Name

func (c *GetCommitStatus) Name() string

func (*GetCommitStatus) OutputChannels

func (c *GetCommitStatus) OutputChannels(configuration any) []core.OutputChannel

func (*GetCommitStatus) Setup

func (c *GetCommitStatus) Setup(ctx core.SetupContext) error

type GetCommitStatusConfiguration

type GetCommitStatusConfiguration struct {
	Project string `mapstructure:"project"`
	Ref     string `mapstructure:"ref"`
}

type GetIssue added in v0.30.0

type GetIssue struct{}

func (*GetIssue) Cancel added in v0.30.0

func (c *GetIssue) Cancel(ctx core.ExecutionContext) error

func (*GetIssue) Cleanup added in v0.30.0

func (c *GetIssue) Cleanup(ctx core.SetupContext) error

func (*GetIssue) Color added in v0.30.0

func (c *GetIssue) Color() string

func (*GetIssue) Configuration added in v0.30.0

func (c *GetIssue) Configuration() []configuration.Field

func (*GetIssue) Description added in v0.30.0

func (c *GetIssue) Description() string

func (*GetIssue) Documentation added in v0.30.0

func (c *GetIssue) Documentation() string

func (*GetIssue) ExampleOutput added in v0.30.0

func (c *GetIssue) ExampleOutput() map[string]any

func (*GetIssue) Execute added in v0.30.0

func (c *GetIssue) Execute(ctx core.ExecutionContext) error

func (*GetIssue) HandleHook added in v0.30.0

func (c *GetIssue) HandleHook(ctx core.ActionHookContext) error

func (*GetIssue) HandleWebhook added in v0.30.0

func (*GetIssue) Hooks added in v0.30.0

func (c *GetIssue) Hooks() []core.Hook

func (*GetIssue) Icon added in v0.30.0

func (c *GetIssue) Icon() string

func (*GetIssue) Label added in v0.30.0

func (c *GetIssue) Label() string

func (*GetIssue) Name added in v0.30.0

func (c *GetIssue) Name() string

func (*GetIssue) OutputChannels added in v0.30.0

func (c *GetIssue) OutputChannels(configuration any) []core.OutputChannel

func (*GetIssue) Setup added in v0.30.0

func (c *GetIssue) Setup(ctx core.SetupContext) error

type GetIssueConfiguration added in v0.30.0

type GetIssueConfiguration struct {
	Project  string `mapstructure:"project"`
	IssueIID string `mapstructure:"issueIid"`
}

type GetLatestPipeline

type GetLatestPipeline struct{}

func (*GetLatestPipeline) Cancel

func (*GetLatestPipeline) Cleanup

func (c *GetLatestPipeline) Cleanup(ctx core.SetupContext) error

func (*GetLatestPipeline) Color

func (c *GetLatestPipeline) Color() string

func (*GetLatestPipeline) Configuration

func (c *GetLatestPipeline) Configuration() []configuration.Field

func (*GetLatestPipeline) Description

func (c *GetLatestPipeline) Description() string

func (*GetLatestPipeline) Documentation

func (c *GetLatestPipeline) Documentation() string

func (*GetLatestPipeline) ExampleOutput

func (c *GetLatestPipeline) ExampleOutput() map[string]any

func (*GetLatestPipeline) Execute

func (c *GetLatestPipeline) Execute(ctx core.ExecutionContext) error

func (*GetLatestPipeline) HandleHook added in v0.18.0

func (c *GetLatestPipeline) HandleHook(ctx core.ActionHookContext) error

func (*GetLatestPipeline) HandleWebhook

func (*GetLatestPipeline) Hooks added in v0.18.0

func (c *GetLatestPipeline) Hooks() []core.Hook

func (*GetLatestPipeline) Icon

func (c *GetLatestPipeline) Icon() string

func (*GetLatestPipeline) Label

func (c *GetLatestPipeline) Label() string

func (*GetLatestPipeline) Name

func (c *GetLatestPipeline) Name() string

func (*GetLatestPipeline) OutputChannels

func (c *GetLatestPipeline) OutputChannels(configuration any) []core.OutputChannel

func (*GetLatestPipeline) Setup

func (c *GetLatestPipeline) Setup(ctx core.SetupContext) error

type GetLatestPipelineConfiguration

type GetLatestPipelineConfiguration struct {
	Project string `json:"project" mapstructure:"project"`
	Ref     string `json:"ref" mapstructure:"ref"`
}

type GetPipeline

type GetPipeline struct{}

func (*GetPipeline) Cancel

func (c *GetPipeline) Cancel(ctx core.ExecutionContext) error

func (*GetPipeline) Cleanup

func (c *GetPipeline) Cleanup(ctx core.SetupContext) error

func (*GetPipeline) Color

func (c *GetPipeline) Color() string

func (*GetPipeline) Configuration

func (c *GetPipeline) Configuration() []configuration.Field

func (*GetPipeline) Description

func (c *GetPipeline) Description() string

func (*GetPipeline) Documentation

func (c *GetPipeline) Documentation() string

func (*GetPipeline) ExampleOutput

func (c *GetPipeline) ExampleOutput() map[string]any

func (*GetPipeline) Execute

func (c *GetPipeline) Execute(ctx core.ExecutionContext) error

func (*GetPipeline) HandleHook added in v0.18.0

func (c *GetPipeline) HandleHook(ctx core.ActionHookContext) error

func (*GetPipeline) HandleWebhook

func (*GetPipeline) Hooks added in v0.18.0

func (c *GetPipeline) Hooks() []core.Hook

func (*GetPipeline) Icon

func (c *GetPipeline) Icon() string

func (*GetPipeline) Label

func (c *GetPipeline) Label() string

func (*GetPipeline) Name

func (c *GetPipeline) Name() string

func (*GetPipeline) OutputChannels

func (c *GetPipeline) OutputChannels(configuration any) []core.OutputChannel

func (*GetPipeline) Setup

func (c *GetPipeline) Setup(ctx core.SetupContext) error

type GetPipelineConfiguration

type GetPipelineConfiguration struct {
	Project  string `json:"project" mapstructure:"project"`
	Pipeline string `json:"pipeline" mapstructure:"pipeline"`
}

type GetPipelineMinutesUsage

type GetPipelineMinutesUsage struct{}

func (*GetPipelineMinutesUsage) Cancel

func (*GetPipelineMinutesUsage) Cleanup

func (*GetPipelineMinutesUsage) Color

func (c *GetPipelineMinutesUsage) Color() string

func (*GetPipelineMinutesUsage) Configuration

func (c *GetPipelineMinutesUsage) Configuration() []configuration.Field

func (*GetPipelineMinutesUsage) Description

func (c *GetPipelineMinutesUsage) Description() string

func (*GetPipelineMinutesUsage) Documentation

func (c *GetPipelineMinutesUsage) Documentation() string

func (*GetPipelineMinutesUsage) ExampleOutput

func (c *GetPipelineMinutesUsage) ExampleOutput() map[string]any

func (*GetPipelineMinutesUsage) Execute

func (*GetPipelineMinutesUsage) HandleHook

func (*GetPipelineMinutesUsage) HandleWebhook

func (*GetPipelineMinutesUsage) Hooks

func (c *GetPipelineMinutesUsage) Hooks() []core.Hook

func (*GetPipelineMinutesUsage) Icon

func (c *GetPipelineMinutesUsage) Icon() string

func (*GetPipelineMinutesUsage) Label

func (c *GetPipelineMinutesUsage) Label() string

func (*GetPipelineMinutesUsage) Name

func (c *GetPipelineMinutesUsage) Name() string

func (*GetPipelineMinutesUsage) OutputChannels

func (c *GetPipelineMinutesUsage) OutputChannels(configuration any) []core.OutputChannel

func (*GetPipelineMinutesUsage) Setup

type GetPipelineMinutesUsageConfiguration

type GetPipelineMinutesUsageConfiguration struct {
	Projects []string `mapstructure:"projects"`
}

type GetRelease

type GetRelease struct{}

func (*GetRelease) Cancel

func (c *GetRelease) Cancel(ctx core.ExecutionContext) error

func (*GetRelease) Cleanup

func (c *GetRelease) Cleanup(ctx core.SetupContext) error

func (*GetRelease) Color

func (c *GetRelease) Color() string

func (*GetRelease) Configuration

func (c *GetRelease) Configuration() []configuration.Field

func (*GetRelease) Description

func (c *GetRelease) Description() string

func (*GetRelease) Documentation

func (c *GetRelease) Documentation() string

func (*GetRelease) ExampleOutput

func (c *GetRelease) ExampleOutput() map[string]any

func (*GetRelease) Execute

func (c *GetRelease) Execute(ctx core.ExecutionContext) error

func (*GetRelease) HandleHook

func (c *GetRelease) HandleHook(ctx core.ActionHookContext) error

func (*GetRelease) HandleWebhook

func (*GetRelease) Hooks

func (c *GetRelease) Hooks() []core.Hook

func (*GetRelease) Icon

func (c *GetRelease) Icon() string

func (*GetRelease) Label

func (c *GetRelease) Label() string

func (*GetRelease) Name

func (c *GetRelease) Name() string

func (*GetRelease) OutputChannels

func (c *GetRelease) OutputChannels(configuration any) []core.OutputChannel

func (*GetRelease) Setup

func (c *GetRelease) Setup(ctx core.SetupContext) error

type GetReleaseConfiguration

type GetReleaseConfiguration struct {
	Project         string `mapstructure:"project"`
	ReleaseStrategy string `mapstructure:"releaseStrategy"`
	TagName         string `mapstructure:"tagName"`
}

type GetTestReportSummary

type GetTestReportSummary struct{}

func (*GetTestReportSummary) Cancel

func (*GetTestReportSummary) Cleanup

func (c *GetTestReportSummary) Cleanup(ctx core.SetupContext) error

func (*GetTestReportSummary) Color

func (c *GetTestReportSummary) Color() string

func (*GetTestReportSummary) Configuration

func (c *GetTestReportSummary) Configuration() []configuration.Field

func (*GetTestReportSummary) Description

func (c *GetTestReportSummary) Description() string

func (*GetTestReportSummary) Documentation

func (c *GetTestReportSummary) Documentation() string

func (*GetTestReportSummary) ExampleOutput

func (c *GetTestReportSummary) ExampleOutput() map[string]any

func (*GetTestReportSummary) Execute

func (*GetTestReportSummary) HandleHook added in v0.18.0

func (c *GetTestReportSummary) HandleHook(ctx core.ActionHookContext) error

func (*GetTestReportSummary) HandleWebhook

func (*GetTestReportSummary) Hooks added in v0.18.0

func (c *GetTestReportSummary) Hooks() []core.Hook

func (*GetTestReportSummary) Icon

func (c *GetTestReportSummary) Icon() string

func (*GetTestReportSummary) Label

func (c *GetTestReportSummary) Label() string

func (*GetTestReportSummary) Name

func (c *GetTestReportSummary) Name() string

func (*GetTestReportSummary) OutputChannels

func (c *GetTestReportSummary) OutputChannels(configuration any) []core.OutputChannel

func (*GetTestReportSummary) Setup

type GetTestReportSummaryConfiguration

type GetTestReportSummaryConfiguration struct {
	Project  string `json:"project" mapstructure:"project"`
	Pipeline string `json:"pipeline" mapstructure:"pipeline"`
}

type GitLab

type GitLab struct {
}

func (*GitLab) Actions

func (g *GitLab) Actions() []core.Action

func (*GitLab) Cleanup

func (g *GitLab) Cleanup(ctx core.IntegrationCleanupContext) error

func (*GitLab) Configuration

func (g *GitLab) Configuration() []configuration.Field

func (*GitLab) Description

func (g *GitLab) Description() string

func (*GitLab) HandleHook added in v0.18.0

func (g *GitLab) HandleHook(ctx core.IntegrationHookContext) error

func (*GitLab) HandleRequest

func (g *GitLab) HandleRequest(ctx core.HTTPRequestContext)

func (*GitLab) Hooks added in v0.18.0

func (g *GitLab) Hooks() []core.Hook

func (*GitLab) Icon

func (g *GitLab) Icon() string

func (*GitLab) Instructions

func (g *GitLab) Instructions() string

func (*GitLab) Label

func (g *GitLab) Label() string

func (*GitLab) ListResources

func (g *GitLab) ListResources(resourceType string, ctx core.ListResourcesContext) ([]core.IntegrationResource, error)

func (*GitLab) Name

func (g *GitLab) Name() string

func (*GitLab) Sync

func (g *GitLab) Sync(ctx core.SyncContext) error

func (*GitLab) Triggers

func (g *GitLab) Triggers() []core.Trigger

type GitLabWebhookHandler

type GitLabWebhookHandler struct{}

func (*GitLabWebhookHandler) Cleanup

func (*GitLabWebhookHandler) CompareConfig

func (h *GitLabWebhookHandler) CompareConfig(a, b any) (bool, error)

func (*GitLabWebhookHandler) Merge

func (h *GitLabWebhookHandler) Merge(current, requested any) (any, bool, error)

func (*GitLabWebhookHandler) Setup

type Group

type Group struct {
	ID       int    `json:"id"`
	FullPath string `json:"full_path"`
}

type Hook

type Hook struct {
	ID                       int    `json:"id"`
	URL                      string `json:"url"`
	ProjectID                int    `json:"project_id"`
	IssuesEvents             bool   `json:"issues_events"`
	MergeRequestsEvents      bool   `json:"merge_requests_events"`
	PushEvents               bool   `json:"push_events"`
	TagPushEvents            bool   `json:"tag_push_events"`
	NoteEvents               bool   `json:"note_events"`
	ConfidentialIssuesEvents bool   `json:"confidential_issues_events"`
	PipelineEvents           bool   `json:"pipeline_events"`
	JobEvents                bool   `json:"job_events"`
	WikiPageEvents           bool   `json:"wiki_page_events"`
	DeploymentEvents         bool   `json:"deployment_events"`
	ReleasesEvents           bool   `json:"releases_events"`
	MilestoneEvents          bool   `json:"milestone_events"`
	VulnerabilityEvents      bool   `json:"vulnerability_events"`
}

type HookEvents

type HookEvents struct {
	IssuesEvents             bool
	MergeRequestsEvents      bool
	PushEvents               bool
	TagPushEvents            bool
	NoteEvents               bool
	ConfidentialIssuesEvents bool
	PipelineEvents           bool
	JobEvents                bool
	WikiPageEvents           bool
	DeploymentEvents         bool
	ReleasesEvents           bool
	MilestoneEvents          bool
	VulnerabilityEvents      bool
}

type HooksClient

type HooksClient struct {
	*Client
}

func NewHooksClient

func NewHooksClient(httpClient core.HTTPContext, ctx core.IntegrationContext) (*HooksClient, error)

func (*HooksClient) CreateHook

func (c *HooksClient) CreateHook(projectID string, webhookURL string, secret string, events HookEvents) (*Hook, error)

func (*HooksClient) DeleteHook

func (c *HooksClient) DeleteHook(projectID string, hookID int) error

type Issue

type Issue struct {
	ID          int        `json:"id"`
	IID         int        `json:"iid"`
	ProjectID   int        `json:"project_id"`
	Title       string     `json:"title"`
	Description string     `json:"description"`
	State       string     `json:"state"`
	CreatedAt   string     `json:"created_at"`
	UpdatedAt   string     `json:"updated_at"`
	ClosedAt    *string    `json:"closed_at"`
	ClosedBy    *User      `json:"closed_by"`
	Labels      []string   `json:"labels"`
	Milestone   *Milestone `json:"milestone"`
	DueDate     *string    `json:"due_date"`
	WebURL      string     `json:"web_url"`
	Author      User       `json:"author"`
	Assignees   []User     `json:"assignees"`
}

type IssueRequest

type IssueRequest struct {
	Title       string `json:"title"`
	Description string `json:"description,omitempty"`
	Labels      string `json:"labels,omitempty"`
	AssigneeIDs []int  `json:"assignee_ids,omitempty"`
	MilestoneID *int   `json:"milestone_id,omitempty"`
	DueDate     string `json:"due_date,omitempty"`
}

type MarkMergeRequestReadyForReview added in v0.30.0

type MarkMergeRequestReadyForReview struct{}

func (*MarkMergeRequestReadyForReview) Cancel added in v0.30.0

func (*MarkMergeRequestReadyForReview) Cleanup added in v0.30.0

func (*MarkMergeRequestReadyForReview) Color added in v0.30.0

func (*MarkMergeRequestReadyForReview) Configuration added in v0.30.0

func (c *MarkMergeRequestReadyForReview) Configuration() []configuration.Field

func (*MarkMergeRequestReadyForReview) Description added in v0.30.0

func (c *MarkMergeRequestReadyForReview) Description() string

func (*MarkMergeRequestReadyForReview) Documentation added in v0.30.0

func (c *MarkMergeRequestReadyForReview) Documentation() string

func (*MarkMergeRequestReadyForReview) ExampleOutput added in v0.30.0

func (c *MarkMergeRequestReadyForReview) ExampleOutput() map[string]any

func (*MarkMergeRequestReadyForReview) Execute added in v0.30.0

func (*MarkMergeRequestReadyForReview) HandleHook added in v0.30.0

func (*MarkMergeRequestReadyForReview) HandleWebhook added in v0.30.0

func (*MarkMergeRequestReadyForReview) Hooks added in v0.30.0

func (*MarkMergeRequestReadyForReview) Icon added in v0.30.0

func (*MarkMergeRequestReadyForReview) Label added in v0.30.0

func (*MarkMergeRequestReadyForReview) Name added in v0.30.0

func (*MarkMergeRequestReadyForReview) OutputChannels added in v0.30.0

func (c *MarkMergeRequestReadyForReview) OutputChannels(configuration any) []core.OutputChannel

func (*MarkMergeRequestReadyForReview) Setup added in v0.30.0

type MarkMergeRequestReadyForReviewConfiguration added in v0.30.0

type MarkMergeRequestReadyForReviewConfiguration struct {
	Project         string `mapstructure:"project"`
	MergeRequestIID string `mapstructure:"mergeRequestIid"`
}

type MergeRequest added in v0.29.0

type MergeRequest struct {
	ID                       int        `json:"id"`
	IID                      int        `json:"iid"`
	ProjectID                int        `json:"project_id"`
	Title                    string     `json:"title"`
	Description              string     `json:"description"`
	State                    string     `json:"state"`
	CreatedAt                string     `json:"created_at"`
	UpdatedAt                string     `json:"updated_at"`
	MergedAt                 *string    `json:"merged_at"`
	MergeUser                *User      `json:"merge_user"`
	ClosedAt                 *string    `json:"closed_at"`
	ClosedBy                 *User      `json:"closed_by"`
	SourceBranch             string     `json:"source_branch"`
	TargetBranch             string     `json:"target_branch"`
	Author                   User       `json:"author"`
	Assignees                []User     `json:"assignees"`
	Reviewers                []User     `json:"reviewers"`
	Labels                   []string   `json:"labels"`
	Milestone                *Milestone `json:"milestone"`
	Draft                    bool       `json:"draft"`
	DetailedMergeStatus      string     `json:"detailed_merge_status"`
	MergeError               *string    `json:"merge_error"`
	SHA                      string     `json:"sha"`
	MergeCommitSHA           *string    `json:"merge_commit_sha"`
	SquashCommitSHA          *string    `json:"squash_commit_sha"`
	Squash                   bool       `json:"squash"`
	ShouldRemoveSourceBranch bool       `json:"should_remove_source_branch"`
	WebURL                   string     `json:"web_url"`
}

type MergeRequestApproval added in v0.29.0

type MergeRequestApproval struct {
	ID                int                    `json:"id"`
	IID               int                    `json:"iid"`
	ProjectID         int                    `json:"project_id"`
	Title             string                 `json:"title"`
	Description       string                 `json:"description"`
	State             string                 `json:"state"`
	CreatedAt         string                 `json:"created_at"`
	UpdatedAt         string                 `json:"updated_at"`
	MergeStatus       string                 `json:"merge_status"`
	ApprovalsRequired int                    `json:"approvals_required"`
	ApprovalsLeft     int                    `json:"approvals_left"`
	ApprovedBy        []MergeRequestApprover `json:"approved_by"`
}

type MergeRequestApprover added in v0.29.0

type MergeRequestApprover struct {
	User       User   `json:"user"`
	ApprovedAt string `json:"approved_at"`
}

type Metadata

type Metadata struct {
	State    *string           `mapstructure:"state,omitempty" json:"state,omitempty"`
	Projects []ProjectMetadata `mapstructure:"projects" json:"projects"`
	User     *UserMetadata     `mapstructure:"user,omitempty" json:"user,omitempty"`
}

type Milestone

type Milestone struct {
	ID    int    `json:"id"`
	IID   int    `json:"iid"`
	Title string `json:"title"`
	State string `json:"state"`
}

type NodeMetadata

type NodeMetadata struct {
	Project *ProjectMetadata `json:"project"`
}

type Note added in v0.28.0

type Note struct {
	ID           int    `json:"id"`
	Body         string `json:"body"`
	Author       User   `json:"author"`
	CreatedAt    string `json:"created_at"`
	UpdatedAt    string `json:"updated_at"`
	System       bool   `json:"system"`
	ProjectID    int    `json:"project_id,omitempty"`
	NoteableID   int    `json:"noteable_id,omitempty"`
	NoteableIID  int    `json:"noteable_iid,omitempty"`
	NoteableType string `json:"noteable_type,omitempty"`
	Resolvable   bool   `json:"resolvable"`
	Confidential bool   `json:"confidential"`
	Internal     bool   `json:"internal"`
}

type OnBranchCreated added in v0.30.0

type OnBranchCreated struct{}

func (*OnBranchCreated) Cleanup added in v0.30.0

func (t *OnBranchCreated) Cleanup(ctx core.TriggerContext) error

func (*OnBranchCreated) Color added in v0.30.0

func (t *OnBranchCreated) Color() string

func (*OnBranchCreated) Configuration added in v0.30.0

func (t *OnBranchCreated) Configuration() []configuration.Field

func (*OnBranchCreated) Description added in v0.30.0

func (t *OnBranchCreated) Description() string

func (*OnBranchCreated) Documentation added in v0.30.0

func (t *OnBranchCreated) Documentation() string

func (*OnBranchCreated) ExampleData added in v0.30.0

func (t *OnBranchCreated) ExampleData() map[string]any

func (*OnBranchCreated) HandleHook added in v0.30.0

func (t *OnBranchCreated) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnBranchCreated) HandleWebhook added in v0.30.0

func (*OnBranchCreated) Hooks added in v0.30.0

func (t *OnBranchCreated) Hooks() []core.Hook

func (*OnBranchCreated) Icon added in v0.30.0

func (t *OnBranchCreated) Icon() string

func (*OnBranchCreated) Label added in v0.30.0

func (t *OnBranchCreated) Label() string

func (*OnBranchCreated) Name added in v0.30.0

func (t *OnBranchCreated) Name() string

func (*OnBranchCreated) Setup added in v0.30.0

func (t *OnBranchCreated) Setup(ctx core.TriggerContext) error

type OnBranchCreatedConfiguration added in v0.30.0

type OnBranchCreatedConfiguration struct {
	Project  string                    `json:"project" mapstructure:"project"`
	Branches []configuration.Predicate `json:"branches" mapstructure:"branches"`
}

type OnIssue

type OnIssue struct{}

func (*OnIssue) Cleanup

func (i *OnIssue) Cleanup(ctx core.TriggerContext) error

func (*OnIssue) Color

func (i *OnIssue) Color() string

func (*OnIssue) Configuration

func (i *OnIssue) Configuration() []configuration.Field

func (*OnIssue) Description

func (i *OnIssue) Description() string

func (*OnIssue) Documentation

func (i *OnIssue) Documentation() string

func (*OnIssue) ExampleData

func (i *OnIssue) ExampleData() map[string]any

func (*OnIssue) HandleHook added in v0.18.0

func (i *OnIssue) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnIssue) HandleWebhook

func (i *OnIssue) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)

func (*OnIssue) Hooks added in v0.18.0

func (i *OnIssue) Hooks() []core.Hook

func (*OnIssue) Icon

func (i *OnIssue) Icon() string

func (*OnIssue) Label

func (i *OnIssue) Label() string

func (*OnIssue) Name

func (i *OnIssue) Name() string

func (*OnIssue) Setup

func (i *OnIssue) Setup(ctx core.TriggerContext) error

type OnIssueComment added in v0.30.0

type OnIssueComment struct{}

func (*OnIssueComment) Cleanup added in v0.30.0

func (m *OnIssueComment) Cleanup(ctx core.TriggerContext) error

func (*OnIssueComment) Color added in v0.30.0

func (m *OnIssueComment) Color() string

func (*OnIssueComment) Configuration added in v0.30.0

func (m *OnIssueComment) Configuration() []configuration.Field

func (*OnIssueComment) Description added in v0.30.0

func (m *OnIssueComment) Description() string

func (*OnIssueComment) Documentation added in v0.30.0

func (m *OnIssueComment) Documentation() string

func (*OnIssueComment) ExampleData added in v0.30.0

func (m *OnIssueComment) ExampleData() map[string]any

func (*OnIssueComment) HandleHook added in v0.30.0

func (m *OnIssueComment) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnIssueComment) HandleWebhook added in v0.30.0

func (*OnIssueComment) Hooks added in v0.30.0

func (m *OnIssueComment) Hooks() []core.Hook

func (*OnIssueComment) Icon added in v0.30.0

func (m *OnIssueComment) Icon() string

func (*OnIssueComment) Label added in v0.30.0

func (m *OnIssueComment) Label() string

func (*OnIssueComment) Name added in v0.30.0

func (m *OnIssueComment) Name() string

func (*OnIssueComment) Setup added in v0.30.0

func (m *OnIssueComment) Setup(ctx core.TriggerContext) error

type OnIssueCommentConfiguration added in v0.30.0

type OnIssueCommentConfiguration struct {
	Project       string `json:"project" mapstructure:"project"`
	ContentFilter string `json:"contentFilter" mapstructure:"contentFilter"`
}

type OnIssueConfiguration

type OnIssueConfiguration struct {
	Project string                    `json:"project" mapstructure:"project"`
	Actions []string                  `json:"actions" mapstructure:"actions"`
	Labels  []configuration.Predicate `json:"labels" mapstructure:"labels"`
}

type OnJob

type OnJob struct{}

func (*OnJob) Cleanup

func (t *OnJob) Cleanup(ctx core.TriggerContext) error

func (*OnJob) Color

func (t *OnJob) Color() string

func (*OnJob) Configuration

func (t *OnJob) Configuration() []configuration.Field

func (*OnJob) Description

func (t *OnJob) Description() string

func (*OnJob) Documentation

func (t *OnJob) Documentation() string

func (*OnJob) ExampleData

func (t *OnJob) ExampleData() map[string]any

func (*OnJob) HandleHook

func (t *OnJob) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnJob) HandleWebhook

func (t *OnJob) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)

func (*OnJob) Hooks

func (t *OnJob) Hooks() []core.Hook

func (*OnJob) Icon

func (t *OnJob) Icon() string

func (*OnJob) Label

func (t *OnJob) Label() string

func (*OnJob) Name

func (t *OnJob) Name() string

func (*OnJob) Setup

func (t *OnJob) Setup(ctx core.TriggerContext) error

type OnJobConfiguration

type OnJobConfiguration struct {
	Project  string                    `json:"project" mapstructure:"project"`
	Statuses []string                  `json:"statuses" mapstructure:"statuses"`
	Names    []configuration.Predicate `json:"names" mapstructure:"names"`
	Refs     []configuration.Predicate `json:"refs" mapstructure:"refs"`
}

type OnMRDiffNote added in v0.30.0

type OnMRDiffNote struct{}

func (*OnMRDiffNote) Cleanup added in v0.30.0

func (m *OnMRDiffNote) Cleanup(ctx core.TriggerContext) error

func (*OnMRDiffNote) Color added in v0.30.0

func (m *OnMRDiffNote) Color() string

func (*OnMRDiffNote) Configuration added in v0.30.0

func (m *OnMRDiffNote) Configuration() []configuration.Field

func (*OnMRDiffNote) Description added in v0.30.0

func (m *OnMRDiffNote) Description() string

func (*OnMRDiffNote) Documentation added in v0.30.0

func (m *OnMRDiffNote) Documentation() string

func (*OnMRDiffNote) ExampleData added in v0.30.0

func (m *OnMRDiffNote) ExampleData() map[string]any

func (*OnMRDiffNote) HandleHook added in v0.30.0

func (m *OnMRDiffNote) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnMRDiffNote) HandleWebhook added in v0.30.0

func (*OnMRDiffNote) Hooks added in v0.30.0

func (m *OnMRDiffNote) Hooks() []core.Hook

func (*OnMRDiffNote) Icon added in v0.30.0

func (m *OnMRDiffNote) Icon() string

func (*OnMRDiffNote) Label added in v0.30.0

func (m *OnMRDiffNote) Label() string

func (*OnMRDiffNote) Name added in v0.30.0

func (m *OnMRDiffNote) Name() string

func (*OnMRDiffNote) Setup added in v0.30.0

func (m *OnMRDiffNote) Setup(ctx core.TriggerContext) error

type OnMRDiffNoteConfiguration added in v0.30.0

type OnMRDiffNoteConfiguration struct {
	Project       string `json:"project" mapstructure:"project"`
	ContentFilter string `json:"contentFilter" mapstructure:"contentFilter"`
}

type OnMergeComment added in v0.28.0

type OnMergeComment struct{}

func (*OnMergeComment) Cleanup added in v0.28.0

func (m *OnMergeComment) Cleanup(ctx core.TriggerContext) error

func (*OnMergeComment) Color added in v0.28.0

func (m *OnMergeComment) Color() string

func (*OnMergeComment) Configuration added in v0.28.0

func (m *OnMergeComment) Configuration() []configuration.Field

func (*OnMergeComment) Description added in v0.28.0

func (m *OnMergeComment) Description() string

func (*OnMergeComment) Documentation added in v0.28.0

func (m *OnMergeComment) Documentation() string

func (*OnMergeComment) ExampleData added in v0.28.0

func (m *OnMergeComment) ExampleData() map[string]any

func (*OnMergeComment) HandleHook added in v0.28.0

func (m *OnMergeComment) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnMergeComment) HandleWebhook added in v0.28.0

func (*OnMergeComment) Hooks added in v0.28.0

func (m *OnMergeComment) Hooks() []core.Hook

func (*OnMergeComment) Icon added in v0.28.0

func (m *OnMergeComment) Icon() string

func (*OnMergeComment) Label added in v0.28.0

func (m *OnMergeComment) Label() string

func (*OnMergeComment) Name added in v0.28.0

func (m *OnMergeComment) Name() string

func (*OnMergeComment) Setup added in v0.28.0

func (m *OnMergeComment) Setup(ctx core.TriggerContext) error

type OnMergeCommentConfiguration added in v0.28.0

type OnMergeCommentConfiguration struct {
	Project       string `json:"project" mapstructure:"project"`
	ContentFilter string `json:"contentFilter" mapstructure:"contentFilter"`
}

type OnMergeRequest

type OnMergeRequest struct{}

func (*OnMergeRequest) Cleanup

func (m *OnMergeRequest) Cleanup(ctx core.TriggerContext) error

func (*OnMergeRequest) Color

func (m *OnMergeRequest) Color() string

func (*OnMergeRequest) Configuration

func (m *OnMergeRequest) Configuration() []configuration.Field

func (*OnMergeRequest) Description

func (m *OnMergeRequest) Description() string

func (*OnMergeRequest) Documentation

func (m *OnMergeRequest) Documentation() string

func (*OnMergeRequest) ExampleData

func (m *OnMergeRequest) ExampleData() map[string]any

func (*OnMergeRequest) HandleHook added in v0.18.0

func (m *OnMergeRequest) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnMergeRequest) HandleWebhook

func (*OnMergeRequest) Hooks added in v0.18.0

func (m *OnMergeRequest) Hooks() []core.Hook

func (*OnMergeRequest) Icon

func (m *OnMergeRequest) Icon() string

func (*OnMergeRequest) Label

func (m *OnMergeRequest) Label() string

func (*OnMergeRequest) Name

func (m *OnMergeRequest) Name() string

func (*OnMergeRequest) Setup

func (m *OnMergeRequest) Setup(ctx core.TriggerContext) error

type OnMergeRequestConfiguration

type OnMergeRequestConfiguration struct {
	Project string   `json:"project" mapstructure:"project"`
	Actions []string `json:"actions" mapstructure:"actions"`
}

type OnMilestone

type OnMilestone struct{}

func (*OnMilestone) Cleanup

func (m *OnMilestone) Cleanup(ctx core.TriggerContext) error

func (*OnMilestone) Color

func (m *OnMilestone) Color() string

func (*OnMilestone) Configuration

func (m *OnMilestone) Configuration() []configuration.Field

func (*OnMilestone) Description

func (m *OnMilestone) Description() string

func (*OnMilestone) Documentation

func (m *OnMilestone) Documentation() string

func (*OnMilestone) ExampleData

func (m *OnMilestone) ExampleData() map[string]any

func (*OnMilestone) HandleHook added in v0.18.0

func (m *OnMilestone) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnMilestone) HandleWebhook

func (*OnMilestone) Hooks added in v0.18.0

func (m *OnMilestone) Hooks() []core.Hook

func (*OnMilestone) Icon

func (m *OnMilestone) Icon() string

func (*OnMilestone) Label

func (m *OnMilestone) Label() string

func (*OnMilestone) Name

func (m *OnMilestone) Name() string

func (*OnMilestone) Setup

func (m *OnMilestone) Setup(ctx core.TriggerContext) error

type OnMilestoneConfiguration

type OnMilestoneConfiguration struct {
	Project string   `json:"project" mapstructure:"project"`
	Actions []string `json:"actions" mapstructure:"actions"`
}

type OnPipeline

type OnPipeline struct{}

func (*OnPipeline) Cleanup

func (p *OnPipeline) Cleanup(ctx core.TriggerContext) error

func (*OnPipeline) Color

func (p *OnPipeline) Color() string

func (*OnPipeline) Configuration

func (p *OnPipeline) Configuration() []configuration.Field

func (*OnPipeline) Description

func (p *OnPipeline) Description() string

func (*OnPipeline) Documentation

func (p *OnPipeline) Documentation() string

func (*OnPipeline) ExampleData

func (p *OnPipeline) ExampleData() map[string]any

func (*OnPipeline) HandleHook added in v0.18.0

func (p *OnPipeline) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnPipeline) HandleWebhook

func (*OnPipeline) Hooks added in v0.18.0

func (p *OnPipeline) Hooks() []core.Hook

func (*OnPipeline) Icon

func (p *OnPipeline) Icon() string

func (*OnPipeline) Label

func (p *OnPipeline) Label() string

func (*OnPipeline) Name

func (p *OnPipeline) Name() string

func (*OnPipeline) Setup

func (p *OnPipeline) Setup(ctx core.TriggerContext) error

type OnPipelineConfiguration

type OnPipelineConfiguration struct {
	Project  string   `json:"project" mapstructure:"project"`
	Statuses []string `json:"statuses" mapstructure:"statuses"`
}

type OnPush added in v0.30.0

type OnPush struct{}

func (*OnPush) Cleanup added in v0.30.0

func (p *OnPush) Cleanup(ctx core.TriggerContext) error

func (*OnPush) Color added in v0.30.0

func (p *OnPush) Color() string

func (*OnPush) Configuration added in v0.30.0

func (p *OnPush) Configuration() []configuration.Field

func (*OnPush) Description added in v0.30.0

func (p *OnPush) Description() string

func (*OnPush) Documentation added in v0.30.0

func (p *OnPush) Documentation() string

func (*OnPush) ExampleData added in v0.30.0

func (p *OnPush) ExampleData() map[string]any

func (*OnPush) HandleHook added in v0.30.0

func (p *OnPush) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnPush) HandleWebhook added in v0.30.0

func (p *OnPush) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)

func (*OnPush) Hooks added in v0.30.0

func (p *OnPush) Hooks() []core.Hook

func (*OnPush) Icon added in v0.30.0

func (p *OnPush) Icon() string

func (*OnPush) Label added in v0.30.0

func (p *OnPush) Label() string

func (*OnPush) Name added in v0.30.0

func (p *OnPush) Name() string

func (*OnPush) Setup added in v0.30.0

func (p *OnPush) Setup(ctx core.TriggerContext) error

type OnPushConfiguration added in v0.30.0

type OnPushConfiguration struct {
	Project  string                    `json:"project" mapstructure:"project"`
	Branches []configuration.Predicate `json:"branches" mapstructure:"branches"`
}

type OnRelease

type OnRelease struct{}

func (*OnRelease) Cleanup

func (r *OnRelease) Cleanup(ctx core.TriggerContext) error

func (*OnRelease) Color

func (r *OnRelease) Color() string

func (*OnRelease) Configuration

func (r *OnRelease) Configuration() []configuration.Field

func (*OnRelease) Description

func (r *OnRelease) Description() string

func (*OnRelease) Documentation

func (r *OnRelease) Documentation() string

func (*OnRelease) ExampleData

func (r *OnRelease) ExampleData() map[string]any

func (*OnRelease) HandleHook added in v0.18.0

func (r *OnRelease) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnRelease) HandleWebhook

func (*OnRelease) Hooks added in v0.18.0

func (r *OnRelease) Hooks() []core.Hook

func (*OnRelease) Icon

func (r *OnRelease) Icon() string

func (*OnRelease) Label

func (r *OnRelease) Label() string

func (*OnRelease) Name

func (r *OnRelease) Name() string

func (*OnRelease) Setup

func (r *OnRelease) Setup(ctx core.TriggerContext) error

type OnReleaseConfiguration

type OnReleaseConfiguration struct {
	Project string   `json:"project" mapstructure:"project"`
	Actions []string `json:"actions" mapstructure:"actions"`
}

type OnTag

type OnTag struct{}

func (*OnTag) Cleanup

func (t *OnTag) Cleanup(ctx core.TriggerContext) error

func (*OnTag) Color

func (t *OnTag) Color() string

func (*OnTag) Configuration

func (t *OnTag) Configuration() []configuration.Field

func (*OnTag) Description

func (t *OnTag) Description() string

func (*OnTag) Documentation

func (t *OnTag) Documentation() string

func (*OnTag) ExampleData

func (t *OnTag) ExampleData() map[string]any

func (*OnTag) HandleHook added in v0.18.0

func (t *OnTag) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnTag) HandleWebhook

func (t *OnTag) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)

func (*OnTag) Hooks added in v0.18.0

func (t *OnTag) Hooks() []core.Hook

func (*OnTag) Icon

func (t *OnTag) Icon() string

func (*OnTag) Label

func (t *OnTag) Label() string

func (*OnTag) Name

func (t *OnTag) Name() string

func (*OnTag) Setup

func (t *OnTag) Setup(ctx core.TriggerContext) error

type OnTagConfiguration

type OnTagConfiguration struct {
	Project string                    `json:"project" mapstructure:"project"`
	Tags    []configuration.Predicate `json:"tags" mapstructure:"tags"`
}

type OnVulnerability

type OnVulnerability struct{}

func (*OnVulnerability) Cleanup

func (v *OnVulnerability) Cleanup(ctx core.TriggerContext) error

func (*OnVulnerability) Color

func (v *OnVulnerability) Color() string

func (*OnVulnerability) Configuration

func (v *OnVulnerability) Configuration() []configuration.Field

func (*OnVulnerability) Description

func (v *OnVulnerability) Description() string

func (*OnVulnerability) Documentation

func (v *OnVulnerability) Documentation() string

func (*OnVulnerability) ExampleData

func (v *OnVulnerability) ExampleData() map[string]any

func (*OnVulnerability) HandleHook added in v0.18.0

func (v *OnVulnerability) HandleHook(ctx core.TriggerHookContext) (map[string]any, error)

func (*OnVulnerability) HandleWebhook

func (*OnVulnerability) Hooks added in v0.18.0

func (v *OnVulnerability) Hooks() []core.Hook

func (*OnVulnerability) Icon

func (v *OnVulnerability) Icon() string

func (*OnVulnerability) Label

func (v *OnVulnerability) Label() string

func (*OnVulnerability) Name

func (v *OnVulnerability) Name() string

func (*OnVulnerability) Setup

func (v *OnVulnerability) Setup(ctx core.TriggerContext) error

type OnVulnerabilityConfiguration

type OnVulnerabilityConfiguration struct {
	Project string `json:"project" mapstructure:"project"`
}

type Pipeline

type Pipeline struct {
	ID             int            `json:"id"`
	IID            int            `json:"iid"`
	ProjectID      int            `json:"project_id"`
	Status         string         `json:"status"`
	Source         string         `json:"source,omitempty"`
	Ref            string         `json:"ref"`
	SHA            string         `json:"sha"`
	BeforeSHA      string         `json:"before_sha,omitempty"`
	Tag            bool           `json:"tag,omitempty"`
	YamlErrors     *string        `json:"yaml_errors,omitempty"`
	WebURL         string         `json:"web_url"`
	URL            string         `json:"url,omitempty"`
	CreatedAt      string         `json:"created_at"`
	UpdatedAt      string         `json:"updated_at"`
	StartedAt      string         `json:"started_at,omitempty"`
	FinishedAt     string         `json:"finished_at,omitempty"`
	CommittedAt    string         `json:"committed_at,omitempty"`
	Duration       float64        `json:"duration,omitempty"`
	QueuedDuration float64        `json:"queued_duration,omitempty"`
	Coverage       string         `json:"coverage,omitempty"`
	User           map[string]any `json:"user,omitempty"`
	DetailedStatus map[string]any `json:"detailed_status,omitempty"`
}

type PipelineInput

type PipelineInput struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type PipelineMetadata

type PipelineMetadata struct {
	ID     int    `json:"id"`
	IID    int    `json:"iid"`
	Status string `json:"status"`
	URL    string `json:"url,omitempty"`
}

type PipelineMinutesUsageResult

type PipelineMinutesUsageResult struct {
	Month                 string                  `json:"month"`
	MonthIso8601          string                  `json:"monthIso8601"`
	Minutes               int                     `json:"minutes"`
	SharedRunnersDuration int                     `json:"sharedRunnersDuration"`
	Projects              []CiMinutesProjectUsage `json:"projects"`
}

type PipelineTestReportSummary

type PipelineTestReportSummary struct {
	Total      map[string]any   `json:"total"`
	TestSuites []map[string]any `json:"test_suites"`
}

type PipelineVariable

type PipelineVariable struct {
	Key          string `json:"key"`
	Value        string `json:"value"`
	VariableType string `json:"variable_type,omitempty"`
}

type Project

type Project struct {
	ID                int    `json:"id"`
	PathWithNamespace string `json:"path_with_namespace"`
	WebURL            string `json:"web_url"`
}

type ProjectMetadata

type ProjectMetadata struct {
	ID   int    `mapstructure:"id" json:"id"`
	Name string `mapstructure:"name" json:"name"`
	URL  string `mapstructure:"url" json:"url"`
}

type PublishCommitStatus

type PublishCommitStatus struct{}

func (*PublishCommitStatus) Cancel

func (*PublishCommitStatus) Cleanup

func (c *PublishCommitStatus) Cleanup(ctx core.SetupContext) error

func (*PublishCommitStatus) Color

func (c *PublishCommitStatus) Color() string

func (*PublishCommitStatus) Configuration

func (c *PublishCommitStatus) Configuration() []configuration.Field

func (*PublishCommitStatus) Description

func (c *PublishCommitStatus) Description() string

func (*PublishCommitStatus) Documentation

func (c *PublishCommitStatus) Documentation() string

func (*PublishCommitStatus) ExampleOutput

func (c *PublishCommitStatus) ExampleOutput() map[string]any

func (*PublishCommitStatus) Execute

func (*PublishCommitStatus) HandleHook

func (c *PublishCommitStatus) HandleHook(ctx core.ActionHookContext) error

func (*PublishCommitStatus) HandleWebhook

func (*PublishCommitStatus) Hooks

func (c *PublishCommitStatus) Hooks() []core.Hook

func (*PublishCommitStatus) Icon

func (c *PublishCommitStatus) Icon() string

func (*PublishCommitStatus) Label

func (c *PublishCommitStatus) Label() string

func (*PublishCommitStatus) Name

func (c *PublishCommitStatus) Name() string

func (*PublishCommitStatus) OutputChannels

func (c *PublishCommitStatus) OutputChannels(configuration any) []core.OutputChannel

func (*PublishCommitStatus) Setup

type PublishCommitStatusConfiguration

type PublishCommitStatusConfiguration struct {
	Project     string   `mapstructure:"project"`
	SHA         string   `mapstructure:"sha"`
	State       string   `mapstructure:"state"`
	Name        string   `mapstructure:"name"`
	TargetURL   string   `mapstructure:"targetUrl"`
	Description string   `mapstructure:"description"`
	Ref         string   `mapstructure:"ref"`
	Coverage    *float64 `mapstructure:"coverage"`
	PipelineID  string   `mapstructure:"pipelineId"`
}

type Release

type Release struct {
	TagName         string             `json:"tag_name"`
	Name            string             `json:"name"`
	Description     string             `json:"description"`
	CreatedAt       string             `json:"created_at"`
	ReleasedAt      string             `json:"released_at"`
	UpcomingRelease bool               `json:"upcoming_release"`
	Author          *User              `json:"author,omitempty"`
	Commit          *ReleaseCommit     `json:"commit,omitempty"`
	Milestones      []ReleaseMilestone `json:"milestones,omitempty"`
	CommitPath      string             `json:"commit_path,omitempty"`
	TagPath         string             `json:"tag_path,omitempty"`
	Assets          *ReleaseAssets     `json:"assets,omitempty"`
	Evidences       []ReleaseEvidence  `json:"evidences,omitempty"`
	EvidenceSHA     string             `json:"evidence_sha,omitempty"`
	Links           *ReleaseLinks      `json:"_links,omitempty"`
}
type ReleaseAssetLink struct {
	ID       int    `json:"id"`
	Name     string `json:"name"`
	URL      string `json:"url"`
	LinkType string `json:"link_type"`
}

type ReleaseAssetSource

type ReleaseAssetSource struct {
	Format string `json:"format"`
	URL    string `json:"url"`
}

type ReleaseAssets

type ReleaseAssets struct {
	Count   int                  `json:"count"`
	Sources []ReleaseAssetSource `json:"sources,omitempty"`
	Links   []ReleaseAssetLink   `json:"links,omitempty"`
}

type ReleaseCommit

type ReleaseCommit struct {
	ID             string   `json:"id"`
	ShortID        string   `json:"short_id"`
	Title          string   `json:"title"`
	CreatedAt      string   `json:"created_at"`
	ParentIDs      []string `json:"parent_ids,omitempty"`
	Message        string   `json:"message"`
	AuthorName     string   `json:"author_name"`
	AuthorEmail    string   `json:"author_email"`
	AuthoredDate   string   `json:"authored_date"`
	CommitterName  string   `json:"committer_name"`
	CommitterEmail string   `json:"committer_email"`
	CommittedDate  string   `json:"committed_date"`
}

type ReleaseEvidence

type ReleaseEvidence struct {
	SHA         string `json:"sha"`
	Filepath    string `json:"filepath"`
	CollectedAt string `json:"collected_at"`
}
type ReleaseLinks struct {
	ClosedIssuesURL        string `json:"closed_issues_url,omitempty"`
	ClosedMergeRequestsURL string `json:"closed_merge_requests_url,omitempty"`
	EditURL                string `json:"edit_url,omitempty"`
	MergedMergeRequestsURL string `json:"merged_merge_requests_url,omitempty"`
	OpenedIssuesURL        string `json:"opened_issues_url,omitempty"`
	OpenedMergeRequestsURL string `json:"opened_merge_requests_url,omitempty"`
	Self                   string `json:"self,omitempty"`
}

type ReleaseMilestone

type ReleaseMilestone struct {
	ID          int                         `json:"id"`
	IID         int                         `json:"iid"`
	ProjectID   int                         `json:"project_id"`
	Title       string                      `json:"title"`
	Description string                      `json:"description"`
	State       string                      `json:"state"`
	CreatedAt   string                      `json:"created_at"`
	UpdatedAt   string                      `json:"updated_at"`
	DueDate     string                      `json:"due_date,omitempty"`
	StartDate   string                      `json:"start_date,omitempty"`
	WebURL      string                      `json:"web_url"`
	IssueStats  *ReleaseMilestoneIssueStats `json:"issue_stats,omitempty"`
}

ReleaseMilestone is kept separate from Milestone (used by issues) since the releases API returns a fuller shape.

type ReleaseMilestoneIssueStats

type ReleaseMilestoneIssueStats struct {
	Total  int `json:"total"`
	Closed int `json:"closed"`
}

type RemoveMergeRequestReviewers added in v0.30.0

type RemoveMergeRequestReviewers struct{}

func (*RemoveMergeRequestReviewers) Cancel added in v0.30.0

func (*RemoveMergeRequestReviewers) Cleanup added in v0.30.0

func (*RemoveMergeRequestReviewers) Color added in v0.30.0

func (*RemoveMergeRequestReviewers) Configuration added in v0.30.0

func (c *RemoveMergeRequestReviewers) Configuration() []configuration.Field

func (*RemoveMergeRequestReviewers) Description added in v0.30.0

func (c *RemoveMergeRequestReviewers) Description() string

func (*RemoveMergeRequestReviewers) Documentation added in v0.30.0

func (c *RemoveMergeRequestReviewers) Documentation() string

func (*RemoveMergeRequestReviewers) ExampleOutput added in v0.30.0

func (c *RemoveMergeRequestReviewers) ExampleOutput() map[string]any

func (*RemoveMergeRequestReviewers) Execute added in v0.30.0

func (*RemoveMergeRequestReviewers) HandleHook added in v0.30.0

func (*RemoveMergeRequestReviewers) HandleWebhook added in v0.30.0

func (*RemoveMergeRequestReviewers) Hooks added in v0.30.0

func (c *RemoveMergeRequestReviewers) Hooks() []core.Hook

func (*RemoveMergeRequestReviewers) Icon added in v0.30.0

func (*RemoveMergeRequestReviewers) Label added in v0.30.0

func (*RemoveMergeRequestReviewers) Name added in v0.30.0

func (*RemoveMergeRequestReviewers) OutputChannels added in v0.30.0

func (c *RemoveMergeRequestReviewers) OutputChannels(configuration any) []core.OutputChannel

func (*RemoveMergeRequestReviewers) Setup added in v0.30.0

type RemoveMergeRequestReviewersConfiguration added in v0.30.0

type RemoveMergeRequestReviewersConfiguration struct {
	Project         string   `mapstructure:"project"`
	MergeRequestIID string   `mapstructure:"mergeRequestIid"`
	Reviewers       []string `mapstructure:"reviewers"`
}

type RunPipeline

type RunPipeline struct{}

func (*RunPipeline) Cancel

func (r *RunPipeline) Cancel(ctx core.ExecutionContext) error

func (*RunPipeline) Cleanup

func (r *RunPipeline) Cleanup(ctx core.SetupContext) error

func (*RunPipeline) Color

func (r *RunPipeline) Color() string

func (*RunPipeline) Configuration

func (r *RunPipeline) Configuration() []configuration.Field

func (*RunPipeline) Description

func (r *RunPipeline) Description() string

func (*RunPipeline) Documentation

func (r *RunPipeline) Documentation() string

func (*RunPipeline) ExampleOutput

func (r *RunPipeline) ExampleOutput() map[string]any

func (*RunPipeline) Execute

func (r *RunPipeline) Execute(ctx core.ExecutionContext) error

func (*RunPipeline) HandleHook added in v0.18.0

func (r *RunPipeline) HandleHook(ctx core.ActionHookContext) error

func (*RunPipeline) HandleWebhook

func (*RunPipeline) Hooks added in v0.18.0

func (r *RunPipeline) Hooks() []core.Hook

func (*RunPipeline) Icon

func (r *RunPipeline) Icon() string

func (*RunPipeline) Label

func (r *RunPipeline) Label() string

func (*RunPipeline) Name

func (r *RunPipeline) Name() string

func (*RunPipeline) OutputChannels

func (r *RunPipeline) OutputChannels(configuration any) []core.OutputChannel

func (*RunPipeline) Setup

func (r *RunPipeline) Setup(ctx core.SetupContext) error

type RunPipelineExecutionMetadata

type RunPipelineExecutionMetadata struct {
	Pipeline *PipelineMetadata `json:"pipeline" mapstructure:"pipeline"`
}

type RunPipelineInputSpec

type RunPipelineInputSpec struct {
	Name  string `json:"name" mapstructure:"name"`
	Value string `json:"value" mapstructure:"value"`
}

type RunPipelineSpec

type RunPipelineSpec struct {
	Project string                 `json:"project" mapstructure:"project"`
	Ref     string                 `json:"ref" mapstructure:"ref"`
	Inputs  []RunPipelineInputSpec `json:"inputs" mapstructure:"inputs"`
}

type TokenResponse

type TokenResponse struct {
	AccessToken  string `json:"access_token"`
	RefreshToken string `json:"refresh_token"`
	TokenType    string `json:"token_type"`
	ExpiresIn    int    `json:"expires_in"`
	Scope        string `json:"scope"`
}

func (*TokenResponse) GetExpiration

func (t *TokenResponse) GetExpiration() time.Duration

type UpdateDeploymentRequest added in v0.29.0

type UpdateDeploymentRequest struct {
	Status string `json:"status"`
}

type UpdateIssue added in v0.30.0

type UpdateIssue struct{}

func (*UpdateIssue) Cancel added in v0.30.0

func (c *UpdateIssue) Cancel(ctx core.ExecutionContext) error

func (*UpdateIssue) Cleanup added in v0.30.0

func (c *UpdateIssue) Cleanup(ctx core.SetupContext) error

func (*UpdateIssue) Color added in v0.30.0

func (c *UpdateIssue) Color() string

func (*UpdateIssue) Configuration added in v0.30.0

func (c *UpdateIssue) Configuration() []configuration.Field

func (*UpdateIssue) Description added in v0.30.0

func (c *UpdateIssue) Description() string

func (*UpdateIssue) Documentation added in v0.30.0

func (c *UpdateIssue) Documentation() string

func (*UpdateIssue) ExampleOutput added in v0.30.0

func (c *UpdateIssue) ExampleOutput() map[string]any

func (*UpdateIssue) Execute added in v0.30.0

func (c *UpdateIssue) Execute(ctx core.ExecutionContext) error

func (*UpdateIssue) HandleHook added in v0.30.0

func (c *UpdateIssue) HandleHook(ctx core.ActionHookContext) error

func (*UpdateIssue) HandleWebhook added in v0.30.0

func (*UpdateIssue) Hooks added in v0.30.0

func (c *UpdateIssue) Hooks() []core.Hook

func (*UpdateIssue) Icon added in v0.30.0

func (c *UpdateIssue) Icon() string

func (*UpdateIssue) Label added in v0.30.0

func (c *UpdateIssue) Label() string

func (*UpdateIssue) Name added in v0.30.0

func (c *UpdateIssue) Name() string

func (*UpdateIssue) OutputChannels added in v0.30.0

func (c *UpdateIssue) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateIssue) Setup added in v0.30.0

func (c *UpdateIssue) Setup(ctx core.SetupContext) error

type UpdateIssueComment added in v0.30.0

type UpdateIssueComment struct{}

func (*UpdateIssueComment) Cancel added in v0.30.0

func (*UpdateIssueComment) Cleanup added in v0.30.0

func (c *UpdateIssueComment) Cleanup(ctx core.SetupContext) error

func (*UpdateIssueComment) Color added in v0.30.0

func (c *UpdateIssueComment) Color() string

func (*UpdateIssueComment) Configuration added in v0.30.0

func (c *UpdateIssueComment) Configuration() []configuration.Field

func (*UpdateIssueComment) Description added in v0.30.0

func (c *UpdateIssueComment) Description() string

func (*UpdateIssueComment) Documentation added in v0.30.0

func (c *UpdateIssueComment) Documentation() string

func (*UpdateIssueComment) ExampleOutput added in v0.30.0

func (c *UpdateIssueComment) ExampleOutput() map[string]any

func (*UpdateIssueComment) Execute added in v0.30.0

func (*UpdateIssueComment) HandleHook added in v0.30.0

func (c *UpdateIssueComment) HandleHook(ctx core.ActionHookContext) error

func (*UpdateIssueComment) HandleWebhook added in v0.30.0

func (*UpdateIssueComment) Hooks added in v0.30.0

func (c *UpdateIssueComment) Hooks() []core.Hook

func (*UpdateIssueComment) Icon added in v0.30.0

func (c *UpdateIssueComment) Icon() string

func (*UpdateIssueComment) Label added in v0.30.0

func (c *UpdateIssueComment) Label() string

func (*UpdateIssueComment) Name added in v0.30.0

func (c *UpdateIssueComment) Name() string

func (*UpdateIssueComment) OutputChannels added in v0.30.0

func (c *UpdateIssueComment) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateIssueComment) Setup added in v0.30.0

func (c *UpdateIssueComment) Setup(ctx core.SetupContext) error

type UpdateIssueCommentConfiguration added in v0.30.0

type UpdateIssueCommentConfiguration struct {
	Project   string `mapstructure:"project"`
	IssueIID  string `mapstructure:"issueIid"`
	CommentID string `mapstructure:"commentId"`
	Body      string `mapstructure:"body"`
}

type UpdateIssueConfiguration added in v0.30.0

type UpdateIssueConfiguration struct {
	Project   string   `mapstructure:"project"`
	IssueIID  string   `mapstructure:"issueIid"`
	Title     string   `mapstructure:"title"`
	Body      string   `mapstructure:"body"`
	State     string   `mapstructure:"state"`
	Labels    []string `mapstructure:"labels"`
	Assignees []string `mapstructure:"assignees"`
	Milestone string   `mapstructure:"milestone"`
}

type UpdateIssueRequest added in v0.30.0

type UpdateIssueRequest struct {
	Title       *string `json:"title,omitempty"`
	Description *string `json:"description,omitempty"`
	StateEvent  *string `json:"state_event,omitempty"`
	Labels      *string `json:"labels,omitempty"`
	AddLabels   *string `json:"add_labels,omitempty"`
	AssigneeIDs *[]int  `json:"assignee_ids,omitempty"`
	MilestoneID *int    `json:"milestone_id,omitempty"`
	DueDate     *string `json:"due_date,omitempty"`
}

UpdateIssueRequest mirrors GitLab's PUT /projects/:id/issues/:issue_iid body. Fields are pointers so a nil field is omitted (not changed) while a non-nil field is always sent, even if it points to a zero value - e.g. a non-nil pointer to "" clears the description, and a non-nil pointer to an empty slice clears the assignees. Callers must leave a field nil to skip it.

type UpdateMergeRequest added in v0.30.0

type UpdateMergeRequest struct{}

func (*UpdateMergeRequest) Cancel added in v0.30.0

func (*UpdateMergeRequest) Cleanup added in v0.30.0

func (c *UpdateMergeRequest) Cleanup(ctx core.SetupContext) error

func (*UpdateMergeRequest) Color added in v0.30.0

func (c *UpdateMergeRequest) Color() string

func (*UpdateMergeRequest) Configuration added in v0.30.0

func (c *UpdateMergeRequest) Configuration() []configuration.Field

func (*UpdateMergeRequest) Description added in v0.30.0

func (c *UpdateMergeRequest) Description() string

func (*UpdateMergeRequest) Documentation added in v0.30.0

func (c *UpdateMergeRequest) Documentation() string

func (*UpdateMergeRequest) ExampleOutput added in v0.30.0

func (c *UpdateMergeRequest) ExampleOutput() map[string]any

func (*UpdateMergeRequest) Execute added in v0.30.0

func (*UpdateMergeRequest) HandleHook added in v0.30.0

func (c *UpdateMergeRequest) HandleHook(ctx core.ActionHookContext) error

func (*UpdateMergeRequest) HandleWebhook added in v0.30.0

func (*UpdateMergeRequest) Hooks added in v0.30.0

func (c *UpdateMergeRequest) Hooks() []core.Hook

func (*UpdateMergeRequest) Icon added in v0.30.0

func (c *UpdateMergeRequest) Icon() string

func (*UpdateMergeRequest) Label added in v0.30.0

func (c *UpdateMergeRequest) Label() string

func (*UpdateMergeRequest) Name added in v0.30.0

func (c *UpdateMergeRequest) Name() string

func (*UpdateMergeRequest) OutputChannels added in v0.30.0

func (c *UpdateMergeRequest) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateMergeRequest) Setup added in v0.30.0

func (c *UpdateMergeRequest) Setup(ctx core.SetupContext) error

type UpdateMergeRequestConfiguration added in v0.30.0

type UpdateMergeRequestConfiguration struct {
	Project         string   `mapstructure:"project"`
	MergeRequestIID string   `mapstructure:"mergeRequestIid"`
	Title           string   `mapstructure:"title"`
	Description     string   `mapstructure:"description"`
	TargetBranch    string   `mapstructure:"targetBranch"`
	State           string   `mapstructure:"state"`
	Labels          []string `mapstructure:"labels"`
	Assignees       []string `mapstructure:"assignees"`
}

type UpdateMergeRequestRequest added in v0.30.0

type UpdateMergeRequestRequest struct {
	Title        *string `json:"title,omitempty"`
	Description  *string `json:"description,omitempty"`
	TargetBranch *string `json:"target_branch,omitempty"`
	StateEvent   *string `json:"state_event,omitempty"`
	Labels       *string `json:"labels,omitempty"`
	AddLabels    *string `json:"add_labels,omitempty"`
	AssigneeIDs  *[]int  `json:"assignee_ids,omitempty"`
}

UpdateMergeRequestRequest mirrors GitLab's PUT /projects/:id/merge_requests/:merge_request_iid body. Fields are pointers so a nil field is omitted (left unchanged) while a non-nil field is always sent, even when it points to a zero value - e.g. a non-nil pointer to "" clears the description, and a non-nil pointer to an empty slice clears the assignees.

type UpdateMergeRequestReviewersRequest added in v0.30.0

type UpdateMergeRequestReviewersRequest struct {
	ReviewerIDs []int `json:"reviewer_ids"`
}

UpdateMergeRequestReviewersRequest sets the full reviewer list of a merge request. GitLab replaces the existing reviewers with the given IDs, so an empty (but non-nil) slice clears all reviewers.

type UpdateNoteRequest added in v0.30.0

type UpdateNoteRequest struct {
	Body string `json:"body"`
}

type UpdateRelease

type UpdateRelease struct{}

func (*UpdateRelease) Cancel

func (c *UpdateRelease) Cancel(ctx core.ExecutionContext) error

func (*UpdateRelease) Cleanup

func (c *UpdateRelease) Cleanup(ctx core.SetupContext) error

func (*UpdateRelease) Color

func (c *UpdateRelease) Color() string

func (*UpdateRelease) Configuration

func (c *UpdateRelease) Configuration() []configuration.Field

func (*UpdateRelease) Description

func (c *UpdateRelease) Description() string

func (*UpdateRelease) Documentation

func (c *UpdateRelease) Documentation() string

func (*UpdateRelease) ExampleOutput

func (c *UpdateRelease) ExampleOutput() map[string]any

func (*UpdateRelease) Execute

func (c *UpdateRelease) Execute(ctx core.ExecutionContext) error

func (*UpdateRelease) HandleHook

func (c *UpdateRelease) HandleHook(ctx core.ActionHookContext) error

func (*UpdateRelease) HandleWebhook

func (*UpdateRelease) Hooks

func (c *UpdateRelease) Hooks() []core.Hook

func (*UpdateRelease) Icon

func (c *UpdateRelease) Icon() string

func (*UpdateRelease) Label

func (c *UpdateRelease) Label() string

func (*UpdateRelease) Name

func (c *UpdateRelease) Name() string

func (*UpdateRelease) OutputChannels

func (c *UpdateRelease) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateRelease) Setup

func (c *UpdateRelease) Setup(ctx core.SetupContext) error

type UpdateReleaseConfiguration

type UpdateReleaseConfiguration struct {
	Project         string   `mapstructure:"project"`
	ReleaseStrategy string   `mapstructure:"releaseStrategy"`
	TagName         string   `mapstructure:"tagName"`
	Name            string   `mapstructure:"name"`
	Description     string   `mapstructure:"description"`
	Milestones      []string `mapstructure:"milestones"`
	ReleasedAt      string   `mapstructure:"releasedAt"`
}

type UpdateReleaseRequest

type UpdateReleaseRequest struct {
	Name        *string   `json:"name,omitempty"`
	Description *string   `json:"description,omitempty"`
	Milestones  *[]string `json:"milestones,omitempty"`
	ReleasedAt  *string   `json:"released_at,omitempty"`
}

UpdateReleaseRequest fields are pointers so a nil field is left unchanged while a non-nil field (even a zero value) is always sent.

type User

type User struct {
	ID        int    `json:"id"`
	Name      string `json:"name"`
	Username  string `json:"username"`
	State     string `json:"state"`
	AvatarURL string `json:"avatar_url"`
	WebURL    string `json:"web_url"`
}

type UserMetadata

type UserMetadata struct {
	ID       int    `mapstructure:"id" json:"id"`
	Name     string `mapstructure:"name" json:"name"`
	Username string `mapstructure:"username" json:"username"`
}

type WebhookConfiguration

type WebhookConfiguration struct {
	EventType string `json:"eventType" mapstructure:"eventType"`
	ProjectID string `json:"projectId" mapstructure:"projectId"`
}

type WebhookMetadata

type WebhookMetadata struct {
	ID int `json:"id" mapstructure:"id"`
}

Jump to

Keyboard shortcuts

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