structs

package
v3.1.17 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidReceiveHook = errors.New("Invalid JSON payload received over webhook")

ErrInvalidReceiveHook FIXME

SupportedFullGitService represents all git services supported to migrate issues/labels/prs and etc. TODO: add to this list after new git service added

View Source
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

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

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

type AccessTokenList []*AccessToken

AccessTokenList represents a list of API access token. swagger:response AccessTokenList

type ActionArtifact

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

type ActionArtifactsResponse struct {
	Entries    []*ActionArtifact `json:"artifacts"`
	TotalCount int64             `json:"total_count"`
}

ActionArtifactsResponse returns ActionArtifacts

type ActionRunner

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

type ActionRunnerLabel struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
	Type string `json:"type"`
}

ActionRunnerLabel represents a Runner Label

type ActionRunnersResponse

type ActionRunnersResponse struct {
	Entries    []*ActionRunner `json:"runners"`
	TotalCount int64           `json:"total_count"`
}

ActionRunnersResponse returns Runners

type ActionSupport

type ActionSupport struct {
	Versions []string `json:"versions"`
	Notes    string   `json:"notes,omitempty"`
}

ActionSupport represents version support for an action

type ActionTask

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

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

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

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

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

type ActionWorkflowJobsResponse struct {
	Entries    []*ActionWorkflowJob `json:"jobs"`
	TotalCount int64                `json:"total_count"`
}

ActionWorkflowJobsResponse returns ActionWorkflowJobs

type ActionWorkflowResponse

type ActionWorkflowResponse struct {
	Workflows  []*ActionWorkflow `json:"workflows"`
	TotalCount int64             `json:"total_count"`
}

ActionWorkflowResponse returns a ActionWorkflow

type ActionWorkflowRun

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

type ActionWorkflowRunsResponse struct {
	Entries    []*ActionWorkflowRun `json:"workflow_runs"`
	TotalCount int64                `json:"total_count"`
}

ActionWorkflowRunsResponse returns ActionWorkflowRuns

type ActionWorkflowStep

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 ActionsCapabilitiesResponse

type ActionsCapabilitiesResponse struct {
	Runners       []*RunnerWithCapabilities `json:"runners"`
	Platform      *PlatformInfo             `json:"platform"`
	WorkflowHints *WorkflowHints            `json:"workflow_hints,omitempty"`
}

ActionsCapabilitiesResponse is the response for the capabilities endpoint

type Activity

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

type ActivityPub struct {
	// Context defines the JSON-LD context for ActivityPub
	Context string `json:"@context"`
}

ActivityPub type

type AddCollaboratorOption

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

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 AddOrgPinnedRepoOption

type AddOrgPinnedRepoOption struct {
	// Name of the repository to pin
	// required: true
	RepoName string `json:"repo_name" binding:"Required"`
	// ID of the group to add the repo to (0 for ungrouped)
	GroupID int64 `json:"group_id"`
	// Display order within the group
	DisplayOrder int `json:"display_order"`
}

AddOrgPinnedRepoOption options for adding a pinned repository

type AddPagesDomainOption

type AddPagesDomainOption struct {
	// The custom domain to add
	// required: true
	Domain string `json:"domain" binding:"Required"`
	// Mark SSL as handled externally (e.g., by Cloudflare)
	SSLExternal bool `json:"ssl_external"`
}

AddPagesDomainOption options for adding a custom domain

type AddTimeOption

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

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

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

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

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

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 BandwidthInfo

type BandwidthInfo struct {
	DownloadMbps float64   `json:"download_mbps"`
	UploadMbps   float64   `json:"upload_mbps,omitempty"`
	Latency      float64   `json:"latency_ms,omitempty"`
	TestedAt     time.Time `json:"tested_at"`
}

BandwidthInfo holds network bandwidth test results

type Branch

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

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 CPUInfo

type CPUInfo struct {
	NumCPU      int     `json:"num_cpu"`
	LoadAvg1m   float64 `json:"load_avg_1m"`
	LoadAvg5m   float64 `json:"load_avg_5m"`
	LoadAvg15m  float64 `json:"load_avg_15m"`
	LoadPercent float64 `json:"load_percent"`
}

CPUInfo holds CPU load information for a runner

type CapabilityFeatures

type CapabilityFeatures struct {
	ArtifactsV4      bool `json:"artifacts_v4"`
	Cache            bool `json:"cache"`
	Services         bool `json:"services"`
	CompositeActions bool `json:"composite_actions"`
}

CapabilityFeatures represents feature support flags

type ChangeFileOperation

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

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

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

type ChangesFromPayload struct {
	// The previous value before the change
	From string `json:"from"`
}

ChangesFromPayload FIXME

type ChangesPayload

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

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

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

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

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

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

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

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

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

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

func (p *CommitStatusPayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type CommitUser

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

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

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

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

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

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

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

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

type CreateEmailOption struct {
	// email addresses to add
	Emails []string `json:"emails"`
}

CreateEmailOption options when creating email addresses

type CreateFileOptions

type CreateFileOptions struct {
	FileOptions
	// content must be base64 encoded
	// required: true
	ContentBase64 string `json:"content"`
}

CreateFileOptions options for creating a file 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

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

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

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

type CreateHookOptionConfig map[string]string

CreateHookOptionConfig has all config options in it required are "content_type" and "url" Required

type CreateIssueCommentOption

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

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

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

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

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

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

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

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 CreateOrgPinnedGroupOption

type CreateOrgPinnedGroupOption struct {
	// Name of the group
	// required: true
	Name string `json:"name" binding:"Required;MaxSize(100)"`
	// Display order
	DisplayOrder int `json:"display_order"`
	// Whether the group is collapsed by default
	Collapsed bool `json:"collapsed"`
}

CreateOrgPinnedGroupOption options for creating a pinned group

type CreatePagesConfigOption

type CreatePagesConfigOption struct {
	// Whether pages is enabled
	Enabled bool `json:"enabled"`
	// Template to use (simple, documentation, product, portfolio)
	Template string `json:"template" binding:"In(simple,documentation,product,portfolio)"`
}

CreatePagesConfigOption options for creating/updating pages config

type CreatePayload

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

func ParseCreateHook(raw []byte) (*CreatePayload, error)

ParseCreateHook parses create event hook content.

func (*CreatePayload) JSONPayload

func (p *CreatePayload) JSONPayload() ([]byte, error)

JSONPayload return payload information

type CreatePullRequestOption

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

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

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

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

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

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

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

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

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

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

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

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

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 CreateWikiPageV2Option

type CreateWikiPageV2Option struct {
	Name    string `json:"name" binding:"Required"`
	Title   string `json:"title"`
	Content string `json:"content" binding:"Required"`
	Message string `json:"message"`
}

CreateWikiPageV2Option represents options for creating a wiki page

type Cron

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

type DeleteEmailOption struct {
	// email addresses to delete
	Emails []string `json:"emails"`
}

DeleteEmailOption options when deleting email addresses

type DeleteFileOptions

type DeleteFileOptions struct {
	FileOptions
	// the blob ID (SHA) for the file to delete
	// required: true
	SHA string `json:"sha" binding:"Required"`
}

DeleteFileOptions options for deleting a file 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

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

func (p *DeletePayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type DeleteWikiPageV2Option

type DeleteWikiPageV2Option struct {
	Message string `json:"message"`
}

DeleteWikiPageV2Option represents options for deleting a wiki page

type DeployKey

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 DiskInfo

type DiskInfo struct {
	Total       uint64  `json:"total_bytes"`
	Free        uint64  `json:"free_bytes"`
	Used        uint64  `json:"used_bytes"`
	UsedPercent float64 `json:"used_percent"`
}

DiskInfo holds disk space information for a runner

type DismissPullReviewOptions

type DismissPullReviewOptions struct {
	Message string `json:"message"`
	Priors  bool   `json:"priors"`
}

DismissPullReviewOptions are options to dismiss a pull review

type DistroInfo

type DistroInfo struct {
	ID         string `json:"id,omitempty"`          // e.g., "ubuntu", "debian", "fedora"
	VersionID  string `json:"version_id,omitempty"`  // e.g., "24.04", "12"
	PrettyName string `json:"pretty_name,omitempty"` // e.g., "Ubuntu 24.04 LTS"
}

DistroInfo holds Linux distribution information

type EditAttachmentOptions

type EditAttachmentOptions struct {
	// Name is the new filename for the attachment
	Name string `json:"name"`
}

EditAttachmentOptions options for editing attachments swagger:model

type EditBranchProtectionOption

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

type EditDeadlineOption struct {
	// required:true
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
}

EditDeadlineOption options for creating a deadline

type EditGitHookOption

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

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

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

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

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

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

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

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

type EditReactionOption struct {
	// The reaction content (e.g., emoji or reaction type)
	Reaction string `json:"content"`
}

EditReactionOption contain the reaction type

type EditReleaseOption

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

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

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

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

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

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

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

type ExternalWiki struct {
	// URL of external wiki.
	ExternalWikiURL string `json:"external_wiki_url"`
}

ExternalWiki represents setting for external wiki swagger:model

type FileCommitResponse

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

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

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

type FileOptions struct {
	// message (optional) is the commit message of the changes. If not supplied, a default message will be used
	Message string `json:"message"`
	// branch (optional) is the base branch for the changes. If not supplied, the default branch is used
	BranchName string `json:"branch" binding:"GitRefName;MaxSize(100)"`
	// new_branch (optional) will make a new branch from base branch for the changes. If not supplied, the changes will be committed to the base branch
	NewBranchName string `json:"new_branch" binding:"GitRefName;MaxSize(100)"`
	// force_push (optional) will do a force-push if the new branch already exists
	ForcePush bool `json:"force_push"`
	// `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

func (f *FileOptions) GetFileOptions() *FileOptions

type FileOptionsInterface

type FileOptionsInterface interface {
	GetFileOptions() *FileOptions
}

type FileResponse

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

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

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

func (p *ForkPayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type GPGKey

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

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

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

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

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

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

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

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

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

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

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

type GitHookList []*GitHook

GitHookList represents a list of Git hooks

type GitObject

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

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

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

func (gt GitServiceType) Title() string

Title represents the service type's proper title

func (GitServiceType) TokenAuth

func (gt GitServiceType) TokenAuth() bool

TokenAuth represents whether a service type supports token-based auth

type GitTreeResponse

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

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

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

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

type HookIssueCommentAction string

HookIssueCommentAction defines hook issue comment action

const (
	HookIssueCommentCreated HookIssueCommentAction = "created"
	HookIssueCommentEdited  HookIssueCommentAction = "edited"
	HookIssueCommentDeleted HookIssueCommentAction = "deleted"
)

all issue comment actions

type HookList

type HookList []*Hook

HookList represents a list of API hook.

type HookPackageAction

type HookPackageAction string

HookPackageAction an action that happens to a package

const (
	// HookPackageCreated created
	HookPackageCreated HookPackageAction = "created"
	// HookPackageDeleted deleted
	HookPackageDeleted HookPackageAction = "deleted"
)

type HookReleaseAction

type HookReleaseAction string

HookReleaseAction defines hook release action type

const (
	HookReleasePublished HookReleaseAction = "published"
	HookReleaseUpdated   HookReleaseAction = "updated"
	HookReleaseDeleted   HookReleaseAction = "deleted"
)

all release actions

type HookRepoAction

type HookRepoAction string

HookRepoAction an action that happens to a repo

const (
	// HookRepoCreated created
	HookRepoCreated HookRepoAction = "created"
	// HookRepoDeleted deleted
	HookRepoDeleted HookRepoAction = "deleted"
)

type HookWikiAction

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

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

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

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

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

func (p *IssueCommentPayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type IssueConfig

type IssueConfig struct {
	BlankIssuesEnabled bool                     `json:"blank_issues_enabled" yaml:"blank_issues_enabled"`
	ContactLinks       []IssueConfigContactLink `json:"contact_links" yaml:"contact_links"`
}
type IssueConfigContactLink struct {
	Name  string `json:"name" yaml:"name"`
	URL   string `json:"url" yaml:"url"`
	About string `json:"about" yaml:"about"`
}

type IssueConfigValidation

type IssueConfigValidation struct {
	Valid   bool   `json:"valid"`
	Message string `json:"message"`
}

type IssueDeadline

type IssueDeadline struct {
	// swagger:strfmt date-time
	Deadline *time.Time `json:"due_date"`
}

IssueDeadline represents an issue deadline swagger:model

type IssueFormField

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

func (iff IssueFormField) VisibleInContent() bool

func (IssueFormField) VisibleOnForm

func (iff IssueFormField) VisibleOnForm() bool

type IssueFormFieldType

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

type IssueFormFieldVisible string

IssueFormFieldVisible defines issue form field visible swagger:model

const (
	IssueFormFieldVisibleForm    IssueFormFieldVisible = "form"
	IssueFormFieldVisibleContent IssueFormFieldVisible = "content"
)

type IssueLabelsOption

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

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

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

func (p *IssuePayload) JSONPayload() ([]byte, error)

JSONPayload encodes the IssuePayload to JSON, with an indentation of two spaces.

type IssueTemplate

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

func (it IssueTemplate) Type() IssueTemplateType

Type returns the type of IssueTemplate, can be "md", "yaml" or empty for known

type IssueTemplateStringSlice

type IssueTemplateStringSlice []string

func (*IssueTemplateStringSlice) UnmarshalYAML

func (l *IssueTemplateStringSlice) UnmarshalYAML(value *yaml.Node) error

type IssueTemplateType

type IssueTemplateType string

IssueTemplateType defines issue template type

const (
	IssueTemplateTypeMarkdown IssueTemplateType = "md"
	IssueTemplateTypeYaml     IssueTemplateType = "yaml"
)

type LFSLock

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

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

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

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

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

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

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

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

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

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

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

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

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

type LockIssueOption struct {
	Reason string `json:"lock_reason"`
}

LockIssueOption options to lock an issue

type MarkdownOption

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

type MarkdownRender string

MarkdownRender is a rendered markdown document swagger:response MarkdownRender

type MarkupOption

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

type MarkupRender string

MarkupRender is a rendered markup document swagger:response MarkupRender

type MergeUpstreamRequest

type MergeUpstreamRequest struct {
	Branch string `json:"branch"`
	FfOnly bool   `json:"ff_only"`
}

type MergeUpstreamResponse

type MergeUpstreamResponse struct {
	MergeStyle string `json:"merge_type"`
}

type MigrateRepoOptions

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

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

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

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

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

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

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

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

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

type NotificationCount struct {
	// New is the number of unread notifications
	New int64 `json:"new"`
}

NotificationCount number of unread notifications

type NotificationSubject

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

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

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

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

type OAuth2ApplicationList []*OAuth2Application

OAuth2ApplicationList represents a list of OAuth2 applications. swagger:response OAuth2ApplicationList

type OrgOverview

type OrgOverview struct {
	Organization  *Organization      `json:"organization"`
	PinnedRepos   []*OrgPinnedRepo   `json:"pinned_repos"`
	PinnedGroups  []*OrgPinnedGroup  `json:"pinned_groups"`
	PublicMembers []*OrgPublicMember `json:"public_members"`
	TotalMembers  int64              `json:"total_members"`
	Stats         *OrgOverviewStats  `json:"stats"`
	Profile       *OrgProfileContent `json:"profile,omitempty"`
}

OrgOverview represents the organization overview for the profile page

type OrgOverviewStats

type OrgOverviewStats struct {
	TotalRepos   int64 `json:"total_repos"`
	TotalMembers int64 `json:"total_members"`
	TotalTeams   int64 `json:"total_teams"`
	TotalStars   int64 `json:"total_stars"`
}

OrgOverviewStats represents organization statistics

type OrgPinnedGroup

type OrgPinnedGroup struct {
	ID           int64  `json:"id"`
	Name         string `json:"name"`
	DisplayOrder int    `json:"display_order"`
	Collapsed    bool   `json:"collapsed"`
}

OrgPinnedGroup represents a group of pinned repositories

type OrgPinnedRepo

type OrgPinnedRepo struct {
	ID           int64           `json:"id"`
	RepoID       int64           `json:"repo_id"`
	GroupID      int64           `json:"group_id,omitempty"`
	DisplayOrder int             `json:"display_order"`
	Repo         *Repository     `json:"repo,omitempty"`
	Group        *OrgPinnedGroup `json:"group,omitempty"`
}

OrgPinnedRepo represents a pinned repository for an organization

type OrgProfileContent

type OrgProfileContent struct {
	HasProfile bool   `json:"has_profile"`
	Readme     string `json:"readme,omitempty"`
	HasCSS     bool   `json:"has_css"`
}

OrgProfileContent represents the organization profile content

type OrgPublicMember

type OrgPublicMember struct {
	User *User  `json:"user"`
	Role string `json:"role"` // "Owner", "Admin", "Member"
}

OrgPublicMember represents a public member of an organization

type Organization

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

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

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

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

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

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

func (p *PackagePayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type PagesConfig

type PagesConfig struct {
	Enabled   bool   `json:"enabled"`
	Template  string `json:"template"`
	Subdomain string `json:"subdomain,omitempty"`
	URL       string `json:"url,omitempty"`
}

PagesConfig represents the pages configuration for a repository

type PagesDomain

type PagesDomain struct {
	ID                int64     `json:"id"`
	Domain            string    `json:"domain"`
	Verified          bool      `json:"verified"`
	VerificationToken string    `json:"verification_token,omitempty"`
	SSLStatus         string    `json:"ssl_status"`
	SSLCertExpiry     time.Time `json:"ssl_cert_expiry,omitzero"`
	Created           time.Time `json:"created_at"`
	VerifiedAt        time.Time `json:"verified_at,omitzero"`
}

PagesDomain represents a custom domain for Gitea Pages

type PagesInfo

type PagesInfo struct {
	Config  *PagesConfig   `json:"config"`
	Domains []*PagesDomain `json:"domains,omitempty"`
}

PagesInfo represents the full pages information for a repository

type PayloadCommit

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

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

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 Payloader

type Payloader interface {
	JSONPayload() ([]byte, error)
}

Payloader payload is some part of one hook

type Permission

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 PinnedRepoOrder

type PinnedRepoOrder struct {
	RepoID       int64 `json:"repo_id"`
	GroupID      int64 `json:"group_id"`
	DisplayOrder int   `json:"display_order"`
}

PinnedRepoOrder represents the order for a pinned repo

type PlatformInfo

type PlatformInfo struct {
	Type                string                   `json:"type"`
	Version             string                   `json:"version"`
	ActionsVersion      string                   `json:"actions_version,omitempty"`
	DefaultActionsURL   string                   `json:"default_actions_url"`
	SupportedActions    map[string]ActionSupport `json:"supported_actions,omitempty"`
	UnsupportedFeatures []string                 `json:"unsupported_features,omitempty"`
}

PlatformInfo represents Gitea platform capabilities

type PublicKey

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

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

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

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

func (p *PullRequestPayload) JSONPayload() ([]byte, error)

JSONPayload FIXME

type PullReview

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

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

type PullReviewRequestOptions struct {
	Reviewers     []string `json:"reviewers"`
	TeamReviewers []string `json:"team_reviewers"`
}

PullReviewRequestOptions are options to add or remove pull review requests

type PushMirror

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

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

func ParsePushHook(raw []byte) (*PushPayload, error)

ParsePushHook parses push event hook content.

func (*PushPayload) Branch

func (p *PushPayload) Branch() string

Branch returns branch name from a payload

func (*PushPayload) JSONPayload

func (p *PushPayload) JSONPayload() ([]byte, error)

JSONPayload FIXME

type PusherType

type PusherType string

PusherType define the type to push

const (
	PusherTypeUser PusherType = "user"
)

describe all the PusherTypes

type Reaction

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

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

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"`
	// Whether the release is archived
	IsArchived bool `json:"archived"`
	// swagger:strfmt date-time
	ArchivedAt *time.Time `json:"archived_at,omitempty"`
}

Release represents a repository release

type ReleasePayload

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

func (p *ReleasePayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type RenameBranchRepoOption

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

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

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 ReorderOrgPinnedReposOption

type ReorderOrgPinnedReposOption struct {
	// List of repo orders
	// required: true
	Orders []PinnedRepoOrder `json:"orders" binding:"Required"`
}

ReorderOrgPinnedReposOption options for reordering pinned repositories

type RepoCollaboratorPermission

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

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

type RepoTopicOptions struct {
	// list of topic names
	Topics []string `json:"topics"`
}

RepoTopicOptions a collection of repo topic names

type RepoTransfer

type RepoTransfer struct {
	Doer      *User   `json:"doer"`
	Recipient *User   `json:"recipient"`
	Teams     []*Team `json:"teams"`
}

RepoTransfer represents a pending repo transfer

type Repository

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

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

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

func (p *RepositoryPayload) JSONPayload() ([]byte, error)

JSONPayload JSON representation of the payload

type ReviewPayload

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

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 RunnerCapability

type RunnerCapability struct {
	OS               string              `json:"os"`
	Arch             string              `json:"arch"`
	Distro           *DistroInfo         `json:"distro,omitempty"`
	Xcode            *XcodeInfo          `json:"xcode,omitempty"`
	Docker           bool                `json:"docker"`
	DockerCompose    bool                `json:"docker_compose"`
	ContainerRuntime string              `json:"container_runtime,omitempty"`
	Shell            []string            `json:"shell,omitempty"`
	Tools            map[string][]string `json:"tools,omitempty"`
	BuildTools       []string            `json:"build_tools,omitempty"`
	PackageManagers  []string            `json:"package_managers,omitempty"`
	Features         *CapabilityFeatures `json:"features,omitempty"`
	Limitations      []string            `json:"limitations,omitempty"`
	Disk             *DiskInfo           `json:"disk,omitempty"`
	CPU              *CPUInfo            `json:"cpu,omitempty"`
	Bandwidth        *BandwidthInfo      `json:"bandwidth,omitempty"`
	SuggestedLabels  []string            `json:"suggested_labels,omitempty"`
	Capacity         int                 `json:"capacity,omitempty"` // Number of concurrent jobs this runner can handle
}

RunnerCapability represents the detailed capabilities of a runner

type RunnerMatch

type RunnerMatch struct {
	Job             string   `json:"job"`
	RunsOn          []string `json:"runs_on"`
	MatchedRunners  []string `json:"matched_runners,omitempty"`
	CapabilitiesMet bool     `json:"capabilities_met"`
}

RunnerMatch represents job-to-runner matching result

type RunnerWithCapabilities

type RunnerWithCapabilities struct {
	ID           int64             `json:"id"`
	Name         string            `json:"name"`
	Status       string            `json:"status"`
	Labels       []string          `json:"labels"`
	Capabilities *RunnerCapability `json:"capabilities,omitempty"`
}

RunnerWithCapabilities represents a runner with its capabilities for API response

type SearchError

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

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

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

type ServerVersion struct {
	// Version is the server version string
	Version string `json:"version"`
}

ServerVersion wraps the version of the server

type StateType

type StateType string

StateType issue state type

const (
	// StateOpen pr is opened
	StateOpen StateType = "open"
	// StateClosed pr is closed
	StateClosed StateType = "closed"
	// StateAll is all
	StateAll StateType = "all"
)

type StopWatch

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

type StopWatches []StopWatch

StopWatches represent a list of stopwatches

type SubmitPullReviewOptions

type SubmitPullReviewOptions struct {
	Event ReviewStateType `json:"event"`
	Body  string          `json:"body"`
}

SubmitPullReviewOptions are options to submit a pending pull review

type Tag

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

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

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 TaskType

type TaskType int

TaskType defines task type

const TaskTypeMigrateRepo TaskType = iota // migrate repository from external or local disk

func (TaskType) Name

func (taskType TaskType) Name() string

Name returns the task type name

type Team

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

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

type TopicName struct {
	// List of topic names
	TopicNames []string `json:"topics"`
}

TopicName a list of repo topic names

type TopicResponse

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

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

type TrackedTimeList []*TrackedTime

TrackedTimeList represents a list of tracked times

type TransferRepoOption

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

type UpdateBranchProtectionPriories struct {
	IDs []int64 `json:"ids"`
}

UpdateBranchProtectionPriories a list to update the branch protection rule priorities

type UpdateBranchRepoOption

type UpdateBranchRepoOption struct {
	// New commit SHA (or any ref) the branch should point to
	//
	// required: true
	NewCommitID string `json:"new_commit_id" binding:"Required"`

	// Expected old commit SHA of the branch; if provided it must match the current tip
	OldCommitID string `json:"old_commit_id"`

	// Force update even if the change is not a fast-forward
	Force bool `json:"force"`
}

UpdateBranchRepoOption options when updating a branch reference in a repository swagger:model

type UpdateFileOptions

type UpdateFileOptions struct {
	FileOptions
	// the blob ID (SHA) for the file that already exists to update, or leave it empty to create a new file
	SHA string `json:"sha"`
	// 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 or creating a file 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 UpdateOrgPinnedGroupOption

type UpdateOrgPinnedGroupOption struct {
	// Name of the group
	Name *string `json:"name"`
	// Display order
	DisplayOrder *int `json:"display_order"`
	// Whether the group is collapsed by default
	Collapsed *bool `json:"collapsed"`
}

UpdateOrgPinnedGroupOption options for updating a pinned group

type UpdateRepoAvatarOption

type UpdateRepoAvatarOption struct {
	// image must be base64 encoded
	Image string `json:"image" binding:"Required"`
}

UpdateRepoAvatarUserOption options when updating the repo avatar

type UpdateUserAvatarOption

type UpdateUserAvatarOption struct {
	// image must be base64 encoded
	Image string `json:"image" binding:"Required"`
}

UpdateUserAvatarUserOption options when updating the user avatar

type UpdateVariableOption

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 UpdateWikiPageV2Option

type UpdateWikiPageV2Option struct {
	Title    string `json:"title"`
	Content  string `json:"content"`
	Message  string `json:"message"`
	RenameTo string `json:"rename_to,omitempty"`
}

UpdateWikiPageV2Option represents options for updating a wiki page

type UploadChunkResponse

type UploadChunkResponse struct {
	// ChunkNumber is the number of the chunk that was uploaded
	ChunkNumber int64 `json:"chunk_number"`
	// ChunksReceived is the total number of chunks received so far
	ChunksReceived int64 `json:"chunks_received"`
	// BytesReceived is the total number of bytes received so far
	BytesReceived int64 `json:"bytes_received"`
	// Complete indicates whether all chunks have been received
	Complete bool `json:"complete"`
}

UploadChunkResponse response after uploading a chunk swagger:model

type UploadSessionInfo

type UploadSessionInfo struct {
	// UUID is the unique identifier for this upload session
	UUID string `json:"uuid"`
	// FileName is the name of the file being uploaded
	FileName string `json:"file_name"`
	// FileSize is the total size of the file in bytes (-1 if unknown)
	FileSize int64 `json:"file_size"`
	// ChunkSize is the size of each chunk in bytes
	ChunkSize int64 `json:"chunk_size"`
	// ChunksExpected is the expected number of chunks (-1 if unknown)
	ChunksExpected int64 `json:"chunks_expected"`
	// ChunksReceived is the number of chunks received so far
	ChunksReceived int64 `json:"chunks_received"`
	// BytesReceived is the total number of bytes received so far
	BytesReceived int64 `json:"bytes_received"`
	// ReceivedChunks is the list of chunk numbers that have been received
	ReceivedChunks []int64 `json:"received_chunks"`
	// Status is the current status of the upload session (active, complete, expired, failed)
	Status string `json:"status"`
	// ExpiresAt is the Unix timestamp when this session expires
	ExpiresAt int64 `json:"expires_at"`
}

UploadSessionInfo contains information about an upload session for resuming swagger:model

type UploadSessionResponse

type UploadSessionResponse struct {
	// UUID is the unique identifier for this upload session
	UUID string `json:"uuid"`
	// FileName is the name of the file being uploaded
	FileName string `json:"file_name"`
	// FileSize is the total size of the file in bytes (-1 if unknown)
	FileSize int64 `json:"file_size"`
	// ChunkSize is the size of each chunk in bytes
	ChunkSize int64 `json:"chunk_size"`
	// ChunksExpected is the expected number of chunks (-1 if unknown)
	ChunksExpected int64 `json:"chunks_expected"`
	// ExpiresAt is the Unix timestamp when this session expires
	ExpiresAt int64 `json:"expires_at"`
}

UploadSessionResponse response for creating an upload session swagger:model

type User

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

func (u User) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface for User, adding field(s) for backward compatibility

type UserBadge

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

type UserBadgeOption struct {
	// example: ["badge1","badge2"]
	BadgeSlugs []string `json:"badge_slugs" binding:"Required"`
}

UserBadgeOption options for link between users and badges

type UserSettings

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

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

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

func (vt VisibleType) String() string

VisibilityString provides the mode string of the visibility type (public, limited, private)

type WatchInfo

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 WikiAuthorV2

type WikiAuthorV2 struct {
	Username  string `json:"username,omitempty"`
	Name      string `json:"name"`
	Email     string `json:"email"`
	AvatarURL string `json:"avatar_url,omitempty"`
}

WikiAuthorV2 represents a wiki commit author

type WikiCommit

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

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 WikiCommitV2

type WikiCommitV2 struct {
	SHA       string        `json:"sha"`
	Author    *WikiAuthorV2 `json:"author"`
	Committer *WikiAuthorV2 `json:"committer,omitempty"`
	Message   string        `json:"message"`
	Date      time.Time     `json:"date"`
}

WikiCommitV2 represents a wiki commit in v2 API format

type WikiDeadLinkV2

type WikiDeadLinkV2 struct {
	Page       string `json:"page"`
	BrokenLink string `json:"broken_link"`
}

WikiDeadLinkV2 represents a dead link

type WikiDeleteResponseV2

type WikiDeleteResponseV2 struct {
	Success bool `json:"success"`
}

WikiDeleteResponseV2 represents delete response

type WikiGraphEdgeV2

type WikiGraphEdgeV2 struct {
	Source string `json:"source"`
	Target string `json:"target"`
}

WikiGraphEdgeV2 represents an edge in the wiki graph

type WikiGraphNodeV2

type WikiGraphNodeV2 struct {
	Name      string `json:"name"`
	Title     string `json:"title,omitempty"`
	WordCount int    `json:"word_count"`
}

WikiGraphNodeV2 represents a node in the wiki graph

type WikiGraphV2

type WikiGraphV2 struct {
	Nodes []*WikiGraphNodeV2 `json:"nodes"`
	Edges []*WikiGraphEdgeV2 `json:"edges"`
}

WikiGraphV2 represents the wiki page relationship graph

type WikiHealthV2

type WikiHealthV2 struct {
	OrphanedPages []*WikiOrphanedPageV2 `json:"orphaned_pages"`
	DeadLinks     []*WikiDeadLinkV2     `json:"dead_links"`
	OutdatedPages []*WikiOutdatedPageV2 `json:"outdated_pages"`
	ShortPages    []*WikiShortPageV2    `json:"short_pages"`
}

WikiHealthV2 represents wiki health metrics

type WikiOrphanedPageV2

type WikiOrphanedPageV2 struct {
	Name      string `json:"name"`
	WordCount int    `json:"word_count"`
}

WikiOrphanedPageV2 represents an orphaned page

type WikiOutdatedPageV2

type WikiOutdatedPageV2 struct {
	Name     string    `json:"name"`
	LastEdit time.Time `json:"last_edit"`
	DaysOld  int       `json:"days_old"`
}

WikiOutdatedPageV2 represents an outdated page

type WikiPage

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"`
	// The footer content for the wiki page
	Footer string `json:"footer"`
}

WikiPage a wiki page

type WikiPageListV2

type WikiPageListV2 struct {
	Pages      []*WikiPageV2 `json:"pages"`
	TotalCount int64         `json:"total_count"`
	HasMore    bool          `json:"has_more"`
}

WikiPageListV2 represents a list of wiki pages

type WikiPageMetaData

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 WikiPageV2

type WikiPageV2 struct {
	Name        string        `json:"name"`
	Title       string        `json:"title"`
	Path        string        `json:"path"`
	URL         string        `json:"url"`
	HTMLURL     string        `json:"html_url"`
	Content     string        `json:"content,omitempty"`
	ContentHTML string        `json:"content_html,omitempty"`
	WordCount   int           `json:"word_count"`
	LinksOut    []string      `json:"links_out,omitempty"`
	LinksIn     []string      `json:"links_in,omitempty"`
	Sidebar     string        `json:"sidebar,omitempty"`
	Footer      string        `json:"footer,omitempty"`
	LastCommit  *WikiCommitV2 `json:"last_commit,omitempty"`
	HistoryURL  string        `json:"history_url,omitempty"`
}

WikiPageV2 represents a wiki page in v2 API format

type WikiPayload

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

func (p *WikiPayload) JSONPayload() ([]byte, error)

JSONPayload JSON representation of the payload

type WikiRevisionV2

type WikiRevisionV2 struct {
	SHA       string        `json:"sha"`
	Author    *WikiAuthorV2 `json:"author"`
	Message   string        `json:"message"`
	Date      time.Time     `json:"date"`
	Additions int           `json:"additions,omitempty"`
	Deletions int           `json:"deletions,omitempty"`
}

WikiRevisionV2 represents a page revision

type WikiRevisionsV2

type WikiRevisionsV2 struct {
	PageName   string            `json:"page_name"`
	Revisions  []*WikiRevisionV2 `json:"revisions"`
	TotalCount int64             `json:"total_count"`
}

WikiRevisionsV2 represents page revision history

type WikiSearchResponseV2

type WikiSearchResponseV2 struct {
	Query      string                `json:"query"`
	Results    []*WikiSearchResultV2 `json:"results"`
	TotalCount int64                 `json:"total_count"`
}

WikiSearchResponseV2 represents search results

type WikiSearchResultV2

type WikiSearchResultV2 struct {
	Name        string    `json:"name"`
	Title       string    `json:"title"`
	Snippet     string    `json:"snippet"`
	Score       float32   `json:"score"`
	WordCount   int       `json:"word_count"`
	LastUpdated time.Time `json:"last_updated"`
}

WikiSearchResultV2 represents a search result item

type WikiShortPageV2

type WikiShortPageV2 struct {
	Name      string `json:"name"`
	WordCount int    `json:"word_count"`
}

WikiShortPageV2 represents a short page

type WikiStatsV2

type WikiStatsV2 struct {
	TotalPages   int64                  `json:"total_pages"`
	TotalWords   int64                  `json:"total_words"`
	TotalCommits int64                  `json:"total_commits"`
	LastUpdated  time.Time              `json:"last_updated"`
	Contributors int64                  `json:"contributors"`
	Health       *WikiHealthV2          `json:"health"`
	TopLinked    []*WikiTopLinkedPageV2 `json:"top_linked"`
}

WikiStatsV2 represents wiki statistics

type WikiTopLinkedPageV2

type WikiTopLinkedPageV2 struct {
	Name          string `json:"name"`
	IncomingLinks int    `json:"incoming_links"`
}

WikiTopLinkedPageV2 represents a highly linked page

type WorkflowDispatchPayload

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

func (p *WorkflowDispatchPayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type WorkflowHints

type WorkflowHints struct {
	PreferredCheckout         string `json:"preferred_checkout,omitempty"`
	ArtifactUploadAlternative string `json:"artifact_upload_alternative,omitempty"`
	SecretAccess              string `json:"secret_access,omitempty"`
}

WorkflowHints provides hints for AI workflow generation

type WorkflowJobPayload

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

func (p *WorkflowJobPayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type WorkflowRunPayload

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

func (p *WorkflowRunPayload) JSONPayload() ([]byte, error)

JSONPayload implements Payload

type WorkflowValidationRequest

type WorkflowValidationRequest struct {
	Content string `json:"content" binding:"Required"`
}

WorkflowValidationRequest is the request for workflow validation

type WorkflowValidationResponse

type WorkflowValidationResponse struct {
	Valid       bool                         `json:"valid"`
	Warnings    []*WorkflowValidationWarning `json:"warnings,omitempty"`
	RunnerMatch []*RunnerMatch               `json:"runner_match,omitempty"`
}

WorkflowValidationResponse is the response for workflow validation

type WorkflowValidationWarning

type WorkflowValidationWarning struct {
	Line       int    `json:"line,omitempty"`
	Action     string `json:"action,omitempty"`
	Severity   string `json:"severity"`
	Message    string `json:"message"`
	Suggestion string `json:"suggestion,omitempty"`
}

WorkflowValidationWarning represents a validation warning

type XcodeInfo

type XcodeInfo struct {
	Version    string   `json:"version,omitempty"`
	Build      string   `json:"build,omitempty"`
	SDKs       []string `json:"sdks,omitempty"`
	Simulators []string `json:"simulators,omitempty"`
}

XcodeInfo holds Xcode-specific information for macOS runners

Source Files

  • actions_capabilities.go
  • 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_pages.go
  • repo_refs.go
  • repo_tag.go
  • repo_topic.go
  • repo_tree.go
  • repo_watch.go
  • repo_wiki.go
  • repo_wiki_v2.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

Jump to

Keyboard shortcuts

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