 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
- func ExtractKeysFromMapString(in map[string]VisibleType) (keys []string)
- type APIError
- type AccessToken
- type AccessTokenList
- type ActionArtifact
- type ActionArtifactsResponse
- type ActionRunner
- type ActionRunnerLabel
- type ActionRunnersResponse
- type ActionTask
- type ActionTaskResponse
- type ActionVariable
- type ActionWorkflow
- type ActionWorkflowJob
- type ActionWorkflowJobsResponse
- type ActionWorkflowResponse
- type ActionWorkflowRun
- type ActionWorkflowRunsResponse
- type ActionWorkflowStep
- type Activity
- type ActivityPub
- type AddCollaboratorOption
- type AddOrgMembershipOption
- type AddTimeOption
- type AnnotatedTag
- type AnnotatedTagObject
- type ApplyDiffPatchFileOptions
- type Attachment
- type Badge
- type Branch
- type BranchProtection
- type ChangeFileOperation
- type ChangeFilesOptions
- type ChangedFile
- type ChangesFromPayload
- type ChangesPayload
- type CombinedStatus
- type Comment
- type Commit
- type CommitAffectedFiles
- type CommitDateOptions
- type CommitMeta
- type CommitStats
- type CommitStatus
- type CommitStatusPayload
- type CommitUser
- type Compare
- type ContentsExtResponse
- type ContentsResponse
- type CreateAccessTokenOption
- type CreateActionWorkflowDispatch
- type CreateBranchProtectionOption
- type CreateBranchRepoOption
- type CreateEmailOption
- type CreateFileOptions
- type CreateForkOption
- type CreateGPGKeyOption
- type CreateHookOption
- type CreateHookOptionConfig
- type CreateIssueCommentOption
- type CreateIssueOption
- type CreateKeyOption
- type CreateLabelOption
- type CreateMilestoneOption
- type CreateOAuth2ApplicationOptions
- type CreateOrUpdateSecretOption
- type CreateOrgOption
- type CreatePayload
- type CreatePullRequestOption
- type CreatePullReviewComment
- type CreatePullReviewOptions
- type CreatePushMirrorOption
- type CreateReleaseOption
- type CreateRepoOption
- type CreateStatusOption
- type CreateTagOption
- type CreateTagProtectionOption
- type CreateTeamOption
- type CreateUserOption
- type CreateVariableOption
- type CreateWikiPageOptions
- type Cron
- type DeleteEmailOption
- type DeleteFileOptions
- type DeletePayload
- type DeployKey
- type DismissPullReviewOptions
- type EditAttachmentOptions
- type EditBranchProtectionOption
- type EditDeadlineOption
- type EditGitHookOption
- type EditHookOption
- type EditIssueCommentOption
- type EditIssueOption
- type EditLabelOption
- type EditMilestoneOption
- type EditOrgOption
- type EditPullRequestOption
- type EditReactionOption
- type EditReleaseOption
- type EditRepoOption
- type EditTagProtectionOption
- type EditTeamOption
- type EditUserOption
- type Email
- type ExternalTracker
- type ExternalWiki
- type FileCommitResponse
- type FileDeleteResponse
- type FileLinksResponse
- type FileOptions
- type FileOptionsInterface
- type FileOptionsWithSHA
- type FileResponse
- type FilesResponse
- type ForkPayload
- type GPGKey
- type GPGKeyEmail
- type GeneralAPISettings
- type GeneralAttachmentSettings
- type GeneralRepoSettings
- type GeneralUISettings
- type GenerateRepoOption
- type GetFilesOptions
- type GitBlobResponse
- type GitEntry
- type GitHook
- type GitHookList
- type GitObject
- type GitServiceType
- type GitTreeResponse
- type GitignoreTemplateInfo
- type Hook
- type HookIssueAction
- type HookIssueCommentAction
- type HookList
- type HookPackageAction
- type HookReleaseAction
- type HookRepoAction
- type HookWikiAction
- type Identity
- type InternalTracker
- type Issue
- type IssueCommentPayload
- type IssueConfig
- type IssueConfigContactLink
- type IssueConfigValidation
- type IssueDeadline
- type IssueFormField
- type IssueFormFieldType
- type IssueFormFieldVisible
- type IssueLabelsOption
- type IssueMeta
- type IssuePayload
- type IssueTemplate
- type IssueTemplateStringSlice
- type IssueTemplateType
- type LFSLock
- type LFSLockDeleteRequest
- type LFSLockError
- type LFSLockList
- type LFSLockListVerify
- type LFSLockOwner
- type LFSLockRequest
- type LFSLockResponse
- type Label
- type LabelTemplate
- type LicenseTemplateInfo
- type LicensesTemplateListEntry
- type ListPullRequestsOptions
- type LockIssueOption
- type MarkdownOption
- type MarkdownRender
- type MarkupOption
- type MarkupRender
- type MergeUpstreamRequest
- type MergeUpstreamResponse
- type MigrateRepoOptions
- type Milestone
- type NewIssuePinsAllowed
- type NodeInfo
- type NodeInfoServices
- type NodeInfoSoftware
- type NodeInfoUsage
- type NodeInfoUsageUsers
- type Note
- type NotificationCount
- type NotificationSubject
- type NotificationThread
- type NotifySubjectType
- type OAuth2Application
- type OAuth2ApplicationList
- type Organization
- type OrganizationPermissions
- type PRBranchInfo
- type Package
- type PackageFile
- type PackagePayload
- type PayloadCommit
- type PayloadCommitVerification
- type PayloadUser
- type Payloader
- type Permission
- type PublicKey
- type PullRequest
- type PullRequestMeta
- type PullRequestPayload
- type PullReview
- type PullReviewComment
- type PullReviewRequestOptions
- type PushMirror
- type PushPayload
- type PusherType
- type Reaction
- type Reference
- type Release
- type ReleasePayload
- type RenameBranchRepoOption
- type RenameOrgOption
- type RenameUserOption
- type RepoCollaboratorPermission
- type RepoCommit
- type RepoTopicOptions
- type RepoTransfer
- type Repository
- type RepositoryMeta
- type RepositoryPayload
- type ReviewPayload
- type ReviewStateType
- type SearchError
- type SearchResults
- type Secret
- type ServerVersion
- type StateType
- type StopWatch
- type StopWatches
- type SubmitPullReviewOptions
- type Tag
- type TagProtection
- type TaskStatus
- type TaskType
- type Team
- type TimelineComment
- type TopicName
- type TopicResponse
- type TrackedTime
- type TrackedTimeList
- type TransferRepoOption
- type UpdateBranchProtectionPriories
- type UpdateFileOptions
- type UpdateRepoAvatarOption
- type UpdateUserAvatarOption
- type UpdateVariableOption
- type User
- type UserBadge
- type UserBadgeOption
- type UserSettings
- type UserSettingsOptions
- type VerifyGPGKeyOption
- type VisibleType
- type WatchInfo
- type WikiCommit
- type WikiCommitList
- type WikiPage
- type WikiPageMetaData
- type WikiPayload
- type WorkflowDispatchPayload
- type WorkflowJobPayload
- type WorkflowRunPayload
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidReceiveHook = errors.New("Invalid JSON payload received over webhook")
    ErrInvalidReceiveHook FIXME
var SupportedFullGitService = []GitServiceType{ GithubService, GitlabService, GiteaService, GogsService, OneDevService, GitBucketService, CodebaseService, CodeCommitService, }
SupportedFullGitService represents all git services supported to migrate issues/labels/prs and etc. TODO: add to this list after new git service added
var VisibilityModes = map[string]VisibleType{ "public": VisibleTypePublic, "limited": VisibleTypeLimited, "private": VisibleTypePrivate, }
VisibilityModes is a map of Visibility types
Functions ¶
func ExtractKeysFromMapString ¶
func ExtractKeysFromMapString(in map[string]VisibleType) (keys []string)
ExtractKeysFromMapString provides a slice of keys from map
Types ¶
type APIError ¶ added in v1.10.0
type APIError struct {
	// Message contains the error description
	Message string `json:"message"`
	// URL contains the documentation URL for this error
	URL string `json:"url"`
}
    APIError is an api error with a message
type AccessToken ¶ added in v1.9.0
type AccessToken struct {
	// The unique identifier of the access token
	ID int64 `json:"id"`
	// The name of the access token
	Name string `json:"name"`
	// The SHA1 hash of the access token
	Token string `json:"sha1"`
	// The last eight characters of the token
	TokenLastEight string `json:"token_last_eight"`
	// The scopes granted to this access token
	Scopes []string `json:"scopes"`
	// The timestamp when the token was created
	Created time.Time `json:"created_at"`
	// The timestamp when the token was last used
	Updated time.Time `json:"last_used_at"`
}
    AccessToken represents an API access token. swagger:response AccessToken
type AccessTokenList ¶ added in v1.9.0
type AccessTokenList []*AccessToken
AccessTokenList represents a list of API access token. swagger:response AccessTokenList
type ActionArtifact ¶ added in v1.24.0
type ActionArtifact struct {
	ID                 int64              `json:"id"`
	Name               string             `json:"name"`
	SizeInBytes        int64              `json:"size_in_bytes"`
	URL                string             `json:"url"`
	ArchiveDownloadURL string             `json:"archive_download_url"`
	Expired            bool               `json:"expired"`
	WorkflowRun        *ActionWorkflowRun `json:"workflow_run"`
	// swagger:strfmt date-time
	CreatedAt time.Time `json:"created_at"`
	// swagger:strfmt date-time
	UpdatedAt time.Time `json:"updated_at"`
	// swagger:strfmt date-time
	ExpiresAt time.Time `json:"expires_at"`
}
    ActionArtifact represents a ActionArtifact
type ActionArtifactsResponse ¶ added in v1.24.0
type ActionArtifactsResponse struct {
	Entries    []*ActionArtifact `json:"artifacts"`
	TotalCount int64             `json:"total_count"`
}
    ActionArtifactsResponse returns ActionArtifacts
type ActionRunner ¶ added in v1.24.0
type ActionRunner struct {
	ID        int64                `json:"id"`
	Name      string               `json:"name"`
	Status    string               `json:"status"`
	Busy      bool                 `json:"busy"`
	Ephemeral bool                 `json:"ephemeral"`
	Labels    []*ActionRunnerLabel `json:"labels"`
}
    ActionRunner represents a Runner
type ActionRunnerLabel ¶ added in v1.24.0
type ActionRunnerLabel struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
	Type string `json:"type"`
}
    ActionRunnerLabel represents a Runner Label
type ActionRunnersResponse ¶ added in v1.24.0
type ActionRunnersResponse struct {
	Entries    []*ActionRunner `json:"runners"`
	TotalCount int64           `json:"total_count"`
}
    ActionRunnersResponse returns Runners
type ActionTask ¶ added in v1.23.0
type ActionTask struct {
	// ID is the unique identifier for the action task
	ID int64 `json:"id"`
	// Name is the name of the workflow
	Name string `json:"name"`
	// HeadBranch is the branch that triggered the workflow
	HeadBranch string `json:"head_branch"`
	// HeadSHA is the commit SHA that triggered the workflow
	HeadSHA string `json:"head_sha"`
	// RunNumber is the sequential number of the workflow run
	RunNumber int64 `json:"run_number"`
	// Event is the type of event that triggered the workflow
	Event string `json:"event"`
	// DisplayTitle is the display title for the workflow run
	DisplayTitle string `json:"display_title"`
	// Status indicates the current status of the workflow run
	Status string `json:"status"`
	// WorkflowID is the identifier of the workflow
	WorkflowID string `json:"workflow_id"`
	// URL is the API URL for this workflow run
	URL string `json:"url"`
	// swagger:strfmt date-time
	CreatedAt time.Time `json:"created_at"`
	// swagger:strfmt date-time
	UpdatedAt time.Time `json:"updated_at"`
	// swagger:strfmt date-time
	RunStartedAt time.Time `json:"run_started_at"`
}
    ActionTask represents a ActionTask
type ActionTaskResponse ¶ added in v1.23.0
type ActionTaskResponse struct {
	// Entries contains the list of workflow runs
	Entries []*ActionTask `json:"workflow_runs"`
	// TotalCount is the total number of workflow runs
	TotalCount int64 `json:"total_count"`
}
    ActionTaskResponse returns a ActionTask
type ActionVariable ¶ added in v1.22.0
type ActionVariable struct {
	// the owner to which the variable belongs
	OwnerID int64 `json:"owner_id"`
	// the repository to which the variable belongs
	RepoID int64 `json:"repo_id"`
	// the name of the variable
	Name string `json:"name"`
	// the value of the variable
	Data string `json:"data"`
	// the description of the variable
	Description string `json:"description"`
}
    ActionVariable return value of the query API swagger:model
type ActionWorkflow ¶ added in v1.24.0
type ActionWorkflow struct {
	// ID is the unique identifier for the workflow
	ID string `json:"id"`
	// Name is the name of the workflow
	Name string `json:"name"`
	// Path is the file path of the workflow
	Path string `json:"path"`
	// State indicates if the workflow is active or disabled
	State string `json:"state"`
	// swagger:strfmt date-time
	CreatedAt time.Time `json:"created_at"`
	// swagger:strfmt date-time
	UpdatedAt time.Time `json:"updated_at"`
	// URL is the API URL for this workflow
	URL string `json:"url"`
	// HTMLURL is the web URL for viewing the workflow
	HTMLURL string `json:"html_url"`
	// BadgeURL is the URL for the workflow badge
	BadgeURL string `json:"badge_url"`
	// swagger:strfmt date-time
	DeletedAt time.Time `json:"deleted_at"`
}
    ActionWorkflow represents a ActionWorkflow
type ActionWorkflowJob ¶ added in v1.24.0
type ActionWorkflowJob struct {
	ID         int64                 `json:"id"`
	URL        string                `json:"url"`
	HTMLURL    string                `json:"html_url"`
	RunID      int64                 `json:"run_id"`
	RunURL     string                `json:"run_url"`
	Name       string                `json:"name"`
	Labels     []string              `json:"labels"`
	RunAttempt int64                 `json:"run_attempt"`
	HeadSha    string                `json:"head_sha"`
	HeadBranch string                `json:"head_branch,omitempty"`
	Status     string                `json:"status"`
	Conclusion string                `json:"conclusion,omitempty"`
	RunnerID   int64                 `json:"runner_id,omitempty"`
	RunnerName string                `json:"runner_name,omitempty"`
	Steps      []*ActionWorkflowStep `json:"steps"`
	// swagger:strfmt date-time
	CreatedAt time.Time `json:"created_at"`
	// swagger:strfmt date-time
	StartedAt time.Time `json:"started_at"`
	// swagger:strfmt date-time
	CompletedAt time.Time `json:"completed_at"`
}
    ActionWorkflowJob represents a WorkflowJob
type ActionWorkflowJobsResponse ¶ added in v1.25.0
type ActionWorkflowJobsResponse struct {
	Entries    []*ActionWorkflowJob `json:"jobs"`
	TotalCount int64                `json:"total_count"`
}
    ActionWorkflowJobsResponse returns ActionWorkflowJobs
type ActionWorkflowResponse ¶ added in v1.24.0
type ActionWorkflowResponse struct {
	Workflows  []*ActionWorkflow `json:"workflows"`
	TotalCount int64             `json:"total_count"`
}
    ActionWorkflowResponse returns a ActionWorkflow
type ActionWorkflowRun ¶ added in v1.24.0
type ActionWorkflowRun struct {
	ID             int64       `json:"id"`
	URL            string      `json:"url"`
	HTMLURL        string      `json:"html_url"`
	DisplayTitle   string      `json:"display_title"`
	Path           string      `json:"path"`
	Event          string      `json:"event"`
	RunAttempt     int64       `json:"run_attempt"`
	RunNumber      int64       `json:"run_number"`
	RepositoryID   int64       `json:"repository_id,omitempty"`
	HeadSha        string      `json:"head_sha"`
	HeadBranch     string      `json:"head_branch,omitempty"`
	Status         string      `json:"status"`
	Actor          *User       `json:"actor,omitempty"`
	TriggerActor   *User       `json:"trigger_actor,omitempty"`
	Repository     *Repository `json:"repository,omitempty"`
	HeadRepository *Repository `json:"head_repository,omitempty"`
	Conclusion     string      `json:"conclusion,omitempty"`
	// swagger:strfmt date-time
	StartedAt time.Time `json:"started_at"`
	// swagger:strfmt date-time
	CompletedAt time.Time `json:"completed_at"`
}
    ActionWorkflowRun represents a WorkflowRun
type ActionWorkflowRunsResponse ¶ added in v1.25.0
type ActionWorkflowRunsResponse struct {
	Entries    []*ActionWorkflowRun `json:"workflow_runs"`
	TotalCount int64                `json:"total_count"`
}
    ActionWorkflowRunsResponse returns ActionWorkflowRuns
type ActionWorkflowStep ¶ added in v1.24.0
type ActionWorkflowStep struct {
	Name       string `json:"name"`
	Number     int64  `json:"number"`
	Status     string `json:"status"`
	Conclusion string `json:"conclusion,omitempty"`
	// swagger:strfmt date-time
	StartedAt time.Time `json:"started_at"`
	// swagger:strfmt date-time
	CompletedAt time.Time `json:"completed_at"`
}
    ActionWorkflowStep represents a step of a WorkflowJob
type Activity ¶ added in v1.20.0
type Activity struct {
	// The unique identifier of the activity
	ID int64 `json:"id"`
	// The ID of the user who receives/sees this activity
	UserID int64 `json:"user_id"` // Receiver user
	// the type of action
	//
	// enum: create_repo,rename_repo,star_repo,watch_repo,commit_repo,create_issue,create_pull_request,transfer_repo,push_tag,comment_issue,merge_pull_request,close_issue,reopen_issue,close_pull_request,reopen_pull_request,delete_tag,delete_branch,mirror_sync_push,mirror_sync_create,mirror_sync_delete,approve_pull_request,reject_pull_request,comment_pull,publish_release,pull_review_dismissed,pull_request_ready_for_review,auto_merge_pull_request
	OpType string `json:"op_type"`
	// The ID of the user who performed the action
	ActUserID int64 `json:"act_user_id"`
	// The user who performed the action
	ActUser *User `json:"act_user"`
	// The ID of the repository associated with the activity
	RepoID int64 `json:"repo_id"`
	// The repository associated with the activity
	Repo *Repository `json:"repo"`
	// The ID of the comment associated with the activity (if applicable)
	CommentID int64 `json:"comment_id"`
	// The comment associated with the activity (if applicable)
	Comment *Comment `json:"comment"`
	// The name of the git reference (branch/tag) associated with the activity
	RefName string `json:"ref_name"`
	// Whether this activity is from a private repository
	IsPrivate bool `json:"is_private"`
	// Additional content or details about the activity
	Content string `json:"content"`
	// The date and time when the activity occurred
	Created time.Time `json:"created"`
}
    type ActivityPub ¶ added in v1.17.4
type ActivityPub struct {
	// Context defines the JSON-LD context for ActivityPub
	Context string `json:"@context"`
}
    ActivityPub type
type AddCollaboratorOption ¶ added in v1.9.0
type AddCollaboratorOption struct {
	// enum: read,write,admin
	// Permission level to grant the collaborator
	Permission *string `json:"permission"`
}
    AddCollaboratorOption options when adding a user as a collaborator of a repository
type AddOrgMembershipOption ¶ added in v1.9.0
type AddOrgMembershipOption struct {
	// Role is the role to assign to the organization member
	Role string `json:"role" binding:"Required"`
}
    AddOrgMembershipOption add user to organization options
type AddTimeOption ¶ added in v1.9.0
type AddTimeOption struct {
	// time in seconds
	// required: true
	Time int64 `json:"time" binding:"Required"`
	// swagger:strfmt date-time
	Created time.Time `json:"created"`
	// username of the user who spent the time working on the issue (optional)
	User string `json:"user_name"`
}
    AddTimeOption options for adding time to an issue
type AnnotatedTag ¶ added in v1.9.0
type AnnotatedTag struct {
	// The name of the annotated tag
	Tag string `json:"tag"`
	// The SHA hash of the annotated tag
	SHA string `json:"sha"`
	// The URL to access the annotated tag
	URL string `json:"url"`
	// The message associated with the annotated tag
	Message string `json:"message"`
	// The user who created the annotated tag
	Tagger *CommitUser `json:"tagger"`
	// The object that the annotated tag points to
	Object *AnnotatedTagObject `json:"object"`
	// The verification information for the annotated tag
	Verification *PayloadCommitVerification `json:"verification"`
}
    AnnotatedTag represents an annotated tag
type AnnotatedTagObject ¶ added in v1.9.0
type AnnotatedTagObject struct {
	// The type of the tagged object (e.g., commit, tree)
	Type string `json:"type"`
	// The URL to access the tagged object
	URL string `json:"url"`
	// The SHA hash of the tagged object
	SHA string `json:"sha"`
}
    AnnotatedTagObject contains meta information of the tag object
type ApplyDiffPatchFileOptions ¶ added in v1.17.0
type ApplyDiffPatchFileOptions struct {
	FileOptions
	// required: true
	Content string `json:"content"`
}
    ApplyDiffPatchFileOptions options for applying a diff patch Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
type Attachment ¶ added in v1.9.0
type Attachment struct {
	// ID is the unique identifier for the attachment
	ID int64 `json:"id"`
	// Name is the filename of the attachment
	Name string `json:"name"`
	// Size is the file size in bytes
	Size int64 `json:"size"`
	// DownloadCount is the number of times the attachment has been downloaded
	DownloadCount int64 `json:"download_count"`
	// swagger:strfmt date-time
	// Created is the time when the attachment was uploaded
	Created time.Time `json:"created_at"`
	// UUID is the unique identifier for the attachment file
	UUID string `json:"uuid"`
	// DownloadURL is the URL to download the attachment
	DownloadURL string `json:"browser_download_url"`
}
    Attachment a generic attachment swagger:model
type Badge ¶ added in v1.22.0
type Badge struct {
	ID          int64  `json:"id"`
	Slug        string `json:"slug"`
	Description string `json:"description"`
	ImageURL    string `json:"image_url"`
}
    Badge represents a user badge swagger:model
type Branch ¶ added in v1.9.0
type Branch struct {
	// Name is the branch name
	Name string `json:"name"`
	// Commit contains the latest commit information for this branch
	Commit *PayloadCommit `json:"commit"`
	// Protected indicates if the branch is protected
	Protected bool `json:"protected"`
	// RequiredApprovals is the number of required approvals for pull requests
	RequiredApprovals int64 `json:"required_approvals"`
	// EnableStatusCheck indicates if status checks are enabled
	EnableStatusCheck bool `json:"enable_status_check"`
	// StatusCheckContexts contains the list of required status check contexts
	StatusCheckContexts []string `json:"status_check_contexts"`
	// UserCanPush indicates if the current user can push to this branch
	UserCanPush bool `json:"user_can_push"`
	// UserCanMerge indicates if the current user can merge to this branch
	UserCanMerge bool `json:"user_can_merge"`
	// EffectiveBranchProtectionName is the name of the effective branch protection rule
	EffectiveBranchProtectionName string `json:"effective_branch_protection_name"`
}
    Branch represents a repository branch
type BranchProtection ¶ added in v1.12.0
type BranchProtection struct {
	// Deprecated: true
	BranchName string `json:"branch_name"`
	// RuleName is the name of the branch protection rule
	RuleName string `json:"rule_name"`
	// Priority is the priority of this branch protection rule
	Priority                      int64    `json:"priority"`
	EnablePush                    bool     `json:"enable_push"`
	EnablePushWhitelist           bool     `json:"enable_push_whitelist"`
	PushWhitelistUsernames        []string `json:"push_whitelist_usernames"`
	PushWhitelistTeams            []string `json:"push_whitelist_teams"`
	PushWhitelistDeployKeys       bool     `json:"push_whitelist_deploy_keys"`
	EnableForcePush               bool     `json:"enable_force_push"`
	EnableForcePushAllowlist      bool     `json:"enable_force_push_allowlist"`
	ForcePushAllowlistUsernames   []string `json:"force_push_allowlist_usernames"`
	ForcePushAllowlistTeams       []string `json:"force_push_allowlist_teams"`
	ForcePushAllowlistDeployKeys  bool     `json:"force_push_allowlist_deploy_keys"`
	EnableMergeWhitelist          bool     `json:"enable_merge_whitelist"`
	MergeWhitelistUsernames       []string `json:"merge_whitelist_usernames"`
	MergeWhitelistTeams           []string `json:"merge_whitelist_teams"`
	EnableStatusCheck             bool     `json:"enable_status_check"`
	StatusCheckContexts           []string `json:"status_check_contexts"`
	RequiredApprovals             int64    `json:"required_approvals"`
	EnableApprovalsWhitelist      bool     `json:"enable_approvals_whitelist"`
	ApprovalsWhitelistUsernames   []string `json:"approvals_whitelist_username"`
	ApprovalsWhitelistTeams       []string `json:"approvals_whitelist_teams"`
	BlockOnRejectedReviews        bool     `json:"block_on_rejected_reviews"`
	BlockOnOfficialReviewRequests bool     `json:"block_on_official_review_requests"`
	BlockOnOutdatedBranch         bool     `json:"block_on_outdated_branch"`
	DismissStaleApprovals         bool     `json:"dismiss_stale_approvals"`
	IgnoreStaleApprovals          bool     `json:"ignore_stale_approvals"`
	RequireSignedCommits          bool     `json:"require_signed_commits"`
	ProtectedFilePatterns         string   `json:"protected_file_patterns"`
	UnprotectedFilePatterns       string   `json:"unprotected_file_patterns"`
	BlockAdminMergeOverride       bool     `json:"block_admin_merge_override"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated time.Time `json:"updated_at"`
}
    BranchProtection represents a branch protection for a repository
type ChangeFileOperation ¶ added in v1.20.0
type ChangeFileOperation struct {
	// indicates what to do with the file: "create" for creating a new file, "update" for updating an existing file,
	// "upload" for creating or updating a file, "rename" for renaming a file, and "delete" for deleting an existing file.
	// required: true
	// enum: create,update,upload,rename,delete
	Operation string `json:"operation" binding:"Required"`
	// path to the existing or new file
	// required: true
	Path string `json:"path" binding:"Required;MaxSize(500)"`
	// new or updated file content, it must be base64 encoded
	ContentBase64 string `json:"content"`
	// the blob ID (SHA) for the file that already exists, required for changing existing files
	SHA string `json:"sha"`
	// old path of the file to move
	FromPath string `json:"from_path"`
}
    ChangeFileOperation for creating, updating or deleting a file
type ChangeFilesOptions ¶ added in v1.20.0
type ChangeFilesOptions struct {
	FileOptions
	// list of file operations
	// required: true
	Files []*ChangeFileOperation `json:"files" binding:"Required"`
}
    ChangeFilesOptions options for creating, updating or deleting multiple files Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
type ChangedFile ¶ added in v1.17.4
type ChangedFile struct {
	// The name of the changed file
	Filename string `json:"filename"`
	// The previous filename if the file was renamed
	PreviousFilename string `json:"previous_filename,omitempty"`
	// The status of the file change (added, modified, deleted, etc.)
	Status string `json:"status"`
	// The number of lines added to the file
	Additions int `json:"additions"`
	// The number of lines deleted from the file
	Deletions int `json:"deletions"`
	// The total number of changes to the file
	Changes int `json:"changes"`
	// The HTML URL to view the file changes
	HTMLURL string `json:"html_url,omitempty"`
	// The API URL to get the file contents
	ContentsURL string `json:"contents_url,omitempty"`
	// The raw URL to download the file
	RawURL string `json:"raw_url,omitempty"`
}
    ChangedFile store information about files affected by the pull request
type ChangesFromPayload ¶ added in v1.9.0
type ChangesFromPayload struct {
	// The previous value before the change
	From string `json:"from"`
}
    ChangesFromPayload FIXME
type ChangesPayload ¶ added in v1.9.0
type ChangesPayload struct {
	// Changes made to the title
	Title *ChangesFromPayload `json:"title,omitempty"`
	// Changes made to the body/description
	Body *ChangesFromPayload `json:"body,omitempty"`
	// Changes made to the reference
	Ref *ChangesFromPayload `json:"ref,omitempty"`
	// Changes made to the labels added
	AddedLabels []*Label `json:"added_labels"`
	// Changes made to the labels removed
	RemovedLabels []*Label `json:"removed_labels"`
}
    ChangesPayload represents the payload information of issue change
type CombinedStatus ¶ added in v1.9.0
type CombinedStatus struct {
	// State is the overall combined status state
	State commitstatus.CommitStatusState `json:"state"`
	// SHA is the commit SHA this status applies to
	SHA string `json:"sha"`
	// TotalCount is the total number of statuses
	TotalCount int `json:"total_count"`
	// Statuses contains all individual commit statuses
	Statuses []*CommitStatus `json:"statuses"`
	// Repository is the repository this status belongs to
	Repository *Repository `json:"repository"`
	// CommitURL is the API URL for the commit
	CommitURL string `json:"commit_url"`
	// URL is the API URL for this combined status
	URL string `json:"url"`
}
    CombinedStatus holds the combined state of several statuses for a single commit
type Comment ¶ added in v1.9.0
type Comment struct {
	// ID is the unique identifier for the comment
	ID int64 `json:"id"`
	// HTMLURL is the web URL for viewing the comment
	HTMLURL string `json:"html_url"`
	// PRURL is the API URL for the pull request (if applicable)
	PRURL string `json:"pull_request_url"`
	// IssueURL is the API URL for the issue
	IssueURL string `json:"issue_url"`
	// Poster is the user who posted the comment
	Poster *User `json:"user"`
	// OriginalAuthor is the original author name (for imported comments)
	OriginalAuthor string `json:"original_author"`
	// OriginalAuthorID is the original author ID (for imported comments)
	OriginalAuthorID int64 `json:"original_author_id"`
	// Body contains the comment text content
	Body string `json:"body"`
	// Attachments contains files attached to the comment
	Attachments []*Attachment `json:"assets"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated time.Time `json:"updated_at"`
}
    Comment represents a comment on a commit or issue
type Commit ¶ added in v1.9.0
type Commit struct {
	*CommitMeta
	// HTMLURL is the web URL for viewing the commit
	HTMLURL string `json:"html_url"`
	// RepoCommit contains the commit information
	RepoCommit *RepoCommit `json:"commit"`
	// Author is the GitHub/Gitea user who authored the commit
	Author *User `json:"author"`
	// Committer is the GitHub/Gitea user who committed the commit
	Committer *User `json:"committer"`
	// Parents contains the parent commit information
	Parents []*CommitMeta `json:"parents"`
	// Files contains information about files affected by the commit
	Files []*CommitAffectedFiles `json:"files"`
	// Stats contains statistics about the commit changes
	Stats *CommitStats `json:"stats"`
}
    Commit contains information generated from a Git commit.
type CommitAffectedFiles ¶ added in v1.14.0
type CommitAffectedFiles struct {
	// Filename is the path of the affected file
	Filename string `json:"filename"`
	// Status indicates how the file was affected (added, modified, deleted)
	Status string `json:"status"`
}
    CommitAffectedFiles store information about files affected by the commit
type CommitDateOptions ¶ added in v1.11.0
type CommitDateOptions struct {
	// swagger:strfmt date-time
	// Author is the author date for the commit
	Author time.Time `json:"author"`
	// swagger:strfmt date-time
	// Committer is the committer date for the commit
	Committer time.Time `json:"committer"`
}
    CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE
type CommitMeta ¶ added in v1.9.0
type CommitMeta struct {
	// URL is the API URL for the commit
	URL string `json:"url"`
	// SHA is the commit SHA hash
	SHA string `json:"sha"`
	// swagger:strfmt date-time
	// Created is the time when the commit was created
	Created time.Time `json:"created"`
}
    CommitMeta contains meta information of a commit in terms of API.
type CommitStats ¶ added in v1.17.0
type CommitStats struct {
	// Total is the total number of lines changed
	Total int `json:"total"`
	// Additions is the number of lines added
	Additions int `json:"additions"`
	// Deletions is the number of lines deleted
	Deletions int `json:"deletions"`
}
    CommitStats is statistics for a RepoCommit
type CommitStatus ¶ added in v1.14.0
type CommitStatus struct {
	// ID is the unique identifier for the commit status
	ID int64 `json:"id"`
	// State represents the status state (pending, success, error, failure)
	State commitstatus.CommitStatusState `json:"status"`
	// TargetURL is the URL to link to for more details
	TargetURL string `json:"target_url"`
	// Description provides a brief description of the status
	Description string `json:"description"`
	// URL is the API URL for this status
	URL string `json:"url"`
	// Context is the unique context identifier for the status
	Context string `json:"context"`
	// Creator is the user who created the status
	Creator *User `json:"creator"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated time.Time `json:"updated_at"`
}
    CommitStatus holds a single status of a single Commit
type CommitStatusPayload ¶ added in v1.23.0
type CommitStatusPayload struct {
	// TODO: add Branches per https://docs.github.com/en/webhooks/webhook-events-and-payloads#status
	// The commit that the status is associated with
	Commit *PayloadCommit `json:"commit"`
	// The context/identifier for this status check
	Context string `json:"context"`
	// swagger:strfmt date-time
	// The date and time when the status was created
	CreatedAt time.Time `json:"created_at"`
	// A short description of the status
	Description string `json:"description"`
	// The unique identifier of the status
	ID int64 `json:"id"`
	// The repository containing the commit
	Repo *Repository `json:"repository"`
	// The user who created the status
	Sender *User `json:"sender"`
	// The SHA hash of the commit
	SHA string `json:"sha"`
	// The state of the status (pending, success, error, failure)
	State string `json:"state"`
	// The target URL to associate with this status
	TargetURL string `json:"target_url"`
	// swagger:strfmt date-time
	// The date and time when the status was last updated
	UpdatedAt *time.Time `json:"updated_at"`
}
    CommitStatusPayload represents a payload information of commit status event.
func (*CommitStatusPayload) JSONPayload ¶ added in v1.23.0
func (p *CommitStatusPayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type CommitUser ¶ added in v1.9.0
type CommitUser struct {
	Identity
	// Date is the commit date in string format
	Date string `json:"date"`
}
    CommitUser contains information of a user in the context of a commit.
type Compare ¶ added in v1.22.0
type Compare struct {
	TotalCommits int       `json:"total_commits"` // Total number of commits in the comparison.
	Commits      []*Commit `json:"commits"`       // List of commits in the comparison.
}
    Compare represents a comparison between two commits.
type ContentsExtResponse ¶ added in v1.25.0
type ContentsExtResponse struct {
	// FileContents contains file information when the path represents a file
	FileContents *ContentsResponse `json:"file_contents,omitempty"`
	// DirContents contains directory listing when the path represents a directory
	DirContents []*ContentsResponse `json:"dir_contents,omitempty"`
}
    type ContentsResponse ¶ added in v1.9.0
type ContentsResponse struct {
	// Name is the file or directory name
	Name string `json:"name"`
	// Path is the full path to the file or directory
	Path string `json:"path"`
	// SHA is the Git blob or tree SHA
	SHA string `json:"sha"`
	// LastCommitSHA is the SHA of the last commit that affected this file
	LastCommitSHA *string `json:"last_commit_sha,omitempty"`
	// swagger:strfmt date-time
	LastCommitterDate *time.Time `json:"last_committer_date,omitempty"`
	// swagger:strfmt date-time
	LastAuthorDate *time.Time `json:"last_author_date,omitempty"`
	// LastCommitMessage is the message of the last commit that affected this file
	LastCommitMessage *string `json:"last_commit_message,omitempty"`
	// `type` will be `file`, `dir`, `symlink`, or `submodule`
	Type string `json:"type"`
	// Size is the file size in bytes
	Size int64 `json:"size"`
	// `encoding` is populated when `type` is `file`, otherwise null
	Encoding *string `json:"encoding"`
	// `content` is populated when `type` is `file`, otherwise null
	Content *string `json:"content"`
	// `target` is populated when `type` is `symlink`, otherwise null
	Target *string `json:"target"`
	// URL is the API URL for this file or directory
	URL *string `json:"url"`
	// HTMLURL is the web URL for this file or directory
	HTMLURL *string `json:"html_url"`
	// GitURL is the Git API URL for this blob or tree
	GitURL *string `json:"git_url"`
	// DownloadURL is the direct download URL for this file
	DownloadURL *string `json:"download_url"`
	// `submodule_git_url` is populated when `type` is `submodule`, otherwise null
	SubmoduleGitURL *string `json:"submodule_git_url"`
	// Links contains related URLs for this file or directory
	Links *FileLinksResponse `json:"_links"`
	// LfsOid is the Git LFS object ID if this file is stored in LFS
	LfsOid *string `json:"lfs_oid,omitempty"`
	// LfsSize is the file size if this file is stored in LFS
	LfsSize *int64 `json:"lfs_size,omitempty"`
}
    ContentsResponse contains information about a repo's entry's (dir, file, symlink, submodule) metadata and content
type CreateAccessTokenOption ¶ added in v1.9.0
type CreateAccessTokenOption struct {
	// required: true
	Name string `json:"name" binding:"Required"`
	// example: ["all", "read:activitypub","read:issue", "write:misc", "read:notification", "read:organization", "read:package", "read:repository", "read:user"]
	Scopes []string `json:"scopes"`
}
    CreateAccessTokenOption options when create access token swagger:model CreateAccessTokenOption
type CreateActionWorkflowDispatch ¶ added in v1.24.0
type CreateActionWorkflowDispatch struct {
	// required: true
	// example: refs/heads/main
	Ref string `json:"ref" binding:"Required"`
	// required: false
	Inputs map[string]string `json:"inputs,omitempty"`
}
    CreateActionWorkflowDispatch represents the payload for triggering a workflow dispatch event swagger:model
type CreateBranchProtectionOption ¶ added in v1.12.0
type CreateBranchProtectionOption struct {
	// Deprecated: true
	BranchName                    string   `json:"branch_name"`
	RuleName                      string   `json:"rule_name"`
	Priority                      int64    `json:"priority"`
	EnablePush                    bool     `json:"enable_push"`
	EnablePushWhitelist           bool     `json:"enable_push_whitelist"`
	PushWhitelistUsernames        []string `json:"push_whitelist_usernames"`
	PushWhitelistTeams            []string `json:"push_whitelist_teams"`
	PushWhitelistDeployKeys       bool     `json:"push_whitelist_deploy_keys"`
	EnableForcePush               bool     `json:"enable_force_push"`
	EnableForcePushAllowlist      bool     `json:"enable_force_push_allowlist"`
	ForcePushAllowlistUsernames   []string `json:"force_push_allowlist_usernames"`
	ForcePushAllowlistTeams       []string `json:"force_push_allowlist_teams"`
	ForcePushAllowlistDeployKeys  bool     `json:"force_push_allowlist_deploy_keys"`
	EnableMergeWhitelist          bool     `json:"enable_merge_whitelist"`
	MergeWhitelistUsernames       []string `json:"merge_whitelist_usernames"`
	MergeWhitelistTeams           []string `json:"merge_whitelist_teams"`
	EnableStatusCheck             bool     `json:"enable_status_check"`
	StatusCheckContexts           []string `json:"status_check_contexts"`
	RequiredApprovals             int64    `json:"required_approvals"`
	EnableApprovalsWhitelist      bool     `json:"enable_approvals_whitelist"`
	ApprovalsWhitelistUsernames   []string `json:"approvals_whitelist_username"`
	ApprovalsWhitelistTeams       []string `json:"approvals_whitelist_teams"`
	BlockOnRejectedReviews        bool     `json:"block_on_rejected_reviews"`
	BlockOnOfficialReviewRequests bool     `json:"block_on_official_review_requests"`
	BlockOnOutdatedBranch         bool     `json:"block_on_outdated_branch"`
	DismissStaleApprovals         bool     `json:"dismiss_stale_approvals"`
	IgnoreStaleApprovals          bool     `json:"ignore_stale_approvals"`
	RequireSignedCommits          bool     `json:"require_signed_commits"`
	ProtectedFilePatterns         string   `json:"protected_file_patterns"`
	UnprotectedFilePatterns       string   `json:"unprotected_file_patterns"`
	BlockAdminMergeOverride       bool     `json:"block_admin_merge_override"`
}
    CreateBranchProtectionOption options for creating a branch protection
type CreateBranchRepoOption ¶ added in v1.13.0
type CreateBranchRepoOption struct {
	// Name of the branch to create
	//
	// required: true
	// unique: true
	BranchName string `json:"new_branch_name" binding:"Required;GitRefName;MaxSize(100)"`
	// Deprecated: true
	// Name of the old branch to create from
	//
	// unique: true
	OldBranchName string `json:"old_branch_name" binding:"GitRefName;MaxSize(100)"`
	// Name of the old branch/tag/commit to create from
	//
	// unique: true
	OldRefName string `json:"old_ref_name" binding:"GitRefName;MaxSize(100)"`
}
    CreateBranchRepoOption options when creating a branch in a repository swagger:model
type CreateEmailOption ¶ added in v1.9.0
type CreateEmailOption struct {
	// email addresses to add
	Emails []string `json:"emails"`
}
    CreateEmailOption options when creating email addresses
type CreateFileOptions ¶ added in v1.9.0
type CreateFileOptions struct {
	FileOptions
	// content must be base64 encoded
	// required: true
	ContentBase64 string `json:"content"`
}
    CreateFileOptions options for creating files Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
type CreateForkOption ¶ added in v1.9.0
type CreateForkOption struct {
	// organization name, if forking into an organization
	Organization *string `json:"organization"`
	// name of the forked repository
	Name *string `json:"name"`
}
    CreateForkOption options for creating a fork
type CreateGPGKeyOption ¶ added in v1.9.0
type CreateGPGKeyOption struct {
	// An armored GPG key to add
	//
	// required: true
	// unique: true
	ArmoredKey string `json:"armored_public_key" binding:"Required"`
	// An optional armored signature for the GPG key
	Signature string `json:"armored_signature,omitempty"`
}
    CreateGPGKeyOption options create user GPG key
type CreateHookOption ¶ added in v1.9.0
type CreateHookOption struct {
	// required: true
	// enum: dingtalk,discord,gitea,gogs,msteams,slack,telegram,feishu,wechatwork,packagist
	// The type of the webhook to create
	Type string `json:"type" binding:"Required"`
	// required: true
	// Configuration settings for the webhook
	Config CreateHookOptionConfig `json:"config" binding:"Required"`
	// List of events that will trigger this webhook
	Events []string `json:"events"`
	// Branch filter pattern to determine which branches trigger the webhook
	BranchFilter string `json:"branch_filter" binding:"GlobPattern"`
	// Authorization header to include in webhook requests
	AuthorizationHeader string `json:"authorization_header"`
	// default: false
	// Whether the webhook should be active upon creation
	Active bool `json:"active"`
}
    CreateHookOption options when create a hook
type CreateHookOptionConfig ¶ added in v1.11.0
CreateHookOptionConfig has all config options in it required are "content_type" and "url" Required
type CreateIssueCommentOption ¶ added in v1.9.0
type CreateIssueCommentOption struct {
	// required:true
	// Body is the comment text content
	Body string `json:"body" binding:"Required"`
}
    CreateIssueCommentOption options for creating a comment on an issue
type CreateIssueOption ¶ added in v1.9.0
type CreateIssueOption struct {
	// required:true
	Title string `json:"title" binding:"Required"`
	Body  string `json:"body"`
	Ref   string `json:"ref"`
	// deprecated
	Assignee  string   `json:"assignee"`
	Assignees []string `json:"assignees"`
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
	// milestone id
	Milestone int64 `json:"milestone"`
	// list of label ids
	Labels []int64 `json:"labels"`
	Closed bool    `json:"closed"`
}
    CreateIssueOption options to create one issue
type CreateKeyOption ¶ added in v1.9.0
type CreateKeyOption struct {
	// Title of the key to add
	//
	// required: true
	// unique: true
	Title string `json:"title" binding:"Required"`
	// An armored SSH key to add
	//
	// required: true
	// unique: true
	Key string `json:"key" binding:"Required"`
	// Describe if the key has only read access or read/write
	//
	// required: false
	ReadOnly bool `json:"read_only"`
}
    CreateKeyOption options when creating a key
type CreateLabelOption ¶ added in v1.9.0
type CreateLabelOption struct {
	// required:true
	// Name is the display name for the new label
	Name string `json:"name" binding:"Required"`
	// example: false
	Exclusive bool `json:"exclusive"`
	// required:true
	// example: #00aabb
	Color string `json:"color" binding:"Required"`
	// Description provides additional context about the label's purpose
	Description string `json:"description"`
	// example: false
	IsArchived bool `json:"is_archived"`
}
    CreateLabelOption options for creating a label
type CreateMilestoneOption ¶ added in v1.9.0
type CreateMilestoneOption struct {
	// Title is the title of the new milestone
	Title string `json:"title"`
	// Description provides details about the milestone
	Description string `json:"description"`
	// swagger:strfmt date-time
	// Deadline is the due date for the milestone
	Deadline *time.Time `json:"due_on"`
	// enum: open,closed
	// State indicates the initial state of the milestone
	State string `json:"state"`
}
    CreateMilestoneOption options for creating a milestone
type CreateOAuth2ApplicationOptions ¶ added in v1.12.0
type CreateOAuth2ApplicationOptions struct {
	// The name of the OAuth2 application
	Name string `json:"name" binding:"Required"`
	// Whether the client is confidential
	ConfidentialClient bool `json:"confidential_client"`
	// Whether to skip secondary authorization
	SkipSecondaryAuthorization bool `json:"skip_secondary_authorization"`
	// The list of allowed redirect URIs
	RedirectURIs []string `json:"redirect_uris" binding:"Required"`
}
    CreateOAuth2ApplicationOptions holds options to create an oauth2 application
type CreateOrUpdateSecretOption ¶ added in v1.21.0
type CreateOrUpdateSecretOption struct {
	// Data of the secret to update
	//
	// required: true
	Data string `json:"data" binding:"Required"`
	// Description of the secret to update
	//
	// required: false
	Description string `json:"description"`
}
    CreateOrUpdateSecretOption options when creating or updating secret swagger:model
type CreateOrgOption ¶ added in v1.9.0
type CreateOrgOption struct {
	// username of the organization
	// required: true
	UserName string `json:"username" binding:"Required;Username;MaxSize(40)"`
	// The full display name of the organization
	FullName string `json:"full_name" binding:"MaxSize(100)"`
	// The email address of the organization
	Email string `json:"email" binding:"MaxSize(255)"`
	// The description of the organization
	Description string `json:"description" binding:"MaxSize(255)"`
	// The website URL of the organization
	Website string `json:"website" binding:"ValidUrl;MaxSize(255)"`
	// The location of the organization
	Location string `json:"location" binding:"MaxSize(50)"`
	// possible values are `public` (default), `limited` or `private`
	// enum: public,limited,private
	Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
	// Whether repository administrators can change team access
	RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
}
    CreateOrgOption options for creating an organization
type CreatePayload ¶ added in v1.9.0
type CreatePayload struct {
	// The SHA hash of the created reference
	Sha string `json:"sha"`
	// The full name of the created reference
	Ref string `json:"ref"`
	// The type of reference created (branch or tag)
	RefType string `json:"ref_type"`
	// The repository where the reference was created
	Repo *Repository `json:"repository"`
	// The user who created the reference
	Sender *User `json:"sender"`
}
    CreatePayload represents a payload information of create event.
func ParseCreateHook ¶ added in v1.9.0
func ParseCreateHook(raw []byte) (*CreatePayload, error)
ParseCreateHook parses create event hook content.
func (*CreatePayload) JSONPayload ¶ added in v1.9.0
func (p *CreatePayload) JSONPayload() ([]byte, error)
JSONPayload return payload information
type CreatePullRequestOption ¶ added in v1.9.0
type CreatePullRequestOption struct {
	// The head branch for the pull request, it could be a branch name on the base repository or
	// a form like `<username>:<branch>` which refers to the user's fork repository's branch.
	Head string `json:"head" binding:"Required"`
	// The base branch for the pull request
	Base string `json:"base" binding:"Required"`
	// The title of the pull request
	Title string `json:"title" binding:"Required"`
	// The description body of the pull request
	Body string `json:"body"`
	// The primary assignee username
	Assignee string `json:"assignee"`
	// The list of assignee usernames
	Assignees []string `json:"assignees"`
	// The milestone ID to assign to the pull request
	Milestone int64 `json:"milestone"`
	// The list of label IDs to assign to the pull request
	Labels []int64 `json:"labels"`
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
	// The list of reviewer usernames
	Reviewers []string `json:"reviewers"`
	// The list of team reviewer names
	TeamReviewers []string `json:"team_reviewers"`
}
    CreatePullRequestOption options when creating a pull request
type CreatePullReviewComment ¶ added in v1.12.0
type CreatePullReviewComment struct {
	// the tree path
	Path string `json:"path"`
	Body string `json:"body"`
	// if comment to old file line or 0
	OldLineNum int64 `json:"old_position"`
	// if comment to new file line or 0
	NewLineNum int64 `json:"new_position"`
}
    CreatePullReviewComment represent a review comment for creation api
type CreatePullReviewOptions ¶ added in v1.12.0
type CreatePullReviewOptions struct {
	Event    ReviewStateType           `json:"event"`
	Body     string                    `json:"body"`
	CommitID string                    `json:"commit_id"`
	Comments []CreatePullReviewComment `json:"comments"`
}
    CreatePullReviewOptions are options to create a pull review
type CreatePushMirrorOption ¶ added in v1.17.4
type CreatePushMirrorOption struct {
	// The remote repository URL to push to
	RemoteAddress string `json:"remote_address"`
	// The username for authentication with the remote repository
	RemoteUsername string `json:"remote_username"`
	// The password for authentication with the remote repository
	RemotePassword string `json:"remote_password"`
	// The sync interval for automatic updates
	Interval string `json:"interval"`
	// Whether to sync on every commit
	SyncOnCommit bool `json:"sync_on_commit"`
}
    CreatePushMirrorOption represents need information to create a push mirror of a repository.
type CreateReleaseOption ¶ added in v1.9.0
type CreateReleaseOption struct {
	// required: true
	TagName string `json:"tag_name" binding:"Required"`
	// The message for the git tag
	TagMessage string `json:"tag_message"`
	// The target commitish for the release
	Target string `json:"target_commitish"`
	// The display title of the release
	Title string `json:"name"`
	// The release notes or description
	Note string `json:"body"`
	// Whether to create the release as a draft
	IsDraft bool `json:"draft"`
	// Whether to mark the release as a prerelease
	IsPrerelease bool `json:"prerelease"`
}
    CreateReleaseOption options when creating a release
type CreateRepoOption ¶ added in v1.9.0
type CreateRepoOption struct {
	// Name of the repository to create
	//
	// required: true
	// unique: true
	Name string `json:"name" binding:"Required;AlphaDashDot;MaxSize(100)"`
	// Description of the repository to create
	Description string `json:"description" binding:"MaxSize(2048)"`
	// Whether the repository is private
	Private bool `json:"private"`
	// Label-Set to use
	IssueLabels string `json:"issue_labels"`
	// Whether the repository should be auto-initialized?
	AutoInit bool `json:"auto_init"`
	// Whether the repository is template
	Template bool `json:"template"`
	// Gitignores to use
	Gitignores string `json:"gitignores"`
	// License to use
	License string `json:"license"`
	// Readme of the repository to create
	Readme string `json:"readme"`
	// DefaultBranch of the repository (used when initializes and in template)
	DefaultBranch string `json:"default_branch" binding:"GitRefName;MaxSize(100)"`
	// TrustModel of the repository
	// enum: default,collaborator,committer,collaboratorcommitter
	TrustModel string `json:"trust_model"`
	// ObjectFormatName of the underlying git repository
	// enum: sha1,sha256
	ObjectFormatName string `json:"object_format_name" binding:"MaxSize(6)"`
}
    CreateRepoOption options when creating repository swagger:model
type CreateStatusOption ¶ added in v1.9.0
type CreateStatusOption struct {
	// State represents the status state to set (pending, success, error, failure)
	State commitstatus.CommitStatusState `json:"state"`
	// TargetURL is the URL to link to for more details
	TargetURL string `json:"target_url"`
	// Description provides a brief description of the status
	Description string `json:"description"`
	// Context is the unique context identifier for the status
	Context string `json:"context"`
}
    CreateStatusOption holds the information needed to create a new CommitStatus for a Commit
type CreateTagOption ¶ added in v1.15.0
type CreateTagOption struct {
	// required: true
	// The name of the tag to create
	TagName string `json:"tag_name" binding:"Required"`
	// The message to associate with the tag
	Message string `json:"message"`
	// The target commit SHA or branch name for the tag
	Target string `json:"target"`
}
    CreateTagOption options when creating a tag
type CreateTagProtectionOption ¶ added in v1.23.0
type CreateTagProtectionOption struct {
	// The pattern to match tag names for protection
	NamePattern string `json:"name_pattern"`
	// List of usernames allowed to create/delete protected tags
	WhitelistUsernames []string `json:"whitelist_usernames"`
	// List of team names allowed to create/delete protected tags
	WhitelistTeams []string `json:"whitelist_teams"`
}
    CreateTagProtectionOption options for creating a tag protection
type CreateTeamOption ¶ added in v1.9.0
type CreateTeamOption struct {
	// required: true
	Name string `json:"name" binding:"Required;AlphaDashDot;MaxSize(255)"`
	// The description of the team
	Description string `json:"description" binding:"MaxSize(255)"`
	// Whether the team has access to all repositories in the organization
	IncludesAllRepositories bool `json:"includes_all_repositories"`
	// enum: read,write,admin
	Permission string `json:"permission"`
	// example: ["repo.actions","repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.ext_wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
	// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
	Units []string `json:"units"`
	// example: {"repo.actions","repo.packages","repo.code":"read","repo.issues":"write","repo.ext_issues":"none","repo.wiki":"admin","repo.pulls":"owner","repo.releases":"none","repo.projects":"none","repo.ext_wiki":"none"}
	UnitsMap map[string]string `json:"units_map"`
	// Whether the team can create repositories in the organization
	CanCreateOrgRepo bool `json:"can_create_org_repo"`
}
    CreateTeamOption options for creating a team
type CreateUserOption ¶ added in v1.9.0
type CreateUserOption struct {
	// The authentication source ID to associate with the user
	SourceID int64 `json:"source_id"`
	// identifier of the user, provided by the external authenticator (if configured)
	// default: empty
	LoginName string `json:"login_name"`
	// username of the user
	// required: true
	Username string `json:"username" binding:"Required;Username;MaxSize(40)"`
	// The full display name of the user
	FullName string `json:"full_name" binding:"MaxSize(100)"`
	// required: true
	// swagger:strfmt email
	Email string `json:"email" binding:"Required;Email;MaxSize(254)"`
	// The plain text password for the user
	Password string `json:"password" binding:"MaxSize(255)"`
	// Whether the user must change password on first login
	MustChangePassword *bool `json:"must_change_password"`
	// Whether to send welcome notification email to the user
	SendNotify bool `json:"send_notify"`
	// Whether the user has restricted access privileges
	Restricted *bool `json:"restricted"`
	// User visibility level: public, limited, or private
	Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
	// For explicitly setting the user creation timestamp. Useful when users are
	// migrated from other systems. When omitted, the user's creation timestamp
	// will be set to "now".
	Created *time.Time `json:"created_at"`
}
    CreateUserOption create user options
type CreateVariableOption ¶ added in v1.22.0
type CreateVariableOption struct {
	// Value of the variable to create
	//
	// required: true
	Value string `json:"value" binding:"Required"`
	// Description of the variable to create
	//
	// required: false
	Description string `json:"description"`
}
    CreateVariableOption the option when creating variable swagger:model
type CreateWikiPageOptions ¶ added in v1.16.0
type CreateWikiPageOptions struct {
	// page title. leave empty to keep unchanged
	Title string `json:"title"`
	// content must be base64 encoded
	ContentBase64 string `json:"content_base64"`
	// optional commit message summarizing the change
	Message string `json:"message"`
}
    CreateWikiPageOptions form for creating wiki
type Cron ¶ added in v1.13.0
type Cron struct {
	// The name of the cron task
	Name string `json:"name"`
	// The cron schedule expression (e.g., "0 0 * * *")
	Schedule string `json:"schedule"`
	// The next scheduled execution time
	Next time.Time `json:"next"`
	// The previous execution time
	Prev time.Time `json:"prev"`
	// The total number of times this cron task has been executed
	ExecTimes int64 `json:"exec_times"`
}
    Cron represents a Cron task
type DeleteEmailOption ¶ added in v1.9.0
type DeleteEmailOption struct {
	// email addresses to delete
	Emails []string `json:"emails"`
}
    DeleteEmailOption options when deleting email addresses
type DeleteFileOptions ¶ added in v1.9.0
type DeleteFileOptions struct {
	FileOptionsWithSHA
}
    DeleteFileOptions options for deleting files (used for other File structs below) Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
type DeletePayload ¶ added in v1.9.0
type DeletePayload struct {
	// The name of the deleted reference
	Ref string `json:"ref"`
	// The type of reference deleted (branch or tag)
	RefType string `json:"ref_type"`
	// The type of entity that performed the deletion
	PusherType PusherType `json:"pusher_type"`
	// The repository where the reference was deleted
	Repo *Repository `json:"repository"`
	// The user who deleted the reference
	Sender *User `json:"sender"`
}
    DeletePayload represents delete payload
func (*DeletePayload) JSONPayload ¶ added in v1.9.0
func (p *DeletePayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type DeployKey ¶ added in v1.9.0
type DeployKey struct {
	// ID is the unique identifier for the deploy key
	ID int64 `json:"id"`
	// KeyID is the associated public key ID
	KeyID int64 `json:"key_id"`
	// Key contains the actual SSH key content
	Key string `json:"key"`
	// URL is the API URL for this deploy key
	URL string `json:"url"`
	// Title is the human-readable name for the key
	Title string `json:"title"`
	// Fingerprint is the key's fingerprint
	Fingerprint string `json:"fingerprint"`
	// swagger:strfmt date-time
	// Created is the time when the deploy key was added
	Created time.Time `json:"created_at"`
	// ReadOnly indicates if the key has read-only access
	ReadOnly bool `json:"read_only"`
	// Repository is the repository this deploy key belongs to
	Repository *Repository `json:"repository,omitempty"`
}
    DeployKey a deploy key
type DismissPullReviewOptions ¶ added in v1.14.0
type DismissPullReviewOptions struct {
	Message string `json:"message"`
	Priors  bool   `json:"priors"`
}
    DismissPullReviewOptions are options to dismiss a pull review
type EditAttachmentOptions ¶ added in v1.9.0
type EditAttachmentOptions struct {
	// Name is the new filename for the attachment
	Name string `json:"name"`
}
    EditAttachmentOptions options for editing attachments swagger:model
type EditBranchProtectionOption ¶ added in v1.12.0
type EditBranchProtectionOption struct {
	Priority                      *int64   `json:"priority"`
	EnablePush                    *bool    `json:"enable_push"`
	EnablePushWhitelist           *bool    `json:"enable_push_whitelist"`
	PushWhitelistUsernames        []string `json:"push_whitelist_usernames"`
	PushWhitelistTeams            []string `json:"push_whitelist_teams"`
	PushWhitelistDeployKeys       *bool    `json:"push_whitelist_deploy_keys"`
	EnableForcePush               *bool    `json:"enable_force_push"`
	EnableForcePushAllowlist      *bool    `json:"enable_force_push_allowlist"`
	ForcePushAllowlistUsernames   []string `json:"force_push_allowlist_usernames"`
	ForcePushAllowlistTeams       []string `json:"force_push_allowlist_teams"`
	ForcePushAllowlistDeployKeys  *bool    `json:"force_push_allowlist_deploy_keys"`
	EnableMergeWhitelist          *bool    `json:"enable_merge_whitelist"`
	MergeWhitelistUsernames       []string `json:"merge_whitelist_usernames"`
	MergeWhitelistTeams           []string `json:"merge_whitelist_teams"`
	EnableStatusCheck             *bool    `json:"enable_status_check"`
	StatusCheckContexts           []string `json:"status_check_contexts"`
	RequiredApprovals             *int64   `json:"required_approvals"`
	EnableApprovalsWhitelist      *bool    `json:"enable_approvals_whitelist"`
	ApprovalsWhitelistUsernames   []string `json:"approvals_whitelist_username"`
	ApprovalsWhitelistTeams       []string `json:"approvals_whitelist_teams"`
	BlockOnRejectedReviews        *bool    `json:"block_on_rejected_reviews"`
	BlockOnOfficialReviewRequests *bool    `json:"block_on_official_review_requests"`
	BlockOnOutdatedBranch         *bool    `json:"block_on_outdated_branch"`
	DismissStaleApprovals         *bool    `json:"dismiss_stale_approvals"`
	IgnoreStaleApprovals          *bool    `json:"ignore_stale_approvals"`
	RequireSignedCommits          *bool    `json:"require_signed_commits"`
	ProtectedFilePatterns         *string  `json:"protected_file_patterns"`
	UnprotectedFilePatterns       *string  `json:"unprotected_file_patterns"`
	BlockAdminMergeOverride       *bool    `json:"block_admin_merge_override"`
}
    EditBranchProtectionOption options for editing a branch protection
type EditDeadlineOption ¶ added in v1.9.0
type EditDeadlineOption struct {
	// required:true
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
}
    EditDeadlineOption options for creating a deadline
type EditGitHookOption ¶ added in v1.9.0
type EditGitHookOption struct {
	// Content is the new script content for the hook
	Content string `json:"content"`
}
    EditGitHookOption options when modifying one Git hook
type EditHookOption ¶ added in v1.9.0
type EditHookOption struct {
	// Configuration settings for the webhook
	Config map[string]string `json:"config"`
	// List of events that trigger this webhook
	Events []string `json:"events"`
	// Branch filter pattern to determine which branches trigger the webhook
	BranchFilter string `json:"branch_filter" binding:"GlobPattern"`
	// Authorization header to include in webhook requests
	AuthorizationHeader string `json:"authorization_header"`
	// Whether the webhook is active and will be triggered
	Active *bool `json:"active"`
}
    EditHookOption options when modify one hook
type EditIssueCommentOption ¶ added in v1.9.0
type EditIssueCommentOption struct {
	// required: true
	// Body is the updated comment text content
	Body string `json:"body" binding:"Required"`
}
    EditIssueCommentOption options for editing a comment
type EditIssueOption ¶ added in v1.9.0
type EditIssueOption struct {
	Title string  `json:"title"`
	Body  *string `json:"body"`
	Ref   *string `json:"ref"`
	// deprecated
	Assignee  *string  `json:"assignee"`
	Assignees []string `json:"assignees"`
	Milestone *int64   `json:"milestone"`
	State     *string  `json:"state"`
	// swagger:strfmt date-time
	Deadline       *time.Time `json:"due_date"`
	RemoveDeadline *bool      `json:"unset_due_date"`
}
    EditIssueOption options for editing an issue
type EditLabelOption ¶ added in v1.9.0
type EditLabelOption struct {
	// Name is the new display name for the label
	Name *string `json:"name"`
	// example: false
	Exclusive *bool `json:"exclusive"`
	// example: #00aabb
	Color *string `json:"color"`
	// Description provides additional context about the label's purpose
	Description *string `json:"description"`
	// example: false
	IsArchived *bool `json:"is_archived"`
}
    EditLabelOption options for editing a label
type EditMilestoneOption ¶ added in v1.9.0
type EditMilestoneOption struct {
	// Title is the updated title of the milestone
	Title string `json:"title"`
	// Description provides updated details about the milestone
	Description *string `json:"description"`
	// State indicates the updated state of the milestone
	State *string `json:"state"`
	// Deadline is the updated due date for the milestone
	Deadline *time.Time `json:"due_on"`
}
    EditMilestoneOption options for editing a milestone
type EditOrgOption ¶ added in v1.9.0
type EditOrgOption struct {
	// The full display name of the organization
	FullName string `json:"full_name" binding:"MaxSize(100)"`
	// The email address of the organization
	Email string `json:"email" binding:"MaxSize(255)"`
	// The description of the organization
	Description string `json:"description" binding:"MaxSize(255)"`
	// The website URL of the organization
	Website string `json:"website" binding:"ValidUrl;MaxSize(255)"`
	// The location of the organization
	Location string `json:"location" binding:"MaxSize(50)"`
	// possible values are `public`, `limited` or `private`
	// enum: public,limited,private
	Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
	// Whether repository administrators can change team access
	RepoAdminChangeTeamAccess *bool `json:"repo_admin_change_team_access"`
}
    EditOrgOption options for editing an organization
type EditPullRequestOption ¶ added in v1.9.0
type EditPullRequestOption struct {
	// The new title for the pull request
	Title string `json:"title"`
	// The new description body for the pull request
	Body *string `json:"body"`
	// The new base branch for the pull request
	Base string `json:"base"`
	// The new primary assignee username
	Assignee string `json:"assignee"`
	// The new list of assignee usernames
	Assignees []string `json:"assignees"`
	// The new milestone ID for the pull request
	Milestone int64 `json:"milestone"`
	// The new list of label IDs for the pull request
	Labels []int64 `json:"labels"`
	// The new state for the pull request
	State *string `json:"state"`
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
	// Whether to remove the current deadline
	RemoveDeadline *bool `json:"unset_due_date"`
	// Whether to allow maintainer edits
	AllowMaintainerEdit *bool `json:"allow_maintainer_edit"`
}
    EditPullRequestOption options when modify pull request
type EditReactionOption ¶ added in v1.11.0
type EditReactionOption struct {
	// The reaction content (e.g., emoji or reaction type)
	Reaction string `json:"content"`
}
    EditReactionOption contain the reaction type
type EditReleaseOption ¶ added in v1.9.0
type EditReleaseOption struct {
	// The new name of the git tag
	TagName string `json:"tag_name"`
	// The new target commitish for the release
	Target string `json:"target_commitish"`
	// The new display title of the release
	Title string `json:"name"`
	// The new release notes or description
	Note string `json:"body"`
	// Whether to change the draft status
	IsDraft *bool `json:"draft"`
	// Whether to change the prerelease status
	IsPrerelease *bool `json:"prerelease"`
}
    EditReleaseOption options when editing a release
type EditRepoOption ¶ added in v1.9.0
type EditRepoOption struct {
	// name of the repository
	// unique: true
	Name *string `json:"name,omitempty" binding:"OmitEmpty;AlphaDashDot;MaxSize(100);"`
	// a short description of the repository.
	Description *string `json:"description,omitempty" binding:"MaxSize(2048)"`
	// a URL with more information about the repository.
	Website *string `json:"website,omitempty" binding:"MaxSize(1024)"`
	// either `true` to make the repository private or `false` to make it public.
	// Note: you will get a 422 error if the organization restricts changing repository visibility to organization
	// owners and a non-owner tries to change the value of private.
	Private *bool `json:"private,omitempty"`
	// either `true` to make this repository a template or `false` to make it a normal repository
	Template *bool `json:"template,omitempty"`
	// either `true` to enable code for this repository or `false` to disable it.
	HasCode *bool `json:"has_code,omitempty"`
	// either `true` to enable issues for this repository or `false` to disable them.
	HasIssues *bool `json:"has_issues,omitempty"`
	// set this structure to configure internal issue tracker
	InternalTracker *InternalTracker `json:"internal_tracker,omitempty"`
	// set this structure to use external issue tracker
	ExternalTracker *ExternalTracker `json:"external_tracker,omitempty"`
	// either `true` to enable the wiki for this repository or `false` to disable it.
	HasWiki *bool `json:"has_wiki,omitempty"`
	// set this structure to use external wiki instead of internal
	ExternalWiki *ExternalWiki `json:"external_wiki,omitempty"`
	// sets the default branch for this repository.
	DefaultBranch *string `json:"default_branch,omitempty"`
	// either `true` to allow pull requests, or `false` to prevent pull request.
	HasPullRequests *bool `json:"has_pull_requests,omitempty"`
	// either `true` to enable project unit, or `false` to disable them.
	HasProjects *bool `json:"has_projects,omitempty"`
	// `repo` to only allow repo-level projects, `owner` to only allow owner projects, `all` to allow both.
	ProjectsMode *string `json:"projects_mode,omitempty" binding:"In(repo,owner,all)"`
	// either `true` to enable releases unit, or `false` to disable them.
	HasReleases *bool `json:"has_releases,omitempty"`
	// either `true` to enable packages unit, or `false` to disable them.
	HasPackages *bool `json:"has_packages,omitempty"`
	// either `true` to enable actions unit, or `false` to disable them.
	HasActions *bool `json:"has_actions,omitempty"`
	// either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace.
	IgnoreWhitespaceConflicts *bool `json:"ignore_whitespace_conflicts,omitempty"`
	// either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.
	AllowMerge *bool `json:"allow_merge_commits,omitempty"`
	// either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.
	AllowRebase *bool `json:"allow_rebase,omitempty"`
	// either `true` to allow rebase with explicit merge commits (--no-ff), or `false` to prevent rebase with explicit merge commits.
	AllowRebaseMerge *bool `json:"allow_rebase_explicit,omitempty"`
	// either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.
	AllowSquash *bool `json:"allow_squash_merge,omitempty"`
	// either `true` to allow fast-forward-only merging pull requests, or `false` to prevent fast-forward-only merging.
	AllowFastForwardOnly *bool `json:"allow_fast_forward_only_merge,omitempty"`
	// either `true` to allow mark pr as merged manually, or `false` to prevent it.
	AllowManualMerge *bool `json:"allow_manual_merge,omitempty"`
	// either `true` to enable AutodetectManualMerge, or `false` to prevent it. Note: In some special cases, misjudgments can occur.
	AutodetectManualMerge *bool `json:"autodetect_manual_merge,omitempty"`
	// either `true` to allow updating pull request branch by rebase, or `false` to prevent it.
	AllowRebaseUpdate *bool `json:"allow_rebase_update,omitempty"`
	// set to `true` to delete pr branch after merge by default
	DefaultDeleteBranchAfterMerge *bool `json:"default_delete_branch_after_merge,omitempty"`
	// set to a merge style to be used by this repository: "merge", "rebase", "rebase-merge", "squash", or "fast-forward-only".
	DefaultMergeStyle *string `json:"default_merge_style,omitempty"`
	// set to `true` to allow edits from maintainers by default
	DefaultAllowMaintainerEdit *bool `json:"default_allow_maintainer_edit,omitempty"`
	// set to `true` to archive this repository.
	Archived *bool `json:"archived,omitempty"`
	// set to a string like `8h30m0s` to set the mirror interval time
	MirrorInterval *string `json:"mirror_interval,omitempty"`
	// enable prune - remove obsolete remote-tracking references when mirroring
	EnablePrune *bool `json:"enable_prune,omitempty"`
}
    EditRepoOption options when editing a repository's properties swagger:model
type EditTagProtectionOption ¶ added in v1.23.0
type EditTagProtectionOption struct {
	// The pattern to match tag names for protection
	NamePattern *string `json:"name_pattern"`
	// List of usernames allowed to create/delete protected tags
	WhitelistUsernames []string `json:"whitelist_usernames"`
	// List of team names allowed to create/delete protected tags
	WhitelistTeams []string `json:"whitelist_teams"`
}
    EditTagProtectionOption options for editing a tag protection
type EditTeamOption ¶ added in v1.9.0
type EditTeamOption struct {
	// required: true
	Name string `json:"name" binding:"AlphaDashDot;MaxSize(255)"`
	// The description of the team
	Description *string `json:"description" binding:"MaxSize(255)"`
	// Whether the team has access to all repositories in the organization
	IncludesAllRepositories *bool `json:"includes_all_repositories"`
	// enum: read,write,admin
	Permission string `json:"permission"`
	// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
	// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
	Units []string `json:"units"`
	// example: {"repo.code":"read","repo.issues":"write","repo.ext_issues":"none","repo.wiki":"admin","repo.pulls":"owner","repo.releases":"none","repo.projects":"none","repo.ext_wiki":"none"}
	UnitsMap map[string]string `json:"units_map"`
	// Whether the team can create repositories in the organization
	CanCreateOrgRepo *bool `json:"can_create_org_repo"`
}
    EditTeamOption options for editing a team
type EditUserOption ¶ added in v1.9.0
type EditUserOption struct {
	// required: true
	// The authentication source ID to associate with the user
	SourceID int64 `json:"source_id"`
	// identifier of the user, provided by the external authenticator (if configured)
	// default: empty
	// required: true
	LoginName string `json:"login_name" binding:"Required"`
	// swagger:strfmt email
	// The email address of the user
	Email *string `json:"email" binding:"MaxSize(254)"`
	// The full display name of the user
	FullName *string `json:"full_name" binding:"MaxSize(100)"`
	// The plain text password for the user
	Password string `json:"password" binding:"MaxSize(255)"`
	// Whether the user must change password on next login
	MustChangePassword *bool `json:"must_change_password"`
	// The user's personal website URL
	Website *string `json:"website" binding:"OmitEmpty;ValidUrl;MaxSize(255)"`
	// The user's location or address
	Location *string `json:"location" binding:"MaxSize(50)"`
	// The user's personal description or bio
	Description *string `json:"description" binding:"MaxSize(255)"`
	// Whether the user account is active
	Active *bool `json:"active"`
	// Whether the user has administrator privileges
	Admin *bool `json:"admin"`
	// Whether the user can use Git hooks
	AllowGitHook *bool `json:"allow_git_hook"`
	// Whether the user can import local repositories
	AllowImportLocal *bool `json:"allow_import_local"`
	// Maximum number of repositories the user can create
	MaxRepoCreation *int `json:"max_repo_creation"`
	// Whether the user is prohibited from logging in
	ProhibitLogin *bool `json:"prohibit_login"`
	// Whether the user can create organizations
	AllowCreateOrganization *bool `json:"allow_create_organization"`
	// Whether the user has restricted access privileges
	Restricted *bool `json:"restricted"`
	// User visibility level: public, limited, or private
	Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
}
    EditUserOption edit user options
type Email ¶ added in v1.9.0
type Email struct {
	// swagger:strfmt email
	// The email address
	Email string `json:"email"`
	// Whether the email address has been verified
	Verified bool `json:"verified"`
	// Whether this is the primary email address
	Primary bool `json:"primary"`
	// The unique identifier of the user who owns this email
	UserID int64 `json:"user_id"`
	// username of the user
	UserName string `json:"username"`
}
    Email an email address belonging to a user
type ExternalTracker ¶ added in v1.10.0
type ExternalTracker struct {
	// URL of external issue tracker.
	ExternalTrackerURL string `json:"external_tracker_url"`
	// External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.
	ExternalTrackerFormat string `json:"external_tracker_format"`
	// External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`
	ExternalTrackerStyle string `json:"external_tracker_style"`
	// External Issue Tracker issue regular expression
	ExternalTrackerRegexpPattern string `json:"external_tracker_regexp_pattern"`
}
    ExternalTracker represents settings for external tracker swagger:model
type ExternalWiki ¶ added in v1.10.0
type ExternalWiki struct {
	// URL of external wiki.
	ExternalWikiURL string `json:"external_wiki_url"`
}
    ExternalWiki represents setting for external wiki swagger:model
type FileCommitResponse ¶ added in v1.9.0
type FileCommitResponse struct {
	CommitMeta
	// HTMLURL is the web URL for viewing this commit
	HTMLURL string `json:"html_url"`
	// Author is the commit author information
	Author *CommitUser `json:"author"`
	// Committer is the commit committer information
	Committer *CommitUser `json:"committer"`
	// Parents contains parent commit metadata
	Parents []*CommitMeta `json:"parents"`
	// Message is the commit message
	Message string `json:"message"`
	// Tree contains the tree metadata for this commit
	Tree *CommitMeta `json:"tree"`
}
    FileCommitResponse contains information generated from a Git commit for a repo's file.
type FileDeleteResponse ¶ added in v1.9.0
type FileDeleteResponse struct {
	// Content is always null for delete operations
	Content any `json:"content"` // to be set to nil
	// Commit contains the commit information for this delete operation
	Commit *FileCommitResponse `json:"commit"`
	// Verification contains the commit signature verification information
	Verification *PayloadCommitVerification `json:"verification"`
}
    FileDeleteResponse contains information about a repo's file that was deleted
type FileLinksResponse ¶ added in v1.9.0
type FileLinksResponse struct {
	// Self is the API URL for this file
	Self *string `json:"self"`
	// GitURL is the Git API URL for this file
	GitURL *string `json:"git"`
	// HTMLURL is the web URL for this file
	HTMLURL *string `json:"html"`
}
    FileLinksResponse contains the links for a repo's file
type FileOptions ¶ added in v1.9.0
type FileOptions struct {
	// message (optional) for the commit of this file. if not supplied, a default message will be used
	Message string `json:"message"`
	// branch (optional) to base this file from. if not given, the default branch is used
	BranchName string `json:"branch" binding:"GitRefName;MaxSize(100)"`
	// new_branch (optional) will make a new branch from `branch` before creating the file
	NewBranchName string `json:"new_branch" binding:"GitRefName;MaxSize(100)"`
	// `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
	Author    Identity          `json:"author"`
	Committer Identity          `json:"committer"`
	Dates     CommitDateOptions `json:"dates"`
	// Add a Signed-off-by trailer by the committer at the end of the commit log message.
	Signoff bool `json:"signoff"`
}
    FileOptions options for all file APIs
func (*FileOptions) GetFileOptions ¶ added in v1.25.0
func (f *FileOptions) GetFileOptions() *FileOptions
type FileOptionsInterface ¶ added in v1.25.0
type FileOptionsInterface interface {
	GetFileOptions() *FileOptions
}
    type FileOptionsWithSHA ¶ added in v1.25.0
type FileOptionsWithSHA struct {
	FileOptions
	// the blob ID (SHA) for the file that already exists, it is required for changing existing files
	// required: true
	SHA string `json:"sha" binding:"Required"`
}
    type FileResponse ¶ added in v1.9.0
type FileResponse struct {
	// Content contains the file content and metadata
	Content *ContentsResponse `json:"content"`
	// Commit contains the commit information for this file operation
	Commit *FileCommitResponse `json:"commit"`
	// Verification contains the commit signature verification information
	Verification *PayloadCommitVerification `json:"verification"`
}
    FileResponse contains information about a repo's file
type FilesResponse ¶ added in v1.20.0
type FilesResponse struct {
	// Files contains the list of file contents and metadata
	Files []*ContentsResponse `json:"files"`
	// Commit contains the commit information for this file operation
	Commit *FileCommitResponse `json:"commit"`
	// Verification contains the commit signature verification information
	Verification *PayloadCommitVerification `json:"verification"`
}
    FilesResponse contains information about multiple files from a repo
type ForkPayload ¶ added in v1.9.0
type ForkPayload struct {
	// The forked repository (the new fork)
	Forkee *Repository `json:"forkee"`
	// The original repository that was forked
	Repo *Repository `json:"repository"`
	// The user who created the fork
	Sender *User `json:"sender"`
}
    ForkPayload represents fork payload
func (*ForkPayload) JSONPayload ¶ added in v1.9.0
func (p *ForkPayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type GPGKey ¶ added in v1.9.0
type GPGKey struct {
	// The unique identifier of the GPG key
	ID int64 `json:"id"`
	// The primary key ID of the GPG key
	PrimaryKeyID string `json:"primary_key_id"`
	// The key ID of the GPG key
	KeyID string `json:"key_id"`
	// The public key content in armored format
	PublicKey string `json:"public_key"`
	// List of email addresses associated with this GPG key
	Emails []*GPGKeyEmail `json:"emails"`
	// List of subkeys of this GPG key
	SubsKey []*GPGKey `json:"subkeys"`
	// Whether the key can be used for signing
	CanSign bool `json:"can_sign"`
	// Whether the key can be used for encrypting communications
	CanEncryptComms bool `json:"can_encrypt_comms"`
	// Whether the key can be used for encrypting storage
	CanEncryptStorage bool `json:"can_encrypt_storage"`
	// Whether the key can be used for certification
	CanCertify bool `json:"can_certify"`
	// Whether the GPG key has been verified
	Verified bool `json:"verified"`
	// swagger:strfmt date-time
	// The date and time when the GPG key was created
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	// The date and time when the GPG key expires
	Expires time.Time `json:"expires_at"`
}
    GPGKey a user GPG key to sign commit and tag in repository
type GPGKeyEmail ¶ added in v1.9.0
type GPGKeyEmail struct {
	// The email address associated with the GPG key
	Email string `json:"email"`
	// Whether the email address has been verified
	Verified bool `json:"verified"`
}
    GPGKeyEmail an email attached to a GPGKey swagger:model GPGKeyEmail
type GeneralAPISettings ¶ added in v1.13.0
type GeneralAPISettings struct {
	// MaxResponseItems is the maximum number of items returned in API responses
	MaxResponseItems int `json:"max_response_items"`
	// DefaultPagingNum is the default number of items per page
	DefaultPagingNum int `json:"default_paging_num"`
	// DefaultGitTreesPerPage is the default number of Git tree items per page
	DefaultGitTreesPerPage int `json:"default_git_trees_per_page"`
	// DefaultMaxBlobSize is the default maximum blob size for API responses
	DefaultMaxBlobSize int64 `json:"default_max_blob_size"`
	// DefaultMaxResponseSize is the default maximum response size
	DefaultMaxResponseSize int64 `json:"default_max_response_size"`
}
    GeneralAPISettings contains global api settings exposed by it
type GeneralAttachmentSettings ¶ added in v1.13.0
type GeneralAttachmentSettings struct {
	// Enabled indicates if file attachments are enabled
	Enabled bool `json:"enabled"`
	// AllowedTypes contains the allowed file types for attachments
	AllowedTypes string `json:"allowed_types"`
	// MaxSize is the maximum size for individual attachments
	MaxSize int64 `json:"max_size"`
	// MaxFiles is the maximum number of files per attachment
	MaxFiles int `json:"max_files"`
}
    GeneralAttachmentSettings contains global Attachment settings exposed by API
type GeneralRepoSettings ¶ added in v1.13.0
type GeneralRepoSettings struct {
	// MirrorsDisabled indicates if repository mirroring is disabled
	MirrorsDisabled bool `json:"mirrors_disabled"`
	// HTTPGitDisabled indicates if HTTP Git operations are disabled
	HTTPGitDisabled bool `json:"http_git_disabled"`
	// MigrationsDisabled indicates if repository migrations are disabled
	MigrationsDisabled bool `json:"migrations_disabled"`
	// StarsDisabled indicates if repository starring is disabled
	StarsDisabled bool `json:"stars_disabled"`
	// TimeTrackingDisabled indicates if time tracking is disabled
	TimeTrackingDisabled bool `json:"time_tracking_disabled"`
	// LFSDisabled indicates if Git LFS support is disabled
	LFSDisabled bool `json:"lfs_disabled"`
}
    GeneralRepoSettings contains global repository settings exposed by API
type GeneralUISettings ¶ added in v1.13.0
type GeneralUISettings struct {
	// DefaultTheme is the default UI theme
	DefaultTheme string `json:"default_theme"`
	// AllowedReactions contains the list of allowed emoji reactions
	AllowedReactions []string `json:"allowed_reactions"`
	// CustomEmojis contains the list of custom emojis
	CustomEmojis []string `json:"custom_emojis"`
}
    GeneralUISettings contains global ui settings exposed by API
type GenerateRepoOption ¶ added in v1.15.0
type GenerateRepoOption struct {
	// the organization's name or individual user's name who will own the new repository
	//
	// required: true
	Owner string `json:"owner"`
	// required: true
	// unique: true
	Name string `json:"name" binding:"Required;AlphaDashDot;MaxSize(100)"`
	// Default branch of the new repository
	DefaultBranch string `json:"default_branch"`
	// Description of the repository to create
	Description string `json:"description" binding:"MaxSize(2048)"`
	// Whether the repository is private
	Private bool `json:"private"`
	// include git content of default branch in template repo
	GitContent bool `json:"git_content"`
	// include topics in template repo
	Topics bool `json:"topics"`
	// include git hooks in template repo
	GitHooks bool `json:"git_hooks"`
	// include webhooks in template repo
	Webhooks bool `json:"webhooks"`
	// include avatar of the template repo
	Avatar bool `json:"avatar"`
	// include labels in template repo
	Labels bool `json:"labels"`
	// include protected branches in template repo
	ProtectedBranch bool `json:"protected_branch"`
}
    GenerateRepoOption options when creating a repository using a template swagger:model
type GetFilesOptions ¶ added in v1.24.0
type GetFilesOptions struct {
	// Files is the list of file paths to retrieve
	Files []string `json:"files" binding:"Required"`
}
    GetFilesOptions options for retrieving metadate and content of multiple files
type GitBlobResponse ¶ added in v1.9.0
type GitBlobResponse struct {
	// The content of the git blob (may be base64 encoded)
	Content *string `json:"content"`
	// The encoding used for the content (e.g., "base64")
	Encoding *string `json:"encoding"`
	// The URL to access this git blob
	URL string `json:"url"`
	// The SHA hash of the git blob
	SHA string `json:"sha"`
	// The size of the git blob in bytes
	Size int64 `json:"size"`
	// The LFS object ID if this blob is stored in LFS
	LfsOid *string `json:"lfs_oid,omitempty"`
	// The size of the LFS object if this blob is stored in LFS
	LfsSize *int64 `json:"lfs_size,omitempty"`
}
    GitBlobResponse represents a git blob
type GitEntry ¶ added in v1.9.0
type GitEntry struct {
	// Path is the file or directory path
	Path string `json:"path"`
	// Mode is the file mode (permissions)
	Mode string `json:"mode"`
	// Type indicates if this is a file, directory, or symlink
	Type string `json:"type"`
	// Size is the file size in bytes
	Size int64 `json:"size"`
	// SHA is the Git object SHA
	SHA string `json:"sha"`
	// URL is the API URL for this tree entry
	URL string `json:"url"`
}
    GitEntry represents a git tree
type GitHook ¶ added in v1.9.0
type GitHook struct {
	// Name is the name of the Git hook
	Name string `json:"name"`
	// IsActive indicates if the hook is active
	IsActive bool `json:"is_active"`
	// Content contains the script content of the hook
	Content string `json:"content,omitempty"`
}
    GitHook represents a Git repository hook
type GitHookList ¶ added in v1.9.0
type GitHookList []*GitHook
GitHookList represents a list of Git hooks
type GitObject ¶ added in v1.9.0
type GitObject struct {
	// The type of the Git object (e.g., commit, tag, tree, blob)
	Type string `json:"type"`
	// The SHA hash of the Git object
	SHA string `json:"sha"`
	// The URL to access this Git object
	URL string `json:"url"`
}
    GitObject represents a Git object.
type GitServiceType ¶ added in v1.10.0
type GitServiceType int
GitServiceType represents a git service
const ( NotMigrated GitServiceType = iota // 0 not migrated from external sites PlainGitService // 1 plain git service GithubService // 2 github.com GiteaService // 3 gitea service GitlabService // 4 gitlab service GogsService // 5 gogs service OneDevService // 6 onedev service GitBucketService // 7 gitbucket service CodebaseService // 8 codebase service CodeCommitService // 9 codecommit service )
enumerate all GitServiceType
func (GitServiceType) Name ¶ added in v1.10.0
func (gt GitServiceType) Name() string
Name represents the service type's name WARNING: the name has to be equal to that on goth's library
func (GitServiceType) Title ¶ added in v1.13.0
func (gt GitServiceType) Title() string
Title represents the service type's proper title
func (GitServiceType) TokenAuth ¶ added in v1.13.0
func (gt GitServiceType) TokenAuth() bool
TokenAuth represents whether a service type supports token-based auth
type GitTreeResponse ¶ added in v1.9.0
type GitTreeResponse struct {
	// SHA is the tree object SHA
	SHA string `json:"sha"`
	// URL is the API URL for this tree
	URL string `json:"url"`
	// Entries contains the tree entries (files and directories)
	Entries []GitEntry `json:"tree"`
	// Truncated indicates if the response was truncated due to size
	Truncated bool `json:"truncated"`
	// Page is the current page number for pagination
	Page int `json:"page"`
	// TotalCount is the total number of entries in the tree
	TotalCount int `json:"total_count"`
}
    GitTreeResponse returns a git tree
type GitignoreTemplateInfo ¶ added in v1.20.0
type GitignoreTemplateInfo struct {
	// Name is the name of the gitignore template
	Name string `json:"name"`
	// Source contains the content of the gitignore template
	Source string `json:"source"`
}
    GitignoreTemplateInfo name and text of a gitignore template
type Hook ¶ added in v1.9.0
type Hook struct {
	// The unique identifier of the webhook
	ID int64 `json:"id"`
	// The type of the webhook (e.g., gitea, slack, discord)
	Type string `json:"type"`
	// Branch filter pattern to determine which branches trigger the webhook
	BranchFilter string `json:"branch_filter"`
	// The URL of the webhook endpoint (hidden in JSON)
	URL string `json:"-"`
	// Configuration settings for the webhook
	Config map[string]string `json:"config"`
	// List of events that trigger this webhook
	Events []string `json:"events"`
	// Authorization header to include in webhook requests
	AuthorizationHeader string `json:"authorization_header"`
	// Whether the webhook is active and will be triggered
	Active bool `json:"active"`
	// swagger:strfmt date-time
	// The date and time when the webhook was last updated
	Updated time.Time `json:"updated_at"`
	// swagger:strfmt date-time
	// The date and time when the webhook was created
	Created time.Time `json:"created_at"`
}
    Hook a hook is a web hook when one repository changed
type HookIssueAction ¶ added in v1.9.0
type HookIssueAction string
HookIssueAction FIXME
const ( // HookIssueOpened opened HookIssueOpened HookIssueAction = "opened" // HookIssueClosed closed HookIssueClosed HookIssueAction = "closed" // HookIssueReOpened reopened HookIssueReOpened HookIssueAction = "reopened" // HookIssueEdited edited HookIssueEdited HookIssueAction = "edited" // HookIssueDeleted is an issue action for deleting an issue HookIssueDeleted HookIssueAction = "deleted" // HookIssueAssigned assigned HookIssueAssigned HookIssueAction = "assigned" // HookIssueUnassigned unassigned HookIssueUnassigned HookIssueAction = "unassigned" // HookIssueLabelUpdated label_updated HookIssueLabelUpdated HookIssueAction = "label_updated" // HookIssueLabelCleared label_cleared HookIssueLabelCleared HookIssueAction = "label_cleared" // HookIssueSynchronized synchronized HookIssueSynchronized HookIssueAction = "synchronized" // HookIssueMilestoned is an issue action for when a milestone is set on an issue. HookIssueMilestoned HookIssueAction = "milestoned" // HookIssueDemilestoned is an issue action for when a milestone is cleared on an issue. HookIssueDemilestoned HookIssueAction = "demilestoned" // HookIssueReviewed is an issue action for when a pull request is reviewed HookIssueReviewed HookIssueAction = "reviewed" // HookIssueReviewRequested is an issue action for when a reviewer is requested for a pull request. HookIssueReviewRequested HookIssueAction = "review_requested" // HookIssueReviewRequestRemoved is an issue action for removing a review request to someone on a pull request. HookIssueReviewRequestRemoved HookIssueAction = "review_request_removed" )
type HookIssueCommentAction ¶ added in v1.9.0
type HookIssueCommentAction string
HookIssueCommentAction defines hook issue comment action
const ( HookIssueCommentCreated HookIssueCommentAction = "created" HookIssueCommentEdited HookIssueCommentAction = "edited" HookIssueCommentDeleted HookIssueCommentAction = "deleted" )
all issue comment actions
type HookPackageAction ¶ added in v1.17.0
type HookPackageAction string
HookPackageAction an action that happens to a package
const ( // HookPackageCreated created HookPackageCreated HookPackageAction = "created" // HookPackageDeleted deleted HookPackageDeleted HookPackageAction = "deleted" )
type HookReleaseAction ¶ added in v1.9.0
type HookReleaseAction string
HookReleaseAction defines hook release action type
const ( HookReleasePublished HookReleaseAction = "published" HookReleaseUpdated HookReleaseAction = "updated" HookReleaseDeleted HookReleaseAction = "deleted" )
all release actions
type HookRepoAction ¶ added in v1.9.0
type HookRepoAction string
HookRepoAction an action that happens to a repo
const ( // HookRepoCreated created HookRepoCreated HookRepoAction = "created" // HookRepoDeleted deleted HookRepoDeleted HookRepoAction = "deleted" )
type HookWikiAction ¶ added in v1.17.4
type HookWikiAction string
HookWikiAction an action that happens to a wiki page
const ( // HookWikiCreated created HookWikiCreated HookWikiAction = "created" // HookWikiEdited edited HookWikiEdited HookWikiAction = "edited" // HookWikiDeleted deleted HookWikiDeleted HookWikiAction = "deleted" )
type Identity ¶ added in v1.9.0
type Identity struct {
	// Name is the person's name
	Name string `json:"name" binding:"MaxSize(100)"`
	// swagger:strfmt email
	// Email is the person's email address
	Email string `json:"email" binding:"MaxSize(254)"`
}
    Identity for a person's identity like an author or committer
type InternalTracker ¶ added in v1.10.0
type InternalTracker struct {
	// Enable time tracking (Built-in issue tracker)
	EnableTimeTracker bool `json:"enable_time_tracker"`
	// Let only contributors track time (Built-in issue tracker)
	AllowOnlyContributorsToTrackTime bool `json:"allow_only_contributors_to_track_time"`
	// Enable dependencies for issues and pull requests (Built-in issue tracker)
	EnableIssueDependencies bool `json:"enable_issue_dependencies"`
}
    InternalTracker represents settings for internal tracker swagger:model
type Issue ¶ added in v1.9.0
type Issue struct {
	ID               int64         `json:"id"`
	URL              string        `json:"url"`
	HTMLURL          string        `json:"html_url"`
	Index            int64         `json:"number"`
	Poster           *User         `json:"user"`
	OriginalAuthor   string        `json:"original_author"`
	OriginalAuthorID int64         `json:"original_author_id"`
	Title            string        `json:"title"`
	Body             string        `json:"body"`
	Ref              string        `json:"ref"`
	Attachments      []*Attachment `json:"assets"`
	Labels           []*Label      `json:"labels"`
	Milestone        *Milestone    `json:"milestone"`
	// deprecated
	Assignee  *User   `json:"assignee"`
	Assignees []*User `json:"assignees"`
	// Whether the issue is open or closed
	//
	// type: string
	// enum: open,closed
	State    StateType `json:"state"`
	IsLocked bool      `json:"is_locked"`
	Comments int       `json:"comments"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated time.Time `json:"updated_at"`
	// swagger:strfmt date-time
	Closed *time.Time `json:"closed_at"`
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
	TimeEstimate int64 `json:"time_estimate"`
	PullRequest *PullRequestMeta `json:"pull_request"`
	Repo        *RepositoryMeta  `json:"repository"`
	PinOrder int `json:"pin_order"`
}
    Issue represents an issue in a repository swagger:model
type IssueCommentPayload ¶ added in v1.9.0
type IssueCommentPayload struct {
	// The action performed on the comment (created, edited, deleted)
	Action HookIssueCommentAction `json:"action"`
	// The issue that the comment belongs to
	Issue *Issue `json:"issue"`
	// The pull request if the comment is on a pull request
	PullRequest *PullRequest `json:"pull_request,omitempty"`
	// The comment that was acted upon
	Comment *Comment `json:"comment"`
	// Changes made to the comment (for edit actions)
	Changes *ChangesPayload `json:"changes,omitempty"`
	// The repository containing the issue/pull request
	Repository *Repository `json:"repository"`
	// The user who performed the action
	Sender *User `json:"sender"`
	// Whether this comment is on a pull request
	IsPull bool `json:"is_pull"`
}
    IssueCommentPayload represents a payload information of issue comment event.
func (*IssueCommentPayload) JSONPayload ¶ added in v1.9.0
func (p *IssueCommentPayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type IssueConfig ¶ added in v1.20.0
type IssueConfig struct {
	BlankIssuesEnabled bool                     `json:"blank_issues_enabled" yaml:"blank_issues_enabled"`
	ContactLinks       []IssueConfigContactLink `json:"contact_links" yaml:"contact_links"`
}
    type IssueConfigContactLink ¶ added in v1.20.0
type IssueConfigValidation ¶ added in v1.20.0
type IssueDeadline ¶ added in v1.9.0
IssueDeadline represents an issue deadline swagger:model
type IssueFormField ¶ added in v1.17.4
type IssueFormField struct {
	Type        IssueFormFieldType      `json:"type" yaml:"type"`
	ID          string                  `json:"id" yaml:"id"`
	Attributes  map[string]any          `json:"attributes" yaml:"attributes"`
	Validations map[string]any          `json:"validations" yaml:"validations"`
	Visible     []IssueFormFieldVisible `json:"visible,omitempty"`
}
    IssueFormField represents a form field swagger:model
func (IssueFormField) VisibleInContent ¶ added in v1.22.0
func (iff IssueFormField) VisibleInContent() bool
func (IssueFormField) VisibleOnForm ¶ added in v1.22.0
func (iff IssueFormField) VisibleOnForm() bool
type IssueFormFieldType ¶ added in v1.17.4
type IssueFormFieldType string
IssueFormFieldType defines issue form field type, can be "markdown", "textarea", "input", "dropdown" or "checkboxes"
const ( IssueFormFieldTypeMarkdown IssueFormFieldType = "markdown" IssueFormFieldTypeTextarea IssueFormFieldType = "textarea" IssueFormFieldTypeInput IssueFormFieldType = "input" IssueFormFieldTypeDropdown IssueFormFieldType = "dropdown" IssueFormFieldTypeCheckboxes IssueFormFieldType = "checkboxes" )
type IssueFormFieldVisible ¶ added in v1.22.0
type IssueFormFieldVisible string
IssueFormFieldVisible defines issue form field visible swagger:model
const ( IssueFormFieldVisibleForm IssueFormFieldVisible = "form" IssueFormFieldVisibleContent IssueFormFieldVisible = "content" )
type IssueLabelsOption ¶ added in v1.9.0
type IssueLabelsOption struct {
	// Labels can be a list of integers representing label IDs
	// or a list of strings representing label names
	Labels []any `json:"labels"`
}
    IssueLabelsOption a collection of labels
type IssueMeta ¶ added in v1.20.0
type IssueMeta struct {
	Index int64 `json:"index"`
	// owner of the issue's repo
	Owner string `json:"owner"`
	Name  string `json:"repo"`
}
    IssueMeta basic issue information swagger:model
type IssuePayload ¶ added in v1.9.0
type IssuePayload struct {
	// The action performed on the issue
	Action HookIssueAction `json:"action"`
	// The index number of the issue
	Index int64 `json:"number"`
	// Changes made to the issue (for edit actions)
	Changes *ChangesPayload `json:"changes,omitempty"`
	// The issue that was acted upon
	Issue *Issue `json:"issue"`
	// The repository containing the issue
	Repository *Repository `json:"repository"`
	// The user who performed the action
	Sender *User `json:"sender"`
	// The commit ID related to the issue action
	CommitID string `json:"commit_id"`
}
    IssuePayload represents the payload information that is sent along with an issue event.
func (*IssuePayload) JSONPayload ¶ added in v1.9.0
func (p *IssuePayload) JSONPayload() ([]byte, error)
JSONPayload encodes the IssuePayload to JSON, with an indentation of two spaces.
type IssueTemplate ¶ added in v1.13.0
type IssueTemplate struct {
	Name      string                   `json:"name" yaml:"name"`
	Title     string                   `json:"title" yaml:"title"`
	About     string                   `json:"about" yaml:"about"` // Using "description" in a template file is compatible
	Labels    IssueTemplateStringSlice `json:"labels" yaml:"labels"`
	Assignees IssueTemplateStringSlice `json:"assignees" yaml:"assignees"`
	Ref       string                   `json:"ref" yaml:"ref"`
	Content   string                   `json:"content" yaml:"-"`
	Fields    []*IssueFormField        `json:"body" yaml:"body"`
	FileName  string                   `json:"file_name" yaml:"-"`
}
    IssueTemplate represents an issue template for a repository swagger:model
func (IssueTemplate) Type ¶ added in v1.17.4
func (it IssueTemplate) Type() IssueTemplateType
Type returns the type of IssueTemplate, can be "md", "yaml" or empty for known
type IssueTemplateStringSlice ¶ added in v1.23.0
type IssueTemplateStringSlice []string
func (*IssueTemplateStringSlice) UnmarshalYAML ¶ added in v1.23.0
func (l *IssueTemplateStringSlice) UnmarshalYAML(value *yaml.Node) error
type IssueTemplateType ¶ added in v1.17.4
type IssueTemplateType string
IssueTemplateType defines issue template type
const ( IssueTemplateTypeMarkdown IssueTemplateType = "md" IssueTemplateTypeYaml IssueTemplateType = "yaml" )
type LFSLock ¶ added in v1.9.0
type LFSLock struct {
	// The unique identifier of the lock
	ID string `json:"id"`
	// The file path that is locked
	Path string `json:"path"`
	// The timestamp when the lock was created
	LockedAt time.Time `json:"locked_at"`
	// The owner of the lock
	Owner *LFSLockOwner `json:"owner"`
}
    LFSLock represent a lock for use with the locks API.
type LFSLockDeleteRequest ¶ added in v1.9.0
type LFSLockDeleteRequest struct {
	// Whether to force delete the lock even if not owned by the requester
	Force bool `json:"force"`
}
    LFSLockDeleteRequest contains params of a delete request https://github.com/git-lfs/git-lfs/blob/master/docs/api/locking.md#delete-lock
type LFSLockError ¶ added in v1.9.0
type LFSLockError struct {
	// The error message
	Message string `json:"message"`
	// The lock related to the error, if any
	Lock *LFSLock `json:"lock,omitempty"`
	// URL to documentation about the error
	Documentation string `json:"documentation_url,omitempty"`
	// The request ID for debugging purposes
	RequestID string `json:"request_id,omitempty"`
}
    LFSLockError contains information on the error that occurs
type LFSLockList ¶ added in v1.9.0
type LFSLockList struct {
	// The list of locks
	Locks []*LFSLock `json:"locks"`
	// The cursor for pagination to the next set of results
	Next string `json:"next_cursor,omitempty"`
}
    LFSLockList represent a list of lock requested https://github.com/git-lfs/git-lfs/blob/master/docs/api/locking.md#list-locks
type LFSLockListVerify ¶ added in v1.9.0
type LFSLockListVerify struct {
	// Locks owned by the requesting user
	Ours []*LFSLock `json:"ours"`
	// Locks owned by other users
	Theirs []*LFSLock `json:"theirs"`
	// The cursor for pagination to the next set of results
	Next string `json:"next_cursor,omitempty"`
}
    LFSLockListVerify represent a list of lock verification requested https://github.com/git-lfs/git-lfs/blob/master/docs/api/locking.md#list-locks-for-verification
type LFSLockOwner ¶ added in v1.9.0
type LFSLockOwner struct {
	// The name of the lock owner
	Name string `json:"name"`
}
    LFSLockOwner represent a lock owner for use with the locks API.
type LFSLockRequest ¶ added in v1.9.0
type LFSLockRequest struct {
	// The file path to lock
	Path string `json:"path"`
}
    LFSLockRequest contains the path of the lock to create https://github.com/git-lfs/git-lfs/blob/master/docs/api/locking.md#create-lock
type LFSLockResponse ¶ added in v1.9.0
type LFSLockResponse struct {
	// The created lock
	Lock *LFSLock `json:"lock"`
}
    LFSLockResponse represent a lock created https://github.com/git-lfs/git-lfs/blob/master/docs/api/locking.md#create-lock
type Label ¶ added in v1.9.0
type Label struct {
	// ID is the unique identifier for the label
	ID int64 `json:"id"`
	// Name is the display name of the label
	Name string `json:"name"`
	// example: false
	Exclusive bool `json:"exclusive"`
	// example: false
	IsArchived bool `json:"is_archived"`
	// example: 00aabb
	Color string `json:"color"`
	// Description provides additional context about the label's purpose
	Description string `json:"description"`
	// URL is the API endpoint for accessing this label
	URL string `json:"url"`
}
    Label a label to an issue or a pr swagger:model
type LabelTemplate ¶ added in v1.20.0
type LabelTemplate struct {
	// Name is the display name of the label template
	Name string `json:"name"`
	// example: false
	Exclusive bool `json:"exclusive"`
	// example: 00aabb
	Color string `json:"color"`
	// Description provides additional context about the label template's purpose
	Description string `json:"description"`
}
    LabelTemplate info of a Label template
type LicenseTemplateInfo ¶ added in v1.20.0
type LicenseTemplateInfo struct {
	// Key is the unique identifier for the license template
	Key string `json:"key"`
	// Name is the display name of the license
	Name string `json:"name"`
	// URL is the reference URL for the license
	URL string `json:"url"`
	// Implementation contains license implementation details
	Implementation string `json:"implementation"`
	// Body contains the full text of the license
	Body string `json:"body"`
}
    LicensesInfo contains information about a License
type LicensesTemplateListEntry ¶ added in v1.20.0
type LicensesTemplateListEntry struct {
	// Key is the unique identifier for the license template
	Key string `json:"key"`
	// Name is the display name of the license
	Name string `json:"name"`
	// URL is the reference URL for the license
	URL string `json:"url"`
}
    LicensesListEntry is used for the API
type ListPullRequestsOptions ¶ added in v1.9.0
type ListPullRequestsOptions struct {
	// The page number for pagination
	Page int `json:"page"`
	// The state filter for pull requests
	State string `json:"state"`
}
    ListPullRequestsOptions options for listing pull requests
type LockIssueOption ¶ added in v1.24.0
type LockIssueOption struct {
	Reason string `json:"lock_reason"`
}
    LockIssueOption options to lock an issue
type MarkdownOption ¶ added in v1.9.0
type MarkdownOption struct {
	// Text markdown to render
	//
	// in: body
	Text string
	// Mode to render (markdown, comment, wiki, file)
	//
	// in: body
	Mode string
	// URL path for rendering issue, media and file links
	// Expected format: /subpath/{user}/{repo}/src/{branch, commit, tag}/{identifier/path}/{file/dir}
	//
	// in: body
	Context string
	// Is it a wiki page? (use mode=wiki instead)
	//
	// Deprecated: true
	// in: body
	Wiki bool
}
    MarkdownOption markdown options
type MarkdownRender ¶ added in v1.9.0
type MarkdownRender string
MarkdownRender is a rendered markdown document swagger:response MarkdownRender
type MarkupOption ¶ added in v1.20.0
type MarkupOption struct {
	// Text markup to render
	//
	// in: body
	Text string
	// Mode to render (markdown, comment, wiki, file)
	//
	// in: body
	Mode string
	// URL path for rendering issue, media and file links
	// Expected format: /subpath/{user}/{repo}/src/{branch, commit, tag}/{identifier/path}/{file/dir}
	//
	// in: body
	Context string
	// Is it a wiki page? (use mode=wiki instead)
	//
	// Deprecated: true
	// in: body
	Wiki bool
	// File path for detecting extension in file mode
	//
	// in: body
	FilePath string
}
    MarkupOption markup options
type MarkupRender ¶ added in v1.20.0
type MarkupRender string
MarkupRender is a rendered markup document swagger:response MarkupRender
type MergeUpstreamRequest ¶ added in v1.23.1
type MergeUpstreamResponse ¶ added in v1.23.1
type MergeUpstreamResponse struct {
	MergeStyle string `json:"merge_type"`
}
    type MigrateRepoOptions ¶ added in v1.13.0
type MigrateRepoOptions struct {
	// required: true
	CloneAddr string `json:"clone_addr" binding:"Required"`
	// deprecated (only for backwards compatibility, use repo_owner instead)
	RepoOwnerID int64 `json:"uid"`
	// the organization's name or individual user's name who will own the migrated repository
	RepoOwner string `json:"repo_owner"`
	// required: true
	RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"`
	// enum: git,github,gitea,gitlab,gogs,onedev,gitbucket,codebase,codecommit
	Service      string `json:"service"`
	AuthUsername string `json:"auth_username"`
	AuthPassword string `json:"auth_password"`
	AuthToken    string `json:"auth_token"`
	Mirror         bool   `json:"mirror"`
	LFS            bool   `json:"lfs"`
	LFSEndpoint    string `json:"lfs_endpoint"`
	Private        bool   `json:"private"`
	Description    string `json:"description" binding:"MaxSize(2048)"`
	Wiki           bool   `json:"wiki"`
	Milestones     bool   `json:"milestones"`
	Labels         bool   `json:"labels"`
	Issues         bool   `json:"issues"`
	PullRequests   bool   `json:"pull_requests"`
	Releases       bool   `json:"releases"`
	MirrorInterval string `json:"mirror_interval"`
	AWSAccessKeyID     string `json:"aws_access_key_id"`
	AWSSecretAccessKey string `json:"aws_secret_access_key"`
}
    MigrateRepoOptions options for migrating repository's this is used to interact with api v1
type Milestone ¶ added in v1.9.0
type Milestone struct {
	// ID is the unique identifier for the milestone
	ID int64 `json:"id"`
	// Title is the title of the milestone
	Title string `json:"title"`
	// Description provides details about the milestone
	Description string `json:"description"`
	// State indicates if the milestone is open or closed
	State StateType `json:"state"`
	// OpenIssues is the number of open issues in this milestone
	OpenIssues int `json:"open_issues"`
	// ClosedIssues is the number of closed issues in this milestone
	ClosedIssues int `json:"closed_issues"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated *time.Time `json:"updated_at"`
	// swagger:strfmt date-time
	Closed *time.Time `json:"closed_at"`
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_on"`
}
    Milestone milestone is a collection of issues on one repository
type NewIssuePinsAllowed ¶ added in v1.20.0
type NewIssuePinsAllowed struct {
	Issues       bool `json:"issues"`
	PullRequests bool `json:"pull_requests"`
}
    NewIssuePinsAllowed represents an API response that says if new Issue Pins are allowed
type NodeInfo ¶ added in v1.16.0
type NodeInfo struct {
	// Version specifies the schema version
	Version string `json:"version"`
	// Software contains information about the server software
	Software NodeInfoSoftware `json:"software"`
	// Protocols lists the protocols supported by this server
	Protocols []string `json:"protocols"`
	// Services contains third party services this server can connect to
	Services NodeInfoServices `json:"services"`
	// OpenRegistrations indicates if new user registrations are accepted
	OpenRegistrations bool `json:"openRegistrations"`
	// Usage contains server usage statistics
	Usage NodeInfoUsage `json:"usage"`
	// Metadata contains free form key value pairs for software specific values
	Metadata struct{} `json:"metadata"`
}
    NodeInfo contains standardized way of exposing metadata about a server running one of the distributed social networks
type NodeInfoServices ¶ added in v1.16.0
type NodeInfoServices struct {
	// Inbound lists services that can deliver content to this server
	Inbound []string `json:"inbound"`
	// Outbound lists services this server can deliver content to
	Outbound []string `json:"outbound"`
}
    NodeInfoServices contains the third party sites this server can connect to via their application API
type NodeInfoSoftware ¶ added in v1.16.0
type NodeInfoSoftware struct {
	// Name is the canonical name of this server software
	Name string `json:"name"`
	// Version is the version of this server software
	Version string `json:"version"`
	// Repository is the URL to the source code repository
	Repository string `json:"repository"`
	// Homepage is the URL to the homepage of this server software
	Homepage string `json:"homepage"`
}
    NodeInfoSoftware contains Metadata about server software in use
type NodeInfoUsage ¶ added in v1.16.0
type NodeInfoUsage struct {
	// Users contains user statistics
	Users NodeInfoUsageUsers `json:"users"`
	// LocalPosts is the total amount of posts made by users local to this server
	LocalPosts int `json:"localPosts,omitempty"`
	// LocalComments is the total amount of comments made by users local to this server
	LocalComments int `json:"localComments,omitempty"`
}
    NodeInfoUsage contains usage statistics for this server
type NodeInfoUsageUsers ¶ added in v1.16.0
type NodeInfoUsageUsers struct {
	// Total is the total amount of users on this server
	Total int `json:"total,omitempty"`
	// ActiveHalfyear is the amount of users that signed in at least once in the last 180 days
	ActiveHalfyear int `json:"activeHalfyear,omitempty"`
	// ActiveMonth is the amount of users that signed in at least once in the last 30 days
	ActiveMonth int `json:"activeMonth,omitempty"`
}
    NodeInfoUsageUsers contains statistics about the users of this server
type Note ¶ added in v1.16.0
type Note struct {
	// The content message of the git note
	Message string `json:"message"`
	// The commit that this note is attached to
	Commit *Commit `json:"commit"`
}
    Note contains information related to a git note
type NotificationCount ¶ added in v1.12.0
type NotificationCount struct {
	// New is the number of unread notifications
	New int64 `json:"new"`
}
    NotificationCount number of unread notifications
type NotificationSubject ¶ added in v1.12.0
type NotificationSubject struct {
	// Title is the title of the notification subject
	Title string `json:"title"`
	// URL is the API URL for the notification subject
	URL string `json:"url"`
	// LatestCommentURL is the API URL for the latest comment
	LatestCommentURL string `json:"latest_comment_url"`
	// HTMLURL is the web URL for the notification subject
	HTMLURL string `json:"html_url"`
	// LatestCommentHTMLURL is the web URL for the latest comment
	LatestCommentHTMLURL string `json:"latest_comment_html_url"`
	// Type indicates the type of the notification subject
	Type NotifySubjectType `json:"type" binding:"In(Issue,Pull,Commit,Repository)"`
	// State indicates the current state of the notification subject
	State StateType `json:"state"`
}
    NotificationSubject contains the notification subject (Issue/Pull/Commit)
type NotificationThread ¶ added in v1.12.0
type NotificationThread struct {
	// ID is the unique identifier for the notification thread
	ID int64 `json:"id"`
	// Repository is the repository associated with the notification
	Repository *Repository `json:"repository"`
	// Subject contains details about the notification subject
	Subject *NotificationSubject `json:"subject"`
	// Unread indicates if the notification has been read
	Unread bool `json:"unread"`
	// Pinned indicates if the notification is pinned
	Pinned bool `json:"pinned"`
	// UpdatedAt is the time when the notification was last updated
	UpdatedAt time.Time `json:"updated_at"`
	// URL is the API URL for this notification thread
	URL string `json:"url"`
}
    NotificationThread expose Notification on API
type NotifySubjectType ¶ added in v1.15.0
type NotifySubjectType string
NotifySubjectType represent type of notification subject
const ( // NotifySubjectIssue an issue is subject of an notification NotifySubjectIssue NotifySubjectType = "Issue" // NotifySubjectPull an pull is subject of an notification NotifySubjectPull NotifySubjectType = "Pull" // NotifySubjectCommit an commit is subject of an notification NotifySubjectCommit NotifySubjectType = "Commit" // NotifySubjectRepository an repository is subject of an notification NotifySubjectRepository NotifySubjectType = "Repository" )
type OAuth2Application ¶ added in v1.12.0
type OAuth2Application struct {
	// The unique identifier of the OAuth2 application
	ID int64 `json:"id"`
	// The name of the OAuth2 application
	Name string `json:"name"`
	// The client ID of the OAuth2 application
	ClientID string `json:"client_id"`
	// The client secret of the OAuth2 application
	ClientSecret string `json:"client_secret"`
	// Whether the client is confidential
	ConfidentialClient bool `json:"confidential_client"`
	// Whether to skip secondary authorization
	SkipSecondaryAuthorization bool `json:"skip_secondary_authorization"`
	// The list of allowed redirect URIs
	RedirectURIs []string `json:"redirect_uris"`
	// The timestamp when the application was created
	Created time.Time `json:"created"`
}
    OAuth2Application represents an OAuth2 application. swagger:response OAuth2Application
type OAuth2ApplicationList ¶ added in v1.12.0
type OAuth2ApplicationList []*OAuth2Application
OAuth2ApplicationList represents a list of OAuth2 applications. swagger:response OAuth2ApplicationList
type Organization ¶ added in v1.9.0
type Organization struct {
	// The unique identifier of the organization
	ID int64 `json:"id"`
	// The name of the organization
	Name string `json:"name"`
	// The full display name of the organization
	FullName string `json:"full_name"`
	// The email address of the organization
	Email string `json:"email"`
	// The URL of the organization's avatar
	AvatarURL string `json:"avatar_url"`
	// The description of the organization
	Description string `json:"description"`
	// The website URL of the organization
	Website string `json:"website"`
	// The location of the organization
	Location string `json:"location"`
	// The visibility level of the organization (public, limited, private)
	Visibility string `json:"visibility"`
	// Whether repository administrators can change team access
	RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
	// username of the organization
	// deprecated
	UserName string `json:"username"`
}
    Organization represents an organization
type OrganizationPermissions ¶ added in v1.16.0
type OrganizationPermissions struct {
	// Whether the user is an owner of the organization
	IsOwner bool `json:"is_owner"`
	// Whether the user is an admin of the organization
	IsAdmin bool `json:"is_admin"`
	// Whether the user can write to the organization
	CanWrite bool `json:"can_write"`
	// Whether the user can read the organization
	CanRead bool `json:"can_read"`
	// Whether the user can create repositories in the organization
	CanCreateRepository bool `json:"can_create_repository"`
}
    OrganizationPermissions list different users permissions on an organization
type PRBranchInfo ¶ added in v1.9.0
type PRBranchInfo struct {
	// The display name of the branch
	Name string `json:"label"`
	// The git reference of the branch
	Ref string `json:"ref"`
	// The commit SHA of the branch head
	Sha string `json:"sha"`
	// The unique identifier of the repository
	RepoID int64 `json:"repo_id"`
	// The repository information
	Repository *Repository `json:"repo"`
}
    PRBranchInfo information about a branch
type Package ¶ added in v1.17.0
type Package struct {
	// The unique identifier of the package
	ID int64 `json:"id"`
	// The owner of the package
	Owner *User `json:"owner"`
	// The repository that contains this package
	Repository *Repository `json:"repository"`
	// The user who created this package
	Creator *User `json:"creator"`
	// The type of the package (e.g., npm, maven, docker)
	Type string `json:"type"`
	// The name of the package
	Name string `json:"name"`
	// The version of the package
	Version string `json:"version"`
	// The HTML URL to view the package
	HTMLURL string `json:"html_url"`
	// swagger:strfmt date-time
	// The date and time when the package was created
	CreatedAt time.Time `json:"created_at"`
}
    Package represents a package
type PackageFile ¶ added in v1.17.0
type PackageFile struct {
	// The unique identifier of the package file
	ID int64 `json:"id"`
	// The size of the package file in bytes
	Size int64 `json:"size"`
	// The name of the package file
	Name string `json:"name"`
	// The MD5 hash of the package file
	HashMD5 string `json:"md5"`
	// The SHA1 hash of the package file
	HashSHA1 string `json:"sha1"`
	// The SHA256 hash of the package file
	HashSHA256 string `json:"sha256"`
	// The SHA512 hash of the package file
	HashSHA512 string `json:"sha512"`
}
    PackageFile represents a package file
type PackagePayload ¶ added in v1.17.0
type PackagePayload struct {
	// The action performed on the package
	Action HookPackageAction `json:"action"`
	// The repository associated with the package
	Repository *Repository `json:"repository"`
	// The package that was acted upon
	Package *Package `json:"package"`
	// The organization that owns the package (if applicable)
	Organization *Organization `json:"organization"`
	// The user who performed the action
	Sender *User `json:"sender"`
}
    PackagePayload represents a package payload
func (*PackagePayload) JSONPayload ¶ added in v1.17.0
func (p *PackagePayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type PayloadCommit ¶ added in v1.9.0
type PayloadCommit struct {
	// sha1 hash of the commit
	ID string `json:"id"`
	// The commit message
	Message string `json:"message"`
	// The URL to view this commit
	URL string `json:"url"`
	// The author of the commit
	Author *PayloadUser `json:"author"`
	// The committer of the commit
	Committer *PayloadUser `json:"committer"`
	// GPG verification information for the commit
	Verification *PayloadCommitVerification `json:"verification"`
	// swagger:strfmt date-time
	// The timestamp when the commit was made
	Timestamp time.Time `json:"timestamp"`
	// List of files added in this commit
	Added []string `json:"added"`
	// List of files removed in this commit
	Removed []string `json:"removed"`
	// List of files modified in this commit
	Modified []string `json:"modified"`
}
    PayloadCommit represents a commit
type PayloadCommitVerification ¶ added in v1.9.0
type PayloadCommitVerification struct {
	// Whether the commit signature is verified
	Verified bool `json:"verified"`
	// The reason for the verification status
	Reason string `json:"reason"`
	// The GPG signature of the commit
	Signature string `json:"signature"`
	// The user who signed the commit
	Signer *PayloadUser `json:"signer"`
	// The signed payload content
	Payload string `json:"payload"`
}
    PayloadCommitVerification represents the GPG verification of a commit
type PayloadUser ¶ added in v1.9.0
type PayloadUser struct {
	// Full name of the commit author
	Name string `json:"name"`
	// swagger:strfmt email
	Email string `json:"email"`
	// username of the user
	UserName string `json:"username"`
}
    PayloadUser represents the author or committer of a commit
type Permission ¶ added in v1.9.0
type Permission struct {
	Admin bool `json:"admin"` // Admin indicates if the user is an administrator of the repository.
	Push  bool `json:"push"`  // Push indicates if the user can push code to the repository.
	Pull  bool `json:"pull"`  // Pull indicates if the user can pull code from the repository.
}
    Permission represents a set of permissions
type PublicKey ¶ added in v1.9.0
type PublicKey struct {
	// ID is the unique identifier for the public key
	ID int64 `json:"id"`
	// Key contains the actual SSH public key content
	Key string `json:"key"`
	// URL is the API URL for this key
	URL string `json:"url,omitempty"`
	// Title is the human-readable name for the key
	Title string `json:"title,omitempty"`
	// Fingerprint is the key's fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// swagger:strfmt date-time
	// Created is the time when the key was added
	Created time.Time `json:"created_at"`
	// Updated is the time when the key was last used
	Updated time.Time `json:"last_used_at"`
	// Owner is the user who owns this key
	Owner *User `json:"user,omitempty"`
	// ReadOnly indicates if the key has read-only access
	ReadOnly bool `json:"read_only,omitempty"`
	// KeyType indicates the type of the SSH key
	KeyType string `json:"key_type,omitempty"`
}
    PublicKey publickey is a user key to push code to repository
type PullRequest ¶ added in v1.9.0
type PullRequest struct {
	// The unique identifier of the pull request
	ID int64 `json:"id"`
	// The API URL of the pull request
	URL string `json:"url"`
	// The pull request number
	Index int64 `json:"number"`
	// The user who created the pull request
	Poster *User `json:"user"`
	// The title of the pull request
	Title string `json:"title"`
	// The description body of the pull request
	Body string `json:"body"`
	// The labels attached to the pull request
	Labels []*Label `json:"labels"`
	// The milestone associated with the pull request
	Milestone *Milestone `json:"milestone"`
	// The primary assignee of the pull request
	Assignee *User `json:"assignee"`
	// The list of users assigned to the pull request
	Assignees []*User `json:"assignees"`
	// The users requested to review the pull request
	RequestedReviewers []*User `json:"requested_reviewers"`
	// The teams requested to review the pull request
	RequestedReviewersTeams []*Team `json:"requested_reviewers_teams"`
	// The current state of the pull request
	State StateType `json:"state"`
	// Whether the pull request is a draft
	Draft bool `json:"draft"`
	// Whether the pull request conversation is locked
	IsLocked bool `json:"is_locked"`
	// The number of comments on the pull request
	Comments int `json:"comments"`
	// number of review comments made on the diff of a PR review (not including comments on commits or issues in a PR)
	ReviewComments int `json:"review_comments,omitempty"`
	// The number of lines added in the pull request
	Additions *int `json:"additions,omitempty"`
	// The number of lines deleted in the pull request
	Deletions *int `json:"deletions,omitempty"`
	// The number of files changed in the pull request
	ChangedFiles *int `json:"changed_files,omitempty"`
	// The HTML URL to view the pull request
	HTMLURL string `json:"html_url"`
	// The URL to download the diff patch
	DiffURL string `json:"diff_url"`
	// The URL to download the patch file
	PatchURL string `json:"patch_url"`
	// Whether the pull request can be merged
	Mergeable bool `json:"mergeable"`
	// Whether the pull request has been merged
	HasMerged bool `json:"merged"`
	// swagger:strfmt date-time
	Merged *time.Time `json:"merged_at"`
	// The SHA of the merge commit
	MergedCommitID *string `json:"merge_commit_sha"`
	// The user who merged the pull request
	MergedBy *User `json:"merged_by"`
	// Whether maintainers can edit the pull request
	AllowMaintainerEdit bool `json:"allow_maintainer_edit"`
	// Information about the base branch
	Base *PRBranchInfo `json:"base"`
	// Information about the head branch
	Head *PRBranchInfo `json:"head"`
	// The merge base commit SHA
	MergeBase string `json:"merge_base"`
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
	// swagger:strfmt date-time
	Created *time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated *time.Time `json:"updated_at"`
	// swagger:strfmt date-time
	Closed *time.Time `json:"closed_at"`
	// The pin order for the pull request
	PinOrder int `json:"pin_order"`
}
    PullRequest represents a pull request
type PullRequestMeta ¶ added in v1.9.0
type PullRequestMeta struct {
	HasMerged        bool       `json:"merged"`
	Merged           *time.Time `json:"merged_at"`
	IsWorkInProgress bool       `json:"draft"`
	HTMLURL          string     `json:"html_url"`
}
    PullRequestMeta PR info if an issue is a PR
type PullRequestPayload ¶ added in v1.9.0
type PullRequestPayload struct {
	// The action performed on the pull request
	Action HookIssueAction `json:"action"`
	// The index number of the pull request
	Index int64 `json:"number"`
	// Changes made to the pull request (for edit actions)
	Changes *ChangesPayload `json:"changes,omitempty"`
	// The pull request that was acted upon
	PullRequest *PullRequest `json:"pull_request"`
	// The reviewer that was requested (for review request actions)
	RequestedReviewer *User `json:"requested_reviewer"`
	// The repository containing the pull request
	Repository *Repository `json:"repository"`
	// The user who performed the action
	Sender *User `json:"sender"`
	// The commit ID related to the pull request action
	CommitID string `json:"commit_id"`
	// The review information (for review actions)
	Review *ReviewPayload `json:"review"`
}
    PullRequestPayload represents a payload information of pull request event.
func (*PullRequestPayload) JSONPayload ¶ added in v1.9.0
func (p *PullRequestPayload) JSONPayload() ([]byte, error)
JSONPayload FIXME
type PullReview ¶ added in v1.12.0
type PullReview struct {
	ID                int64           `json:"id"`
	Reviewer          *User           `json:"user"`
	ReviewerTeam      *Team           `json:"team"`
	State             ReviewStateType `json:"state"`
	Body              string          `json:"body"`
	CommitID          string          `json:"commit_id"`
	Stale             bool            `json:"stale"`
	Official          bool            `json:"official"`
	Dismissed         bool            `json:"dismissed"`
	CodeCommentsCount int             `json:"comments_count"`
	// swagger:strfmt date-time
	Submitted time.Time `json:"submitted_at"`
	// swagger:strfmt date-time
	Updated time.Time `json:"updated_at"`
	// HTMLURL is the web URL for viewing the review
	HTMLURL string `json:"html_url"`
	// HTMLPullURL is the web URL for the pull request
	HTMLPullURL string `json:"pull_request_url"`
}
    PullReview represents a pull request review
type PullReviewComment ¶ added in v1.12.0
type PullReviewComment struct {
	ID       int64  `json:"id"`
	Body     string `json:"body"`
	Poster   *User  `json:"user"`
	Resolver *User  `json:"resolver"`
	ReviewID int64  `json:"pull_request_review_id"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated time.Time `json:"updated_at"`
	Path         string `json:"path"`
	CommitID     string `json:"commit_id"`
	OrigCommitID string `json:"original_commit_id"`
	DiffHunk     string `json:"diff_hunk"`
	LineNum      uint64 `json:"position"`
	OldLineNum   uint64 `json:"original_position"`
	HTMLURL     string `json:"html_url"`
	HTMLPullURL string `json:"pull_request_url"`
}
    PullReviewComment represents a comment on a pull request review
type PullReviewRequestOptions ¶ added in v1.14.0
type PullReviewRequestOptions struct {
	Reviewers     []string `json:"reviewers"`
	TeamReviewers []string `json:"team_reviewers"`
}
    PullReviewRequestOptions are options to add or remove pull review requests
type PushMirror ¶ added in v1.17.4
type PushMirror struct {
	// The name of the source repository
	RepoName string `json:"repo_name"`
	// The name of the remote in the git configuration
	RemoteName string `json:"remote_name"`
	// The remote repository URL being mirrored to
	RemoteAddress string `json:"remote_address"`
	// swagger:strfmt date-time
	CreatedUnix time.Time `json:"created"`
	// swagger:strfmt date-time
	LastUpdateUnix *time.Time `json:"last_update"`
	// The last error message encountered during sync
	LastError string `json:"last_error"`
	// The sync interval for automatic updates
	Interval string `json:"interval"`
	// Whether to sync on every commit
	SyncOnCommit bool `json:"sync_on_commit"`
}
    PushMirror represents information of a push mirror swagger:model
type PushPayload ¶ added in v1.9.0
type PushPayload struct {
	// The full name of the pushed reference
	Ref string `json:"ref"`
	// The SHA of the most recent commit before the push
	Before string `json:"before"`
	// The SHA of the most recent commit after the push
	After string `json:"after"`
	// URL to compare the changes in this push
	CompareURL string `json:"compare_url"`
	// List of commits included in the push
	Commits []*PayloadCommit `json:"commits"`
	// Total number of commits in the push
	TotalCommits int `json:"total_commits"`
	// The most recent commit in the push
	HeadCommit *PayloadCommit `json:"head_commit"`
	// The repository that was pushed to
	Repo *Repository `json:"repository"`
	// The user who performed the push
	Pusher *User `json:"pusher"`
	// The user who triggered the webhook
	Sender *User `json:"sender"`
}
    PushPayload represents a payload information of push event.
func ParsePushHook ¶ added in v1.9.0
func ParsePushHook(raw []byte) (*PushPayload, error)
ParsePushHook parses push event hook content.
func (*PushPayload) Branch ¶ added in v1.9.0
func (p *PushPayload) Branch() string
Branch returns branch name from a payload
func (*PushPayload) JSONPayload ¶ added in v1.9.0
func (p *PushPayload) JSONPayload() ([]byte, error)
JSONPayload FIXME
type PusherType ¶ added in v1.9.0
type PusherType string
PusherType define the type to push
const (
	PusherTypeUser PusherType = "user"
)
    describe all the PusherTypes
type Reaction ¶ added in v1.11.0
type Reaction struct {
	// The user who created the reaction
	User *User `json:"user"`
	// The reaction content (e.g., emoji or reaction type)
	Reaction string `json:"content"`
	// swagger:strfmt date-time
	// The date and time when the reaction was created
	Created time.Time `json:"created_at"`
}
    Reaction contain one reaction
type Reference ¶ added in v1.9.0
type Reference struct {
	// The name of the Git reference (e.g., refs/heads/main)
	Ref string `json:"ref"`
	// The URL to access this Git reference
	URL string `json:"url"`
	// The Git object that this reference points to
	Object *GitObject `json:"object"`
}
    Reference represents a Git reference.
type Release ¶ added in v1.9.0
type Release struct {
	// The unique identifier of the release
	ID int64 `json:"id"`
	// The name of the git tag associated with the release
	TagName string `json:"tag_name"`
	// The target commitish for the release
	Target string `json:"target_commitish"`
	// The display title of the release
	Title string `json:"name"`
	// The release notes or description
	Note string `json:"body"`
	// The API URL of the release
	URL string `json:"url"`
	// The HTML URL to view the release
	HTMLURL string `json:"html_url"`
	// The URL to download the tarball archive
	TarURL string `json:"tarball_url"`
	// The URL to download the zip archive
	ZipURL string `json:"zipball_url"`
	// The URL template for uploading release assets
	UploadURL string `json:"upload_url"`
	// Whether the release is a draft
	IsDraft bool `json:"draft"`
	// Whether the release is a prerelease
	IsPrerelease bool `json:"prerelease"`
	// swagger:strfmt date-time
	CreatedAt time.Time `json:"created_at"`
	// swagger:strfmt date-time
	PublishedAt time.Time `json:"published_at"`
	// The user who published the release
	Publisher *User `json:"author"`
	// The files attached to the release
	Attachments []*Attachment `json:"assets"`
}
    Release represents a repository release
type ReleasePayload ¶ added in v1.9.0
type ReleasePayload struct {
	// The action performed on the release (published, updated, deleted)
	Action HookReleaseAction `json:"action"`
	// The release that was acted upon
	Release *Release `json:"release"`
	// The repository containing the release
	Repository *Repository `json:"repository"`
	// The user who performed the action
	Sender *User `json:"sender"`
}
    ReleasePayload represents a payload information of release event.
func (*ReleasePayload) JSONPayload ¶ added in v1.9.0
func (p *ReleasePayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type RenameBranchRepoOption ¶ added in v1.25.0
type RenameBranchRepoOption struct {
	// New branch name
	//
	// required: true
	// unique: true
	Name string `json:"name" binding:"Required;GitRefName;MaxSize(100)"`
}
    RenameBranchRepoOption options when renaming a branch in a repository swagger:model
type RenameOrgOption ¶ added in v1.24.0
type RenameOrgOption struct {
	// New username for this org. This name cannot be in use yet by any other user.
	//
	// required: true
	// unique: true
	NewName string `json:"new_name" binding:"Required"`
}
    RenameOrgOption options when renaming an organization
type RenameUserOption ¶ added in v1.20.0
type RenameUserOption struct {
	// New username for this user. This name cannot be in use yet by any other user.
	//
	// required: true
	// unique: true
	NewName string `json:"new_username" binding:"Required"`
}
    RenameUserOption options when renaming a user
type RepoCollaboratorPermission ¶ added in v1.17.0
type RepoCollaboratorPermission struct {
	// Permission level of the collaborator
	Permission string `json:"permission"`
	// RoleName is the name of the permission role
	RoleName string `json:"role_name"`
	// User information of the collaborator
	User *User `json:"user"`
}
    RepoCollaboratorPermission to get repository permission for a collaborator
type RepoCommit ¶ added in v1.9.0
type RepoCommit struct {
	// URL is the API URL for the commit
	URL string `json:"url"`
	// Author contains the commit author information
	Author *CommitUser `json:"author"`
	// Committer contains the commit committer information
	Committer *CommitUser `json:"committer"`
	// Message is the commit message
	Message string `json:"message"`
	// Tree contains the tree information for the commit
	Tree *CommitMeta `json:"tree"`
	// Verification contains commit signature verification information
	Verification *PayloadCommitVerification `json:"verification"`
}
    RepoCommit contains information of a commit in the context of a repository.
type RepoTopicOptions ¶ added in v1.10.0
type RepoTopicOptions struct {
	// list of topic names
	Topics []string `json:"topics"`
}
    RepoTopicOptions a collection of repo topic names
type RepoTransfer ¶ added in v1.16.0
type RepoTransfer struct {
	Doer      *User   `json:"doer"`
	Recipient *User   `json:"recipient"`
	Teams     []*Team `json:"teams"`
}
    RepoTransfer represents a pending repo transfer
type Repository ¶ added in v1.9.0
type Repository struct {
	ID          int64  `json:"id"`
	Owner       *User  `json:"owner"`
	Name        string `json:"name"`
	FullName    string `json:"full_name"`
	Description string `json:"description"`
	Empty       bool   `json:"empty"`
	Private     bool   `json:"private"`
	Fork        bool   `json:"fork"`
	Template    bool   `json:"template"`
	// the original repository if this repository is a fork, otherwise null
	Parent        *Repository `json:"parent,omitempty"`
	Mirror        bool        `json:"mirror"`
	Size          int         `json:"size"`
	Language      string      `json:"language"`
	LanguagesURL  string      `json:"languages_url"`
	HTMLURL       string      `json:"html_url"`
	URL           string      `json:"url"`
	Link          string      `json:"link"`
	SSHURL        string      `json:"ssh_url"`
	CloneURL      string      `json:"clone_url"`
	OriginalURL   string      `json:"original_url"`
	Website       string      `json:"website"`
	Stars         int         `json:"stars_count"`
	Forks         int         `json:"forks_count"`
	Watchers      int         `json:"watchers_count"`
	OpenIssues    int         `json:"open_issues_count"`
	OpenPulls     int         `json:"open_pr_counter"`
	Releases      int         `json:"release_counter"`
	DefaultBranch string      `json:"default_branch"`
	Archived      bool        `json:"archived"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated                       time.Time        `json:"updated_at"`
	ArchivedAt                    time.Time        `json:"archived_at"`
	Permissions                   *Permission      `json:"permissions,omitempty"`
	HasCode                       bool             `json:"has_code"`
	HasIssues                     bool             `json:"has_issues"`
	InternalTracker               *InternalTracker `json:"internal_tracker,omitempty"`
	ExternalTracker               *ExternalTracker `json:"external_tracker,omitempty"`
	HasWiki                       bool             `json:"has_wiki"`
	ExternalWiki                  *ExternalWiki    `json:"external_wiki,omitempty"`
	HasPullRequests               bool             `json:"has_pull_requests"`
	HasProjects                   bool             `json:"has_projects"`
	ProjectsMode                  string           `json:"projects_mode"`
	HasReleases                   bool             `json:"has_releases"`
	HasPackages                   bool             `json:"has_packages"`
	HasActions                    bool             `json:"has_actions"`
	IgnoreWhitespaceConflicts     bool             `json:"ignore_whitespace_conflicts"`
	AllowMerge                    bool             `json:"allow_merge_commits"`
	AllowRebase                   bool             `json:"allow_rebase"`
	AllowRebaseMerge              bool             `json:"allow_rebase_explicit"`
	AllowSquash                   bool             `json:"allow_squash_merge"`
	AllowFastForwardOnly          bool             `json:"allow_fast_forward_only_merge"`
	AllowRebaseUpdate             bool             `json:"allow_rebase_update"`
	AllowManualMerge              bool             `json:"allow_manual_merge"`
	AutodetectManualMerge         bool             `json:"autodetect_manual_merge"`
	DefaultDeleteBranchAfterMerge bool             `json:"default_delete_branch_after_merge"`
	DefaultMergeStyle             string           `json:"default_merge_style"`
	DefaultAllowMaintainerEdit    bool             `json:"default_allow_maintainer_edit"`
	AvatarURL                     string           `json:"avatar_url"`
	Internal                      bool             `json:"internal"`
	MirrorInterval                string           `json:"mirror_interval"`
	// ObjectFormatName of the underlying git repository
	// enum: sha1,sha256
	ObjectFormatName string `json:"object_format_name"`
	// swagger:strfmt date-time
	MirrorUpdated time.Time     `json:"mirror_updated"`
	RepoTransfer  *RepoTransfer `json:"repo_transfer,omitempty"`
	Topics        []string      `json:"topics"`
	Licenses      []string      `json:"licenses"`
}
    Repository represents a repository
type RepositoryMeta ¶ added in v1.11.0
type RepositoryMeta struct {
	ID       int64  `json:"id"`
	Name     string `json:"name"`
	Owner    string `json:"owner"`
	FullName string `json:"full_name"`
}
    RepositoryMeta basic repository information
type RepositoryPayload ¶ added in v1.9.0
type RepositoryPayload struct {
	// The action performed on the repository
	Action HookRepoAction `json:"action"`
	// The repository that was acted upon
	Repository *Repository `json:"repository"`
	// The organization that owns the repository (if applicable)
	Organization *User `json:"organization"`
	// The user who performed the action
	Sender *User `json:"sender"`
}
    RepositoryPayload payload for repository webhooks
func (*RepositoryPayload) JSONPayload ¶ added in v1.9.0
func (p *RepositoryPayload) JSONPayload() ([]byte, error)
JSONPayload JSON representation of the payload
type ReviewPayload ¶ added in v1.11.0
type ReviewPayload struct {
	// The type of review (approved, rejected, comment)
	Type string `json:"type"`
	// The content/body of the review
	Content string `json:"content"`
}
    ReviewPayload FIXME
type ReviewStateType ¶ added in v1.12.0
type ReviewStateType string
ReviewStateType review state type
const ( // ReviewStateApproved pr is approved ReviewStateApproved ReviewStateType = "APPROVED" // ReviewStatePending pr state is pending ReviewStatePending ReviewStateType = "PENDING" // ReviewStateComment is a comment review ReviewStateComment ReviewStateType = "COMMENT" // ReviewStateRequestChanges changes for pr are requested ReviewStateRequestChanges ReviewStateType = "REQUEST_CHANGES" // ReviewStateRequestReview review is requested from user ReviewStateRequestReview ReviewStateType = "REQUEST_REVIEW" // ReviewStateUnknown state of pr is unknown ReviewStateUnknown ReviewStateType = "" )
type SearchError ¶ added in v1.9.0
type SearchError struct {
	// OK indicates the search status (always false for errors)
	OK bool `json:"ok"`
	// Error contains the error message
	Error string `json:"error"`
}
    SearchError error of a failed search
type SearchResults ¶ added in v1.9.0
type SearchResults struct {
	// OK indicates if the search was successful
	OK bool `json:"ok"`
	// Data contains the repository search results
	Data []*Repository `json:"data"`
}
    SearchResults results of a successful search
type Secret ¶ added in v1.21.0
type Secret struct {
	// the secret's name
	Name string `json:"name"`
	// the secret's description
	Description string `json:"description"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
}
    Secret represents a secret swagger:model
type ServerVersion ¶ added in v1.9.0
type ServerVersion struct {
	// Version is the server version string
	Version string `json:"version"`
}
    ServerVersion wraps the version of the server
type StopWatch ¶ added in v1.11.0
type StopWatch struct {
	// swagger:strfmt date-time
	// Created is the time when the stopwatch was started
	Created time.Time `json:"created"`
	// Seconds is the total elapsed time in seconds
	Seconds int64 `json:"seconds"`
	// Duration is a human-readable duration string
	Duration string `json:"duration"`
	// IssueIndex is the index number of the associated issue
	IssueIndex int64 `json:"issue_index"`
	// IssueTitle is the title of the associated issue
	IssueTitle string `json:"issue_title"`
	// RepoOwnerName is the name of the repository owner
	RepoOwnerName string `json:"repo_owner_name"`
	// RepoName is the name of the repository
	RepoName string `json:"repo_name"`
}
    StopWatch represent a running stopwatch
type StopWatches ¶ added in v1.11.0
type StopWatches []StopWatch
StopWatches represent a list of stopwatches
type SubmitPullReviewOptions ¶ added in v1.12.0
type SubmitPullReviewOptions struct {
	Event ReviewStateType `json:"event"`
	Body  string          `json:"body"`
}
    SubmitPullReviewOptions are options to submit a pending pull review
type Tag ¶ added in v1.9.0
type Tag struct {
	// The name of the tag
	Name string `json:"name"`
	// The message associated with the tag
	Message string `json:"message"`
	// The ID (SHA) of the tag
	ID string `json:"id"`
	// The commit information associated with this tag
	Commit *CommitMeta `json:"commit"`
	// The URL to download the zipball archive
	ZipballURL string `json:"zipball_url,omitempty"`
	// The URL to download the tarball archive
	TarballURL string `json:"tarball_url,omitempty"`
}
    Tag represents a repository tag
type TagProtection ¶ added in v1.23.0
type TagProtection struct {
	// The unique identifier of the tag protection
	ID int64 `json:"id"`
	// The pattern to match tag names for protection
	NamePattern string `json:"name_pattern"`
	// List of usernames allowed to create/delete protected tags
	WhitelistUsernames []string `json:"whitelist_usernames"`
	// List of team names allowed to create/delete protected tags
	WhitelistTeams []string `json:"whitelist_teams"`
	// swagger:strfmt date-time
	// The date and time when the tag protection was created
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	// The date and time when the tag protection was last updated
	Updated time.Time `json:"updated_at"`
}
    TagProtection represents a tag protection
type TaskStatus ¶ added in v1.10.0
type TaskStatus int
TaskStatus defines task status
const ( TaskStatusQueued TaskStatus = iota // 0 task is queued TaskStatusRunning // 1 task is running TaskStatusStopped // 2 task is stopped (never used) TaskStatusFailed // 3 task is failed TaskStatusFinished // 4 task is finished )
enumerate all the kinds of task status
type Team ¶ added in v1.9.0
type Team struct {
	// The unique identifier of the team
	ID int64 `json:"id"`
	// The name of the team
	Name string `json:"name"`
	// The description of the team
	Description string `json:"description"`
	// The organization that the team belongs to
	Organization *Organization `json:"organization"`
	// Whether the team has access to all repositories in the organization
	IncludesAllRepositories bool `json:"includes_all_repositories"`
	// enum: none,read,write,admin,owner
	Permission string `json:"permission"`
	// example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.projects","repo.ext_wiki"]
	// Deprecated: This variable should be replaced by UnitsMap and will be dropped in later versions.
	Units []string `json:"units"`
	// example: {"repo.code":"read","repo.issues":"write","repo.ext_issues":"none","repo.wiki":"admin","repo.pulls":"owner","repo.releases":"none","repo.projects":"none","repo.ext_wiki":"none"}
	UnitsMap map[string]string `json:"units_map"`
	// Whether the team can create repositories in the organization
	CanCreateOrgRepo bool `json:"can_create_org_repo"`
}
    Team represents a team in an organization
type TimelineComment ¶ added in v1.16.0
type TimelineComment struct {
	// ID is the unique identifier for the timeline comment
	ID int64 `json:"id"`
	// Type indicates the type of timeline event
	Type string `json:"type"`
	// HTMLURL is the web URL for viewing the comment
	HTMLURL string `json:"html_url"`
	// PRURL is the API URL for the pull request (if applicable)
	PRURL string `json:"pull_request_url"`
	// IssueURL is the API URL for the issue
	IssueURL string `json:"issue_url"`
	// Poster is the user who created the timeline event
	Poster *User `json:"user"`
	// Body contains the timeline event content
	Body string `json:"body"`
	// swagger:strfmt date-time
	Created time.Time `json:"created_at"`
	// swagger:strfmt date-time
	Updated time.Time `json:"updated_at"`
	OldProjectID int64        `json:"old_project_id"`
	ProjectID    int64        `json:"project_id"`
	OldMilestone *Milestone   `json:"old_milestone"`
	Milestone    *Milestone   `json:"milestone"`
	TrackedTime  *TrackedTime `json:"tracked_time"`
	OldTitle     string       `json:"old_title"`
	NewTitle     string       `json:"new_title"`
	OldRef       string       `json:"old_ref"`
	NewRef       string       `json:"new_ref"`
	RefIssue   *Issue   `json:"ref_issue"`
	RefComment *Comment `json:"ref_comment"`
	RefAction  string   `json:"ref_action"`
	// commit SHA where issue/PR was referenced
	RefCommitSHA string `json:"ref_commit_sha"`
	ReviewID int64 `json:"review_id"`
	Label *Label `json:"label"`
	Assignee     *User `json:"assignee"`
	AssigneeTeam *Team `json:"assignee_team"`
	// whether the assignees were removed or added
	RemovedAssignee bool `json:"removed_assignee"`
	ResolveDoer *User `json:"resolve_doer"`
	DependentIssue *Issue `json:"dependent_issue"`
}
    TimelineComment represents a timeline comment (comment of any type) on a commit or issue
type TopicName ¶ added in v1.10.0
type TopicName struct {
	// List of topic names
	TopicNames []string `json:"topics"`
}
    TopicName a list of repo topic names
type TopicResponse ¶ added in v1.10.0
type TopicResponse struct {
	// The unique identifier of the topic
	ID int64 `json:"id"`
	// The name of the topic
	Name string `json:"topic_name"`
	// The number of repositories using this topic
	RepoCount int `json:"repo_count"`
	// The date and time when the topic was created
	Created time.Time `json:"created"`
	// The date and time when the topic was last updated
	Updated time.Time `json:"updated"`
}
    TopicResponse for returning topics
type TrackedTime ¶ added in v1.9.0
type TrackedTime struct {
	// ID is the unique identifier for the tracked time entry
	ID int64 `json:"id"`
	// swagger:strfmt date-time
	Created time.Time `json:"created"`
	// Time in seconds
	Time int64 `json:"time"`
	// deprecated (only for backwards compatibility)
	UserID int64 `json:"user_id"`
	// username of the user
	UserName string `json:"user_name"`
	// deprecated (only for backwards compatibility)
	IssueID int64 `json:"issue_id"`
	// Issue contains the associated issue information
	Issue *Issue `json:"issue"`
}
    TrackedTime worked time for an issue / pr
type TrackedTimeList ¶ added in v1.11.0
type TrackedTimeList []*TrackedTime
TrackedTimeList represents a list of tracked times
type TransferRepoOption ¶ added in v1.12.0
type TransferRepoOption struct {
	// required: true
	NewOwner string `json:"new_owner"`
	// ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.
	TeamIDs *[]int64 `json:"team_ids"`
}
    TransferRepoOption options when transfer a repository's ownership swagger:model
type UpdateBranchProtectionPriories ¶ added in v1.23.0
type UpdateBranchProtectionPriories struct {
	IDs []int64 `json:"ids"`
}
    UpdateBranchProtectionPriories a list to update the branch protection rule priorities
type UpdateFileOptions ¶ added in v1.9.0
type UpdateFileOptions struct {
	FileOptionsWithSHA
	// content must be base64 encoded
	// required: true
	ContentBase64 string `json:"content"`
	// from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL
	FromPath string `json:"from_path" binding:"MaxSize(500)"`
}
    UpdateFileOptions options for updating files Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
type UpdateRepoAvatarOption ¶ added in v1.21.0
type UpdateRepoAvatarOption struct {
	// image must be base64 encoded
	Image string `json:"image" binding:"Required"`
}
    UpdateRepoAvatarUserOption options when updating the repo avatar
type UpdateUserAvatarOption ¶ added in v1.21.0
type UpdateUserAvatarOption struct {
	// image must be base64 encoded
	Image string `json:"image" binding:"Required"`
}
    UpdateUserAvatarUserOption options when updating the user avatar
type UpdateVariableOption ¶ added in v1.22.0
type UpdateVariableOption struct {
	// New name for the variable. If the field is empty, the variable name won't be updated.
	Name string `json:"name"`
	// Value of the variable to update
	//
	// required: true
	Value string `json:"value" binding:"Required"`
	// Description of the variable to update
	//
	// required: false
	Description string `json:"description"`
}
    UpdateVariableOption the option when updating variable swagger:model
type User ¶ added in v1.9.0
type User struct {
	// the user's id
	ID int64 `json:"id"`
	// login of the user, same as `username`
	UserName string `json:"login"`
	// identifier of the user, provided by the external authenticator (if configured)
	// default: empty
	LoginName string `json:"login_name"`
	// The ID of the user's Authentication Source
	SourceID int64 `json:"source_id"`
	// the user's full name
	FullName string `json:"full_name"`
	// swagger:strfmt email
	Email string `json:"email"`
	// URL to the user's avatar
	AvatarURL string `json:"avatar_url"`
	// URL to the user's gitea page
	HTMLURL string `json:"html_url"`
	// User locale
	Language string `json:"language"`
	// Is the user an administrator
	IsAdmin bool `json:"is_admin"`
	// swagger:strfmt date-time
	LastLogin time.Time `json:"last_login"`
	// swagger:strfmt date-time
	Created time.Time `json:"created"`
	// Is user restricted
	Restricted bool `json:"restricted"`
	// Is user active
	IsActive bool `json:"active"`
	// Is user login prohibited
	ProhibitLogin bool `json:"prohibit_login"`
	// the user's location
	Location string `json:"location"`
	// the user's website
	Website string `json:"website"`
	// the user's description
	Description string `json:"description"`
	// User visibility level option: public, limited, private
	Visibility string `json:"visibility"`
	// user counts
	Followers    int `json:"followers_count"`
	Following    int `json:"following_count"`
	StarredRepos int `json:"starred_repos_count"`
}
    User represents a user swagger:model
func (User) MarshalJSON ¶ added in v1.9.0
MarshalJSON implements the json.Marshaler interface for User, adding field(s) for backward compatibility
type UserBadge ¶ added in v1.22.0
type UserBadge struct {
	ID      int64 `json:"id"`
	BadgeID int64 `json:"badge_id"`
	UserID  int64 `json:"user_id"`
}
    UserBadge represents a user badge swagger:model
type UserBadgeOption ¶ added in v1.22.0
type UserBadgeOption struct {
	// example: ["badge1","badge2"]
	BadgeSlugs []string `json:"badge_slugs" binding:"Required"`
}
    UserBadgeOption options for link between users and badges
type UserSettings ¶ added in v1.15.0
type UserSettings struct {
	FullName      string `json:"full_name"`
	Website       string `json:"website"`
	Description   string `json:"description"`
	Location      string `json:"location"`
	Language      string `json:"language"`
	Theme         string `json:"theme"`
	DiffViewStyle string `json:"diff_view_style"`
	// Privacy
	HideEmail    bool `json:"hide_email"`
	HideActivity bool `json:"hide_activity"`
}
    UserSettings represents user settings swagger:model
type UserSettingsOptions ¶ added in v1.15.0
type UserSettingsOptions struct {
	FullName      *string `json:"full_name" binding:"MaxSize(100)"`
	Website       *string `json:"website" binding:"OmitEmpty;ValidUrl;MaxSize(255)"`
	Description   *string `json:"description" binding:"MaxSize(255)"`
	Location      *string `json:"location" binding:"MaxSize(50)"`
	Language      *string `json:"language"`
	Theme         *string `json:"theme"`
	DiffViewStyle *string `json:"diff_view_style"`
	// Privacy
	HideEmail    *bool `json:"hide_email"`
	HideActivity *bool `json:"hide_activity"`
}
    UserSettingsOptions represents options to change user settings swagger:model
type VerifyGPGKeyOption ¶ added in v1.15.0
type VerifyGPGKeyOption struct {
	// An Signature for a GPG key token
	//
	// required: true
	// The key ID of the GPG key to verify
	KeyID string `json:"key_id" binding:"Required"`
	// The armored signature to verify the GPG key
	Signature string `json:"armored_signature" binding:"Required"`
}
    VerifyGPGKeyOption options verifies user GPG key
type VisibleType ¶
type VisibleType int
VisibleType defines the visibility of user and org
const ( // VisibleTypePublic Visible for everyone VisibleTypePublic VisibleType = iota // VisibleTypeLimited Visible for every connected user VisibleTypeLimited // VisibleTypePrivate Visible only for self or admin user VisibleTypePrivate )
func (VisibleType) IsLimited ¶
func (vt VisibleType) IsLimited() bool
IsLimited returns true if VisibleType is limited
func (VisibleType) IsPrivate ¶
func (vt VisibleType) IsPrivate() bool
IsPrivate returns true if VisibleType is private
func (VisibleType) IsPublic ¶
func (vt VisibleType) IsPublic() bool
IsPublic returns true if VisibleType is public
func (VisibleType) String ¶ added in v1.9.0
func (vt VisibleType) String() string
VisibilityString provides the mode string of the visibility type (public, limited, private)
type WatchInfo ¶ added in v1.9.0
type WatchInfo struct {
	// Whether the repository is being watched for notifications
	Subscribed bool `json:"subscribed"`
	// Whether notifications for the repository are ignored
	Ignored bool `json:"ignored"`
	// The reason for the current watch status
	Reason any `json:"reason"`
	// The timestamp when the watch status was created
	CreatedAt time.Time `json:"created_at"`
	// The URL for managing the watch status
	URL string `json:"url"`
	// The URL of the repository being watched
	RepositoryURL string `json:"repository_url"`
}
    WatchInfo represents an API watch status of one repository
type WikiCommit ¶ added in v1.16.0
type WikiCommit struct {
	// The commit SHA hash
	ID string `json:"sha"`
	// The author of the commit
	Author *CommitUser `json:"author"`
	// The committer of the commit
	Committer *CommitUser `json:"commiter"`
	// The commit message
	Message string `json:"message"`
}
    WikiCommit page commit/revision
type WikiCommitList ¶ added in v1.16.0
type WikiCommitList struct {
	// The list of wiki commits
	WikiCommits []*WikiCommit `json:"commits"`
	// The total count of commits
	Count int64 `json:"count"`
}
    WikiCommitList commit/revision list
type WikiPage ¶ added in v1.16.0
type WikiPage struct {
	*WikiPageMetaData
	// Page content, base64 encoded
	ContentBase64 string `json:"content_base64"`
	// The number of commits that modified this page
	CommitCount int64 `json:"commit_count"`
	// The sidebar content for the wiki page
	Sidebar string `json:"sidebar"`
	Footer string `json:"footer"`
}
    WikiPage a wiki page
type WikiPageMetaData ¶ added in v1.16.0
type WikiPageMetaData struct {
	// The title of the wiki page
	Title string `json:"title"`
	// The HTML URL to view the wiki page
	HTMLURL string `json:"html_url"`
	// The sub URL path for the wiki page
	SubURL string `json:"sub_url"`
	// The last commit that modified this wiki page
	LastCommit *WikiCommit `json:"last_commit"`
}
    WikiPageMetaData wiki page meta information
type WikiPayload ¶ added in v1.17.4
type WikiPayload struct {
	// The action performed on the wiki page
	Action HookWikiAction `json:"action"`
	// The repository containing the wiki
	Repository *Repository `json:"repository"`
	// The user who performed the action
	Sender *User `json:"sender"`
	// The name of the wiki page
	Page string `json:"page"`
	// The comment/commit message for the wiki change
	Comment string `json:"comment"`
}
    WikiPayload payload for repository webhooks
func (*WikiPayload) JSONPayload ¶ added in v1.17.4
func (p *WikiPayload) JSONPayload() ([]byte, error)
JSONPayload JSON representation of the payload
type WorkflowDispatchPayload ¶ added in v1.23.0
type WorkflowDispatchPayload struct {
	// The name or path of the workflow file
	Workflow string `json:"workflow"`
	// The git reference (branch, tag, or commit SHA) to run the workflow on
	Ref string `json:"ref"`
	// Input parameters for the workflow dispatch event
	Inputs map[string]any `json:"inputs"`
	// The repository containing the workflow
	Repository *Repository `json:"repository"`
	// The user who triggered the workflow dispatch
	Sender *User `json:"sender"`
}
    WorkflowDispatchPayload represents a workflow dispatch payload
func (*WorkflowDispatchPayload) JSONPayload ¶ added in v1.23.0
func (p *WorkflowDispatchPayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type WorkflowJobPayload ¶ added in v1.24.0
type WorkflowJobPayload struct {
	// The action performed on the workflow job
	Action string `json:"action"`
	// The workflow job that was acted upon
	WorkflowJob *ActionWorkflowJob `json:"workflow_job"`
	// The pull request associated with the workflow job (if applicable)
	PullRequest *PullRequest `json:"pull_request,omitempty"`
	// The organization that owns the repository (if applicable)
	Organization *Organization `json:"organization,omitempty"`
	// The repository containing the workflow
	Repo *Repository `json:"repository"`
	// The user who triggered the workflow job
	Sender *User `json:"sender"`
}
    WorkflowJobPayload represents a payload information of workflow job event.
func (*WorkflowJobPayload) JSONPayload ¶ added in v1.24.0
func (p *WorkflowJobPayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
type WorkflowRunPayload ¶ added in v1.25.0
type WorkflowRunPayload struct {
	// The action performed on the workflow run
	Action string `json:"action"`
	// The workflow definition
	Workflow *ActionWorkflow `json:"workflow"`
	// The workflow run that was acted upon
	WorkflowRun *ActionWorkflowRun `json:"workflow_run"`
	// The pull request associated with the workflow run (if applicable)
	PullRequest *PullRequest `json:"pull_request,omitempty"`
	// The organization that owns the repository (if applicable)
	Organization *Organization `json:"organization,omitempty"`
	// The repository containing the workflow
	Repo *Repository `json:"repository"`
	// The user who triggered the workflow run
	Sender *User `json:"sender"`
}
    WorkflowRunPayload represents a payload information of workflow run event.
func (*WorkflowRunPayload) JSONPayload ¶ added in v1.25.0
func (p *WorkflowRunPayload) JSONPayload() ([]byte, error)
JSONPayload implements Payload
       Source Files
      ¶
      Source Files
      ¶
    
- activity.go
- activitypub.go
- admin_user.go
- attachment.go
- cron.go
- doc.go
- fork.go
- git_blob.go
- git_hook.go
- hook.go
- issue.go
- issue_comment.go
- issue_label.go
- issue_milestone.go
- issue_reaction.go
- issue_stopwatch.go
- issue_tracked_time.go
- lfs_lock.go
- mirror.go
- miscellaneous.go
- nodeinfo.go
- notifications.go
- org.go
- org_member.go
- org_team.go
- package.go
- pull.go
- pull_review.go
- release.go
- repo.go
- repo_actions.go
- repo_branch.go
- repo_collaborator.go
- repo_commit.go
- repo_compare.go
- repo_file.go
- repo_key.go
- repo_note.go
- repo_refs.go
- repo_tag.go
- repo_topic.go
- repo_tree.go
- repo_watch.go
- repo_wiki.go
- secret.go
- settings.go
- status.go
- task.go
- user.go
- user_app.go
- user_email.go
- user_gpgkey.go
- user_key.go
- variable.go
- visible_type.go