Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInvalidReceiveHook FIXME
	ErrInvalidReceiveHook = errors.New("Invalid JSON payload received over webhook")
)
View Source
var (
	// SupportedFullGitService represents all git services supported to migrate issues/labels/prs and etc.
	// TODO: add to this list after new git service added
	SupportedFullGitService = []GitServiceType{
		GithubService,
		GitlabService,
		GiteaService,
	}
)
View Source
var VisibilityModes = map[string]VisibleType{
	"public":  VisibleTypePublic,
	"limited": VisibleTypeLimited,
	"private": VisibleTypePrivate,
}

    VisibilityModes is a map of org 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 string `json:"message"`
      	URL     string `json:"url"`
      }

        APIError is an api error with a message

        type AccessToken

        type AccessToken struct {
        	ID             int64  `json:"id"`
        	Name           string `json:"name"`
        	Token          string `json:"sha1"`
        	TokenLastEight string `json:"token_last_eight"`
        }

          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 AddCollaboratorOption

            type AddCollaboratorOption struct {
            	Permission *string `json:"permission"`
            }

              AddCollaboratorOption options when adding a user as a collaborator of a repository

              type AddOrgMembershipOption

              type AddOrgMembershipOption struct {
              	Role string `json:"role" binding:"Required"`
              }

                AddOrgMembershipOption add user to organization options

                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"`
                	// User who spent the time (optional)
                	User string `json:"user_name"`
                }

                  AddTimeOption options for adding time to an issue

                  type AnnotatedTag

                  type AnnotatedTag struct {
                  	Tag          string                     `json:"tag"`
                  	SHA          string                     `json:"sha"`
                  	URL          string                     `json:"url"`
                  	Message      string                     `json:"message"`
                  	Tagger       *CommitUser                `json:"tagger"`
                  	Object       *AnnotatedTagObject        `json:"object"`
                  	Verification *PayloadCommitVerification `json:"verification"`
                  }

                    AnnotatedTag represents an annotated tag

                    type AnnotatedTagObject

                    type AnnotatedTagObject struct {
                    	Type string `json:"type"`
                    	URL  string `json:"url"`
                    	SHA  string `json:"sha"`
                    }

                      AnnotatedTagObject contains meta information of the tag object

                      type Attachment

                      type Attachment struct {
                      	ID            int64  `json:"id"`
                      	Name          string `json:"name"`
                      	Size          int64  `json:"size"`
                      	DownloadCount int64  `json:"download_count"`
                      	// swagger:strfmt date-time
                      	Created     time.Time `json:"created_at"`
                      	UUID        string    `json:"uuid"`
                      	DownloadURL string    `json:"browser_download_url"`
                      }

                        Attachment a generic attachment swagger:model

                        type Branch

                        type Branch struct {
                        	Name                          string         `json:"name"`
                        	Commit                        *PayloadCommit `json:"commit"`
                        	Protected                     bool           `json:"protected"`
                        	RequiredApprovals             int64          `json:"required_approvals"`
                        	EnableStatusCheck             bool           `json:"enable_status_check"`
                        	StatusCheckContexts           []string       `json:"status_check_contexts"`
                        	UserCanPush                   bool           `json:"user_can_push"`
                        	UserCanMerge                  bool           `json:"user_can_merge"`
                        	EffectiveBranchProtectionName string         `json:"effective_branch_protection_name"`
                        }

                          Branch represents a repository branch

                          type BranchProtection

                          type BranchProtection struct {
                          	BranchName                  string   `json:"branch_name"`
                          	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"`
                          	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"`
                          	BlockOnOutdatedBranch       bool     `json:"block_on_outdated_branch"`
                          	DismissStaleApprovals       bool     `json:"dismiss_stale_approvals"`
                          	RequireSignedCommits        bool     `json:"require_signed_commits"`
                          	ProtectedFilePatterns       string   `json:"protected_file_patterns"`
                          	// 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 ChangesFromPayload

                            type ChangesFromPayload struct {
                            	From string `json:"from"`
                            }

                              ChangesFromPayload FIXME

                              type ChangesPayload

                              type ChangesPayload struct {
                              	Title *ChangesFromPayload `json:"title,omitempty"`
                              	Body  *ChangesFromPayload `json:"body,omitempty"`
                              	Ref   *ChangesFromPayload `json:"ref,omitempty"`
                              }

                                ChangesPayload represents the payload information of issue change

                                type CombinedStatus

                                type CombinedStatus struct {
                                	State      StatusState `json:"state"`
                                	SHA        string      `json:"sha"`
                                	TotalCount int         `json:"total_count"`
                                	Statuses   []*Status   `json:"statuses"`
                                	Repository *Repository `json:"repository"`
                                	CommitURL  string      `json:"commit_url"`
                                	URL        string      `json:"url"`
                                }

                                  CombinedStatus holds the combined state of several statuses for a single commit

                                  type Comment

                                  type Comment struct {
                                  	ID               int64  `json:"id"`
                                  	HTMLURL          string `json:"html_url"`
                                  	PRURL            string `json:"pull_request_url"`
                                  	IssueURL         string `json:"issue_url"`
                                  	Poster           *User  `json:"user"`
                                  	OriginalAuthor   string `json:"original_author"`
                                  	OriginalAuthorID int64  `json:"original_author_id"`
                                  	Body             string `json:"body"`
                                  	// 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    string        `json:"html_url"`
                                    	RepoCommit *RepoCommit   `json:"commit"`
                                    	Author     *User         `json:"author"`
                                    	Committer  *User         `json:"committer"`
                                    	Parents    []*CommitMeta `json:"parents"`
                                    }

                                      Commit contains information generated from a Git commit.

                                      type CommitDateOptions

                                      type CommitDateOptions struct {
                                      	// swagger:strfmt date-time
                                      	Author time.Time `json:"author"`
                                      	// swagger:strfmt date-time
                                      	Committer time.Time `json:"committer"`
                                      }

                                        CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE

                                        type CommitMeta

                                        type CommitMeta struct {
                                        	URL string `json:"url"`
                                        	SHA string `json:"sha"`
                                        	// swagger:strfmt date-time
                                        	Created time.Time `json:"created"`
                                        }

                                          CommitMeta contains meta information of a commit in terms of API.

                                          type CommitStatusState

                                          type CommitStatusState string

                                            CommitStatusState holds the state of a Status It can be "pending", "success", "error", "failure", and "warning"

                                            const (
                                            	// CommitStatusPending is for when the Status is Pending
                                            	CommitStatusPending CommitStatusState = "pending"
                                            	// CommitStatusSuccess is for when the Status is Success
                                            	CommitStatusSuccess CommitStatusState = "success"
                                            	// CommitStatusError is for when the Status is Error
                                            	CommitStatusError CommitStatusState = "error"
                                            	// CommitStatusFailure is for when the Status is Failure
                                            	CommitStatusFailure CommitStatusState = "failure"
                                            	// CommitStatusWarning is for when the Status is Warning
                                            	CommitStatusWarning CommitStatusState = "warning"
                                            )

                                            func (CommitStatusState) IsError

                                            func (css CommitStatusState) IsError() bool

                                              IsError represents if commit status state is error

                                              func (CommitStatusState) IsFailure

                                              func (css CommitStatusState) IsFailure() bool

                                                IsFailure represents if commit status state is failure

                                                func (CommitStatusState) IsPending

                                                func (css CommitStatusState) IsPending() bool

                                                  IsPending represents if commit status state is pending

                                                  func (CommitStatusState) IsSuccess

                                                  func (css CommitStatusState) IsSuccess() bool

                                                    IsSuccess represents if commit status state is success

                                                    func (CommitStatusState) IsWarning

                                                    func (css CommitStatusState) IsWarning() bool

                                                      IsWarning represents if commit status state is warning

                                                      func (CommitStatusState) NoBetterThan

                                                      func (css CommitStatusState) NoBetterThan(css2 CommitStatusState) bool

                                                        NoBetterThan returns true if this State is no better than the given State

                                                        type CommitUser

                                                        type CommitUser struct {
                                                        	Identity
                                                        	Date string `json:"date"`
                                                        }

                                                          CommitUser contains information of a user in the context of a commit.

                                                          type ContentsResponse

                                                          type ContentsResponse struct {
                                                          	Name string `json:"name"`
                                                          	Path string `json:"path"`
                                                          	SHA  string `json:"sha"`
                                                          	// `type` will be `file`, `dir`, `symlink`, or `submodule`
                                                          	Type string `json:"type"`
                                                          	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         *string `json:"url"`
                                                          	HTMLURL     *string `json:"html_url"`
                                                          	GitURL      *string `json:"git_url"`
                                                          	DownloadURL *string `json:"download_url"`
                                                          	// `submodule_git_url` is populated when `type` is `submodule`, otherwise null
                                                          	SubmoduleGitURL *string            `json:"submodule_git_url"`
                                                          	Links           *FileLinksResponse `json:"_links"`
                                                          }

                                                            ContentsResponse contains information about a repo's entry's (dir, file, symlink, submodule) metadata and content

                                                            type CreateAccessTokenOption

                                                            type CreateAccessTokenOption struct {
                                                            	Name string `json:"name" binding:"Required"`
                                                            }

                                                              CreateAccessTokenOption options when create access token swagger:parameters userCreateToken

                                                              type CreateBranchProtectionOption

                                                              type CreateBranchProtectionOption struct {
                                                              	BranchName                  string   `json:"branch_name"`
                                                              	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"`
                                                              	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"`
                                                              	BlockOnOutdatedBranch       bool     `json:"block_on_outdated_branch"`
                                                              	DismissStaleApprovals       bool     `json:"dismiss_stale_approvals"`
                                                              	RequireSignedCommits        bool     `json:"require_signed_commits"`
                                                              	ProtectedFilePatterns       string   `json:"protected_file_patterns"`
                                                              }

                                                                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)"`
                                                                
                                                                	// Name of the old branch to create from
                                                                	//
                                                                	// unique: true
                                                                	OldBranchName string `json:"old_branch_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
                                                                    	Content string `json:"content"`
                                                                    }

                                                                      CreateFileOptions options for creating files Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)

                                                                      type CreateForkOption

                                                                      type CreateForkOption struct {
                                                                      	// organization name, if forking into an organization
                                                                      	Organization *string `json:"organization"`
                                                                      }

                                                                        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"`
                                                                        }

                                                                          CreateGPGKeyOption options create user GPG key

                                                                          type CreateHookOption

                                                                          type CreateHookOption struct {
                                                                          	// required: true
                                                                          	// enum: dingtalk,discord,gitea,gogs,msteams,slack,telegram,feishu
                                                                          	Type string `json:"type" binding:"Required"`
                                                                          	// required: true
                                                                          	Config       CreateHookOptionConfig `json:"config" binding:"Required"`
                                                                          	Events       []string               `json:"events"`
                                                                          	BranchFilter string                 `json:"branch_filter" binding:"GlobPattern"`
                                                                          	// default: false
                                                                          	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 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"`
                                                                                	// username of assignee
                                                                                	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 string `json:"name" binding:"Required"`
                                                                                    	// required:true
                                                                                    	// example: #00aabb
                                                                                    	Color       string `json:"color" binding:"Required"`
                                                                                    	Description string `json:"description"`
                                                                                    }

                                                                                      CreateLabelOption options for creating a label

                                                                                      type CreateMilestoneOption

                                                                                      type CreateMilestoneOption struct {
                                                                                      	Title       string `json:"title"`
                                                                                      	Description string `json:"description"`
                                                                                      	// swagger:strfmt date-time
                                                                                      	Deadline *time.Time `json:"due_on"`
                                                                                      	// enum: open,closed
                                                                                      	State string `json:"state"`
                                                                                      }

                                                                                        CreateMilestoneOption options for creating a milestone

                                                                                        type CreateOAuth2ApplicationOptions

                                                                                        type CreateOAuth2ApplicationOptions struct {
                                                                                        	Name         string   `json:"name" binding:"Required"`
                                                                                        	RedirectURIs []string `json:"redirect_uris" binding:"Required"`
                                                                                        }

                                                                                          CreateOAuth2ApplicationOptions holds options to create an oauth2 application

                                                                                          type CreateOrgOption

                                                                                          type CreateOrgOption struct {
                                                                                          	// required: true
                                                                                          	UserName    string `json:"username" binding:"Required"`
                                                                                          	FullName    string `json:"full_name"`
                                                                                          	Description string `json:"description"`
                                                                                          	Website     string `json:"website"`
                                                                                          	Location    string `json:"location"`
                                                                                          	// possible values are `public` (default), `limited` or `private`
                                                                                          	// enum: public,limited,private
                                                                                          	Visibility                string `json:"visibility" binding:"In(,public,limited,private)"`
                                                                                          	RepoAdminChangeTeamAccess bool   `json:"repo_admin_change_team_access"`
                                                                                          }

                                                                                            CreateOrgOption options for creating an organization

                                                                                            type CreatePayload

                                                                                            type CreatePayload struct {
                                                                                            	Secret  string      `json:"secret"`
                                                                                            	Sha     string      `json:"sha"`
                                                                                            	Ref     string      `json:"ref"`
                                                                                            	RefType string      `json:"ref_type"`
                                                                                            	Repo    *Repository `json:"repository"`
                                                                                            	Sender  *User       `json:"sender"`
                                                                                            }

                                                                                              CreatePayload FIXME

                                                                                              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

                                                                                                  func (*CreatePayload) SetSecret

                                                                                                  func (p *CreatePayload) SetSecret(secret string)

                                                                                                    SetSecret modifies the secret of the CreatePayload

                                                                                                    type CreatePullRequestOption

                                                                                                    type CreatePullRequestOption struct {
                                                                                                    	Head      string   `json:"head" binding:"Required"`
                                                                                                    	Base      string   `json:"base" binding:"Required"`
                                                                                                    	Title     string   `json:"title" binding:"Required"`
                                                                                                    	Body      string   `json:"body"`
                                                                                                    	Assignee  string   `json:"assignee"`
                                                                                                    	Assignees []string `json:"assignees"`
                                                                                                    	Milestone int64    `json:"milestone"`
                                                                                                    	Labels    []int64  `json:"labels"`
                                                                                                    	// swagger:strfmt date-time
                                                                                                    	Deadline *time.Time `json:"due_date"`
                                                                                                    }

                                                                                                      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 CreateReleaseOption

                                                                                                          type CreateReleaseOption struct {
                                                                                                          	// required: true
                                                                                                          	TagName      string `json:"tag_name" binding:"Required"`
                                                                                                          	Target       string `json:"target_commitish"`
                                                                                                          	Title        string `json:"name"`
                                                                                                          	Note         string `json:"body"`
                                                                                                          	IsDraft      bool   `json:"draft"`
                                                                                                          	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(255)"`
                                                                                                            	// Whether the repository is private
                                                                                                            	Private bool `json:"private"`
                                                                                                            	// Label-Set to use
                                                                                                            	IssueLabels string `json:"issue_labels"`
                                                                                                            	// Whether the repository should be auto-intialized?
                                                                                                            	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"`
                                                                                                            }

                                                                                                              CreateRepoOption options when creating repository swagger:model

                                                                                                              type CreateStatusOption

                                                                                                              type CreateStatusOption struct {
                                                                                                              	State       StatusState `json:"state"`
                                                                                                              	TargetURL   string      `json:"target_url"`
                                                                                                              	Description string      `json:"description"`
                                                                                                              	Context     string      `json:"context"`
                                                                                                              }

                                                                                                                CreateStatusOption holds the information needed to create a new Status for a Commit

                                                                                                                type CreateTeamOption

                                                                                                                type CreateTeamOption struct {
                                                                                                                	// required: true
                                                                                                                	Name                    string `json:"name" binding:"Required;AlphaDashDot;MaxSize(30)"`
                                                                                                                	Description             string `json:"description" binding:"MaxSize(255)"`
                                                                                                                	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.ext_wiki"]
                                                                                                                	Units            []string `json:"units"`
                                                                                                                	CanCreateOrgRepo bool     `json:"can_create_org_repo"`
                                                                                                                }

                                                                                                                  CreateTeamOption options for creating a team

                                                                                                                  type CreateUserOption

                                                                                                                  type CreateUserOption struct {
                                                                                                                  	SourceID  int64  `json:"source_id"`
                                                                                                                  	LoginName string `json:"login_name"`
                                                                                                                  	// required: true
                                                                                                                  	Username string `json:"username" binding:"Required;AlphaDashDot;MaxSize(40)"`
                                                                                                                  	FullName string `json:"full_name" binding:"MaxSize(100)"`
                                                                                                                  	// required: true
                                                                                                                  	// swagger:strfmt email
                                                                                                                  	Email string `json:"email" binding:"Required;Email;MaxSize(254)"`
                                                                                                                  	// required: true
                                                                                                                  	Password           string `json:"password" binding:"Required;MaxSize(255)"`
                                                                                                                  	MustChangePassword *bool  `json:"must_change_password"`
                                                                                                                  	SendNotify         bool   `json:"send_notify"`
                                                                                                                  }

                                                                                                                    CreateUserOption create user options

                                                                                                                    type Cron

                                                                                                                    type Cron struct {
                                                                                                                    	Name      string    `json:"name"`
                                                                                                                    	Schedule  string    `json:"schedule"`
                                                                                                                    	Next      time.Time `json:"next"`
                                                                                                                    	Prev      time.Time `json:"prev"`
                                                                                                                    	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
                                                                                                                        	// sha is the SHA for the file that already exists
                                                                                                                        	// required: true
                                                                                                                        	SHA string `json:"sha" binding:"Required"`
                                                                                                                        }

                                                                                                                          DeleteFileOptions options for deleting files (used for other File structs below) Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)

                                                                                                                          type DeletePayload

                                                                                                                          type DeletePayload struct {
                                                                                                                          	Secret     string      `json:"secret"`
                                                                                                                          	Ref        string      `json:"ref"`
                                                                                                                          	RefType    string      `json:"ref_type"`
                                                                                                                          	PusherType PusherType  `json:"pusher_type"`
                                                                                                                          	Repo       *Repository `json:"repository"`
                                                                                                                          	Sender     *User       `json:"sender"`
                                                                                                                          }

                                                                                                                            DeletePayload represents delete payload

                                                                                                                            func (*DeletePayload) JSONPayload

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

                                                                                                                              JSONPayload implements Payload

                                                                                                                              func (*DeletePayload) SetSecret

                                                                                                                              func (p *DeletePayload) SetSecret(secret string)

                                                                                                                                SetSecret modifies the secret of the DeletePayload

                                                                                                                                type DeployKey

                                                                                                                                type DeployKey struct {
                                                                                                                                	ID          int64  `json:"id"`
                                                                                                                                	KeyID       int64  `json:"key_id"`
                                                                                                                                	Key         string `json:"key"`
                                                                                                                                	URL         string `json:"url"`
                                                                                                                                	Title       string `json:"title"`
                                                                                                                                	Fingerprint string `json:"fingerprint"`
                                                                                                                                	// swagger:strfmt date-time
                                                                                                                                	Created    time.Time   `json:"created_at"`
                                                                                                                                	ReadOnly   bool        `json:"read_only"`
                                                                                                                                	Repository *Repository `json:"repository,omitempty"`
                                                                                                                                }

                                                                                                                                  DeployKey a deploy key

                                                                                                                                  type EditAttachmentOptions

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

                                                                                                                                    EditAttachmentOptions options for editing attachments swagger:model

                                                                                                                                    type EditBranchProtectionOption

                                                                                                                                    type EditBranchProtectionOption struct {
                                                                                                                                    	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"`
                                                                                                                                    	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"`
                                                                                                                                    	BlockOnOutdatedBranch       *bool    `json:"block_on_outdated_branch"`
                                                                                                                                    	DismissStaleApprovals       *bool    `json:"dismiss_stale_approvals"`
                                                                                                                                    	RequireSignedCommits        *bool    `json:"require_signed_commits"`
                                                                                                                                    	ProtectedFilePatterns       *string  `json:"protected_file_patterns"`
                                                                                                                                    }

                                                                                                                                      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 string `json:"content"`
                                                                                                                                        }

                                                                                                                                          EditGitHookOption options when modifying one Git hook

                                                                                                                                          type EditHookOption

                                                                                                                                          type EditHookOption struct {
                                                                                                                                          	Config       map[string]string `json:"config"`
                                                                                                                                          	Events       []string          `json:"events"`
                                                                                                                                          	BranchFilter string            `json:"branch_filter" binding:"GlobPattern"`
                                                                                                                                          	Active       *bool             `json:"active"`
                                                                                                                                          }

                                                                                                                                            EditHookOption options when modify one hook

                                                                                                                                            type EditIssueCommentOption

                                                                                                                                            type EditIssueCommentOption struct {
                                                                                                                                            	// required: true
                                                                                                                                            	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"`
                                                                                                                                              	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        *string `json:"name"`
                                                                                                                                                	Color       *string `json:"color"`
                                                                                                                                                	Description *string `json:"description"`
                                                                                                                                                }

                                                                                                                                                  EditLabelOption options for editing a label

                                                                                                                                                  type EditMilestoneOption

                                                                                                                                                  type EditMilestoneOption struct {
                                                                                                                                                  	Title       string     `json:"title"`
                                                                                                                                                  	Description *string    `json:"description"`
                                                                                                                                                  	State       *string    `json:"state"`
                                                                                                                                                  	Deadline    *time.Time `json:"due_on"`
                                                                                                                                                  }

                                                                                                                                                    EditMilestoneOption options for editing a milestone

                                                                                                                                                    type EditOrgOption

                                                                                                                                                    type EditOrgOption struct {
                                                                                                                                                    	FullName    string `json:"full_name"`
                                                                                                                                                    	Description string `json:"description"`
                                                                                                                                                    	Website     string `json:"website"`
                                                                                                                                                    	Location    string `json:"location"`
                                                                                                                                                    	// possible values are `public`, `limited` or `private`
                                                                                                                                                    	// enum: public,limited,private
                                                                                                                                                    	Visibility                string `json:"visibility" binding:"In(,public,limited,private)"`
                                                                                                                                                    	RepoAdminChangeTeamAccess bool   `json:"repo_admin_change_team_access"`
                                                                                                                                                    }

                                                                                                                                                      EditOrgOption options for editing an organization

                                                                                                                                                      type EditPullRequestOption

                                                                                                                                                      type EditPullRequestOption struct {
                                                                                                                                                      	Title     string   `json:"title"`
                                                                                                                                                      	Body      string   `json:"body"`
                                                                                                                                                      	Base      string   `json:"base"`
                                                                                                                                                      	Assignee  string   `json:"assignee"`
                                                                                                                                                      	Assignees []string `json:"assignees"`
                                                                                                                                                      	Milestone int64    `json:"milestone"`
                                                                                                                                                      	Labels    []int64  `json:"labels"`
                                                                                                                                                      	State     *string  `json:"state"`
                                                                                                                                                      	// swagger:strfmt date-time
                                                                                                                                                      	Deadline       *time.Time `json:"due_date"`
                                                                                                                                                      	RemoveDeadline *bool      `json:"unset_due_date"`
                                                                                                                                                      }

                                                                                                                                                        EditPullRequestOption options when modify pull request

                                                                                                                                                        type EditReactionOption

                                                                                                                                                        type EditReactionOption struct {
                                                                                                                                                        	Reaction string `json:"content"`
                                                                                                                                                        }

                                                                                                                                                          EditReactionOption contain the reaction type

                                                                                                                                                          type EditReleaseOption

                                                                                                                                                          type EditReleaseOption struct {
                                                                                                                                                          	TagName      string `json:"tag_name"`
                                                                                                                                                          	Target       string `json:"target_commitish"`
                                                                                                                                                          	Title        string `json:"name"`
                                                                                                                                                          	Note         string `json:"body"`
                                                                                                                                                          	IsDraft      *bool  `json:"draft"`
                                                                                                                                                          	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(255)"`
                                                                                                                                                            	// a URL with more information about the repository.
                                                                                                                                                            	Website *string `json:"website,omitempty" binding:"MaxSize(255)"`
                                                                                                                                                            	// 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 issues for this repository or `false` to disable them.
                                                                                                                                                            	HasIssues *bool `json:"has_issues,omitempty"`
                                                                                                                                                            	// set this structure to configure internal issue tracker (requires has_issues)
                                                                                                                                                            	InternalTracker *InternalTracker `json:"internal_tracker,omitempty"`
                                                                                                                                                            	// set this structure to use external issue tracker (requires has_issues)
                                                                                                                                                            	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 (requires has_wiki)
                                                                                                                                                            	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"`
                                                                                                                                                            	// either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace. `has_pull_requests` must be `true`.
                                                                                                                                                            	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. `has_pull_requests` must be `true`.
                                                                                                                                                            	AllowMerge *bool `json:"allow_merge_commits,omitempty"`
                                                                                                                                                            	// either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. `has_pull_requests` must be `true`.
                                                                                                                                                            	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. `has_pull_requests` must be `true`.
                                                                                                                                                            	AllowRebaseMerge *bool `json:"allow_rebase_explicit,omitempty"`
                                                                                                                                                            	// either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. `has_pull_requests` must be `true`.
                                                                                                                                                            	AllowSquash *bool `json:"allow_squash_merge,omitempty"`
                                                                                                                                                            	// set to `true` to archive this repository.
                                                                                                                                                            	Archived *bool `json:"archived,omitempty"`
                                                                                                                                                            }

                                                                                                                                                              EditRepoOption options when editing a repository's properties swagger:model

                                                                                                                                                              type EditTeamOption

                                                                                                                                                              type EditTeamOption struct {
                                                                                                                                                              	// required: true
                                                                                                                                                              	Name                    string  `json:"name" binding:"AlphaDashDot;MaxSize(30)"`
                                                                                                                                                              	Description             *string `json:"description" binding:"MaxSize(255)"`
                                                                                                                                                              	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.ext_wiki"]
                                                                                                                                                              	Units            []string `json:"units"`
                                                                                                                                                              	CanCreateOrgRepo *bool    `json:"can_create_org_repo"`
                                                                                                                                                              }

                                                                                                                                                                EditTeamOption options for editing a team

                                                                                                                                                                type EditUserOption

                                                                                                                                                                type EditUserOption struct {
                                                                                                                                                                	SourceID  int64  `json:"source_id"`
                                                                                                                                                                	LoginName string `json:"login_name"`
                                                                                                                                                                	FullName  string `json:"full_name" binding:"MaxSize(100)"`
                                                                                                                                                                	// required: true
                                                                                                                                                                	// swagger:strfmt email
                                                                                                                                                                	Email                   string `json:"email" binding:"Required;Email;MaxSize(254)"`
                                                                                                                                                                	Password                string `json:"password" binding:"MaxSize(255)"`
                                                                                                                                                                	MustChangePassword      *bool  `json:"must_change_password"`
                                                                                                                                                                	Website                 string `json:"website" binding:"MaxSize(50)"`
                                                                                                                                                                	Location                string `json:"location" binding:"MaxSize(50)"`
                                                                                                                                                                	Active                  *bool  `json:"active"`
                                                                                                                                                                	Admin                   *bool  `json:"admin"`
                                                                                                                                                                	AllowGitHook            *bool  `json:"allow_git_hook"`
                                                                                                                                                                	AllowImportLocal        *bool  `json:"allow_import_local"`
                                                                                                                                                                	MaxRepoCreation         *int   `json:"max_repo_creation"`
                                                                                                                                                                	ProhibitLogin           *bool  `json:"prohibit_login"`
                                                                                                                                                                	AllowCreateOrganization *bool  `json:"allow_create_organization"`
                                                                                                                                                                }

                                                                                                                                                                  EditUserOption edit user options

                                                                                                                                                                  type Email

                                                                                                                                                                  type Email struct {
                                                                                                                                                                  	// swagger:strfmt email
                                                                                                                                                                  	Email    string `json:"email"`
                                                                                                                                                                  	Verified bool   `json:"verified"`
                                                                                                                                                                  	Primary  bool   `json:"primary"`
                                                                                                                                                                  }

                                                                                                                                                                    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` or `alphanumeric`
                                                                                                                                                                    	ExternalTrackerStyle string `json:"external_tracker_style"`
                                                                                                                                                                    }

                                                                                                                                                                      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   string        `json:"html_url"`
                                                                                                                                                                        	Author    *CommitUser   `json:"author"`
                                                                                                                                                                        	Committer *CommitUser   `json:"committer"`
                                                                                                                                                                        	Parents   []*CommitMeta `json:"parents"`
                                                                                                                                                                        	Message   string        `json:"message"`
                                                                                                                                                                        	Tree      *CommitMeta   `json:"tree"`
                                                                                                                                                                        }

                                                                                                                                                                          FileCommitResponse contains information generated from a Git commit for a repo's file.

                                                                                                                                                                          type FileDeleteResponse

                                                                                                                                                                          type FileDeleteResponse struct {
                                                                                                                                                                          	Content      interface{}                `json:"content"` // to be set to nil
                                                                                                                                                                          	Commit       *FileCommitResponse        `json:"commit"`
                                                                                                                                                                          	Verification *PayloadCommitVerification `json:"verification"`
                                                                                                                                                                          }

                                                                                                                                                                            FileDeleteResponse contains information about a repo's file that was deleted

                                                                                                                                                                            type FileLinksResponse

                                                                                                                                                                            type FileLinksResponse struct {
                                                                                                                                                                            	Self    *string `json:"self"`
                                                                                                                                                                            	GitURL  *string `json:"git"`
                                                                                                                                                                            	HTMLURL *string `json:"html"`
                                                                                                                                                                            }

                                                                                                                                                                              FileLinksResponse contains the links for a repo's file

                                                                                                                                                                              type FileOptions

                                                                                                                                                                              type FileOptions struct {
                                                                                                                                                                              	// message (optional) for the commit of this file. if not supplied, a default message will be used
                                                                                                                                                                              	Message string `json:"message"`
                                                                                                                                                                              	// branch (optional) to base this file from. if not given, the default branch is used
                                                                                                                                                                              	BranchName string `json:"branch" binding:"GitRefName;MaxSize(100)"`
                                                                                                                                                                              	// new_branch (optional) will make a new branch from `branch` before creating the file
                                                                                                                                                                              	NewBranchName string `json:"new_branch" binding:"GitRefName;MaxSize(100)"`
                                                                                                                                                                              	// `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
                                                                                                                                                                              	Author    Identity          `json:"author"`
                                                                                                                                                                              	Committer Identity          `json:"committer"`
                                                                                                                                                                              	Dates     CommitDateOptions `json:"dates"`
                                                                                                                                                                              }

                                                                                                                                                                                FileOptions options for all file APIs

                                                                                                                                                                                type FileResponse

                                                                                                                                                                                type FileResponse struct {
                                                                                                                                                                                	Content      *ContentsResponse          `json:"content"`
                                                                                                                                                                                	Commit       *FileCommitResponse        `json:"commit"`
                                                                                                                                                                                	Verification *PayloadCommitVerification `json:"verification"`
                                                                                                                                                                                }

                                                                                                                                                                                  FileResponse contains information about a repo's file

                                                                                                                                                                                  type ForkPayload

                                                                                                                                                                                  type ForkPayload struct {
                                                                                                                                                                                  	Secret string      `json:"secret"`
                                                                                                                                                                                  	Forkee *Repository `json:"forkee"`
                                                                                                                                                                                  	Repo   *Repository `json:"repository"`
                                                                                                                                                                                  	Sender *User       `json:"sender"`
                                                                                                                                                                                  }

                                                                                                                                                                                    ForkPayload represents fork payload

                                                                                                                                                                                    func (*ForkPayload) JSONPayload

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

                                                                                                                                                                                      JSONPayload implements Payload

                                                                                                                                                                                      func (*ForkPayload) SetSecret

                                                                                                                                                                                      func (p *ForkPayload) SetSecret(secret string)

                                                                                                                                                                                        SetSecret modifies the secret of the ForkPayload

                                                                                                                                                                                        type GPGKey

                                                                                                                                                                                        type GPGKey struct {
                                                                                                                                                                                        	ID                int64          `json:"id"`
                                                                                                                                                                                        	PrimaryKeyID      string         `json:"primary_key_id"`
                                                                                                                                                                                        	KeyID             string         `json:"key_id"`
                                                                                                                                                                                        	PublicKey         string         `json:"public_key"`
                                                                                                                                                                                        	Emails            []*GPGKeyEmail `json:"emails"`
                                                                                                                                                                                        	SubsKey           []*GPGKey      `json:"subkeys"`
                                                                                                                                                                                        	CanSign           bool           `json:"can_sign"`
                                                                                                                                                                                        	CanEncryptComms   bool           `json:"can_encrypt_comms"`
                                                                                                                                                                                        	CanEncryptStorage bool           `json:"can_encrypt_storage"`
                                                                                                                                                                                        	CanCertify        bool           `json:"can_certify"`
                                                                                                                                                                                        	// swagger:strfmt date-time
                                                                                                                                                                                        	Created time.Time `json:"created_at,omitempty"`
                                                                                                                                                                                        	// swagger:strfmt date-time
                                                                                                                                                                                        	Expires time.Time `json:"expires_at,omitempty"`
                                                                                                                                                                                        }

                                                                                                                                                                                          GPGKey a user GPG key to sign commit and tag in repository

                                                                                                                                                                                          type GPGKeyEmail

                                                                                                                                                                                          type GPGKeyEmail struct {
                                                                                                                                                                                          	Email    string `json:"email"`
                                                                                                                                                                                          	Verified bool   `json:"verified"`
                                                                                                                                                                                          }

                                                                                                                                                                                            GPGKeyEmail an email attached to a GPGKey swagger:model GPGKeyEmail

                                                                                                                                                                                            type GeneralAPISettings

                                                                                                                                                                                            type GeneralAPISettings struct {
                                                                                                                                                                                            	MaxResponseItems       int   `json:"max_response_items"`
                                                                                                                                                                                            	DefaultPagingNum       int   `json:"default_paging_num"`
                                                                                                                                                                                            	DefaultGitTreesPerPage int   `json:"default_git_trees_per_page"`
                                                                                                                                                                                            	DefaultMaxBlobSize     int64 `json:"default_max_blob_size"`
                                                                                                                                                                                            }

                                                                                                                                                                                              GeneralAPISettings contains global api settings exposed by it

                                                                                                                                                                                              type GeneralAttachmentSettings

                                                                                                                                                                                              type GeneralAttachmentSettings struct {
                                                                                                                                                                                              	Enabled      bool   `json:"enabled"`
                                                                                                                                                                                              	AllowedTypes string `json:"allowed_types"`
                                                                                                                                                                                              	MaxSize      int64  `json:"max_size"`
                                                                                                                                                                                              	MaxFiles     int    `json:"max_files"`
                                                                                                                                                                                              }

                                                                                                                                                                                                GeneralAttachmentSettings contains global Attachment settings exposed by API

                                                                                                                                                                                                type GeneralRepoSettings

                                                                                                                                                                                                type GeneralRepoSettings struct {
                                                                                                                                                                                                	MirrorsDisabled bool `json:"mirrors_disabled"`
                                                                                                                                                                                                	HTTPGitDisabled bool `json:"http_git_disabled"`
                                                                                                                                                                                                }

                                                                                                                                                                                                  GeneralRepoSettings contains global repository settings exposed by API

                                                                                                                                                                                                  type GeneralUISettings

                                                                                                                                                                                                  type GeneralUISettings struct {
                                                                                                                                                                                                  	AllowedReactions []string `json:"allowed_reactions"`
                                                                                                                                                                                                  }

                                                                                                                                                                                                    GeneralUISettings contains global ui settings exposed by API

                                                                                                                                                                                                    type GitBlobResponse

                                                                                                                                                                                                    type GitBlobResponse struct {
                                                                                                                                                                                                    	Content  string `json:"content"`
                                                                                                                                                                                                    	Encoding string `json:"encoding"`
                                                                                                                                                                                                    	URL      string `json:"url"`
                                                                                                                                                                                                    	SHA      string `json:"sha"`
                                                                                                                                                                                                    	Size     int64  `json:"size"`
                                                                                                                                                                                                    }

                                                                                                                                                                                                      GitBlobResponse represents a git blob

                                                                                                                                                                                                      type GitEntry

                                                                                                                                                                                                      type GitEntry struct {
                                                                                                                                                                                                      	Path string `json:"path"`
                                                                                                                                                                                                      	Mode string `json:"mode"`
                                                                                                                                                                                                      	Type string `json:"type"`
                                                                                                                                                                                                      	Size int64  `json:"size"`
                                                                                                                                                                                                      	SHA  string `json:"sha"`
                                                                                                                                                                                                      	URL  string `json:"url"`
                                                                                                                                                                                                      }

                                                                                                                                                                                                        GitEntry represents a git tree

                                                                                                                                                                                                        type GitHook

                                                                                                                                                                                                        type GitHook struct {
                                                                                                                                                                                                        	Name     string `json:"name"`
                                                                                                                                                                                                        	IsActive bool   `json:"is_active"`
                                                                                                                                                                                                        	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 {
                                                                                                                                                                                                            	Type string `json:"type"`
                                                                                                                                                                                                            	SHA  string `json:"sha"`
                                                                                                                                                                                                            	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
                                                                                                                                                                                                                )

                                                                                                                                                                                                                  enumerate all GitServiceType

                                                                                                                                                                                                                  func (GitServiceType) Name

                                                                                                                                                                                                                  func (gt GitServiceType) Name() string

                                                                                                                                                                                                                    Name represents the service type's name WARNNING: the name have 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        string     `json:"sha"`
                                                                                                                                                                                                                        	URL        string     `json:"url"`
                                                                                                                                                                                                                        	Entries    []GitEntry `json:"tree"`
                                                                                                                                                                                                                        	Truncated  bool       `json:"truncated"`
                                                                                                                                                                                                                        	Page       int        `json:"page"`
                                                                                                                                                                                                                        	TotalCount int        `json:"total_count"`
                                                                                                                                                                                                                        }

                                                                                                                                                                                                                          GitTreeResponse returns a git tree

                                                                                                                                                                                                                          type Hook

                                                                                                                                                                                                                          type Hook struct {
                                                                                                                                                                                                                          	ID     int64             `json:"id"`
                                                                                                                                                                                                                          	Type   string            `json:"type"`
                                                                                                                                                                                                                          	URL    string            `json:"-"`
                                                                                                                                                                                                                          	Config map[string]string `json:"config"`
                                                                                                                                                                                                                          	Events []string          `json:"events"`
                                                                                                                                                                                                                          	Active bool              `json:"active"`
                                                                                                                                                                                                                          	// swagger:strfmt date-time
                                                                                                                                                                                                                          	Updated time.Time `json:"updated_at"`
                                                                                                                                                                                                                          	// swagger:strfmt date-time
                                                                                                                                                                                                                          	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"
                                                                                                                                                                                                                              	// 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"
                                                                                                                                                                                                                              )

                                                                                                                                                                                                                              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 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 Identity

                                                                                                                                                                                                                                          type Identity struct {
                                                                                                                                                                                                                                          	Name string `json:"name" binding:"MaxSize(100)"`
                                                                                                                                                                                                                                          	// swagger:strfmt email
                                                                                                                                                                                                                                          	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"`
                                                                                                                                                                                                                                              	Labels           []*Label   `json:"labels"`
                                                                                                                                                                                                                                              	Milestone        *Milestone `json:"milestone"`
                                                                                                                                                                                                                                              	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"`
                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                              	PullRequest *PullRequestMeta `json:"pull_request"`
                                                                                                                                                                                                                                              	Repo        *RepositoryMeta  `json:"repository"`
                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                Issue represents an issue in a repository swagger:model

                                                                                                                                                                                                                                                type IssueCommentPayload

                                                                                                                                                                                                                                                type IssueCommentPayload struct {
                                                                                                                                                                                                                                                	Secret     string                 `json:"secret"`
                                                                                                                                                                                                                                                	Action     HookIssueCommentAction `json:"action"`
                                                                                                                                                                                                                                                	Issue      *Issue                 `json:"issue"`
                                                                                                                                                                                                                                                	Comment    *Comment               `json:"comment"`
                                                                                                                                                                                                                                                	Changes    *ChangesPayload        `json:"changes,omitempty"`
                                                                                                                                                                                                                                                	Repository *Repository            `json:"repository"`
                                                                                                                                                                                                                                                	Sender     *User                  `json:"sender"`
                                                                                                                                                                                                                                                	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

                                                                                                                                                                                                                                                    func (*IssueCommentPayload) SetSecret

                                                                                                                                                                                                                                                    func (p *IssueCommentPayload) SetSecret(secret string)

                                                                                                                                                                                                                                                      SetSecret modifies the secret of the IssueCommentPayload

                                                                                                                                                                                                                                                      type IssueDeadline

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

                                                                                                                                                                                                                                                        IssueDeadline represents an issue deadline swagger:model

                                                                                                                                                                                                                                                        type IssueLabelsOption

                                                                                                                                                                                                                                                        type IssueLabelsOption struct {
                                                                                                                                                                                                                                                        	// list of label IDs
                                                                                                                                                                                                                                                        	Labels []int64 `json:"labels"`
                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                          IssueLabelsOption a collection of labels

                                                                                                                                                                                                                                                          type IssuePayload

                                                                                                                                                                                                                                                          type IssuePayload struct {
                                                                                                                                                                                                                                                          	Secret     string          `json:"secret"`
                                                                                                                                                                                                                                                          	Action     HookIssueAction `json:"action"`
                                                                                                                                                                                                                                                          	Index      int64           `json:"number"`
                                                                                                                                                                                                                                                          	Changes    *ChangesPayload `json:"changes,omitempty"`
                                                                                                                                                                                                                                                          	Issue      *Issue          `json:"issue"`
                                                                                                                                                                                                                                                          	Repository *Repository     `json:"repository"`
                                                                                                                                                                                                                                                          	Sender     *User           `json:"sender"`
                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                            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.

                                                                                                                                                                                                                                                              func (*IssuePayload) SetSecret

                                                                                                                                                                                                                                                              func (p *IssuePayload) SetSecret(secret string)

                                                                                                                                                                                                                                                                SetSecret modifies the secret of the IssuePayload.

                                                                                                                                                                                                                                                                type IssueTemplate

                                                                                                                                                                                                                                                                type IssueTemplate struct {
                                                                                                                                                                                                                                                                	Name     string   `json:"name" yaml:"name"`
                                                                                                                                                                                                                                                                	Title    string   `json:"title" yaml:"title"`
                                                                                                                                                                                                                                                                	About    string   `json:"about" yaml:"about"`
                                                                                                                                                                                                                                                                	Labels   []string `json:"labels" yaml:"labels"`
                                                                                                                                                                                                                                                                	Content  string   `json:"content" yaml:"-"`
                                                                                                                                                                                                                                                                	FileName string   `json:"file_name" yaml:"-"`
                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                  IssueTemplate represents an issue template for a repository swagger:model

                                                                                                                                                                                                                                                                  func (IssueTemplate) Valid

                                                                                                                                                                                                                                                                  func (it IssueTemplate) Valid() bool

                                                                                                                                                                                                                                                                    Valid checks whether an IssueTemplate is considered valid, e.g. at least name and about

                                                                                                                                                                                                                                                                    type LFSLock

                                                                                                                                                                                                                                                                    type LFSLock struct {
                                                                                                                                                                                                                                                                    	ID       string        `json:"id"`
                                                                                                                                                                                                                                                                    	Path     string        `json:"path"`
                                                                                                                                                                                                                                                                    	LockedAt time.Time     `json:"locked_at"`
                                                                                                                                                                                                                                                                    	Owner    *LFSLockOwner `json:"owner"`
                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                      LFSLock represent a lock for use with the locks API.

                                                                                                                                                                                                                                                                      type LFSLockDeleteRequest

                                                                                                                                                                                                                                                                      type LFSLockDeleteRequest struct {
                                                                                                                                                                                                                                                                      	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 {
                                                                                                                                                                                                                                                                        	Message       string   `json:"message"`
                                                                                                                                                                                                                                                                        	Lock          *LFSLock `json:"lock,omitempty"`
                                                                                                                                                                                                                                                                        	Documentation string   `json:"documentation_url,omitempty"`
                                                                                                                                                                                                                                                                        	RequestID     string   `json:"request_id,omitempty"`
                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                          LFSLockError contains information on the error that occurs

                                                                                                                                                                                                                                                                          type LFSLockList

                                                                                                                                                                                                                                                                          type LFSLockList struct {
                                                                                                                                                                                                                                                                          	Locks []*LFSLock `json:"locks"`
                                                                                                                                                                                                                                                                          	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 {
                                                                                                                                                                                                                                                                            	Ours   []*LFSLock `json:"ours"`
                                                                                                                                                                                                                                                                            	Theirs []*LFSLock `json:"theirs"`
                                                                                                                                                                                                                                                                            	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 {
                                                                                                                                                                                                                                                                              	Name string `json:"name"`
                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                LFSLockOwner represent a lock owner for use with the locks API.

                                                                                                                                                                                                                                                                                type LFSLockRequest

                                                                                                                                                                                                                                                                                type LFSLockRequest struct {
                                                                                                                                                                                                                                                                                	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 {
                                                                                                                                                                                                                                                                                  	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   int64  `json:"id"`
                                                                                                                                                                                                                                                                                    	Name string `json:"name"`
                                                                                                                                                                                                                                                                                    	// example: 00aabb
                                                                                                                                                                                                                                                                                    	Color       string `json:"color"`
                                                                                                                                                                                                                                                                                    	Description string `json:"description"`
                                                                                                                                                                                                                                                                                    	URL         string `json:"url"`
                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                      Label a label to an issue or a pr swagger:model

                                                                                                                                                                                                                                                                                      type ListIssueOption

                                                                                                                                                                                                                                                                                      type ListIssueOption struct {
                                                                                                                                                                                                                                                                                      	Page  int
                                                                                                                                                                                                                                                                                      	State string
                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                        ListIssueOption list issue options

                                                                                                                                                                                                                                                                                        type ListPullRequestsOptions

                                                                                                                                                                                                                                                                                        type ListPullRequestsOptions struct {
                                                                                                                                                                                                                                                                                        	Page  int    `json:"page"`
                                                                                                                                                                                                                                                                                        	State string `json:"state"`
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                          ListPullRequestsOptions options for listing pull requests

                                                                                                                                                                                                                                                                                          type ListStatusesOption

                                                                                                                                                                                                                                                                                          type ListStatusesOption struct {
                                                                                                                                                                                                                                                                                          	Page int
                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                            ListStatusesOption holds pagination information

                                                                                                                                                                                                                                                                                            type MarkdownOption

                                                                                                                                                                                                                                                                                            type MarkdownOption struct {
                                                                                                                                                                                                                                                                                            	// Text markdown to render
                                                                                                                                                                                                                                                                                            	//
                                                                                                                                                                                                                                                                                            	// in: body
                                                                                                                                                                                                                                                                                            	Text string
                                                                                                                                                                                                                                                                                            	// Mode to render
                                                                                                                                                                                                                                                                                            	//
                                                                                                                                                                                                                                                                                            	// in: body
                                                                                                                                                                                                                                                                                            	Mode string
                                                                                                                                                                                                                                                                                            	// Context to render
                                                                                                                                                                                                                                                                                            	//
                                                                                                                                                                                                                                                                                            	// in: body
                                                                                                                                                                                                                                                                                            	Context string
                                                                                                                                                                                                                                                                                            	// Is it a wiki page ?
                                                                                                                                                                                                                                                                                            	//
                                                                                                                                                                                                                                                                                            	// in: body
                                                                                                                                                                                                                                                                                            	Wiki bool
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                              MarkdownOption markdown options

                                                                                                                                                                                                                                                                                              type MarkdownRender

                                                                                                                                                                                                                                                                                              type MarkdownRender string

                                                                                                                                                                                                                                                                                                MarkdownRender is a rendered markdown document swagger:response MarkdownRender

                                                                                                                                                                                                                                                                                                type MigrateRepoOptions

                                                                                                                                                                                                                                                                                                type MigrateRepoOptions struct {
                                                                                                                                                                                                                                                                                                	// required: true
                                                                                                                                                                                                                                                                                                	CloneAddr string `json:"clone_addr" binding:"Required"`
                                                                                                                                                                                                                                                                                                	// deprecated (only for backwards compatibility)
                                                                                                                                                                                                                                                                                                	RepoOwnerID int64 `json:"uid"`
                                                                                                                                                                                                                                                                                                	// Name of User or Organisation who will own Repo after migration
                                                                                                                                                                                                                                                                                                	RepoOwner string `json:"repo_owner"`
                                                                                                                                                                                                                                                                                                	// required: true
                                                                                                                                                                                                                                                                                                	RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"`
                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                	// enum: git,github,gitea,gitlab
                                                                                                                                                                                                                                                                                                	Service      string `json:"service"`
                                                                                                                                                                                                                                                                                                	AuthUsername string `json:"auth_username"`
                                                                                                                                                                                                                                                                                                	AuthPassword string `json:"auth_password"`
                                                                                                                                                                                                                                                                                                	AuthToken    string `json:"auth_token"`
                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                	Mirror       bool   `json:"mirror"`
                                                                                                                                                                                                                                                                                                	Private      bool   `json:"private"`
                                                                                                                                                                                                                                                                                                	Description  string `json:"description" binding:"MaxSize(255)"`
                                                                                                                                                                                                                                                                                                	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"`
                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                  MigrateRepoOptions options for migrating repository's this is used to interact with api v1

                                                                                                                                                                                                                                                                                                  type Milestone

                                                                                                                                                                                                                                                                                                  type Milestone struct {
                                                                                                                                                                                                                                                                                                  	ID           int64     `json:"id"`
                                                                                                                                                                                                                                                                                                  	Title        string    `json:"title"`
                                                                                                                                                                                                                                                                                                  	Description  string    `json:"description"`
                                                                                                                                                                                                                                                                                                  	State        StateType `json:"state"`
                                                                                                                                                                                                                                                                                                  	OpenIssues   int       `json:"open_issues"`
                                                                                                                                                                                                                                                                                                  	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 NotificationCount

                                                                                                                                                                                                                                                                                                    type NotificationCount struct {
                                                                                                                                                                                                                                                                                                    	New int64 `json:"new"`
                                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                                      NotificationCount number of unread notifications

                                                                                                                                                                                                                                                                                                      type NotificationSubject

                                                                                                                                                                                                                                                                                                      type NotificationSubject struct {
                                                                                                                                                                                                                                                                                                      	Title            string    `json:"title"`
                                                                                                                                                                                                                                                                                                      	URL              string    `json:"url"`
                                                                                                                                                                                                                                                                                                      	LatestCommentURL string    `json:"latest_comment_url"`
                                                                                                                                                                                                                                                                                                      	Type             string    `json:"type" binding:"In(Issue,Pull,Commit)"`
                                                                                                                                                                                                                                                                                                      	State            StateType `json:"state"`
                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                        NotificationSubject contains the notification subject (Issue/Pull/Commit)

                                                                                                                                                                                                                                                                                                        type NotificationThread

                                                                                                                                                                                                                                                                                                        type NotificationThread struct {
                                                                                                                                                                                                                                                                                                        	ID         int64                `json:"id"`
                                                                                                                                                                                                                                                                                                        	Repository *Repository          `json:"repository"`
                                                                                                                                                                                                                                                                                                        	Subject    *NotificationSubject `json:"subject"`
                                                                                                                                                                                                                                                                                                        	Unread     bool                 `json:"unread"`
                                                                                                                                                                                                                                                                                                        	Pinned     bool                 `json:"pinned"`
                                                                                                                                                                                                                                                                                                        	UpdatedAt  time.Time            `json:"updated_at"`
                                                                                                                                                                                                                                                                                                        	URL        string               `json:"url"`
                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                          NotificationThread expose Notification on API

                                                                                                                                                                                                                                                                                                          type OAuth2Application

                                                                                                                                                                                                                                                                                                          type OAuth2Application struct {
                                                                                                                                                                                                                                                                                                          	ID           int64     `json:"id"`
                                                                                                                                                                                                                                                                                                          	Name         string    `json:"name"`
                                                                                                                                                                                                                                                                                                          	ClientID     string    `json:"client_id"`
                                                                                                                                                                                                                                                                                                          	ClientSecret string    `json:"client_secret"`
                                                                                                                                                                                                                                                                                                          	RedirectURIs []string  `json:"redirect_uris"`
                                                                                                                                                                                                                                                                                                          	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 Organization

                                                                                                                                                                                                                                                                                                              type Organization struct {
                                                                                                                                                                                                                                                                                                              	ID                        int64  `json:"id"`
                                                                                                                                                                                                                                                                                                              	UserName                  string `json:"username"`
                                                                                                                                                                                                                                                                                                              	FullName                  string `json:"full_name"`
                                                                                                                                                                                                                                                                                                              	AvatarURL                 string `json:"avatar_url"`
                                                                                                                                                                                                                                                                                                              	Description               string `json:"description"`
                                                                                                                                                                                                                                                                                                              	Website                   string `json:"website"`
                                                                                                                                                                                                                                                                                                              	Location                  string `json:"location"`
                                                                                                                                                                                                                                                                                                              	Visibility                string `json:"visibility"`
                                                                                                                                                                                                                                                                                                              	RepoAdminChangeTeamAccess bool   `json:"repo_admin_change_team_access"`
                                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                                Organization represents an organization

                                                                                                                                                                                                                                                                                                                type PRBranchInfo

                                                                                                                                                                                                                                                                                                                type PRBranchInfo struct {
                                                                                                                                                                                                                                                                                                                	Name       string      `json:"label"`
                                                                                                                                                                                                                                                                                                                	Ref        string      `json:"ref"`
                                                                                                                                                                                                                                                                                                                	Sha        string      `json:"sha"`
                                                                                                                                                                                                                                                                                                                	RepoID     int64       `json:"repo_id"`
                                                                                                                                                                                                                                                                                                                	Repository *Repository `json:"repo"`
                                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                                  PRBranchInfo information about a branch

                                                                                                                                                                                                                                                                                                                  type PayloadCommit

                                                                                                                                                                                                                                                                                                                  type PayloadCommit struct {
                                                                                                                                                                                                                                                                                                                  	// sha1 hash of the commit
                                                                                                                                                                                                                                                                                                                  	ID           string                     `json:"id"`
                                                                                                                                                                                                                                                                                                                  	Message      string                     `json:"message"`
                                                                                                                                                                                                                                                                                                                  	URL          string                     `json:"url"`
                                                                                                                                                                                                                                                                                                                  	Author       *PayloadUser               `json:"author"`
                                                                                                                                                                                                                                                                                                                  	Committer    *PayloadUser               `json:"committer"`
                                                                                                                                                                                                                                                                                                                  	Verification *PayloadCommitVerification `json:"verification"`
                                                                                                                                                                                                                                                                                                                  	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                  	Timestamp time.Time `json:"timestamp"`
                                                                                                                                                                                                                                                                                                                  	Added     []string  `json:"added"`
                                                                                                                                                                                                                                                                                                                  	Removed   []string  `json:"removed"`
                                                                                                                                                                                                                                                                                                                  	Modified  []string  `json:"modified"`
                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                    PayloadCommit represents a commit

                                                                                                                                                                                                                                                                                                                    type PayloadCommitVerification

                                                                                                                                                                                                                                                                                                                    type PayloadCommitVerification struct {
                                                                                                                                                                                                                                                                                                                    	Verified  bool         `json:"verified"`
                                                                                                                                                                                                                                                                                                                    	Reason    string       `json:"reason"`
                                                                                                                                                                                                                                                                                                                    	Signature string       `json:"signature"`
                                                                                                                                                                                                                                                                                                                    	Signer    *PayloadUser `json:"signer"`
                                                                                                                                                                                                                                                                                                                    	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 string `json:"username"`
                                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                                        PayloadUser represents the author or committer of a commit

                                                                                                                                                                                                                                                                                                                        type Payloader

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

                                                                                                                                                                                                                                                                                                                          Payloader payload is some part of one hook

                                                                                                                                                                                                                                                                                                                          type Permission

                                                                                                                                                                                                                                                                                                                          type Permission struct {
                                                                                                                                                                                                                                                                                                                          	Admin bool `json:"admin"`
                                                                                                                                                                                                                                                                                                                          	Push  bool `json:"push"`
                                                                                                                                                                                                                                                                                                                          	Pull  bool `json:"pull"`
                                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                                            Permission represents a set of permissions

                                                                                                                                                                                                                                                                                                                            type PublicKey

                                                                                                                                                                                                                                                                                                                            type PublicKey struct {
                                                                                                                                                                                                                                                                                                                            	ID          int64  `json:"id"`
                                                                                                                                                                                                                                                                                                                            	Key         string `json:"key"`
                                                                                                                                                                                                                                                                                                                            	URL         string `json:"url,omitempty"`
                                                                                                                                                                                                                                                                                                                            	Title       string `json:"title,omitempty"`
                                                                                                                                                                                                                                                                                                                            	Fingerprint string `json:"fingerprint,omitempty"`
                                                                                                                                                                                                                                                                                                                            	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                            	Created  time.Time `json:"created_at,omitempty"`
                                                                                                                                                                                                                                                                                                                            	Owner    *User     `json:"user,omitempty"`
                                                                                                                                                                                                                                                                                                                            	ReadOnly bool      `json:"read_only,omitempty"`
                                                                                                                                                                                                                                                                                                                            	KeyType  string    `json:"key_type,omitempty"`
                                                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                                                              PublicKey publickey is a user key to push code to repository

                                                                                                                                                                                                                                                                                                                              type PullRequest

                                                                                                                                                                                                                                                                                                                              type PullRequest struct {
                                                                                                                                                                                                                                                                                                                              	ID        int64      `json:"id"`
                                                                                                                                                                                                                                                                                                                              	URL       string     `json:"url"`
                                                                                                                                                                                                                                                                                                                              	Index     int64      `json:"number"`
                                                                                                                                                                                                                                                                                                                              	Poster    *User      `json:"user"`
                                                                                                                                                                                                                                                                                                                              	Title     string     `json:"title"`
                                                                                                                                                                                                                                                                                                                              	Body      string     `json:"body"`
                                                                                                                                                                                                                                                                                                                              	Labels    []*Label   `json:"labels"`
                                                                                                                                                                                                                                                                                                                              	Milestone *Milestone `json:"milestone"`
                                                                                                                                                                                                                                                                                                                              	Assignee  *User      `json:"assignee"`
                                                                                                                                                                                                                                                                                                                              	Assignees []*User    `json:"assignees"`
                                                                                                                                                                                                                                                                                                                              	State     StateType  `json:"state"`
                                                                                                                                                                                                                                                                                                                              	IsLocked  bool       `json:"is_locked"`
                                                                                                                                                                                                                                                                                                                              	Comments  int        `json:"comments"`
                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                              	HTMLURL  string `json:"html_url"`
                                                                                                                                                                                                                                                                                                                              	DiffURL  string `json:"diff_url"`
                                                                                                                                                                                                                                                                                                                              	PatchURL string `json:"patch_url"`
                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                              	Mergeable bool `json:"mergeable"`
                                                                                                                                                                                                                                                                                                                              	HasMerged bool `json:"merged"`
                                                                                                                                                                                                                                                                                                                              	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                              	Merged         *time.Time `json:"merged_at"`
                                                                                                                                                                                                                                                                                                                              	MergedCommitID *string    `json:"merge_commit_sha"`
                                                                                                                                                                                                                                                                                                                              	MergedBy       *User      `json:"merged_by"`
                                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                                              	Base      *PRBranchInfo `json:"base"`
                                                                                                                                                                                                                                                                                                                              	Head      *PRBranchInfo `json:"head"`
                                                                                                                                                                                                                                                                                                                              	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"`
                                                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                                                PullRequest represents a pull request

                                                                                                                                                                                                                                                                                                                                type PullRequestMeta

                                                                                                                                                                                                                                                                                                                                type PullRequestMeta struct {
                                                                                                                                                                                                                                                                                                                                	HasMerged bool       `json:"merged"`
                                                                                                                                                                                                                                                                                                                                	Merged    *time.Time `json:"merged_at"`
                                                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                                                  PullRequestMeta PR info if an issue is a PR

                                                                                                                                                                                                                                                                                                                                  type PullRequestPayload

                                                                                                                                                                                                                                                                                                                                  type PullRequestPayload struct {
                                                                                                                                                                                                                                                                                                                                  	Secret      string          `json:"secret"`
                                                                                                                                                                                                                                                                                                                                  	Action      HookIssueAction `json:"action"`
                                                                                                                                                                                                                                                                                                                                  	Index       int64           `json:"number"`
                                                                                                                                                                                                                                                                                                                                  	Changes     *ChangesPayload `json:"changes,omitempty"`
                                                                                                                                                                                                                                                                                                                                  	PullRequest *PullRequest    `json:"pull_request"`
                                                                                                                                                                                                                                                                                                                                  	Repository  *Repository     `json:"repository"`
                                                                                                                                                                                                                                                                                                                                  	Sender      *User           `json:"sender"`
                                                                                                                                                                                                                                                                                                                                  	Review      *ReviewPayload  `json:"review"`
                                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                                    PullRequestPayload represents a payload information of pull request event.

                                                                                                                                                                                                                                                                                                                                    func (*PullRequestPayload) JSONPayload

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

                                                                                                                                                                                                                                                                                                                                      JSONPayload FIXME

                                                                                                                                                                                                                                                                                                                                      func (*PullRequestPayload) SetSecret

                                                                                                                                                                                                                                                                                                                                      func (p *PullRequestPayload) SetSecret(secret string)

                                                                                                                                                                                                                                                                                                                                        SetSecret modifies the secret of the PullRequestPayload.

                                                                                                                                                                                                                                                                                                                                        type PullReview

                                                                                                                                                                                                                                                                                                                                        type PullReview struct {
                                                                                                                                                                                                                                                                                                                                        	ID                int64           `json:"id"`
                                                                                                                                                                                                                                                                                                                                        	Reviewer          *User           `json:"user"`
                                                                                                                                                                                                                                                                                                                                        	State             ReviewStateType `json:"state"`
                                                                                                                                                                                                                                                                                                                                        	Body              string          `json:"body"`
                                                                                                                                                                                                                                                                                                                                        	CommitID          string          `json:"commit_id"`
                                                                                                                                                                                                                                                                                                                                        	Stale             bool            `json:"stale"`
                                                                                                                                                                                                                                                                                                                                        	Official          bool            `json:"official"`
                                                                                                                                                                                                                                                                                                                                        	CodeCommentsCount int             `json:"comments_count"`
                                                                                                                                                                                                                                                                                                                                        	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                        	Submitted time.Time `json:"submitted_at"`
                                                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                                        	HTMLURL     string `json:"html_url"`
                                                                                                                                                                                                                                                                                                                                        	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"`
                                                                                                                                                                                                                                                                                                                                          	Reviewer *User  `json:"user"`
                                                                                                                                                                                                                                                                                                                                          	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 PushPayload

                                                                                                                                                                                                                                                                                                                                            type PushPayload struct {
                                                                                                                                                                                                                                                                                                                                            	Secret     string           `json:"secret"`
                                                                                                                                                                                                                                                                                                                                            	Ref        string           `json:"ref"`
                                                                                                                                                                                                                                                                                                                                            	Before     string           `json:"before"`
                                                                                                                                                                                                                                                                                                                                            	After      string           `json:"after"`
                                                                                                                                                                                                                                                                                                                                            	CompareURL string           `json:"compare_url"`
                                                                                                                                                                                                                                                                                                                                            	Commits    []*PayloadCommit `json:"commits"`
                                                                                                                                                                                                                                                                                                                                            	HeadCommit *PayloadCommit   `json:"head_commit"`
                                                                                                                                                                                                                                                                                                                                            	Repo       *Repository      `json:"repository"`
                                                                                                                                                                                                                                                                                                                                            	Pusher     *User            `json:"pusher"`
                                                                                                                                                                                                                                                                                                                                            	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

                                                                                                                                                                                                                                                                                                                                                    func (*PushPayload) SetSecret

                                                                                                                                                                                                                                                                                                                                                    func (p *PushPayload) SetSecret(secret string)

                                                                                                                                                                                                                                                                                                                                                      SetSecret modifies the secret of the PushPayload

                                                                                                                                                                                                                                                                                                                                                      type PusherType

                                                                                                                                                                                                                                                                                                                                                      type PusherType string

                                                                                                                                                                                                                                                                                                                                                        PusherType define the type to push

                                                                                                                                                                                                                                                                                                                                                        const (
                                                                                                                                                                                                                                                                                                                                                        	PusherTypeUser PusherType = "user"
                                                                                                                                                                                                                                                                                                                                                        )

                                                                                                                                                                                                                                                                                                                                                          describe all the PusherTypes

                                                                                                                                                                                                                                                                                                                                                          type Reaction

                                                                                                                                                                                                                                                                                                                                                          type Reaction struct {
                                                                                                                                                                                                                                                                                                                                                          	User     *User  `json:"user"`
                                                                                                                                                                                                                                                                                                                                                          	Reaction string `json:"content"`
                                                                                                                                                                                                                                                                                                                                                          	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                                          	Created time.Time `json:"created_at"`
                                                                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                                                                            Reaction contain one reaction

                                                                                                                                                                                                                                                                                                                                                            type Reference

                                                                                                                                                                                                                                                                                                                                                            type Reference struct {
                                                                                                                                                                                                                                                                                                                                                            	Ref    string     `json:"ref"`
                                                                                                                                                                                                                                                                                                                                                            	URL    string     `json:"url"`
                                                                                                                                                                                                                                                                                                                                                            	Object *GitObject `json:"object"`
                                                                                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                                                                                              Reference represents a Git reference.

                                                                                                                                                                                                                                                                                                                                                              type Release

                                                                                                                                                                                                                                                                                                                                                              type Release struct {
                                                                                                                                                                                                                                                                                                                                                              	ID           int64  `json:"id"`
                                                                                                                                                                                                                                                                                                                                                              	TagName      string `json:"tag_name"`
                                                                                                                                                                                                                                                                                                                                                              	Target       string `json:"target_commitish"`
                                                                                                                                                                                                                                                                                                                                                              	Title        string `json:"name"`
                                                                                                                                                                                                                                                                                                                                                              	Note         string `json:"body"`
                                                                                                                                                                                                                                                                                                                                                              	URL          string `json:"url"`
                                                                                                                                                                                                                                                                                                                                                              	HTMLURL      string `json:"html_url"`
                                                                                                                                                                                                                                                                                                                                                              	TarURL       string `json:"tarball_url"`
                                                                                                                                                                                                                                                                                                                                                              	ZipURL       string `json:"zipball_url"`
                                                                                                                                                                                                                                                                                                                                                              	IsDraft      bool   `json:"draft"`
                                                                                                                                                                                                                                                                                                                                                              	IsPrerelease bool   `json:"prerelease"`
                                                                                                                                                                                                                                                                                                                                                              	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                                              	CreatedAt time.Time `json:"created_at"`
                                                                                                                                                                                                                                                                                                                                                              	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                                              	PublishedAt time.Time     `json:"published_at"`
                                                                                                                                                                                                                                                                                                                                                              	Publisher   *User         `json:"author"`
                                                                                                                                                                                                                                                                                                                                                              	Attachments []*Attachment `json:"assets"`
                                                                                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                                                                                Release represents a repository release

                                                                                                                                                                                                                                                                                                                                                                type ReleasePayload

                                                                                                                                                                                                                                                                                                                                                                type ReleasePayload struct {
                                                                                                                                                                                                                                                                                                                                                                	Secret     string            `json:"secret"`
                                                                                                                                                                                                                                                                                                                                                                	Action     HookReleaseAction `json:"action"`
                                                                                                                                                                                                                                                                                                                                                                	Release    *Release          `json:"release"`
                                                                                                                                                                                                                                                                                                                                                                	Repository *Repository       `json:"repository"`
                                                                                                                                                                                                                                                                                                                                                                	Sender     *User             `json:"sender"`
                                                                                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                                                                                  ReleasePayload represents a payload information of release event.

                                                                                                                                                                                                                                                                                                                                                                  func (*ReleasePayload) JSONPayload

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

                                                                                                                                                                                                                                                                                                                                                                    JSONPayload implements Payload

                                                                                                                                                                                                                                                                                                                                                                    func (*ReleasePayload) SetSecret

                                                                                                                                                                                                                                                                                                                                                                    func (p *ReleasePayload) SetSecret(secret string)

                                                                                                                                                                                                                                                                                                                                                                      SetSecret modifies the secret of the ReleasePayload

                                                                                                                                                                                                                                                                                                                                                                      type RepoCommit

                                                                                                                                                                                                                                                                                                                                                                      type RepoCommit struct {
                                                                                                                                                                                                                                                                                                                                                                      	URL       string      `json:"url"`
                                                                                                                                                                                                                                                                                                                                                                      	Author    *CommitUser `json:"author"`
                                                                                                                                                                                                                                                                                                                                                                      	Committer *CommitUser `json:"committer"`
                                                                                                                                                                                                                                                                                                                                                                      	Message   string      `json:"message"`
                                                                                                                                                                                                                                                                                                                                                                      	Tree      *CommitMeta `json:"tree"`
                                                                                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                                                                                        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 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"`
                                                                                                                                                                                                                                                                                                                                                                          	Parent        *Repository `json:"parent"`
                                                                                                                                                                                                                                                                                                                                                                          	Mirror        bool        `json:"mirror"`
                                                                                                                                                                                                                                                                                                                                                                          	Size          int         `json:"size"`
                                                                                                                                                                                                                                                                                                                                                                          	HTMLURL       string      `json:"html_url"`
                                                                                                                                                                                                                                                                                                                                                                          	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"`
                                                                                                                                                                                                                                                                                                                                                                          	Permissions               *Permission      `json:"permissions,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                          	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"`
                                                                                                                                                                                                                                                                                                                                                                          	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"`
                                                                                                                                                                                                                                                                                                                                                                          	AvatarURL                 string           `json:"avatar_url"`
                                                                                                                                                                                                                                                                                                                                                                          	Internal                  bool             `json:"internal"`
                                                                                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                                                                                            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 {
                                                                                                                                                                                                                                                                                                                                                                              	Secret       string         `json:"secret"`
                                                                                                                                                                                                                                                                                                                                                                              	Action       HookRepoAction `json:"action"`
                                                                                                                                                                                                                                                                                                                                                                              	Repository   *Repository    `json:"repository"`
                                                                                                                                                                                                                                                                                                                                                                              	Organization *User          `json:"organization"`
                                                                                                                                                                                                                                                                                                                                                                              	Sender       *User          `json:"sender"`
                                                                                                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                                                                                                RepositoryPayload payload for repository webhooks

                                                                                                                                                                                                                                                                                                                                                                                func (*RepositoryPayload) JSONPayload

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

                                                                                                                                                                                                                                                                                                                                                                                  JSONPayload JSON representation of the payload

                                                                                                                                                                                                                                                                                                                                                                                  func (*RepositoryPayload) SetSecret

                                                                                                                                                                                                                                                                                                                                                                                  func (p *RepositoryPayload) SetSecret(secret string)

                                                                                                                                                                                                                                                                                                                                                                                    SetSecret modifies the secret of the RepositoryPayload

                                                                                                                                                                                                                                                                                                                                                                                    type ReviewPayload

                                                                                                                                                                                                                                                                                                                                                                                    type ReviewPayload struct {
                                                                                                                                                                                                                                                                                                                                                                                    	Type    string `json:"type"`
                                                                                                                                                                                                                                                                                                                                                                                    	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 SearchError

                                                                                                                                                                                                                                                                                                                                                                                        type SearchError struct {
                                                                                                                                                                                                                                                                                                                                                                                        	OK    bool   `json:"ok"`
                                                                                                                                                                                                                                                                                                                                                                                        	Error string `json:"error"`
                                                                                                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                                                                                                          SearchError error of a failed search

                                                                                                                                                                                                                                                                                                                                                                                          type SearchResults

                                                                                                                                                                                                                                                                                                                                                                                          type SearchResults struct {
                                                                                                                                                                                                                                                                                                                                                                                          	OK   bool          `json:"ok"`
                                                                                                                                                                                                                                                                                                                                                                                          	Data []*Repository `json:"data"`
                                                                                                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                                                                                                            SearchResults results of a successful search

                                                                                                                                                                                                                                                                                                                                                                                            type ServerVersion

                                                                                                                                                                                                                                                                                                                                                                                            type ServerVersion struct {
                                                                                                                                                                                                                                                                                                                                                                                            	Version string `json:"version"`
                                                                                                                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                                                                                                                              ServerVersion wraps the version of the server

                                                                                                                                                                                                                                                                                                                                                                                              type StateType

                                                                                                                                                                                                                                                                                                                                                                                              type StateType string

                                                                                                                                                                                                                                                                                                                                                                                                StateType issue state type

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

                                                                                                                                                                                                                                                                                                                                                                                                type Status

                                                                                                                                                                                                                                                                                                                                                                                                type Status struct {
                                                                                                                                                                                                                                                                                                                                                                                                	ID          int64       `json:"id"`
                                                                                                                                                                                                                                                                                                                                                                                                	State       StatusState `json:"status"`
                                                                                                                                                                                                                                                                                                                                                                                                	TargetURL   string      `json:"target_url"`
                                                                                                                                                                                                                                                                                                                                                                                                	Description string      `json:"description"`
                                                                                                                                                                                                                                                                                                                                                                                                	URL         string      `json:"url"`
                                                                                                                                                                                                                                                                                                                                                                                                	Context     string      `json:"context"`
                                                                                                                                                                                                                                                                                                                                                                                                	Creator     *User       `json:"creator"`
                                                                                                                                                                                                                                                                                                                                                                                                	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                                                                                	Created time.Time `json:"created_at"`
                                                                                                                                                                                                                                                                                                                                                                                                	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                                                                                	Updated time.Time `json:"updated_at"`
                                                                                                                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                                                                                                                  Status holds a single Status of a single Commit

                                                                                                                                                                                                                                                                                                                                                                                                  type StatusState

                                                                                                                                                                                                                                                                                                                                                                                                  type StatusState string

                                                                                                                                                                                                                                                                                                                                                                                                    StatusState holds the state of a Status It can be "pending", "success", "error", "failure", and "warning"

                                                                                                                                                                                                                                                                                                                                                                                                    const (
                                                                                                                                                                                                                                                                                                                                                                                                    	// StatusPending is for when the Status is Pending
                                                                                                                                                                                                                                                                                                                                                                                                    	StatusPending StatusState = "pending"
                                                                                                                                                                                                                                                                                                                                                                                                    	// StatusSuccess is for when the Status is Success
                                                                                                                                                                                                                                                                                                                                                                                                    	StatusSuccess StatusState = "success"
                                                                                                                                                                                                                                                                                                                                                                                                    	// StatusError is for when the Status is Error
                                                                                                                                                                                                                                                                                                                                                                                                    	StatusError StatusState = "error"
                                                                                                                                                                                                                                                                                                                                                                                                    	// StatusFailure is for when the Status is Failure
                                                                                                                                                                                                                                                                                                                                                                                                    	StatusFailure StatusState = "failure"
                                                                                                                                                                                                                                                                                                                                                                                                    	// StatusWarning is for when the Status is Warning
                                                                                                                                                                                                                                                                                                                                                                                                    	StatusWarning StatusState = "warning"
                                                                                                                                                                                                                                                                                                                                                                                                    )

                                                                                                                                                                                                                                                                                                                                                                                                    type StopWatch

                                                                                                                                                                                                                                                                                                                                                                                                    type StopWatch struct {
                                                                                                                                                                                                                                                                                                                                                                                                    	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                                                                                    	Created       time.Time `json:"created"`
                                                                                                                                                                                                                                                                                                                                                                                                    	IssueIndex    int64     `json:"issue_index"`
                                                                                                                                                                                                                                                                                                                                                                                                    	IssueTitle    string    `json:"issue_title"`
                                                                                                                                                                                                                                                                                                                                                                                                    	RepoOwnerName string    `json:"repo_owner_name"`
                                                                                                                                                                                                                                                                                                                                                                                                    	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 {
                                                                                                                                                                                                                                                                                                                                                                                                          	Name       string      `json:"name"`
                                                                                                                                                                                                                                                                                                                                                                                                          	ID         string      `json:"id"`
                                                                                                                                                                                                                                                                                                                                                                                                          	Commit     *CommitMeta `json:"commit"`
                                                                                                                                                                                                                                                                                                                                                                                                          	ZipballURL string      `json:"zipball_url"`
                                                                                                                                                                                                                                                                                                                                                                                                          	TarballURL string      `json:"tarball_url"`
                                                                                                                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                                                                                                                            Tag represents a repository tag

                                                                                                                                                                                                                                                                                                                                                                                                            type TaskStatus

                                                                                                                                                                                                                                                                                                                                                                                                            type TaskStatus int

                                                                                                                                                                                                                                                                                                                                                                                                              TaskStatus defines task status

                                                                                                                                                                                                                                                                                                                                                                                                              const (
                                                                                                                                                                                                                                                                                                                                                                                                              	TaskStatusQueue    TaskStatus = iota // 0 task is queue
                                                                                                                                                                                                                                                                                                                                                                                                              	TaskStatusRunning                    // 1 task is running
                                                                                                                                                                                                                                                                                                                                                                                                              	TaskStatusStopped                    // 2 task is stopped
                                                                                                                                                                                                                                                                                                                                                                                                              	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
                                                                                                                                                                                                                                                                                                                                                                                                                  )

                                                                                                                                                                                                                                                                                                                                                                                                                    all kinds of task types

                                                                                                                                                                                                                                                                                                                                                                                                                    func (TaskType) Name

                                                                                                                                                                                                                                                                                                                                                                                                                    func (taskType TaskType) Name() string

                                                                                                                                                                                                                                                                                                                                                                                                                      Name returns the task type name

                                                                                                                                                                                                                                                                                                                                                                                                                      type Team

                                                                                                                                                                                                                                                                                                                                                                                                                      type Team struct {
                                                                                                                                                                                                                                                                                                                                                                                                                      	ID                      int64         `json:"id"`
                                                                                                                                                                                                                                                                                                                                                                                                                      	Name                    string        `json:"name"`
                                                                                                                                                                                                                                                                                                                                                                                                                      	Description             string        `json:"description"`
                                                                                                                                                                                                                                                                                                                                                                                                                      	Organization            *Organization `json:"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.ext_wiki"]
                                                                                                                                                                                                                                                                                                                                                                                                                      	Units            []string `json:"units"`
                                                                                                                                                                                                                                                                                                                                                                                                                      	CanCreateOrgRepo bool     `json:"can_create_org_repo"`
                                                                                                                                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                                                                                                                                        Team represents a team in an organization

                                                                                                                                                                                                                                                                                                                                                                                                                        type TopicName

                                                                                                                                                                                                                                                                                                                                                                                                                        type TopicName struct {
                                                                                                                                                                                                                                                                                                                                                                                                                        	TopicNames []string `json:"topics"`
                                                                                                                                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                                                                                                                                          TopicName a list of repo topic names

                                                                                                                                                                                                                                                                                                                                                                                                                          type TopicResponse

                                                                                                                                                                                                                                                                                                                                                                                                                          type TopicResponse struct {
                                                                                                                                                                                                                                                                                                                                                                                                                          	ID        int64     `json:"id"`
                                                                                                                                                                                                                                                                                                                                                                                                                          	Name      string    `json:"topic_name"`
                                                                                                                                                                                                                                                                                                                                                                                                                          	RepoCount int       `json:"repo_count"`
                                                                                                                                                                                                                                                                                                                                                                                                                          	Created   time.Time `json:"created"`
                                                                                                                                                                                                                                                                                                                                                                                                                          	Updated   time.Time `json:"updated"`
                                                                                                                                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                                                                                                                                            TopicResponse for returning topics

                                                                                                                                                                                                                                                                                                                                                                                                                            type TrackedTime

                                                                                                                                                                                                                                                                                                                                                                                                                            type TrackedTime struct {
                                                                                                                                                                                                                                                                                                                                                                                                                            	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 string `json:"user_name"`
                                                                                                                                                                                                                                                                                                                                                                                                                            	// deprecated (only for backwards compatibility)
                                                                                                                                                                                                                                                                                                                                                                                                                            	IssueID int64  `json:"issue_id"`
                                                                                                                                                                                                                                                                                                                                                                                                                            	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 UpdateFileOptions

                                                                                                                                                                                                                                                                                                                                                                                                                                  type UpdateFileOptions struct {
                                                                                                                                                                                                                                                                                                                                                                                                                                  	DeleteFileOptions
                                                                                                                                                                                                                                                                                                                                                                                                                                  	// content must be base64 encoded
                                                                                                                                                                                                                                                                                                                                                                                                                                  	// required: true
                                                                                                                                                                                                                                                                                                                                                                                                                                  	Content string `json:"content"`
                                                                                                                                                                                                                                                                                                                                                                                                                                  	// from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL
                                                                                                                                                                                                                                                                                                                                                                                                                                  	FromPath string `json:"from_path" binding:"MaxSize(500)"`
                                                                                                                                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                                                                                                                                    UpdateFileOptions options for updating files Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)

                                                                                                                                                                                                                                                                                                                                                                                                                                    type User

                                                                                                                                                                                                                                                                                                                                                                                                                                    type User struct {
                                                                                                                                                                                                                                                                                                                                                                                                                                    	// the user's id
                                                                                                                                                                                                                                                                                                                                                                                                                                    	ID int64 `json:"id"`
                                                                                                                                                                                                                                                                                                                                                                                                                                    	// the user's username
                                                                                                                                                                                                                                                                                                                                                                                                                                    	UserName string `json:"login"`
                                                                                                                                                                                                                                                                                                                                                                                                                                    	// 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"`
                                                                                                                                                                                                                                                                                                                                                                                                                                    	// 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,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                                                                                    	// swagger:strfmt date-time
                                                                                                                                                                                                                                                                                                                                                                                                                                    	Created time.Time `json:"created,omitempty"`
                                                                                                                                                                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                                                                                                                                                                      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 VisibleType

                                                                                                                                                                                                                                                                                                                                                                                                                                        type VisibleType int

                                                                                                                                                                                                                                                                                                                                                                                                                                          VisibleType defines the visibility (Organization only)

                                                                                                                                                                                                                                                                                                                                                                                                                                          const (
                                                                                                                                                                                                                                                                                                                                                                                                                                          	// VisibleTypePublic Visible for everyone
                                                                                                                                                                                                                                                                                                                                                                                                                                          	VisibleTypePublic VisibleType = iota
                                                                                                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                                                                                          	// VisibleTypeLimited Visible for every connected user
                                                                                                                                                                                                                                                                                                                                                                                                                                          	VisibleTypeLimited
                                                                                                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                                                                                          	// VisibleTypePrivate Visible only for organization's members
                                                                                                                                                                                                                                                                                                                                                                                                                                          	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 {
                                                                                                                                                                                                                                                                                                                                                                                                                                                  	Subscribed    bool        `json:"subscribed"`
                                                                                                                                                                                                                                                                                                                                                                                                                                                  	Ignored       bool        `json:"ignored"`
                                                                                                                                                                                                                                                                                                                                                                                                                                                  	Reason        interface{} `json:"reason"`
                                                                                                                                                                                                                                                                                                                                                                                                                                                  	CreatedAt     time.Time   `json:"created_at"`
                                                                                                                                                                                                                                                                                                                                                                                                                                                  	URL           string      `json:"url"`
                                                                                                                                                                                                                                                                                                                                                                                                                                                  	RepositoryURL string      `json:"repository_url"`
                                                                                                                                                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                                                                                                                                                    WatchInfo represents an API watch status of one repository