Documentation
¶
Overview ¶
Package github implements a simple client to consume gitlab API.
Index ¶
- Constants
- func AggregateJobs(jobs []*Job) map[int]map[string]map[string][]*Job
- type AcceptMergeRequestRequest
- type AccessLevelInfo
- type ActivityFeed
- type AddMergeRequestRequest
- type ArtifactsFile
- type Badge
- type BadgeCollection
- type Branch
- type BranchCollection
- type BranchCommit
- type BranchesOptions
- type Build
- type ChangeItem
- type Commit
- type CommitStatus
- type Environment
- type EnvironmentAddPayload
- type EnvironmentCollection
- type EnvironmentProject
- type FeedCommit
- type Gitlab
- func (g *Gitlab) Activity() (ActivityFeed, error)
- func (g *Gitlab) AddCurrentUserSshKey(title, key string) (*ResponseMeta, error)
- func (g *Gitlab) AddGroup(group *GroupAddPayload) (*GroupWithDetails, *ResponseMeta, error)
- func (g *Gitlab) AddGroupVariable(groupId string, variable *Variable) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) AddIssue(projectId string, req *IssueRequest) (issue *Issue, meta *ResponseMeta, err error)
- func (g *Gitlab) AddMergeRequest(req *AddMergeRequestRequest) (*MergeRequest, error)
- func (g *Gitlab) AddProject(project *ProjectAddPayload) (*Project, *ResponseMeta, error)
- func (g *Gitlab) AddProjectBadge(projectId string, badge *Badge) (*Badge, *ResponseMeta, error)
- func (g *Gitlab) AddProjectBranch(projectId string, branchName, ref string) (*Branch, *ResponseMeta, error)
- func (g *Gitlab) AddProjectDeployKey(id, title, key string) (*ResponseMeta, error)
- func (g *Gitlab) AddProjectEnvironment(projectId string, environment *EnvironmentAddPayload) (*Environment, *ResponseMeta, error)
- func (g *Gitlab) AddProjectHook(projectId string, hook *HookAddPayload) (*Hook, *ResponseMeta, error)
- func (g *Gitlab) AddProjectVariable(projectId string, variable *Variable) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) AddUserSshKey(userId, title, key string) (*ResponseMeta, error)
- func (g *Gitlab) CancelProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) CurrentUser() (*User, *ResponseMeta, error)
- func (g *Gitlab) CurrentUserSshKey(id string) (*SshKey, *ResponseMeta, error)
- func (g *Gitlab) CurrentUserSshKeys(o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
- func (g *Gitlab) DeleteCurrentUserSshKey(keyId int) (*ResponseMeta, error)
- func (g *Gitlab) DeleteRunner(id int) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) DeleteUserSshKey(userId, keyId int) (*ResponseMeta, error)
- func (g *Gitlab) DisableProjectRunner(projectId string, id int) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) EditMergeRequest(mr *MergeRequest) error
- func (g *Gitlab) EnableProjectRunner(projectId string, id int) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) EraseProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) Group(id string, withCustomAttributes bool) (*GroupWithDetails, *ResponseMeta, error)
- func (g *Gitlab) GroupMembers(groupId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
- func (g *Gitlab) GroupMergeRequests(groupId int, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
- func (g *Gitlab) GroupProjects(id string) ([]*Project, *ResponseMeta, error)
- func (g *Gitlab) GroupVariable(groupId, varKey string) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) GroupVariables(groupId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
- func (g *Gitlab) Groups(o *GroupsOptions) (*GroupCollection, *ResponseMeta, error)
- func (g *Gitlab) MergeRequests(o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
- func (g *Gitlab) Namespace(id string) (*Namespace, *ResponseMeta, error)
- func (g *Gitlab) Namespaces(o *NamespacesOptions) (*NamespaceCollection, *ResponseMeta, error)
- func (g *Gitlab) Project(id string, withStatistics bool) (*Project, *ResponseMeta, error)
- func (g *Gitlab) ProjectBadge(projectId string, badgeId int) (*Badge, *ResponseMeta, error)
- func (g *Gitlab) ProjectBadges(projectId string, o *PaginationOptions) (*BadgeCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectBranch(projectId, branchName string) (*Branch, *ResponseMeta, error)
- func (g *Gitlab) ProjectBranches(projectId string, o *BranchesOptions) (*BranchCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectBuildArtifacts(id, buildId string) (io.ReadCloser, error)
- func (g *Gitlab) ProjectCommitBuilds(id, sha1 string) ([]*Build, *ResponseMeta, error)
- func (g *Gitlab) ProjectCommitStatuses(id, sha1 string) ([]*CommitStatus, *ResponseMeta, error)
- func (g *Gitlab) ProjectDeployKey(id, keyId string) (*SshKey, *ResponseMeta, error)
- func (g *Gitlab) ProjectDeployKeys(id string) ([]*SshKey, *ResponseMeta, error)
- func (g *Gitlab) ProjectEnvironments(projectId string, o *PaginationOptions) (*EnvironmentCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectHook(projectId, hookId string) (*Hook, *ResponseMeta, error)
- func (g *Gitlab) ProjectHooks(projectId string) (*HookCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) ProjectJobTrace(projectId string, jobId int) (string, *ResponseMeta, error)
- func (g *Gitlab) ProjectJobs(projectId string, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectMembers(projectId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequest(projectId string, mergeRequestId int) (*MergeRequest, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestAccept(id, merge_request_id string, req *AcceptMergeRequestRequest) (*MergeRequest, error)
- func (g *Gitlab) ProjectMergeRequestCancelMerge(id, merge_request_id string) (*MergeRequest, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestChanges(id, merge_request_id string) (*MergeRequestChanges, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestCommits(id, merge_request_id string) ([]*Commit, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequests(projectId string, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectPipeline(projectId, pipelineId string) (*PipelineWithDetails, *ResponseMeta, error)
- func (g *Gitlab) ProjectPipelineJobs(projectId string, pipelineId int, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectPipelines(projectId string, o *PipelinesOptions) (*PipelineCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectRunners(projectId string, page, per_page int) ([]*Runner, *ResponseMeta, error)
- func (g *Gitlab) ProjectVariable(projectId, varKey string) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) ProjectVariables(projectId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
- func (g *Gitlab) Projects(o *ProjectsOptions) (*ProjectCollection, *ResponseMeta, error)
- func (g *Gitlab) ProtectBranch(projectId, branchName string) (*ResponseMeta, error)
- func (g *Gitlab) ProtectedBranches(projectId string, o *PaginationOptions) ([]*ProtectedBranch, *ResponseMeta, error)
- func (g *Gitlab) RemoveGroup(id string) (string, *ResponseMeta, error)
- func (g *Gitlab) RemoveGroupVariable(groupId, varKey string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProject(id string) (string, *ResponseMeta, error)
- func (g *Gitlab) RemoveProjectBadge(projectId, badgeId string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectBranch(projectId, branchName string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectDeployKey(id, keyId string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectEnvironment(projectId string, id int) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectHook(projectId, hookId string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectMergedBranches(projectId string) (string, *ResponseMeta, error)
- func (g *Gitlab) RemoveProjectVariable(projectId, varKey string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveUser(id string) (*ResponseMeta, error)
- func (g *Gitlab) RepoActivityFeed(feedPath string) ActivityFeed
- func (g *Gitlab) RepoCommits(id string) ([]*Commit, *ResponseMeta, error)
- func (g *Gitlab) RepoRawFile(id, sha, filepath string) ([]byte, *ResponseMeta, error)
- func (g *Gitlab) RepoTags(id string) ([]*Tag, *ResponseMeta, error)
- func (g *Gitlab) RepoTree(id, path, refName string) ([]*TreeNode, *ResponseMeta, error)
- func (g *Gitlab) ResourceUrl(path string, params map[string]string) *url.URL
- func (g *Gitlab) ResourceUrlQ(path string, params map[string]string, qs interface{}) *url.URL
- func (g *Gitlab) RetryProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) Runner(id int) (*RunnerWithDetails, *ResponseMeta, error)
- func (g *Gitlab) Runners(o *RunnersOptions) (*RunnerCollection, *ResponseMeta, error)
- func (g *Gitlab) StarProject(id string) (*Project, *ResponseMeta, error)
- func (g *Gitlab) UnprotectBranch(projectId, branchName string) (*ResponseMeta, error)
- func (g *Gitlab) UnstarProject(id string) (*Project, *ResponseMeta, error)
- func (g *Gitlab) UpdateGroup(id string, group *GroupUpdatePayload) (*GroupWithDetails, error)
- func (g *Gitlab) UpdateProject(id string, project *Project) (*Project, *ResponseMeta, error)
- func (g *Gitlab) UpdateRunner(id int, runner *Runner) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) User(id string) (*User, *ResponseMeta, error)
- func (g *Gitlab) UserSshKeys(userId int, o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
- func (g *Gitlab) Users(o *UsersOptions) (*UserCollection, *ResponseMeta, error)
- type Group
- type GroupAddPayload
- type GroupCollection
- type GroupUpdatePayload
- type GroupWithDetails
- type GroupsOptions
- type Hook
- type HookAddPayload
- type HookCollection
- type HookObjAttr
- type HookPayload
- type Issue
- type IssueRequest
- type Job
- type JobCollection
- type JobsOptions
- type Link
- type Member
- type MemberCollection
- type MembersOptions
- type MergeRequest
- type MergeRequestChanges
- type MergeRequestCollection
- type MergeRequestScope
- type MergeRequestUser
- type MergeRequestsOptions
- type Milestone
- type MinimalProject
- type Namespace
- type NamespaceCollection
- type NamespacesOptions
- type PaginationOptions
- type Person
- type Pipeline
- type PipelineCollection
- type PipelineWithDetails
- type PipelinesOptions
- type Project
- type ProjectAddPayload
- type ProjectCollection
- type ProjectGroupSharing
- type ProjectStatistics
- type ProjectsOptions
- type ProjectsOrder
- type ProtectedBranch
- type Renderable
- type ResponseMeta
- type ResponseWithMessage
- type Runner
- type RunnerCollection
- type RunnerScope
- type RunnerWithDetails
- type RunnersOptions
- type SortDirection
- type SortOptions
- type SshKey
- type SshKeyCollection
- type Tag
- type TimeStats
- type TreeNode
- type User
- type UserCollection
- type UserIdentity
- type UsersOptions
- type Variable
- type VariableCollection
- type Visibility
Constants ¶
const ( ProjectBadgesApiPath = "/projects/:id/badges" ProjectBadgeApiPath = "/projects/:id/badges/:badge_id" )
const ( ProjectBranchesApiPath = "/projects/:id/repository/branches" ProjectBranchApiPath = "/projects/:id/repository/branches/:branch" ProjectMergedBranchesApiPath = "/projects/:id/repository/merged_branches" )
const ( ProjectCommitBuildsApiPath = "/projects/:id/repository/commits/:sha/builds" ProjectBuildArtifactsApiPath = "/projects/:id/builds/:build_id/artifacts" )
const ( ProjectDeployKeysApiPath = "/projects/:id/keys" ProjectDeployKeyApiPath = "/projects/:id/keys/:key_id" )
const ( ProjectEnvironmentsApiPath = "/projects/:id/environments" ProjectEnvironmentApiPath = "/projects/:id/environments/:environment_id" )
const ( GroupsApiPath = "/groups" GroupApiPath = "/groups/:id" GroupProjectsApiPath = "/groups/:id/projects" )
const ( ProjectHooksApiPath = "/projects/:id/hooks" ProjectHookApiPath = "/projects/:id/hooks/:hook_id" )
const ( ProjectJobsApiPath = "/projects/:id/jobs" ProjectPipelineJobsApiPath = "/projects/:id/pipelines/:pipeline_id/jobs" ProjectJobApiPath = "/projects/:id/jobs/:job_id" ProjectJobTraceApiPath = "/projects/:id/jobs/:job_id/trace" CancelProjectJobApiPath = "/projects/:id/jobs/:job_id/cancel" RetryProjectJobApiPath = "/projects/:id/jobs/:job_id/retry" EraseProjectJobApiPath = "/projects/:id/jobs/:job_id/erase" )
const ( MambersApiPath = "/:type/:id/members" // List group or project team members MamberApiPath = "/:type/:id/members/:user_id" // Get group or project team member )
const ( MergeRequestsApiPath = "/merge_requests" ProjectMergeRequestsApiPath = "/projects/:id/merge_requests" GroupMergeRequestsApiPath = "/groups/:id/merge_requests" ProjectMergeRequestApiPath = "/projects/:id/merge_requests/:merge_request_id" // Get information about a single merge request ProjectMergeRequestCommitsApiPath = "/projects/:id/merge_requests/:merge_request_id/commits" // Get a list of merge request commits ProjectMergeRequestChangesApiPath = "/projects/:id/merge_requests/:merge_request_id/changes" // Shows information about the merge request including its files and changes ProjectMergeRequestMergeApiPath = "/projects/:id/merge_requests/:merge_request_id/merge" // Merge changes submitted with MR ProjectMergeRequestCancelMergeApiPath = "/projects/:id/merge_requests/:merge_request_id/cancel_merge_when_build_succeeds" // Cancel Merge When Build Succeeds ProjectMergeRequestCommentsApiPath = "/projects/:id/merge_requests/:merge_request_id/comments" // Lists all comments associated with a merge request )
const ( NamespacesApiPath = "/namespaces" NamespaceApiPath = "/namespaces/:id" )
const ( ProjectPipelinesApiPath = "/projects/:id/pipelines" ProjectPipelineApiPath = "/projects/:id/pipelines/:pipeline_id" )
const ( ProjectsApiPath = "/projects" // Get a list of projects owned by the authenticated user ProjectApiPath = "/projects/:id" // Get a specific project, identified by project ID or NAME StarProjectApiPath = "/projects/:id/star" // Stars a given project. Returns status code 304 if the project is already starred UnstarProjectApiPath = "/projects/:id/unstar" // Unstars a given project. Returns status code 304 if the project is not starred ProjectEventsApiPath = "/projects/:id/events" // Get project events )
const ( ProtectedBranchesApiPath = "/projects/:id/protected_branches" // Gets a list of protected branches from a project. ProtectBranchApiPath = "/projects/:id/repository/branches/:branch/protect" // Protects a single project repository branch. UnprotectBranchApiPath = "/projects/:id/repository/branches/:branch/unprotect" // Unprotects a single project repository branch. )
const ( RepositoryTagsApiPath = "/projects/:id/repository/tags" // List project repository tags RepositoryCommitsApiPath = "/projects/:id/repository/commits" // List repository commits RepositoryTreeApiPath = "/projects/:id/repository/tree" // List repository tree RawRepositoryFileApiPath = "/projects/:id/repository/blobs/:sha" // Get raw file content for specific commit/branch )
const ( RunnersApiPath = "/runners" // Get current users runner list. AllRunnersApiPath = "/runners/all" // Get ALL runners list. RunnerApiPath = "/runners/:id" // Get a single runner. ProjectRunnersApiPath = "/projects/:project_id/runners" // Get ALL project runners. ProjectRunnerApiPath = "/projects/:project_id/runners/:id" // Get a single project runner. )
const ( CurrentUserSshKeysApiPath = "/user/keys" UserSshKeysApiPath = "/users/:id/keys" CurrentUserSshKeyApiPath = "/user/keys/:key_id" UserSshKeyApiPath = "/user/:id/keys/:key_id" )
const ( UsersApiPath = "/users" UserApiPath = "/users/:id" CurrentUserApiPath = "/user" )
const ( VariablesApiPath = "/:type/:id/variables" VariableApiPath = "/:type/:id/variables/:key" )
const (
DashboardFeedPath = "/dashboard.atom"
)
const (
ProjectCommitStatusesApiPath = "/projects/:id/repository/commits/:sha/statuses"
)
const (
ProjectIssuesApiPath = "/projects/:id/issues"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AccessLevelInfo ¶
type ActivityFeed ¶
type AddMergeRequestRequest ¶
type AddMergeRequestRequest struct {
SourceBranch string `json:"source_branch"`
TargetBranch string `json:"target_branch"`
AssigneeId int `json:"assignee_id,omitempty"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
TargetProjectId int `json:"target_project_id,omitempty"`
Lables []string `json:"lables,omitempty"`
}
type ArtifactsFile ¶
type Badge ¶
type Badge struct {
Id int `json:"id" yaml:"id"`
LinkUrl string `json:"link_url" yaml:"link_url"`
ImageUrl string `json:"image_url" yaml:"image_url"`
RenderedLinkUrl string `json:"rendered_link_url" yaml:"rendered_link_url"`
RenderedImageUrl string `json:"rendered_image_url" yaml:"rendered_image_url"`
Kind string `json:"kind" yaml:"kind"`
}
type BadgeCollection ¶
type BadgeCollection struct {
Items []*Badge
}
func (*BadgeCollection) RenderJson ¶
func (c *BadgeCollection) RenderJson(w io.Writer) error
func (*BadgeCollection) RenderYaml ¶
func (c *BadgeCollection) RenderYaml(w io.Writer) error
type Branch ¶
type Branch struct {
Name string `json:"name,omitempty" yaml:"name,omitempty"`
Protected bool `json:"protected,omitempty" yaml:"protected,omitempty"`
Merged bool `json:"merged,omitempty" yaml:"merged,omitempty"`
DevelopersCanPush bool `json:"developers_can_push,omitempty" yaml:"developers_can_push,omitempty"`
DevelopersCanMerge bool `json:"developers_can_merge,omitempty" yaml:"developers_can_merge,omitempty"`
Commit *BranchCommit `json:"commit,omitempty" yaml:"commit,omitempty"`
}
type BranchCollection ¶
type BranchCollection struct {
Items []*Branch
}
func (*BranchCollection) RenderJson ¶
func (c *BranchCollection) RenderJson(w io.Writer) error
func (*BranchCollection) RenderYaml ¶
func (c *BranchCollection) RenderYaml(w io.Writer) error
type BranchCommit ¶
type BranchCommit struct {
Id string `json:"id,omitempty" yaml:"id,omitempty"`
Tree string `json:"tree,omitempty" yaml:"tree,omitempty"`
AuthoredDateRaw string `json:"authored_date,omitempty" yaml:"authored_date,omitempty"`
CommittedDateRaw string `json:"committed_date,omitempty" yaml:"committed_date,omitempty"`
Message string `json:"message,omitempty" yaml:"message,omitempty"`
Author *Person `json:"author,omitempty" yaml:"author,omitempty"`
Committer *Person `json:"committer,omitempty" yaml:"committer,omitempty"`
}
type BranchesOptions ¶
type BranchesOptions struct {
PaginationOptions
SortOptions
// Return list of branches matching the search criteria
Search string `url:"search,omitempty"`
}
type Build ¶
type Build struct {
Id int `json:"id"`
ArtifactsFile ArtifactsFile `json:"artifacts_file"`
Commit Commit `json:"commit,omitempty"`
CreatedAt string `json:"created_at"`
DownloadURL string `json:"download_url"`
FinishedAt string `json:"finished_at"`
Name string `json:"name"`
Ref string `json:"ref"`
Stage string `json:"stage"`
StartedAt string `json:"started_at"`
Status string `json:"status"`
Tag bool `json:"tag"`
User User `json:"user"`
When string `json:"when,omitempty"`
Manual bool `json:"manual,omitempty"`
}
type ChangeItem ¶
type ChangeItem struct {
OldPath string `json:"old_path,omitempty"`
NewPath string `json:"new_path,omitempty"`
AMode string `json:"a_mode,omitempty"`
BMode string `json:"b_mode,omitempty"`
Diff string `json:"diff,omitempty"`
NewFile bool `json:"new_file,omitempty"`
RenamedFile bool `json:"renamed_file,omitempty"`
DeletedFile bool `json:"deleted_file,omitempty"`
}
type CommitStatus ¶
type CommitStatus struct {
Status string `json:"status"`
CreatedAt time.Time `json:"created_at"`
StartedAt *time.Time `json:"started_at"`
Name string `json:"name"`
AllowFailure bool `json:"allow_failure"`
Author User `json:"author"`
Description *string `json:"description"`
Sha string `json:"sha"`
TargetURL string `json:"target_url"`
FinishedAt *time.Time `json:"finished_at"`
ID int `json:"id"`
Ref string `json:"ref"`
}
type Environment ¶
type Environment struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
EnvironmentAddPayload `yaml:",inline"`
Slug string `json:"slug,omitempty" yaml:"slug,omitempty"`
Project *EnvironmentProject `json:"project,omitempty" yaml:"project,omitempty"`
}
func (*Environment) RenderJson ¶
func (e *Environment) RenderJson(w io.Writer) error
func (*Environment) RenderYaml ¶
func (e *Environment) RenderYaml(w io.Writer) error
type EnvironmentAddPayload ¶
type EnvironmentCollection ¶
type EnvironmentCollection struct {
Items []*Environment
}
func (*EnvironmentCollection) RenderJson ¶
func (c *EnvironmentCollection) RenderJson(w io.Writer) error
func (*EnvironmentCollection) RenderYaml ¶
func (c *EnvironmentCollection) RenderYaml(w io.Writer) error
type EnvironmentProject ¶
type EnvironmentProject struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
NameWithNamespace string `json:"name_with_namespace,omitempty" yaml:"name_with_namespace,omitempty"`
Path string `json:"path,omitempty" yaml:"path,omitempty"`
PathWithNamespace string `json:"path_with_namespace,omitempty" yaml:"path_with_namespace,omitempty"`
Description string `json:"description" yaml:"description"`
CreatedAtRaw string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
DefaultBranch string `json:"default_branch" yaml:"default_branch"`
TagList []string `json:"tag_list" yaml:"tag_list"`
SshUrlToRepo string `json:"ssh_url_to_repo" yaml:"ssh_url_to_repo"`
HttpUrlToRepo string `json:"http_url_to_repo" yaml:"http_url_to_repo"`
WebUrl string `json:"web_url" yaml:"web_url"`
AvatarUrl string `json:"avatar_url" yaml:"avatar_url"`
ForksCount int `json:"forks_count" yaml:"forks_count"`
StarCount int `json:"star_count" yaml:"star_count"`
LastActivityAtRaw string `json:"last_activity_at,omitempty" yaml:"last_activity_at,omitempty"`
}
type FeedCommit ¶
type Gitlab ¶
type Gitlab struct {
BaseUrl string
ApiPath string
RepoFeedPath string
Token string
Client *http.Client
}
func (*Gitlab) Activity ¶
func (g *Gitlab) Activity() (ActivityFeed, error)
func (*Gitlab) AddCurrentUserSshKey ¶
func (g *Gitlab) AddCurrentUserSshKey(title, key string) (*ResponseMeta, error)
func (*Gitlab) AddGroup ¶
func (g *Gitlab) AddGroup(group *GroupAddPayload) (*GroupWithDetails, *ResponseMeta, error)
func (*Gitlab) AddGroupVariable ¶
func (*Gitlab) AddIssue ¶
func (g *Gitlab) AddIssue(projectId string, req *IssueRequest) (issue *Issue, meta *ResponseMeta, err error)
func (*Gitlab) AddMergeRequest ¶
func (g *Gitlab) AddMergeRequest(req *AddMergeRequestRequest) (*MergeRequest, error)
Creates a new merge request.
POST /projects/:id/merge_requests
Parameters:
id The ID of a project
func (*Gitlab) AddProject ¶
func (g *Gitlab) AddProject(project *ProjectAddPayload) (*Project, *ResponseMeta, error)
func (*Gitlab) AddProjectBadge ¶
func (*Gitlab) AddProjectBranch ¶
func (*Gitlab) AddProjectDeployKey ¶
func (g *Gitlab) AddProjectDeployKey(id, title, key string) (*ResponseMeta, error)
Add deploy key to project.
POST /projects/:id/keys
Parameters:
id The ID of a project title The key title key The key value
func (*Gitlab) AddProjectEnvironment ¶
func (g *Gitlab) AddProjectEnvironment(projectId string, environment *EnvironmentAddPayload) (*Environment, *ResponseMeta, error)
func (*Gitlab) AddProjectHook ¶
func (g *Gitlab) AddProjectHook(projectId string, hook *HookAddPayload) (*Hook, *ResponseMeta, error)
func (*Gitlab) AddProjectVariable ¶
func (*Gitlab) AddUserSshKey ¶
func (g *Gitlab) AddUserSshKey(userId, title, key string) (*ResponseMeta, error)
func (*Gitlab) CancelProjectJob ¶
func (*Gitlab) CurrentUser ¶
func (g *Gitlab) CurrentUser() (*User, *ResponseMeta, error)
func (*Gitlab) CurrentUserSshKey ¶
func (g *Gitlab) CurrentUserSshKey(id string) (*SshKey, *ResponseMeta, error)
func (*Gitlab) CurrentUserSshKeys ¶
func (g *Gitlab) CurrentUserSshKeys(o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
func (*Gitlab) DeleteCurrentUserSshKey ¶
func (g *Gitlab) DeleteCurrentUserSshKey(keyId int) (*ResponseMeta, error)
func (*Gitlab) DeleteRunner ¶
func (g *Gitlab) DeleteRunner(id int) (*Runner, *ResponseMeta, error)
func (*Gitlab) DeleteUserSshKey ¶
func (g *Gitlab) DeleteUserSshKey(userId, keyId int) (*ResponseMeta, error)
func (*Gitlab) DisableProjectRunner ¶
func (*Gitlab) EditMergeRequest ¶
func (g *Gitlab) EditMergeRequest(mr *MergeRequest) error
Updates an existing merge request.
PUT /projects/:id/merge_request/:merge_request_id
Parameters:
id The ID of a project
func (*Gitlab) EnableProjectRunner ¶
func (*Gitlab) EraseProjectJob ¶
func (*Gitlab) Group ¶
func (g *Gitlab) Group(id string, withCustomAttributes bool) (*GroupWithDetails, *ResponseMeta, error)
func (*Gitlab) GroupMembers ¶
func (g *Gitlab) GroupMembers(groupId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
func (*Gitlab) GroupMergeRequests ¶
func (g *Gitlab) GroupMergeRequests(groupId int, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
func (*Gitlab) GroupProjects ¶
func (g *Gitlab) GroupProjects(id string) ([]*Project, *ResponseMeta, error)
func (*Gitlab) GroupVariable ¶
func (g *Gitlab) GroupVariable(groupId, varKey string) (*Variable, *ResponseMeta, error)
func (*Gitlab) GroupVariables ¶
func (g *Gitlab) GroupVariables(groupId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
func (*Gitlab) Groups ¶
func (g *Gitlab) Groups(o *GroupsOptions) (*GroupCollection, *ResponseMeta, error)
func (*Gitlab) MergeRequests ¶
func (g *Gitlab) MergeRequests(o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
func (*Gitlab) Namespaces ¶
func (g *Gitlab) Namespaces(o *NamespacesOptions) (*NamespaceCollection, *ResponseMeta, error)
func (*Gitlab) ProjectBadge ¶
func (*Gitlab) ProjectBadges ¶
func (g *Gitlab) ProjectBadges(projectId string, o *PaginationOptions) (*BadgeCollection, *ResponseMeta, error)
func (*Gitlab) ProjectBranch ¶
func (g *Gitlab) ProjectBranch(projectId, branchName string) (*Branch, *ResponseMeta, error)
func (*Gitlab) ProjectBranches ¶
func (g *Gitlab) ProjectBranches(projectId string, o *BranchesOptions) (*BranchCollection, *ResponseMeta, error)
func (*Gitlab) ProjectBuildArtifacts ¶
func (g *Gitlab) ProjectBuildArtifacts(id, buildId string) (io.ReadCloser, error)
func (*Gitlab) ProjectCommitBuilds ¶
func (g *Gitlab) ProjectCommitBuilds(id, sha1 string) ([]*Build, *ResponseMeta, error)
func (*Gitlab) ProjectCommitStatuses ¶
func (g *Gitlab) ProjectCommitStatuses(id, sha1 string) ([]*CommitStatus, *ResponseMeta, error)
func (*Gitlab) ProjectDeployKey ¶
func (g *Gitlab) ProjectDeployKey(id, keyId string) (*SshKey, *ResponseMeta, error)
Get single project deploy key.
GET /projects/:id/keys/:key_id
Parameters:
id The ID of a project keyId The ID of a key
func (*Gitlab) ProjectDeployKeys ¶
func (g *Gitlab) ProjectDeployKeys(id string) ([]*SshKey, *ResponseMeta, error)
Get list of project deploy keys.
GET /projects/:id/keys
Parameters:
id The ID of a project
func (*Gitlab) ProjectEnvironments ¶
func (g *Gitlab) ProjectEnvironments(projectId string, o *PaginationOptions) (*EnvironmentCollection, *ResponseMeta, error)
func (*Gitlab) ProjectHook ¶
func (g *Gitlab) ProjectHook(projectId, hookId string) (*Hook, *ResponseMeta, error)
func (*Gitlab) ProjectHooks ¶
func (g *Gitlab) ProjectHooks(projectId string) (*HookCollection, *ResponseMeta, error)
func (*Gitlab) ProjectJob ¶
func (*Gitlab) ProjectJobTrace ¶
func (*Gitlab) ProjectJobs ¶
func (g *Gitlab) ProjectJobs(projectId string, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
func (*Gitlab) ProjectMembers ¶
func (g *Gitlab) ProjectMembers(projectId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
func (*Gitlab) ProjectMergeRequest ¶
func (g *Gitlab) ProjectMergeRequest(projectId string, mergeRequestId int) (*MergeRequest, *ResponseMeta, error)
func (*Gitlab) ProjectMergeRequestAccept ¶
func (g *Gitlab) ProjectMergeRequestAccept(id, merge_request_id string, req *AcceptMergeRequestRequest) (*MergeRequest, error)
Merge changes submitted with MR.
PUT /projects/:id/merge_request/:merge_request_id/merge
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequestCancelMerge ¶
func (g *Gitlab) ProjectMergeRequestCancelMerge(id, merge_request_id string) (*MergeRequest, *ResponseMeta, error)
Cancel Merge When Build Succeeds.
PUT /projects/:id/merge_request/:merge_request_id/cancel_merge_when_build_succeeds
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequestChanges ¶
func (g *Gitlab) ProjectMergeRequestChanges(id, merge_request_id string) (*MergeRequestChanges, *ResponseMeta, error)
Get information about the merge request including its files and changes.
GET /projects/:id/merge_request/:merge_request_id/changes
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequestCommits ¶
func (g *Gitlab) ProjectMergeRequestCommits(id, merge_request_id string) ([]*Commit, *ResponseMeta, error)
Get a list of merge request commits.
GET /projects/:id/merge_request/:merge_request_id/commits
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequests ¶
func (g *Gitlab) ProjectMergeRequests(projectId string, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
func (*Gitlab) ProjectPipeline ¶
func (g *Gitlab) ProjectPipeline(projectId, pipelineId string) (*PipelineWithDetails, *ResponseMeta, error)
func (*Gitlab) ProjectPipelineJobs ¶
func (g *Gitlab) ProjectPipelineJobs(projectId string, pipelineId int, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
func (*Gitlab) ProjectPipelines ¶
func (g *Gitlab) ProjectPipelines(projectId string, o *PipelinesOptions) (*PipelineCollection, *ResponseMeta, error)
func (*Gitlab) ProjectRunners ¶
func (*Gitlab) ProjectVariable ¶
func (g *Gitlab) ProjectVariable(projectId, varKey string) (*Variable, *ResponseMeta, error)
func (*Gitlab) ProjectVariables ¶
func (g *Gitlab) ProjectVariables(projectId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
func (*Gitlab) Projects ¶
func (g *Gitlab) Projects(o *ProjectsOptions) (*ProjectCollection, *ResponseMeta, error)
func (*Gitlab) ProtectBranch ¶
func (g *Gitlab) ProtectBranch(projectId, branchName string) (*ResponseMeta, error)
func (*Gitlab) ProtectedBranches ¶
func (g *Gitlab) ProtectedBranches(projectId string, o *PaginationOptions) ([]*ProtectedBranch, *ResponseMeta, error)
func (*Gitlab) RemoveGroup ¶
func (g *Gitlab) RemoveGroup(id string) (string, *ResponseMeta, error)
func (*Gitlab) RemoveGroupVariable ¶
func (g *Gitlab) RemoveGroupVariable(groupId, varKey string) (*ResponseMeta, error)
func (*Gitlab) RemoveProject ¶
func (g *Gitlab) RemoveProject(id string) (string, *ResponseMeta, error)
func (*Gitlab) RemoveProjectBadge ¶
func (g *Gitlab) RemoveProjectBadge(projectId, badgeId string) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectBranch ¶
func (g *Gitlab) RemoveProjectBranch(projectId, branchName string) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectDeployKey ¶
func (g *Gitlab) RemoveProjectDeployKey(id, keyId string) (*ResponseMeta, error)
Remove deploy key from project
DELETE /projects/:id/keys/:key_id
Parameters:
id The ID of a project keyId The ID of a key
func (*Gitlab) RemoveProjectEnvironment ¶
func (g *Gitlab) RemoveProjectEnvironment(projectId string, id int) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectHook ¶
func (g *Gitlab) RemoveProjectHook(projectId, hookId string) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectMergedBranches ¶
func (g *Gitlab) RemoveProjectMergedBranches(projectId string) (string, *ResponseMeta, error)
func (*Gitlab) RemoveProjectVariable ¶
func (g *Gitlab) RemoveProjectVariable(projectId, varKey string) (*ResponseMeta, error)
func (*Gitlab) RemoveUser ¶
func (g *Gitlab) RemoveUser(id string) (*ResponseMeta, error)
func (*Gitlab) RepoActivityFeed ¶
func (g *Gitlab) RepoActivityFeed(feedPath string) ActivityFeed
func (*Gitlab) RepoCommits ¶
func (g *Gitlab) RepoCommits(id string) ([]*Commit, *ResponseMeta, error)
Get a list of repository commits in a project.
GET /projects/:id/repository/commits
Parameters:
id The ID of a project refName The name of a repository branch or tag or if not given the default branch
Usage:
commits, err := gitlab.RepoCommits("your_projet_id")
if err != nil {
fmt.Println(err.Error())
}
for _, commit := range commits {
fmt.Printf("%+v\n", commit)
}
func (*Gitlab) RepoRawFile ¶
func (g *Gitlab) RepoRawFile(id, sha, filepath string) ([]byte, *ResponseMeta, error)
Get Raw file content
func (*Gitlab) RepoTags ¶
func (g *Gitlab) RepoTags(id string) ([]*Tag, *ResponseMeta, error)
Get a list of repository tags from a project, sorted by name in reverse alphabetical order.
GET /projects/:id/repository/tags
Parameters:
id The ID of a project
Usage:
tags, err := gitlab.RepoTags("your_projet_id")
if err != nil {
fmt.Println(err.Error())
}
for _, tag := range tags {
fmt.Printf("%+v\n", tag)
}
func (*Gitlab) RepoTree ¶
func (g *Gitlab) RepoTree(id, path, refName string) ([]*TreeNode, *ResponseMeta, error)
Get a list of repository files and directories in a project.
GET /projects/:id/repository/tree
Parameters:
id (required) The ID of a project
path (optional) The path inside repository. Used to get contend of subdirectories
ref_name (optional) The name of a repository branch or tag or if not given the default branch
Usage:
pass nil when not using optional parameters
func (*Gitlab) ResourceUrl ¶
ResourceUrl builds an url for given resource path.
It replaces path placeholders with values from `params`:
/whatever/:id => /whatever/1
func (*Gitlab) ResourceUrlQ ¶
ResourceUrlQ generates an url and appends a query string to it if available
func (*Gitlab) RetryProjectJob ¶
func (*Gitlab) Runner ¶
func (g *Gitlab) Runner(id int) (*RunnerWithDetails, *ResponseMeta, error)
func (*Gitlab) Runners ¶
func (g *Gitlab) Runners(o *RunnersOptions) (*RunnerCollection, *ResponseMeta, error)
func (*Gitlab) StarProject ¶
func (g *Gitlab) StarProject(id string) (*Project, *ResponseMeta, error)
func (*Gitlab) UnprotectBranch ¶
func (g *Gitlab) UnprotectBranch(projectId, branchName string) (*ResponseMeta, error)
func (*Gitlab) UnstarProject ¶
func (g *Gitlab) UnstarProject(id string) (*Project, *ResponseMeta, error)
func (*Gitlab) UpdateGroup ¶
func (g *Gitlab) UpdateGroup(id string, group *GroupUpdatePayload) (*GroupWithDetails, error)
func (*Gitlab) UpdateProject ¶
func (*Gitlab) UpdateRunner ¶
func (*Gitlab) UserSshKeys ¶
func (g *Gitlab) UserSshKeys(userId int, o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
func (*Gitlab) Users ¶
func (g *Gitlab) Users(o *UsersOptions) (*UserCollection, *ResponseMeta, error)
type Group ¶
type Group struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name" yaml:"name"`
Path string `json:"path" yaml:"path"`
Description string `json:"description" yaml:"description"`
Visibility Visibility `json:"visibility" yaml:"visibility"`
LfsEnabled bool `json:"lfs_enabled" yaml:"lfs_enabled"`
RequestAccessEnabled bool `json:"request_access_enabled" yaml:"request_access_enabled"`
ParentId int `json:"parent_id" yaml:"parent_id"`
AvatarUrl string `json:"avatar_url" yaml:"avatar_url"`
WebURL string `json:"web_url" yaml:"web_url"`
FullName string `json:"full_name" yaml:"full_name"`
FullPath string `json:"full_path" yaml:"full_path"`
}
type GroupAddPayload ¶
type GroupAddPayload struct {
Name string `json:"name"`
Path string `json:"path"`
Description string `json:"description,omitempty"`
Visibility Visibility `json:"visibility,omitempty"`
LfsEnabled bool `json:"lfs_enabled,omitempty"`
RequestAccessEnabled bool `json:"request_access_enabled,omitempty"`
ParentId int `json:"parent_id,omitempty"`
}
type GroupCollection ¶
type GroupCollection struct {
Items []*Group
}
func (*GroupCollection) RenderJson ¶
func (c *GroupCollection) RenderJson(w io.Writer) error
func (*GroupCollection) RenderYaml ¶
func (c *GroupCollection) RenderYaml(w io.Writer) error
type GroupUpdatePayload ¶
type GroupUpdatePayload struct {
Id int `json:"id,omitempty"`
Name string `json:"name"`
Path string `json:"path"`
Description string `json:"description,omitempty"`
MembershipLock bool `json:"membership_lock,omitempty"`
Visibility Visibility `json:"visibility,omitempty"`
LfsEnabled bool `json:"lfs_enabled,omitempty"`
RequestAccessEnabled bool `json:"request_access_enabled,omitempty"`
}
type GroupWithDetails ¶
type GroupsOptions ¶
type GroupsOptions struct {
PaginationOptions
SortOptions
// Skip the group IDs passed
SkipGroups []string `url:"skip_groups,omitempty,comma"`
// Show all the groups you have access to
// (defaults to false for authenticated users, true for admin)
AllAvailable bool `url:"all_available,omitempty"`
// Return the list of authorized groups matching the search criteria
Search string `url:"search,omitempty"`
// Include group statistics (admins only)
Statistics bool `url:"statistics,omitempty"`
// Include custom attributes in response (admins only)
WithCustomAttributes bool `url:"with_custom_attributes,omitempty"`
// Limit to groups owned by the current user
Owned bool `url:"owned,omitempty"`
}
type Hook ¶
type Hook struct {
HookAddPayload
Id int `json:"id,omitempty" yaml:"id,omitempty"`
ProjectId int `json:"project_id,omitempty" yaml:"project_id,omitempty"`
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
}
type HookAddPayload ¶
type HookAddPayload struct {
Url string `json:"url" yaml:"url"`
PushEvents bool `json:"push_events" yaml:"push_events"`
IssuesEvents bool `json:"issues_events" yaml:"issues_events"`
ConfidentialIssuesEvents bool `json:"confidential_issues_events" yaml:"confidential_issues_events"`
MergeRequestsEvents bool `json:"merge_requests_events" yaml:"merge_requests_events"`
TagPushEvents bool `json:"tag_push_events" yaml:"tag_push_events"`
NoteEvents bool `json:"note_events" yaml:"note_events"`
JobEvents bool `json:"job_events" yaml:"job_events"`
PipelineEvents bool `json:"pipeline_events" yaml:"pipeline_events"`
WikiPageEvents bool `json:"wiki_page_events" yaml:"wiki_page_events"`
EnableSslVerification bool `json:"enable_ssl_verification" yaml:"enable_ssl_verification"`
Token string `json:"token" yaml:"token"`
}
type HookCollection ¶
type HookCollection struct {
Items []*Hook
}
func (*HookCollection) RenderJson ¶
func (c *HookCollection) RenderJson(w io.Writer) error
func (*HookCollection) RenderYaml ¶
func (c *HookCollection) RenderYaml(w io.Writer) error
type HookObjAttr ¶
type HookObjAttr struct {
Id int `json:"id,omitempty"`
Ref string `json:"ref,omitempty"`
Tag bool `json:"tag,omitempty"`
Sha string `json:"sha,omitempty"`
BeforeSha string `json:"before_sha,omitempty"`
Title string `json:"title,omitempty"`
AssigneeId int `json:"assignee_id,omitempty"`
AuthorId int `json:"author_id,omitempty"`
ProjectId int `json:"project_id,omitempty"`
Status string `json:"status,omitempty"`
Stages []string `json:"stages,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
FinishedAt time.Time `json:"finished_at,omitempty"`
Duration int `json:"duration,omitempty"`
Position int `json:"position,omitempty"`
BranchName string `json:"branch_name,omitempty"`
Description string `json:"description,omitempty"`
MilestoneId int `json:"milestone_id,omitempty"`
State string `json:"state,omitempty"`
IId int `json:"iid,omitempty"`
TargetBranch string `json:"target_branch,omitempty"`
SourceBranch string `json:"source_branch,omitempty"`
SourceProjectId int `json:"source_project_id,omitempty"`
StCommits string `json:"st_commits,omitempty"`
StDiffs string `json:"st_diffs,omitempty"`
MergeStatus string `json:"merge_status,omitempty"`
TargetProjectId int `json:"target_project_id,omitempty"`
}
type HookPayload ¶
type HookPayload struct {
Before string `json:"before,omitempty"`
After string `json:"after,omitempty"`
Ref string `json:"ref,omitempty"`
UserId int `json:"user_id,omitempty"`
UserName string `json:"user_name,omitempty"`
ProjectId int `json:"project_id,omitempty"`
Project *hProject `json:"project,omitempty"`
Repository *hRepository `json:"repository,omitempty"`
Commits []hCommit `json:"commits,omitempty"`
Commit *hCommit `json:"commit,omitempty"`
TotalCommitsCount int `json:"total_commits_count,omitempty"`
ObjectKind string `json:"object_kind,omitempty"`
ObjectAttributes *HookObjAttr `json:"object_attributes,omitempty"`
Builds []*Build `json:"builds,omitempty"`
}
func ParseHook ¶
func ParseHook(payload []byte) (*HookPayload, error)
ParseHook parses hook payload from GitLab
func (*HookPayload) Branch ¶
func (h *HookPayload) Branch() string
Branch returns current branch for pipeline and push event hook payload This function returns empty string for any other events
func (*HookPayload) Head ¶
func (h *HookPayload) Head() hCommit
Head returns the latest changeset for push event hook payload
type Issue ¶
type Issue struct {
Id int `json:"id"`
IId int `json:"iid"`
ProjectId int `json:"project_id,omitempty"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
Labels []string `json:"labels,omitempty"`
Milestone *Milestone `json:"milestone,omitempty"`
Assignee *User `json:"assignee,omitempty"`
Author *User `json:"author,omitempty"`
State string `json:"state,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
type IssueRequest ¶
type Job ¶
type Job struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
Status string `json:"status,omitempty" yaml:"status,omitempty"`
Stage string `json:"stage,omitempty" yaml:"stage,omitempty"`
Ref string `json:"ref,omitempty" yaml:"ref,omitempty"`
Tag bool `json:"tag,omitempty" yaml:"tag,omitempty"`
Coverage float64 `json:"coverage,omitempty" yaml:"coverage,omitempty"`
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
StartedAt string `json:"started_at,omitempty" yaml:"started_at,omitempty"`
FinishedAt string `json:"finished_at,omitempty" yaml:"finished_at,omitempty"`
Duration float64 `json:"duration,omitempty" yaml:"duration,omitempty"`
ArtifactsExpireAt string `json:"artifacts_expire_at,omitempty" yaml:"artifacts_expire_at,omitempty"`
Pipeline struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Status string `json:"status,omitempty" yaml:"status,omitempty"`
Ref string `json:"ref,omitempty" yaml:"ref,omitempty"`
Sha string `json:"sha,omitempty" yaml:"sha,omitempty"`
} `json:"pipeline" yaml:"pipeline"`
User struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
Username string `json:"username,omitempty" yaml:"username,omitempty"`
State string `json:"state,omitempty" yaml:"state,omitempty"`
AvatarUrl string `json:"avatar_url,omitempty" yaml:"avatar_url,omitempty"`
WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"`
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
Bio string `json:"bio,omitempty" yaml:"bio,omitempty"`
Location string `json:"location,omitempty" yaml:"location,omitempty"`
Skype string `json:"skype,omitempty" yaml:"skype,omitempty"`
Linkedin string `json:"linkedin,omitempty" yaml:"linkedin,omitempty"`
Twitter string `json:"twitter,omitempty" yaml:"twitter,omitempty"`
WebsiteUrl string `json:"website_url,omitempty" yaml:"website_url,omitempty"`
Organization string `json:"organization,omitempty" yaml:"organization,omitempty"`
} `json:"user" yaml:"user"`
Commit struct {
Id string `json:"id,omitempty" yaml:"id,omitempty"`
ShortId string `json:"short_id,omitempty" yaml:"short_id,omitempty"`
Title string `json:"title,omitempty" yaml:"title,omitempty"`
Message string `json:"message,omitempty" yaml:"message,omitempty"`
AuthorName string `json:"author_name,omitempty" yaml:"author_name,omitempty"`
AuthorEmail string `json:"author_email,omitempty" yaml:"author_email,omitempty"`
CommitterName string `json:"committer_name,omitempty" yaml:"committer_name,omitempty"`
CommitterEmail string `json:"committer_email,omitempty" yaml:"committer_email,omitempty"`
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
AuthoredDate string `json:"authored_date,omitempty" yaml:"authored_date,omitempty"`
CommittedDate string `json:"committed_date,omitempty" yaml:"committed_date,omitempty"`
ParentIds []string `json:"parent_ids,omitempty" yaml:"parent_ids,omitempty"`
} `json:"commit" yaml:"commit"`
Runner struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
IpAddress string `json:"ip_address,omitempty" yaml:"ip_address,omitempty"`
Active bool `json:"active,omitempty" yaml:"active,omitempty"`
IsShared bool `json:"is_shared,omitempty" yaml:"is_shared,omitempty"`
Online bool `json:"online,omitempty" yaml:"online,omitempty"`
Status string `json:"status,omitempty" yaml:"status,omitempty"`
} `json:"runner" yaml:"runner"`
}
type JobCollection ¶
type JobCollection struct {
Items []*Job
}
func (*JobCollection) RenderJson ¶
func (c *JobCollection) RenderJson(w io.Writer) error
func (*JobCollection) RenderYaml ¶
func (c *JobCollection) RenderYaml(w io.Writer) error
type JobsOptions ¶
type JobsOptions struct {
PaginationOptions
SortOptions
// The scope of jobs to show, one or array of:
// created, pending, running, failed, success, canceled, skipped, manual;
// showing all jobs if none provided
Scope []string `url:"scope,omitempty"`
}
type Member ¶
type MemberCollection ¶
type MemberCollection struct {
Items []*Member
}
func (*MemberCollection) RenderJson ¶
func (c *MemberCollection) RenderJson(w io.Writer) error
func (*MemberCollection) RenderYaml ¶
func (c *MemberCollection) RenderYaml(w io.Writer) error
type MembersOptions ¶
type MembersOptions struct {
PaginationOptions
Query string `url:"query,omitempty"`
}
type MergeRequest ¶
type MergeRequest struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Iid int `json:"iid,omitempty" yaml:"iid,omitempty"`
ProjectId int `json:"project_id,omitempty" yaml:"project_id,omitempty"`
WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"`
Title string `json:"title,omitempty" yaml:"title,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
State string `json:"state,omitempty" yaml:"state,omitempty"`
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty" yaml:"updated_at,omitempty"`
SourceBranch string `json:"source_branch,omitempty" yaml:"source_branch,omitempty"`
TargetBranch string `json:"target_branch,omitempty" yaml:"target_branch,omitempty"`
Upvotes int `json:"upvotes,omitempty" yaml:"upvotes,omitempty"`
Downvotes int `json:"downvotes,omitempty" yaml:"downvotes,omitempty"`
SourceProjectID int `json:"source_project_id,omitempty" yaml:"source_project_id,omitempty"`
TargetProjectID int `json:"target_project_id,omitempty" yaml:"target_project_id,omitempty"`
Sha string `json:"sha,omitempty" yaml:"sha,omitempty"`
MergeCommitSha string `json:"merge_commit_sha,omitempty" yaml:"merge_commit_sha,omitempty"`
WorkInProgress bool `json:"work_in_progress,omitempty" yaml:"work_in_progress,omitempty"`
MergeStatus string `json:"merge_status,omitempty" yaml:"merge_status,omitempty"`
Squash bool `json:"squash,omitempty" yaml:"squash,omitempty"`
MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds,omitempty" yaml:"merge_when_pipeline_succeeds,omitempty"`
ShouldRemoveSourceBranch bool `json:"should_remove_source_branch,omitempty" yaml:"should_remove_source_branch,omitempty"`
ForceRemoveSourceBranch bool `json:"force_remove_source_branch,omitempty" yaml:"force_remove_source_branch,omitempty"`
DiscussionLocked bool `json:"discussion_locked,omitempty" yaml:"discussion_locked,omitempty"`
UserNotesCount int `json:"user_notes_count,omitempty" yaml:"user_notes_count,omitempty"`
Pipeline *Pipeline `json:"pipeline,omitempty" yaml:"pipeline,omitempty"`
Author *MergeRequestUser `json:"author,omitempty" yaml:"author,omitempty"`
Assignee *MergeRequestUser `json:"assignee,omitempty" yaml:"assignee,omitempty"`
Labels []string `json:"labels,omitempty" yaml:"labels,omitempty"`
TimeStats *TimeStats `json:"time_stats,omitempty" yaml:"time_stats,omitempty"`
Milestone *Milestone `json:"milestone,omitempty" yaml:"milestone,omitempty"`
}
func (*MergeRequest) RenderJson ¶
func (mr *MergeRequest) RenderJson(w io.Writer) error
func (*MergeRequest) RenderYaml ¶
func (mr *MergeRequest) RenderYaml(w io.Writer) error
type MergeRequestChanges ¶
type MergeRequestChanges struct {
*MergeRequest
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
SourceProjectId int `json:"source_project_id,omitempty"`
TargetProjectId int `json:"target_project_id,omitempty"`
Labels []string `json:"labels,omitempty"`
Milestone Milestone `json:"milestone,omitempty"`
Changes []ChangeItem `json:"changes,omitempty"`
}
type MergeRequestCollection ¶
type MergeRequestCollection struct {
Items []*MergeRequest
}
func (*MergeRequestCollection) RenderJson ¶
func (c *MergeRequestCollection) RenderJson(w io.Writer) error
func (*MergeRequestCollection) RenderYaml ¶
func (c *MergeRequestCollection) RenderYaml(w io.Writer) error
type MergeRequestScope ¶
type MergeRequestScope string
const ( MergeRequestScopeCreatedByMe MergeRequestScope = "created_by_me" LegacyMergeRequestScopeCreatedByMe MergeRequestScope = "created-by-me" MergeRequestScopeAssignedToMe MergeRequestScope = "assigned_to_me" LegacyMergeRequestScopeAssignedToMe MergeRequestScope = "assigned-to-me" MergeRequestScopeAll MergeRequestScope = "all" )
For versions before 11.0, use the now deprecated created-by-me or assigned-to-me scopes
type MergeRequestUser ¶
type MergeRequestUser struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Username string `json:"username,omitempty" yaml:"username,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
State string `json:"state,omitempty" yaml:"state,omitempty"`
AvatarUrl string `json:"avatar_url,omitempty" yaml:"avatar_url,omitempty"`
WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"`
}
type MergeRequestsOptions ¶
type MergeRequestsOptions struct {
PaginationOptions
SortOptions
// Return the request having the given iid
// only available for generic merge requests API endpoint
Iids []int `url:"iids,omitempty,comma"`
// Return all merge requests or just those that are
// opened, closed, locked, or merged
State string `url:"state,omitempty"`
// Return merge requests for a specific milestone
Milestone string `url:"milestone,omitempty"`
// If simple, returns the iid, URL, title, description,
// and basic state of merge request
View string `url:"view,omitempty"`
// Return merge requests matching a comma separated
// list of labels
Labels []string `url:"labels,omitempty,comma"`
// Return merge requests created on or after the given time
CreatedAfter *time.Time `url:"created_after,omitempty"`
// Return merge requests created on or before the given time
CreatedBefore *time.Time `url:"created_before,omitempty"`
// Return merge requests updated on or after the given time
UpdatedAfter *time.Time `url:"updated_after,omitempty"`
// Return merge requests updated on or before the given time
UpdatedBefore *time.Time `url:"updated_before,omitempty"`
// Return merge requests with the given source branch
SourceBranch string `url:"source_branch,omitempty"`
// Return merge requests with the given target branch
TargetBranch string `url:"target_branch,omitempty"`
// Search merge requests against their title and description
Search string `url:"search,omitempty"`
// Returns merge requests created by the given user id
AuthorId int `url:"author_id,omitempty"`
// Returns merge requests assigned to the given user id
AssigneeId int `url:"assignee_id,omitempty"`
// Return merge requests reacted by the authenticated user by the given emoji
MyReactionEmoji string `url:"my_reaction_emoji,omitempty"`
// Return merge requests for the given scope: created_by_me, assigned_to_me or all,
// For versions before 11.0, use the now deprecated created-by-me or assigned-to-me scopes instead.
Scope MergeRequestScope `url:"scope,omitempty"`
}
type Milestone ¶
type Milestone struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Iid int `json:"iid,omitempty" yaml:"iid,omitempty"`
GroupId int `json:"group_id,omitempty" yaml:"group_id,omitempty"`
ProjectId int `json:"project_id,omitempty" yaml:"project_id,omitempty"`
Title string `json:"title,omitempty" yaml:"title,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
State string `json:"state,omitempty" yaml:"state,omitempty"`
UpdatedAt string `json:"updated_at,omitempty" yaml:"updated_at,omitempty"`
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
DueDate string `json:"due_date,omitempty" yaml:"due_date,omitempty"`
StartDate string `json:"start_date,omitempty" yaml:"start_date,omitempty"`
WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"`
}
type MinimalProject ¶
type Namespace ¶
type Namespace struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name,omitempty,omitempty" yaml:"name,omitempty,omitempty"`
Path string `json:"path,omitempty,omitempty" yaml:"path,omitempty,omitempty"`
Kind string `json:"kind,omitempty,omitempty" yaml:"kind,omitempty,omitempty"`
FullPath string `json:"full_path,omitempty,omitempty" yaml:"full_path,omitempty,omitempty"`
ParentId int `json:"parent_id,omitempty" yaml:"parent_id,omitempty"`
MembersCountWithDescendants int `json:"members_count_with_descendants,omitempty" yaml:"members_count_with_descendants,omitempty"`
Plan string `json:"plan,omitempty" yaml:"plan,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
OwnerId int `json:"owner_id,omitempty" yaml:"owner_id,omitempty"`
CreatedAt string `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
UpdatedAt string `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}
type NamespaceCollection ¶
type NamespaceCollection struct {
Items []*Namespace
}
func (*NamespaceCollection) RenderJson ¶
func (c *NamespaceCollection) RenderJson(w io.Writer) error
func (*NamespaceCollection) RenderYaml ¶
func (c *NamespaceCollection) RenderYaml(w io.Writer) error
type NamespacesOptions ¶
type NamespacesOptions struct {
PaginationOptions
SortOptions
// Returns a list of namespaces the user is authorized to see
// based on the search criteria
Search string `url:"search,omitempty"`
}
type PaginationOptions ¶
type PipelineCollection ¶
type PipelineCollection struct {
Items []*Pipeline
}
func (*PipelineCollection) RenderJson ¶
func (c *PipelineCollection) RenderJson(w io.Writer) error
func (*PipelineCollection) RenderYaml ¶
func (c *PipelineCollection) RenderYaml(w io.Writer) error
type PipelineWithDetails ¶
type PipelineWithDetails struct {
Pipeline
BeforeSha string `json:"before_sha"`
Tag bool `json:"tag"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
StartedAt string `json:"started_at"`
FinishedAt string `json:"finished_at"`
CommittedAt string `json:"committed_at"`
Duration int `json:"duration"`
Coverage string `json:"coverage"`
YamlErrors string `json:"yaml_errors"`
User struct {
Id int `json:"id"`
Username string `json:"username"`
Name string `json:"name"`
State string `json:"state"`
AvatarUrl string `json:"avatar_url"`
WebUrl string `json:"web_url"`
}
}
func (*PipelineWithDetails) RenderJson ¶
func (p *PipelineWithDetails) RenderJson(w io.Writer) error
func (*PipelineWithDetails) RenderYaml ¶
func (p *PipelineWithDetails) RenderYaml(w io.Writer) error
type PipelinesOptions ¶
type PipelinesOptions struct {
PaginationOptions
SortOptions
// The scope of pipelines, one of:
// running, pending, finished, branches, tags
Scope string `url:"scope,omitempty"`
// The status of pipelines, one of:
// running, pending, success, failed, canceled, skipped
Status string `url:"status,omitempty"`
// The ref of pipelines
Ref string `url:"ref,omitempty"`
// The sha or pipelines
Sha string `url:"sha,omitempty"`
// Returns pipelines with invalid configurations
YamlErrors bool `url:"yaml_errors,omitempty"`
// The name of the user who triggered pipelines
Name string `url:"name,omitempty"`
// The username of the user who triggered pipelines
Username string `url:"username,omitempty"`
}
type Project ¶
type Project struct {
MinimalProject
Description string `json:"description" yaml:"description"`
DefaultBranch string `json:"default_branch" yaml:"default_branch"`
Owner *Member `json:"owner" yaml:"owner"`
Public bool `json:"public" yaml:"public"`
Visibility Visibility `json:"visibility" yaml:"visibility"`
IssuesEnabled bool `json:"issues_enabled" yaml:"issues_enabled"`
OpenIssuesCount int `json:"open_issues_count" yaml:"open_issues_count"`
MergeRequestsEnabled bool `json:"merge_requests_enabled" yaml:"merge_requests_enabled"`
WallEnabled bool `json:"wall_enabled" yaml:"wall_enabled"`
WikiEnabled bool `json:"wiki_enabled" yaml:"wiki_enabled"`
CreatedAtRaw string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
Namespace *Namespace `json:"namespace,omitempty" yaml:"namespace,omitempty"`
NamespaceId int `json:"namespace_id" yaml:"namespace_id"`
SshRepoUrl string `json:"ssh_url_to_repo" yaml:"ssh_url_to_repo"`
HttpRepoUrl string `json:"http_url_to_repo" yaml:"http_url_to_repo"`
WebUrl string `json:"web_url" yaml:"web_url"`
ReadmeUrl string `json:"readme_url" yaml:"readme_url"`
Archived bool `json:"archived" yaml:"archived"`
OnlyAllowMergeIfPipelineSucceeds bool `json:"only_allow_merge_if_pipeline_succeeds" yaml:"only_allow_merge_if_pipeline_succeeds"`
OnlyAllowMergeIfAllDiscussionsAreResolved bool `json:"only_allow_merge_if_all_discussions_are_resolved" yaml:"only_allow_merge_if_all_discussions_are_resolved"`
MergeMethod string `json:"merge_method" yaml:"merge_method"`
TagList []string `json:"tag_list" yaml:"tag_list"`
ForksCount int `json:"forks_count" yaml:"forks_count"`
StarCount int `json:"star_count" yaml:"star_count"`
Statistics *ProjectStatistics `json:"statistics" yaml:"statistics"`
}
type ProjectAddPayload ¶
type ProjectCollection ¶
type ProjectCollection struct {
Items []*Project
}
func (*ProjectCollection) RenderJson ¶
func (c *ProjectCollection) RenderJson(w io.Writer) error
func (*ProjectCollection) RenderYaml ¶
func (c *ProjectCollection) RenderYaml(w io.Writer) error
type ProjectGroupSharing ¶
type ProjectStatistics ¶
type ProjectStatistics struct {
CommitCount int `json:"commit_count" yaml:"commit_count"`
StorageSize int `json:"storage_size" yaml:"storage_size"`
RepositorySize int `json:"repository_size" yaml:"repository_size"`
LfsObjectsSize int `json:"lfs_objects_size" yaml:"lfs_objects_size"`
JobArtifactsSize int `json:"job_artifacts_size" yaml:"job_artifacts_size"`
}
type ProjectsOptions ¶
type ProjectsOptions struct {
PaginationOptions
SortOptions
// Limit by archived status
Archived bool `url:"archived,omitempty"`
// Limit by visibility public, internal, or private
Visibility Visibility `url:"visibility,omitempty"`
// Return projects ordered by id, name, path, created_at, updated_at,
// or last_activity_at fields. Default is created_at
OrderBy ProjectsOrder `url:"order_by,omitempty"`
// Return list of projects matching the search criteria
Search string `url:"search,omitempty"`
// Return only the ID, URL, name, and path of each project
Simple bool `url:"simple,omitempty"`
// Limit by projects owned by the current user
Owned bool `url:"owned,omitempty"`
// Limit by projects that the current user is a member of
Membership bool `url:"membership,omitempty"`
// Limit by projects starred by the current user
Starred bool `url:"starred,omitempty"`
// Include project statistics
Statistics bool `url:"statistics,omitempty"`
// Include custom attributes in response (admins only)
WithCustomAttributes bool `url:"with_custom_attributes,omitempty"`
// Limit by enabled issues feature
WithIssuesEnabled bool `url:"with_issues_enabled,omitempty"`
// Limit by enabled merge requests feature
WithMergeRequestsEnabled bool `url:"with_merge_requests_enabled,omitempty"`
}
type ProjectsOrder ¶
type ProjectsOrder string
const ( ProjectsOrderId ProjectsOrder = "id" ProjectsOrderName ProjectsOrder = "name" ProjectsOrderPath ProjectsOrder = "path" )
type ProtectedBranch ¶
type ProtectedBranch struct {
Name string `json:"name,omitempty"`
PushAccessLevels []*AccessLevelInfo `json:"push_access_levels,omitempty"`
MergeAccessLevels []*AccessLevelInfo `json:"merge_access_levels,omitempty"`
}
type Renderable ¶
type ResponseMeta ¶
type ResponseWithMessage ¶
type ResponseWithMessage struct {
Message string `json:"message"`
}
type Runner ¶
type Runner struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
Active bool `json:"active,omitempty" yaml:"active,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
IpAddress string `json:"ip_address,omitempty" yaml:"ip_address,omitempty"`
Online bool `json:"online,omitempty" yaml:"online,omitempty"`
Status string `json:"status,omitempty" yaml:"status,omitempty"`
}
type RunnerCollection ¶
type RunnerCollection struct {
Items []*Runner
}
func (*RunnerCollection) RenderJson ¶
func (c *RunnerCollection) RenderJson(w io.Writer) error
func (*RunnerCollection) RenderYaml ¶
func (c *RunnerCollection) RenderYaml(w io.Writer) error
type RunnerScope ¶
type RunnerScope string
const ( RunnerScopeSpecific RunnerScope = "specific" RunnerScopeActive RunnerScope = "active" RunnerScopePaused RunnerScope = "paused" RunnerScopeOnline RunnerScope = "online" )
type RunnerWithDetails ¶
type RunnerWithDetails struct {
Runner `yaml:",inline"`
Architecture string `json:"architecture,omitempty" yaml:"architecture,omitempty"`
Platform string `json:"platform,omitempty" yaml:"platform,omitempty"`
Token string `json:"token,omitempty" yaml:"token,omitempty"`
Revision string `json:"revision,omitempty" yaml:"revision,omitempty"`
ContactedAt string `json:"contacted_at,omitempty" yaml:"contacted_at,omitempty"`
Version string `json:"version,omitempty" yaml:"version,omitempty"`
Projects []*Project `json:"projects,omitempty" yaml:"projects,omitempty"`
TagList []string `json:"tag_list,omitempty" yaml:"tag_list,omitempty"`
AccessLevel string `json:"access_level,omitempty" yaml:"access_level,omitempty"`
MaximumTimeout int `json:"maximum_timeout,omitempty" yaml:"maximum_timeout,omitempty"`
}
func (*RunnerWithDetails) RenderJson ¶
func (r *RunnerWithDetails) RenderJson(w io.Writer) error
func (*RunnerWithDetails) RenderYaml ¶
func (r *RunnerWithDetails) RenderYaml(w io.Writer) error
type RunnersOptions ¶
type RunnersOptions struct {
PaginationOptions
SortOptions
// Get a list of all runners in the GitLab instance (specific and shared).
// Access is restricted to users with admin privileges
All bool `url:"-"`
// The scope of runners to show, one of: specific, shared, active, paused, online;
// showing all runners if none provided
Scope RunnerScope `url:"scope,omitempty"`
}
type SortDirection ¶
type SortDirection string
const ( SortDirectionAsc SortDirection = "asc" SortDirectionDesc SortDirection = "desc" )
type SortOptions ¶
type SortOptions struct {
OrderBy string `url:"order_by,omitempty"`
Sort SortDirection `url:"sort,omitempty"`
}
type SshKey ¶
type SshKeyCollection ¶
type SshKeyCollection struct {
Items []*SshKey
}
func (*SshKeyCollection) RenderJson ¶
func (c *SshKeyCollection) RenderJson(w io.Writer) error
func (*SshKeyCollection) RenderYaml ¶
func (c *SshKeyCollection) RenderYaml(w io.Writer) error
type Tag ¶
type Tag struct {
Name string `json:"name,omitempty"`
Protected bool `json:"protected,omitempty"`
Commit *BranchCommit `json:"commit,omitempty"`
}
type TimeStats ¶
type TimeStats struct {
TimeEstimate int `json:"time_estimate,omitempty" yaml:"time_estimate,omitempty"`
TotalTimeSpent int `json:"total_time_spent,omitempty" yaml:"total_time_spent,omitempty"`
HumanTimeEstimate string `json:"human_time_estimate,omitempty" yaml:"human_time_estimate,omitempty"`
HumanTotalTimeSpent string `json:"human_total_time_spent,omitempty" yaml:"human_total_time_spent,omitempty"`
}
type User ¶
type User struct {
Id int `json:"id,omitempty" yaml:"id,omitempty"`
Username string `json:"username,omitempty" yaml:"username,omitempty"`
Email string `json:"email,omitempty" yaml:"email,omitempty"`
Name string `json:"name,omitempty" yaml:"name,omitempty"`
State string `json:"state,omitempty" yaml:"state,omitempty"`
AvatarUrl string `json:"avatar_url,omitempty" yaml:"avatar_url,omitempty"`
WebUrl string `json:"web_url" yaml:"web_url"`
CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"`
IsAdmin bool `json:"is_admin,omitempty" yaml:"is_admin,omitempty"`
Bio string `json:"bio,omitempty" yaml:"bio,omitempty"`
Location string `json:"location,omitempty" yaml:"location,omitempty"`
Skype string `json:"skype,omitempty" yaml:"skype,omitempty"`
LinkedIn string `json:"linkedin,omitempty" yaml:"linkedin,omitempty"`
Twitter string `json:"twitter,omitempty" yaml:"twitter,omitempty"`
WebsiteUrl string `json:"website_url" yaml:"website_url"`
Organization string `json:"organization" yaml:"organization"`
LastSignInAt string `json:"last_sign_in_at,omitempty" yaml:"last_sign_in_at,omitempty"`
ConfirmedAt string `json:"confirmed_at,omitempty" yaml:"confirmed_at,omitempty"`
ThemeId int `json:"theme_id,omitempty" yaml:"theme_id,omitempty"`
LastActivityOn string `json:"last_activity_on,omitempty" yaml:"last_activity_on,omitempty"`
ColorSchemeId int `json:"color_scheme_id,omitempty" yaml:"color_scheme_id,omitempty"`
ProjectsLimit int `json:"projects_limit,omitempty" yaml:"projects_limit,omitempty"`
CurrentSignInAt string `json:"current_sign_in_at,omitempty" yaml:"current_sign_in_at,omitempty"`
Identities []*UserIdentity `json:"identities,omitempty" yaml:"identities,omitempty"`
CanCreateGroup bool `json:"can_create_group,omitempty" yaml:"can_create_group,omitempty"`
CanCreateProject bool `json:"can_create_project,omitempty" yaml:"can_create_project,omitempty"`
TwoFactorEnabled bool `json:"two_factor_enabled,omitempty" yaml:"two_factor_enabled,omitempty"`
External bool `json:"external,omitempty" yaml:"external,omitempty"`
}
type UserCollection ¶
type UserCollection struct {
Items []*User
}
func (*UserCollection) RenderJson ¶
func (c *UserCollection) RenderJson(w io.Writer) error
func (*UserCollection) RenderYaml ¶
func (c *UserCollection) RenderYaml(w io.Writer) error
type UserIdentity ¶
type UsersOptions ¶
type UsersOptions struct {
PaginationOptions
// Search users by email or username
Search string `url:"search,omitempty"`
// Search users by username
Username string `url:"username,omitempty"`
// Limit to active users
Active bool `url:"active,omitempty"`
// Limit to blocked users
Blocked bool `url:"blocked,omitempty"`
}
type Variable ¶
type VariableCollection ¶
type VariableCollection struct {
Items []*Variable
}
func (*VariableCollection) RenderJson ¶
func (c *VariableCollection) RenderJson(w io.Writer) error
func (*VariableCollection) RenderYaml ¶
func (c *VariableCollection) RenderYaml(w io.Writer) error
type Visibility ¶
type Visibility string
const ( // VisibilityPrivate indicates project access must be granted explicitly for each user. VisibilityPrivate Visibility = "private" // VisibilityInternal indicates the project can be cloned by any logged in user. VisibilityInternal Visibility = "internal" // VisibilityPublic indicates the project can be cloned without any authentication. VisibilityPublic Visibility = "public" )