import "code.gitea.io/sdk/gitea"
admin_cron.go admin_org.go admin_repo.go admin_user.go attachment.go client.go doc.go fork.go git_blob.go git_hook.go helper.go hook.go issue.go issue_comment.go issue_label.go issue_milestone.go issue_reaction.go issue_stopwatch.go issue_subscription.go issue_tracked_time.go list_options.go notifications.go oauth2.go org.go org_member.go org_team.go pull.go pull_review.go release.go repo.go repo_branch.go repo_branch_protection.go repo_collaborator.go repo_commit.go repo_file.go repo_key.go repo_migrate.go repo_refs.go repo_tag.go repo_topics.go repo_transfer.go repo_tree.go repo_watch.go settings.go status.go user.go user_app.go user_email.go user_follow.go user_gpgkey.go user_key.go user_search.go version.go
OptionalBool convert a bool to a bool reference
OptionalInt64 convert a int64 to a int64 reference
OptionalString convert a string to a string reference
SetBasicAuth is an option for NewClient to set username and password
SetContext is an option for NewClient to set context
SetDebugMode is an option for NewClient to enable debug mode
SetHTTPClient is an option for NewClient to set custom http client
SetOTP is an option for NewClient to set OTP for 2FA
SetSudo is an option for NewClient to set sudo header
SetToken is an option for NewClient to set token
Version return the library version
AccessMode represent the grade of access you have to something
const ( // AccessModeNone no access AccessModeNone AccessMode = "none" // AccessModeRead read access AccessModeRead AccessMode = "read" // AccessModeWrite write access AccessModeWrite AccessMode = "write" // AccessModeAdmin admin access AccessModeAdmin AccessMode = "admin" // AccessModeOwner owner AccessModeOwner AccessMode = "owner" )
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.
type AddCollaboratorOption struct { Permission *AccessMode `json:"permission"` }
AddCollaboratorOption options when adding a user as a collaborator of a repository
func (opt AddCollaboratorOption) Validate() error
Validate the AddCollaboratorOption struct
type AddTimeOption struct { // time in seconds Time int64 `json:"time"` // optional Created time.Time `json:"created"` // optional User string `json:"user_name"` }
AddTimeOption options for adding time to an issue
func (opt AddTimeOption) Validate() error
Validate the AddTimeOption struct
type AdminListOrgsOptions struct { ListOptions }
AdminListOrgsOptions options for listing admin's organizations
type AdminListUsersOptions struct { ListOptions }
AdminListUsersOptions options for listing admin users
ArchiveType represent supported archive formats by gitea
const ( // ZipArchive represent zip format ZipArchive ArchiveType = ".zip" // TarGZArchive represent tar.gz format TarGZArchive ArchiveType = ".tar.gz" )
type Attachment struct { ID int64 `json:"id"` Name string `json:"name"` Size int64 `json:"size"` DownloadCount int64 `json:"download_count"` Created time.Time `json:"created_at"` UUID string `json:"uuid"` DownloadURL string `json:"browser_download_url"` }
Attachment a generic attachment
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 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"` Created time.Time `json:"created_at"` Updated time.Time `json:"updated_at"` }
BranchProtection represents a branch protection for a repository
type Client struct {
// contains filtered or unexported fields
}
Client represents a Gitea API client.
NewClient initializes and returns a API client.
NewClientWithHTTP creates an API client with a custom http client Deprecated use SetHTTPClient option
func (c *Client) AddCollaborator(user, repo, collaborator string, opt AddCollaboratorOption) (*Response, error)
AddCollaborator add some user as a collaborator of a repository
AddEmail add one email to current user with options
func (c *Client) AddIssueLabels(owner, repo string, index int64, opt IssueLabelsOption) ([]*Label, *Response, error)
AddIssueLabels add one or more labels to one issue
func (c *Client) AddIssueSubscription(owner, repo string, index int64, user string) (*Response, error)
AddIssueSubscription Subscribe user to issue
AddRepoTopic adds a topic to a repo's topics list
AddTeamMember adds a member to a team
AddTeamRepository adds a repository to a team
func (c *Client) AddTime(owner, repo string, index int64, opt AddTimeOption) (*TrackedTime, *Response, error)
AddTime adds time to issue with the given index
func (c *Client) AdminCreateOrg(user string, opt CreateOrgOption) (*Organization, *Response, error)
AdminCreateOrg create an organization
func (c *Client) AdminCreateRepo(user string, opt CreateRepoOption) (*Repository, *Response, error)
AdminCreateRepo create a repo
AdminCreateUser create a user
func (c *Client) AdminCreateUserPublicKey(user string, opt CreateKeyOption) (*PublicKey, *Response, error)
AdminCreateUserPublicKey adds a public key for the user
AdminDeleteUser delete one user according name
AdminDeleteUserPublicKey deletes a user's public key
AdminEditUser modify user informations
func (c *Client) AdminListOrgs(opt AdminListOrgsOptions) ([]*Organization, *Response, error)
AdminListOrgs lists all orgs
AdminListUsers lists all users
func (c *Client) CheckIssueSubscription(owner, repo string, index int64) (*WatchInfo, *Response, error)
CheckIssueSubscription check if current user is subscribed to an issue
CheckNotifications list users's notification threads
CheckOrgMembership Check if a user is a member of an organization
CheckPublicOrgMembership Check if a user is a member of an organization
CheckRepoWatch check if the current user is watching a repo
CheckServerVersionConstraint validates that the login's server satisfies a given version constraint such as ">= 1.11.0+dev"
ClearIssueLabels delete all the labels of one issue.
func (c *Client) CreateAccessToken(opt CreateAccessTokenOption) (*AccessToken, *Response, error)
CreateAccessToken create one access token with options
func (c *Client) CreateBranch(owner, repo string, opt CreateBranchOption) (*Branch, *Response, error)
CreateBranch creates a branch for a user's repository
func (c *Client) CreateBranchProtection(owner, repo string, opt CreateBranchProtectionOption) (*BranchProtection, *Response, error)
CreateBranchProtection creates a branch protection for a repo
func (c *Client) CreateDeployKey(user, repo string, opt CreateKeyOption) (*DeployKey, *Response, error)
CreateDeployKey options when create one deploy key
func (c *Client) CreateFile(owner, repo, filepath string, opt CreateFileOptions) (*FileResponse, *Response, error)
CreateFile create a file in a repository
func (c *Client) CreateFork(user, repo string, form CreateForkOption) (*Repository, *Response, error)
CreateFork create a fork of a repository
CreateGPGKey create GPG key with options
CreateIssue create a new issue for a given repository
func (c *Client) CreateIssueComment(owner, repo string, index int64, opt CreateIssueCommentOption) (*Comment, *Response, error)
CreateIssueComment create comment on an issue.
CreateLabel create one label of repository
func (c *Client) CreateMilestone(owner, repo string, opt CreateMilestoneOption) (*Milestone, *Response, error)
CreateMilestone create one milestone with options
CreateOauth2 create an Oauth2 Application and returns a completed Oauth2 object.
func (c *Client) CreateOrg(opt CreateOrgOption) (*Organization, *Response, error)
CreateOrg creates an organization
CreateOrgHook create one hook for an organization, with options
func (c *Client) CreateOrgRepo(org string, opt CreateRepoOption) (*Repository, *Response, error)
CreateOrgRepo creates an organization repository for authenticated user.
CreatePublicKey create public key with options
func (c *Client) CreatePullRequest(owner, repo string, opt CreatePullRequestOption) (*PullRequest, *Response, error)
CreatePullRequest create pull request with options
func (c *Client) CreatePullReview(owner, repo string, index int64, opt CreatePullReviewOptions) (*PullReview, *Response, error)
CreatePullReview create a review to an pull request
func (c *Client) CreateRelease(user, repo string, opt CreateReleaseOption) (*Release, *Response, error)
CreateRelease create a release
func (c *Client) CreateReleaseAttachment(user, repo string, release int64, file io.Reader, filename string) (*Attachment, *Response, error)
CreateReleaseAttachment creates an attachment for the given release
func (c *Client) CreateRepo(opt CreateRepoOption) (*Repository, *Response, error)
CreateRepo creates a repository for authenticated user.
CreateRepoHook create one hook for a repository, with options
func (c *Client) CreateStatus(owner, repo, sha string, opts CreateStatusOption) (*Status, *Response, error)
CreateStatus creates a new Status for a given Commit
CreateTeam creates a team for an organization
DeleteAccessToken delete token, identified by ID and if not available by name
DeleteBranchProtection deletes a branch protection for a repo
DeleteCollaborator remove a collaborator from a repository
DeleteDeployKey delete deploy key with key id
func (c *Client) DeleteEmail(opt DeleteEmailOption) (*Response, error)
DeleteEmail delete one email of current users'
func (c *Client) DeleteFile(owner, repo, filepath string, opt DeleteFileOptions) (*Response, error)
DeleteFile delete a file from repository
DeleteGPGKey delete GPG key with key id
DeleteIssueComment deletes an issue comment.
func (c *Client) DeleteIssueCommentReaction(owner, repo string, commentID int64, reaction string) (*Response, error)
DeleteIssueCommentReaction remove a reaction from a comment of an issue
DeleteIssueLabel delete one label of one issue by issue id and label id TODO: maybe we need delete by label name and issue id
func (c *Client) DeleteIssueReaction(owner, repo string, index int64, reaction string) (*Response, error)
DeleteIssueReaction remove a reaction from an issue
DeleteIssueStopwatch delete / cancel a specific stopwatch
func (c *Client) DeleteIssueSubscription(owner, repo string, index int64, user string) (*Response, error)
DeleteIssueSubscription unsubscribe user from issue
DeleteLabel delete one label of repository by id
DeleteMilestone delete one milestone by id
DeleteMilestoneByName delete one milestone by name
DeleteOauth2 delete an Oauth2 application by ID
DeleteOrg deletes an organization
DeleteOrgHook delete one hook from an organization, with hook id
DeleteOrgMembership remove a member from an organization
DeletePublicKey delete public key with key id
DeletePullReview delete a specific review from a pull request
DeleteRelease delete a release from a repository, keeping its tag
func (c *Client) DeleteReleaseAttachment(user, repo string, release int64, id int64) (*Response, error)
DeleteReleaseAttachment deletes the given attachment including the uploaded file
DeleteReleaseTag deletes a tag from a repository, if no release refers to it.
DeleteRepo deletes a repository of user or organization.
DeleteRepoBranch delete a branch in a repository
DeleteRepoGitHook delete one Git hook from a repository
DeleteRepoHook delete one hook from a repository, with hook id
DeleteRepoTopic deletes a topic from repo's topics list
DeleteTeam deletes a team of an organization
DeleteTime delete a specific tracked time by id of a single issue for a given repository
func (c *Client) EditBranchProtection(owner, repo, name string, opt EditBranchProtectionOption) (*BranchProtection, *Response, error)
EditBranchProtection edits a branch protection for a repo
func (c *Client) EditIssue(owner, repo string, index int64, opt EditIssueOption) (*Issue, *Response, error)
EditIssue modify an existing issue for a given repository
func (c *Client) EditIssueComment(owner, repo string, commentID int64, opt EditIssueCommentOption) (*Comment, *Response, error)
EditIssueComment edits an issue comment.
func (c *Client) EditLabel(owner, repo string, id int64, opt EditLabelOption) (*Label, *Response, error)
EditLabel modify one label with options
func (c *Client) EditMilestone(owner, repo string, id int64, opt EditMilestoneOption) (*Milestone, *Response, error)
EditMilestone modify milestone with options
func (c *Client) EditMilestoneByName(owner, repo string, name string, opt EditMilestoneOption) (*Milestone, *Response, error)
EditMilestoneByName modify milestone with options
EditOrg modify one organization via options
EditOrgHook modify one hook of an organization, with hook id and options
func (c *Client) EditPullRequest(owner, repo string, index int64, opt EditPullRequestOption) (*PullRequest, *Response, error)
EditPullRequest modify pull request with PR id and options
func (c *Client) EditRelease(user, repo string, id int64, form EditReleaseOption) (*Release, *Response, error)
EditRelease edit a release
func (c *Client) EditReleaseAttachment(user, repo string, release int64, attachment int64, form EditAttachmentOptions) (*Attachment, *Response, error)
EditReleaseAttachment updates the given attachment with the given options
func (c *Client) EditRepo(owner, reponame string, opt EditRepoOption) (*Repository, *Response, error)
EditRepo edit the properties of a repository
EditRepoGitHook modify one Git hook of a repository
EditRepoHook modify one hook of a repository, with hook id and options
EditTeam edits a team of an organization
Follow set current user follow the target
GetArchive get an archive of a repository by git reference e.g.: ref -> master, 70b7c74b33, v1.2.1, ...
func (c *Client) GetArchiveReader(owner, repo, ref string, ext ArchiveType) (io.ReadCloser, *Response, error)
GetArchiveReader gets a `git archive` for a particular tree-ish git reference such as a branch name (`master`), a commit hash (`70b7c74b33`), a tag (`v1.2.1`). The archive is returned as a byte stream in a ReadCloser. It is the responsibility of the client to close the reader.
GetBlob get the blob of a repository file
func (c *Client) GetBranchProtection(owner, repo, name string) (*BranchProtection, *Response, error)
GetBranchProtection gets a branch protection
GetCombinedStatus returns the CombinedStatus for a given Commit
func (c *Client) GetContents(owner, repo, ref, filepath string) (*ContentsResponse, *Response, error)
GetContents get the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir ref is optional
GetDeployKey get one deploy key with key id
GetFile downloads a file of repository, ref can be branch/tag/commit. e.g.: ref -> master, tree -> macaron.go(no leading slash)
GetGPGKey get current user's GPG key by key id
func (c *Client) GetGlobalAPISettings() (*GlobalAPISettings, *Response, error)
GetGlobalAPISettings get global api settings witch are exposed by it
func (c *Client) GetGlobalAttachmentSettings() (*GlobalAttachmentSettings, *Response, error)
GetGlobalAttachmentSettings get global repository settings witch are exposed by API
func (c *Client) GetGlobalRepoSettings() (*GlobalRepoSettings, *Response, error)
GetGlobalRepoSettings get global repository settings witch are exposed by API
func (c *Client) GetGlobalUISettings() (*GlobalUISettings, *Response, error)
GetGlobalUISettings get global ui settings witch are exposed by API
GetIssue returns a single issue for a given repository
GetIssueComment get a comment for a given repo by id.
func (c *Client) GetIssueCommentReactions(owner, repo string, commentID int64) ([]*Reaction, *Response, error)
GetIssueCommentReactions get a list of reactions from a comment of an issue
func (c *Client) GetIssueLabels(owner, repo string, index int64, opts ListLabelsOptions) ([]*Label, *Response, error)
GetIssueLabels get labels of one issue via issue id
func (c *Client) GetIssueReactions(owner, repo string, index int64) ([]*Reaction, *Response, error)
GetIssueReactions get a list reactions of an issue
GetIssueSubscribers get list of users who subscribed on an issue
GetMilestone get one milestone by repo name and milestone id
func (c *Client) GetMilestoneByName(owner, repo string, name string) (*Milestone, *Response, error)
GetMilestoneByName get one milestone by repo and milestone name
GetMyStopwatches list all stopwatches
func (c *Client) GetMyTrackedTimes() ([]*TrackedTime, *Response, error)
GetMyTrackedTimes list tracked times of the current user
GetMyUserInfo get user info of current user
func (c *Client) GetMyWatchedRepos() ([]*Repository, *Response, error)
GetMyWatchedRepos list repositories watched by the authenticated user
GetNotification get notification thread by ID
GetOauth2 a specific Oauth2 Application by ID.
GetOrg get one organization by name
GetOrgHook get a hook of an organization
GetPublicKey get current user's public key by key id
GetPullRequest get information of one PR
GetPullRequestDiff gets the .diff file as bytes for a PR
GetPullRequestPatch gets the .patch file as bytes for a PR
func (c *Client) GetPullReview(owner, repo string, index, id int64) (*PullReview, *Response, error)
GetPullReview gets a specific review of a pull request
GetRelease get a release of a repository by id
func (c *Client) GetReleaseAttachment(user, repo string, release int64, id int64) (*Attachment, *Response, error)
GetReleaseAttachment returns the requested attachment
GetReleaseByTag get a release of a repository by tag
GetRepo returns information of a repository of given owner.
GetRepoBranch get one branch's information of one repository
GetRepoGitHook get a Git hook of a repository
GetRepoHook get a hook of a repository
GetRepoLabel get one label of repository by repo it
GetRepoLanguages return language stats of a repo
GetRepoRef get one ref's information of one repository
GetRepoRefs get list of ref's information of one repository
GetSingleCommit returns a single commit
GetTeam gets a team by ID
GetTeamMember gets a member of a team
func (c *Client) GetTrees(user, repo, ref string, recursive bool) (*GitTreeResponse, *Response, error)
GetTrees downloads a file of repository, ref can be branch/tag/commit. e.g.: ref -> master, tree -> macaron.go(no leading slash)
GetUserInfo get user info by user's name
GetWatchedRepos list all the watched repos of user
IsCollaborator check if a user is a collaborator of a repository
IsFollowing if current user followed the target
IsPullRequestMerged test if one PR is merged to one repository
IsUserFollowing if the user followed the target
IssueSubscribe subscribe current user to an issue
IssueUnSubscribe unsubscribe current user from an issue
func (c *Client) ListAccessTokens(opts ListAccessTokensOptions) ([]*AccessToken, *Response, error)
ListAccessTokens lists all the access tokens of user
func (c *Client) ListBranchProtections(owner, repo string, opt ListBranchProtectionsOptions) ([]*BranchProtection, *Response, error)
ListBranchProtections list branch protections for a repo
func (c *Client) ListCollaborators(user, repo string, opt ListCollaboratorsOptions) ([]*User, *Response, error)
ListCollaborators list a repository's collaborators
ListCronTasks list available cron tasks
func (c *Client) ListDeployKeys(user, repo string, opt ListDeployKeysOptions) ([]*DeployKey, *Response, error)
ListDeployKeys list all the deploy keys of one repository
ListEmails all the email addresses of user
ListFollowers list all the followers of one user
ListFollowing list all the users the user followed
func (c *Client) ListForks(user string, repo string, opt ListForksOptions) ([]*Repository, *Response, error)
ListForks list a repository's forks
ListGPGKeys list all the GPG keys of the user
func (c *Client) ListIssueComments(owner, repo string, index int64, opt ListIssueCommentOptions) ([]*Comment, *Response, error)
ListIssueComments list comments on an issue.
func (c *Client) ListIssueTrackedTimes(owner, repo string, index int64, opt ListTrackedTimesOptions) ([]*TrackedTime, *Response, error)
ListIssueTrackedTimes list tracked times of a single issue for a given repository
ListIssues returns all issues assigned the authenticated user
ListMyFollowers list all the followers of current user
ListMyFollowing list all the users current user followed
ListMyGPGKeys list all the GPG keys of current user
func (c *Client) ListMyOrgs(opt ListOrgsOptions) ([]*Organization, *Response, error)
ListMyOrgs list all of current user's organizations
ListMyPublicKeys list all the public keys of current user
func (c *Client) ListMyRepos(opt ListReposOptions) ([]*Repository, *Response, error)
ListMyRepos lists all repositories for the authenticated user that has access to.
ListMyTeams lists all the teams of the current user
func (c *Client) ListNotifications(opt ListNotificationOptions) ([]*NotificationThread, *Response, error)
ListNotifications list users's notification threads
ListOauth2 all of your Oauth2 Applications.
ListOrgHooks list all the hooks of one organization
func (c *Client) ListOrgMembership(org string, opt ListOrgMembershipOption) ([]*User, *Response, error)
ListOrgMembership list an organization's members
func (c *Client) ListOrgRepos(org string, opt ListOrgReposOptions) ([]*Repository, *Response, error)
ListOrgRepos list all repositories of one organization by organization's name
ListOrgTeams lists all teams of an organization
func (c *Client) ListPublicKeys(user string, opt ListPublicKeysOptions) ([]*PublicKey, *Response, error)
ListPublicKeys list all the public keys of the user
func (c *Client) ListPublicOrgMembership(org string, opt ListOrgMembershipOption) ([]*User, *Response, error)
ListPublicOrgMembership list an organization's members
func (c *Client) ListPullReviewComments(owner, repo string, index, id int64) ([]*PullReviewComment, *Response, error)
ListPullReviewComments lists all comments of a pull request review
func (c *Client) ListPullReviews(owner, repo string, index int64, opt ListPullReviewsOptions) ([]*PullReview, *Response, error)
ListPullReviews lists all reviews of a pull request
func (c *Client) ListReleaseAttachments(user, repo string, release int64, opt ListReleaseAttachmentsOptions) ([]*Attachment, *Response, error)
ListReleaseAttachments list release's attachments
func (c *Client) ListReleases(user, repo string, opt ListReleasesOptions) ([]*Release, *Response, error)
ListReleases list releases of a repository
func (c *Client) ListRepoBranches(user, repo string, opt ListRepoBranchesOptions) ([]*Branch, *Response, error)
ListRepoBranches list all the branches of one repository
func (c *Client) ListRepoCommits(user, repo string, opt ListCommitOptions) ([]*Commit, *Response, error)
ListRepoCommits return list of commits from a repo
func (c *Client) ListRepoGitHooks(user, repo string, opt ListRepoGitHooksOptions) ([]*GitHook, *Response, error)
ListRepoGitHooks list all the Git hooks of one repository
func (c *Client) ListRepoHooks(user, repo string, opt ListHooksOptions) ([]*Hook, *Response, error)
ListRepoHooks list all the hooks of one repository
func (c *Client) ListRepoIssueComments(owner, repo string, opt ListIssueCommentOptions) ([]*Comment, *Response, error)
ListRepoIssueComments list comments for a given repo.
func (c *Client) ListRepoIssues(owner, repo string, opt ListIssueOption) ([]*Issue, *Response, error)
ListRepoIssues returns all issues for a given repository
func (c *Client) ListRepoLabels(owner, repo string, opt ListLabelsOptions) ([]*Label, *Response, error)
ListRepoLabels list labels of one repository
func (c *Client) ListRepoMilestones(owner, repo string, opt ListMilestoneOption) ([]*Milestone, *Response, error)
ListRepoMilestones list all the milestones of one repository
func (c *Client) ListRepoNotifications(owner, reponame string, opt ListNotificationOptions) ([]*NotificationThread, *Response, error)
ListRepoNotifications list users's notification threads on a specific repo
func (c *Client) ListRepoPullRequests(owner, repo string, opt ListPullRequestsOptions) ([]*PullRequest, *Response, error)
ListRepoPullRequests list PRs of one repository
func (c *Client) ListRepoTags(user, repo string, opt ListRepoTagsOptions) ([]*Tag, *Response, error)
ListRepoTags list all the branches of one repository
func (c *Client) ListRepoTopics(user, repo string, opt ListRepoTopicsOptions) ([]string, *Response, error)
ListRepoTopics list all repository's topics
func (c *Client) ListRepoTrackedTimes(owner, repo string, opt ListTrackedTimesOptions) ([]*TrackedTime, *Response, error)
ListRepoTrackedTimes list tracked times of a repository
func (c *Client) ListStatuses(owner, repo, ref string, opt ListStatusesOption) ([]*Status, *Response, error)
ListStatuses returns all statuses for a given Commit by ref
ListTeamMembers lists all members of a team
func (c *Client) ListTeamRepositories(id int64, opt ListTeamRepositoriesOptions) ([]*Repository, *Response, error)
ListTeamRepositories lists all repositories of a team
func (c *Client) ListUserOrgs(user string, opt ListOrgsOptions) ([]*Organization, *Response, error)
ListUserOrgs list all of some user's organizations
func (c *Client) ListUserRepos(user string, opt ListReposOptions) ([]*Repository, *Response, error)
ListUserRepos list all repositories of one user by user's name
func (c *Client) MergePullRequest(owner, repo string, index int64, opt MergePullRequestOption) (bool, *Response, error)
MergePullRequest merge a PR to repository by PR id
func (c *Client) MigrateRepo(opt MigrateRepoOption) (*Repository, *Response, error)
MigrateRepo migrates a repository from other Git hosting sources for the authenticated user.
To migrate a repository for a organization, the authenticated user must be a owner of the specified organization.
MirrorSync adds a mirrored repository to the mirror sync queue.
func (c *Client) PostIssueCommentReaction(owner, repo string, commentID int64, reaction string) (*Reaction, *Response, error)
PostIssueCommentReaction add a reaction to a comment of an issue
func (c *Client) PostIssueReaction(owner, repo string, index int64, reaction string) (*Reaction, *Response, error)
PostIssueReaction add a reaction to an issue
ReadNotification mark notification thread as read by ID It optionally takes a second argument if status has to be set other than 'read'
func (c *Client) ReadNotifications(opt MarkNotificationOptions) (*Response, error)
ReadNotifications mark notification threads as read
func (c *Client) ReadRepoNotifications(owner, reponame string, opt MarkNotificationOptions) (*Response, error)
ReadRepoNotifications mark notification threads as read on a specific repo
RemoveTeamMember removes a member from a team
RemoveTeamRepository removes a repository from a team
func (c *Client) ReplaceIssueLabels(owner, repo string, index int64, opt IssueLabelsOption) ([]*Label, *Response, error)
ReplaceIssueLabels replace old labels of issue with new labels
ResetIssueTime reset tracked time of a single issue for a given repository
RunCronTasks run a cron task
func (c *Client) SearchRepos(opt SearchRepoOptions) ([]*Repository, *Response, error)
SearchRepos searches for repositories matching the given filters
SearchUsers finds users by query
ServerVersion returns the version of the server
SetBasicAuth sets username and password
SetContext set context witch is used for http requests
SetHTTPClient replaces default http.Client with user given one.
SetOTP sets OTP for 2FA
SetPublicOrgMembership publicize/conceal a user's membership
SetRepoTopics replaces the list of repo's topics
SetSudo sets username to impersonate.
StartIssueStopWatch starts a stopwatch for an existing issue for a given repository
StopIssueStopWatch stops an existing stopwatch for an issue in a given repository
func (c *Client) SubmitPullReview(owner, repo string, index, id int64, opt SubmitPullReviewOptions) (*PullReview, *Response, error)
SubmitPullReview submit a pending review to an pull request
func (c *Client) TransferRepo(owner, reponame string, opt TransferRepoOption) (*Repository, *Response, error)
TransferRepo transfers the ownership of a repository
UnWatchRepo stop to watch a repository
Unfollow set current user unfollow the target
func (c *Client) UpdateFile(owner, repo, filepath string, opt UpdateFileOptions) (*FileResponse, *Response, error)
UpdateFile update a file in a repository
UpdateOauth2 a specific Oauth2 Application by ID and return a completed Oauth2 object.
WatchRepo start to watch a repository
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 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"` Created time.Time `json:"created_at"` Updated time.Time `json:"updated_at"` }
Comment represents a comment on a commit or issue
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 struct { Author time.Time `json:"author"` Committer time.Time `json:"committer"` }
CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE
type CommitMeta struct { URL string `json:"url"` SHA string `json:"sha"` Created time.Time `json:"created"` }
CommitMeta contains meta information of a commit in terms of API.
CommitUser contains information of a user in the context of a commit.
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
CreateAccessTokenOption options when create access token
type CreateBranchOption struct { // Name of the branch to create BranchName string `json:"new_branch_name"` // Name of the old branch to create from (optional) OldBranchName string `json:"old_branch_name"` }
CreateBranchOption options when creating a branch in a repository
func (opt CreateBranchOption) Validate() error
Validate the CreateBranchOption struct
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
CreateEmailOption options when creating email addresses
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 struct { // organization name, if forking into an organization Organization *string `json:"organization"` }
CreateForkOption options for creating a fork
type CreateGPGKeyOption struct { // An armored GPG key to add // ArmoredKey string `json:"armored_public_key"` }
CreateGPGKeyOption options create user GPG key
type CreateHookOption struct { Type string `json:"type"` Config map[string]string `json:"config"` Events []string `json:"events"` BranchFilter string `json:"branch_filter"` Active bool `json:"active"` }
CreateHookOption options when create a hook
func (opt CreateHookOption) Validate() error
Validate the CreateHookOption struct
CreateIssueCommentOption options for creating a comment on an issue
func (opt CreateIssueCommentOption) Validate() error
Validate the CreateIssueCommentOption struct
type CreateIssueOption struct { Title string `json:"title"` Body string `json:"body"` Ref string `json:"ref"` // deprecated // TODO: rm on sdk 0.15.0 Assignee string `json:"assignee"` Assignees []string `json:"assignees"` 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
func (opt CreateIssueOption) Validate() error
Validate the CreateIssueOption struct
type CreateKeyOption struct { // Title of the key to add Title string `json:"title"` // An armored SSH key to add Key string `json:"key"` // Describe if the key has only read access or read/write ReadOnly bool `json:"read_only"` }
CreateKeyOption options when creating a key
type CreateLabelOption struct { Name string `json:"name"` // example: #00aabb Color string `json:"color"` Description string `json:"description"` }
CreateLabelOption options for creating a label
func (opt CreateLabelOption) Validate() error
Validate the CreateLabelOption struct
type CreateMilestoneOption struct { Title string `json:"title"` Description string `json:"description"` State StateType `json:"state"` Deadline *time.Time `json:"due_on"` }
CreateMilestoneOption options for creating a milestone
func (opt CreateMilestoneOption) Validate() error
Validate the CreateMilestoneOption struct
type CreateOauth2Option struct { Name string `json:"name"` RedirectURIs []string `json:"redirect_uris"` }
CreateOauth2Option required options for creating an Application
type CreateOrgOption struct { Name string `json:"username"` FullName string `json:"full_name"` Description string `json:"description"` Website string `json:"website"` Location string `json:"location"` Visibility VisibleType `json:"visibility"` }
CreateOrgOption options for creating an organization
func (opt CreateOrgOption) Validate() error
Validate the CreateOrgOption struct
type CreatePullRequestOption struct { Head string `json:"head"` Base string `json:"base"` Title string `json:"title"` Body string `json:"body"` Assignee string `json:"assignee"` Assignees []string `json:"assignees"` Milestone int64 `json:"milestone"` Labels []int64 `json:"labels"` Deadline *time.Time `json:"due_date"` }
CreatePullRequestOption options when creating a pull request
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
func (opt CreatePullReviewComment) Validate() error
Validate the CreatePullReviewComment struct
type CreatePullReviewOptions struct { State ReviewStateType `json:"event"` Body string `json:"body"` CommitID string `json:"commit_id"` Comments []CreatePullReviewComment `json:"comments"` }
CreatePullReviewOptions are options to create a pull review
func (opt CreatePullReviewOptions) Validate() error
Validate the CreatePullReviewOptions struct
type CreateReleaseOption 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"` }
CreateReleaseOption options when creating a release
func (opt CreateReleaseOption) Validate() error
Validate the CreateReleaseOption struct
type CreateRepoOption struct { // Name of the repository to create Name string `json:"name"` // Description of the repository to create Description string `json:"description"` // Whether the repository is private Private bool `json:"private"` // Issue 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"` // TrustModel of the repository TrustModel TrustModel `json:"trust_model"` }
CreateRepoOption options when creating repository
func (opt CreateRepoOption) Validate(c *Client) error
Validate the CreateRepoOption struct
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 struct { Name string `json:"name"` Description string `json:"description"` Permission AccessMode `json:"permission"` CanCreateOrgRepo bool `json:"can_create_org_repo"` IncludesAllRepositories bool `json:"includes_all_repositories"` // example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.ext_wiki"] Units []string `json:"units"` }
CreateTeamOption options for creating a team
func (opt CreateTeamOption) Validate() error
Validate the CreateTeamOption struct
type CreateUserOption struct { SourceID int64 `json:"source_id"` LoginName string `json:"login_name"` Username string `json:"username"` FullName string `json:"full_name"` Email string `json:"email"` Password string `json:"password"` MustChangePassword *bool `json:"must_change_password"` SendNotify bool `json:"send_notify"` }
CreateUserOption create user options
func (opt CreateUserOption) Validate() error
Validate the CreateUserOption struct
type CronTask struct { Name string `json:"name"` Schedule string `json:"schedule"` Next time.Time `json:"next"` Prev time.Time `json:"prev"` ExecTimes int64 `json:"exec_times"` }
CronTask represents a Cron task
DeleteEmailOption options when deleting email addresses
type DeleteFileOptions struct { FileOptions // sha is the SHA for the file that already exists // required: true SHA string `json:"sha"` }
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 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"` Created time.Time `json:"created_at"` ReadOnly bool `json:"read_only"` Repository *Repository `json:"repository,omitempty"` }
DeployKey a deploy key
EditAttachmentOptions options for editing attachments
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
EditGitHookOption options when modifying one Git hook
type EditHookOption struct { Config map[string]string `json:"config"` Events []string `json:"events"` BranchFilter string `json:"branch_filter"` Active *bool `json:"active"` }
EditHookOption options when modify one hook
EditIssueCommentOption options for editing a comment
func (opt EditIssueCommentOption) Validate() error
Validate the EditIssueCommentOption struct
type EditIssueOption struct { Title string `json:"title"` Body *string `json:"body"` Ref *string `json:"ref"` // deprecated // TODO: rm on sdk 0.15.0 Assignee *string `json:"assignee"` Assignees []string `json:"assignees"` Milestone *int64 `json:"milestone"` State *StateType `json:"state"` Deadline *time.Time `json:"due_date"` }
EditIssueOption options for editing an issue
func (opt EditIssueOption) Validate() error
Validate the EditIssueOption struct
type EditLabelOption struct { Name *string `json:"name"` Color *string `json:"color"` Description *string `json:"description"` }
EditLabelOption options for editing a label
func (opt EditLabelOption) Validate() error
Validate the EditLabelOption struct
type EditMilestoneOption struct { Title string `json:"title"` Description *string `json:"description"` State *StateType `json:"state"` Deadline *time.Time `json:"due_on"` }
EditMilestoneOption options for editing a milestone
func (opt EditMilestoneOption) Validate() error
Validate the EditMilestoneOption struct
type EditOrgOption struct { FullName string `json:"full_name"` Description string `json:"description"` Website string `json:"website"` Location string `json:"location"` Visibility VisibleType `json:"visibility"` }
EditOrgOption options for editing an organization
func (opt EditOrgOption) Validate() error
Validate the EditOrgOption struct
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 *StateType `json:"state"` Deadline *time.Time `json:"due_date"` }
EditPullRequestOption options when modify pull request
func (opt EditPullRequestOption) Validate(c *Client) error
Validate the EditPullRequestOption struct
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 struct { // name of the repository Name *string `json:"name,omitempty"` // a short description of the repository. Description *string `json:"description,omitempty"` // a URL with more information about the repository. Website *string `json:"website,omitempty"` // 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 enable issues for this repository or `false` to disable them. HasIssues *bool `json:"has_issues,omitempty"` // either `true` to enable the wiki for this repository or `false` to disable it. HasWiki *bool `json:"has_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 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
type EditTeamOption struct { Name string `json:"name"` Description *string `json:"description"` Permission AccessMode `json:"permission"` CanCreateOrgRepo *bool `json:"can_create_org_repo"` IncludesAllRepositories *bool `json:"includes_all_repositories"` // example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.ext_wiki"] Units []string `json:"units"` }
EditTeamOption options for editing a team
func (opt EditTeamOption) Validate() error
Validate the EditTeamOption struct
type EditUserOption struct { SourceID int64 `json:"source_id"` LoginName string `json:"login_name"` FullName string `json:"full_name"` Email string `json:"email"` Password string `json:"password"` MustChangePassword *bool `json:"must_change_password"` Website string `json:"website"` Location string `json:"location"` 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 struct { Email string `json:"email"` Verified bool `json:"verified"` Primary bool `json:"primary"` }
Email an email address belonging to a user
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 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 struct { Self *string `json:"self"` GitURL *string `json:"git"` HTMLURL *string `json:"html"` }
FileLinksResponse contains the links for a repo's file
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"` // new_branch (optional) will make a new branch from `branch` before creating the file NewBranchName string `json:"new_branch"` // `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 struct { Content *ContentsResponse `json:"content"` Commit *FileCommitResponse `json:"commit"` Verification *PayloadCommitVerification `json:"verification"` }
FileResponse contains information about a repo's file
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"` Created time.Time `json:"created_at,omitempty"` Expires time.Time `json:"expires_at,omitempty"` }
GPGKey a user GPG key to sign commit and tag in repository
GPGKeyEmail an email attached to a GPGKey
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 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 struct { Name string `json:"name"` IsActive bool `json:"is_active"` Content string `json:"content,omitempty"` }
GitHook represents a Git repository hook
type GitObject struct { Type string `json:"type"` SHA string `json:"sha"` URL string `json:"url"` }
GitObject represents a Git object.
GitServiceType represents a git service
const ( // GitServicePlain represents a plain git service GitServicePlain GitServiceType = "git" //GitServiceGithub represents github.com GitServiceGithub GitServiceType = "github" // GitServiceGitlab represents a gitlab service GitServiceGitlab GitServiceType = "gitlab" // GitServiceGitea represents a gitea service GitServiceGitea GitServiceType = "gitea" )
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 GlobalAPISettings 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"` }
GlobalAPISettings contains global api settings exposed by it
type GlobalAttachmentSettings struct { Enabled bool `json:"enabled"` AllowedTypes string `json:"allowed_types"` MaxSize int64 `json:"max_size"` MaxFiles int `json:"max_files"` }
GlobalAttachmentSettings contains global Attachment settings exposed by API
type GlobalRepoSettings struct { MirrorsDisabled bool `json:"mirrors_disabled"` HTTPGitDisabled bool `json:"http_git_disabled"` }
GlobalRepoSettings represent the global repository settings of a gitea instance witch is exposed by API
GlobalUISettings represent the global ui settings of a gitea instance witch is exposed by API
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"` Updated time.Time `json:"updated_at"` Created time.Time `json:"created_at"` }
Hook a hook is a web hook when one repository changed
Identity for a person's identity like an author or committer
type Issue struct { ID int64 `json:"id"` URL string `json:"url"` HTMLURL string `json:"html_url"` Index int64 `json:"number"` Poster *User `json:"user"` OriginalAuthor string `json:"original_author"` OriginalAuthorID int64 `json:"original_author_id"` Title string `json:"title"` Body string `json:"body"` Ref string `json:"ref"` Labels []*Label `json:"labels"` Milestone *Milestone `json:"milestone"` // deprecated // TODO: rm on sdk 0.15.0 Assignee *User `json:"assignee"` Assignees []*User `json:"assignees"` // Whether the issue is open or closed State StateType `json:"state"` IsLocked bool `json:"is_locked"` Comments int `json:"comments"` Created time.Time `json:"created_at"` Updated time.Time `json:"updated_at"` Closed *time.Time `json:"closed_at"` Deadline *time.Time `json:"due_date"` PullRequest *PullRequestMeta `json:"pull_request"` Repository *RepositoryMeta `json:"repository"` }
Issue represents an issue in a repository
IssueLabelsOption a collection of labels
IssueType is issue a pull or only an issue
const ( // IssueTypeAll pr and issue IssueTypeAll IssueType = "" // IssueTypeIssue only issues IssueTypeIssue IssueType = "issues" // IssueTypePull only pulls IssueTypePull IssueType = "pulls" )
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
type ListAccessTokensOptions struct { ListOptions }
ListAccessTokensOptions options for listing a users's access tokens
type ListBranchProtectionsOptions struct { ListOptions }
ListBranchProtectionsOptions list branch protection options
type ListCollaboratorsOptions struct { ListOptions }
ListCollaboratorsOptions options for listing a repository's collaborators
type ListCommitOptions struct { ListOptions //SHA or branch to start listing commits from (usually 'master') SHA string }
ListCommitOptions list commit options
func (opt *ListCommitOptions) QueryEncode() string
QueryEncode turns options into querystring argument
type ListCronTaskOptions struct { ListOptions }
ListCronTaskOptions list options for ListCronTasks
type ListDeployKeysOptions struct { ListOptions KeyID int64 Fingerprint string }
ListDeployKeysOptions options for listing a repository's deploy keys
func (opt *ListDeployKeysOptions) QueryEncode() string
QueryEncode turns options into querystring argument
type ListEmailsOptions struct { ListOptions }
ListEmailsOptions options for listing current's user emails
type ListFollowersOptions struct { ListOptions }
ListFollowersOptions options for listing followers
type ListFollowingOptions struct { ListOptions }
ListFollowingOptions options for listing a user's users being followed
type ListForksOptions struct { ListOptions }
ListForksOptions options for listing repository's forks
type ListGPGKeysOptions struct { ListOptions }
ListGPGKeysOptions options for listing a user's GPGKeys
type ListHooksOptions struct { ListOptions }
ListHooksOptions options for listing hooks
ListIssueCommentOptions list comment options
func (opt *ListIssueCommentOptions) QueryEncode() string
QueryEncode turns options into querystring argument
type ListIssueOption struct { ListOptions State StateType Type IssueType Labels []string Milestones []string KeyWord string }
ListIssueOption list issue options
func (opt *ListIssueOption) QueryEncode() string
QueryEncode turns options into querystring argument
type ListLabelsOptions struct { ListOptions }
ListLabelsOptions options for listing repository's labels
type ListMilestoneOption struct { ListOptions // open, closed, all State StateType Name string }
ListMilestoneOption list milestone options
func (opt *ListMilestoneOption) QueryEncode() string
QueryEncode turns options into querystring argument
type ListNotificationOptions struct { ListOptions Since time.Time Before time.Time Status []NotifyStatus }
ListNotificationOptions represents the filter options
func (opt *ListNotificationOptions) QueryEncode() string
QueryEncode encode options to url query
func (opt ListNotificationOptions) Validate(c *Client) error
Validate the CreateUserOption struct
type ListOauth2Option struct { ListOptions }
ListOauth2Option for listing Oauth2 Applications
ListOptions options for using Gitea's API pagination
type ListOrgMembershipOption struct { ListOptions }
ListOrgMembershipOption list OrgMembership options
type ListOrgReposOptions struct { ListOptions }
ListOrgReposOptions options for a organization's repositories
type ListOrgsOptions struct { ListOptions }
ListOrgsOptions options for listing organizations
type ListPublicKeysOptions struct { ListOptions }
ListPublicKeysOptions options for listing a user's PublicKeys
type ListPullRequestsOptions struct { ListOptions State StateType `json:"state"` // oldest, recentupdate, leastupdate, mostcomment, leastcomment, priority Sort string Milestone int64 }
ListPullRequestsOptions options for listing pull requests
func (opt *ListPullRequestsOptions) QueryEncode() string
QueryEncode turns options into querystring argument
type ListPullReviewsOptions struct { ListOptions }
ListPullReviewsOptions options for listing PullReviews
type ListReleaseAttachmentsOptions struct { ListOptions }
ListReleaseAttachmentsOptions options for listing release's attachments
type ListReleasesOptions struct { ListOptions }
ListReleasesOptions options for listing repository's releases
type ListRepoBranchesOptions struct { ListOptions }
ListRepoBranchesOptions options for listing a repository's branches
type ListRepoGitHooksOptions struct { ListOptions }
ListRepoGitHooksOptions options for listing repository's githooks
type ListRepoTagsOptions struct { ListOptions }
ListRepoTagsOptions options for listing a repository's tags
type ListRepoTopicsOptions struct { ListOptions }
ListRepoTopicsOptions options for listing repo's topics
type ListReposOptions struct { ListOptions }
ListReposOptions options for listing repositories
type ListStatusesOption struct { ListOptions }
ListStatusesOption options for listing a repository's commit's statuses
type ListTeamMembersOptions struct { ListOptions }
ListTeamMembersOptions options for listing team's members
type ListTeamRepositoriesOptions struct { ListOptions }
ListTeamRepositoriesOptions options for listing team's repositories
type ListTeamsOptions struct { ListOptions }
ListTeamsOptions options for listing teams
type ListTrackedTimesOptions struct { ListOptions Since time.Time Before time.Time // User filter is only used by ListRepoTrackedTimes !!! User string }
ListTrackedTimesOptions options for listing repository's tracked times
func (opt *ListTrackedTimesOptions) QueryEncode() string
QueryEncode turns options into querystring argument
type MarkNotificationOptions struct { LastReadAt time.Time Status []NotifyStatus ToStatus NotifyStatus }
MarkNotificationOptions represents the filter & modify options
func (opt *MarkNotificationOptions) QueryEncode() string
QueryEncode encode options to url query
func (opt MarkNotificationOptions) Validate(c *Client) error
Validate the CreateUserOption struct
type MergePullRequestOption struct { Style MergeStyle `json:"Do"` Title string `json:"MergeTitleField"` Message string `json:"MergeMessageField"` }
MergePullRequestOption options when merging a pull request
func (opt MergePullRequestOption) Validate(c *Client) error
Validate the MergePullRequestOption struct
MergeStyle is used specify how a pull is merged
const ( // MergeStyleMerge merge pull as usual MergeStyleMerge MergeStyle = "merge" // MergeStyleRebase rebase pull MergeStyleRebase MergeStyle = "rebase" // MergeStyleRebaseMerge rebase and merge pull MergeStyleRebaseMerge MergeStyle = "rebase-merge" // MergeStyleSquash squash and merge pull MergeStyleSquash MergeStyle = "squash" )
type MigrateRepoOption struct { RepoName string `json:"repo_name"` RepoOwner string `json:"repo_owner"` // deprecated use RepoOwner RepoOwnerID int64 `json:"uid"` CloneAddr string `json:"clone_addr"` Service GitServiceType `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"` 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"` }
MigrateRepoOption options for migrating a repository from an external service
func (opt *MigrateRepoOption) Validate(c *Client) error
Validate the MigrateRepoOption struct
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"` Created time.Time `json:"created_at"` Updated *time.Time `json:"updated_at"` Closed *time.Time `json:"closed_at"` Deadline *time.Time `json:"due_on"` }
Milestone milestone is a collection of issues on one repository
type NotificationSubject struct { Title string `json:"title"` URL string `json:"url"` LatestCommentURL string `json:"latest_comment_url"` Type string `json:"type"` State StateType `json:"state"` }
NotificationSubject contains the notification subject (Issue/Pull/Commit)
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
NotifyStatus notification status type
const ( // NotifyStatusUnread was not read NotifyStatusUnread NotifyStatus = "unread" // NotifyStatusRead was already read by user NotifyStatusRead NotifyStatus = "read" // NotifyStatusPinned notification is pinned by user NotifyStatusPinned NotifyStatus = "pinned" )
type Oauth2 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"` }
Oauth2 represents an Oauth2 Application
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"` }
Organization represents an organization
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 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"` Timestamp time.Time `json:"timestamp"` Added []string `json:"added"` Removed []string `json:"removed"` Modified []string `json:"modified"` }
PayloadCommit represents a commit
type PayloadCommitVerification struct { Verified bool `json:"verified"` Reason string `json:"reason"` Signature string `json:"signature"` Payload string `json:"payload"` }
PayloadCommitVerification represents the GPG verification of a commit
type PayloadUser struct { // Full name of the commit author Name string `json:"name"` Email string `json:"email"` UserName string `json:"username"` }
PayloadUser represents the author or committer of a commit
type Permission struct { Admin bool `json:"admin"` Push bool `json:"push"` Pull bool `json:"pull"` }
Permission represents a set of permissions
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"` 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 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"` 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"` Deadline *time.Time `json:"due_date"` Created *time.Time `json:"created_at"` Updated *time.Time `json:"updated_at"` Closed *time.Time `json:"closed_at"` }
PullRequest represents a pull request
type PullRequestMeta struct { HasMerged bool `json:"merged"` Merged *time.Time `json:"merged_at"` }
PullRequestMeta PR info if an issue is a PR
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 indicates if the pull has changed since the review Stale bool `json:"stale"` // Official indicates if the review counts towards the required approval limit, if PR base is a protected branch Official bool `json:"official"` CodeCommentsCount int `json:"comments_count"` 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 struct { ID int64 `json:"id"` Body string `json:"body"` Reviewer *User `json:"user"` ReviewID int64 `json:"pull_request_review_id"` Created time.Time `json:"created_at"` 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 Reaction struct { User *User `json:"user"` Reaction string `json:"content"` Created time.Time `json:"created_at"` }
Reaction contain one reaction
type Reference struct { Ref string `json:"ref"` URL string `json:"url"` Object *GitObject `json:"object"` }
Reference represents a Git reference.
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"` CreatedAt time.Time `json:"created_at"` PublishedAt time.Time `json:"published_at"` Publisher *User `json:"author"` Attachments []*Attachment `json:"assets"` }
Release represents a repository release
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.
RepoType represent repo type
const ( // RepoTypeNone dont specify a type RepoTypeNone RepoType = "" // RepoTypeSource is the default repo type RepoTypeSource RepoType = "source" // RepoTypeFork is a repo witch was forked from an other one RepoTypeFork RepoType = "fork" // RepoTypeMirror represents an mirror repo RepoTypeMirror RepoType = "mirror" )
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"` 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"` DefaultBranch string `json:"default_branch"` Archived bool `json:"archived"` Created time.Time `json:"created_at"` Updated time.Time `json:"updated_at"` Permissions *Permission `json:"permissions,omitempty"` HasIssues bool `json:"has_issues"` HasWiki bool `json:"has_wiki"` HasPullRequests bool `json:"has_pull_requests"` 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"` }
Repository represents a repository
type RepositoryMeta struct { ID int64 `json:"id"` Name string `json:"name"` Owner string `json:"owner"` FullName string `json:"full_name"` }
RepositoryMeta basic repository information
Response represents the gitea response
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 SearchRepoOptions struct { ListOptions // The keyword to query Keyword string // Limit search to repositories with keyword as topic KeywordIsTopic bool // Include search of keyword within repository description KeywordInDescription bool // Repo Owner OwnerID int64 // Stared By UserID StarredByUserID int64 // pubic, private or all repositories (defaults to all) IsPrivate *bool // archived, non-archived or all repositories (defaults to all) IsArchived *bool // Exclude template repos from search ExcludeTemplate bool // Filter by "fork", "source", "mirror" Type RepoType // sort repos by attribute. Supported values are "alpha", "created", "updated", "size", and "id". Default is "alpha" Sort string // sort order, either "asc" (ascending) or "desc" (descending). Default is "asc", ignored if "sort" is not specified. Order string // Repo owner to prioritize in the results PrioritizedByOwnerID int64 /* Cover EdgeCases */ // if set all other options are ignored and this string is used as query RawQuery string }
SearchRepoOptions options for searching repositories
func (opt *SearchRepoOptions) QueryEncode() string
QueryEncode turns options into querystring argument
type SearchUsersOption struct { ListOptions KeyWord string }
SearchUsersOption options for SearchUsers
func (opt *SearchUsersOption) QueryEncode() string
QueryEncode turns options into querystring argument
StateType issue state type
const ( // StateOpen pr/issue is opend StateOpen StateType = "open" // StateClosed pr/issue is closed StateClosed StateType = "closed" // StateAll is all StateAll StateType = "all" )
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"` Created time.Time `json:"created_at"` Updated time.Time `json:"updated_at"` }
Status holds a single Status of a single Commit
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" )
StopWatch represents a running stopwatch of an issue / pr
type SubmitPullReviewOptions struct { State ReviewStateType `json:"event"` Body string `json:"body"` }
SubmitPullReviewOptions are options to submit a pending pull review
func (opt SubmitPullReviewOptions) Validate() error
Validate the SubmitPullReviewOptions struct
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 Team struct { ID int64 `json:"id"` Name string `json:"name"` Description string `json:"description"` Organization *Organization `json:"organization"` Permission AccessMode `json:"permission"` CanCreateOrgRepo bool `json:"can_create_org_repo"` IncludesAllRepositories bool `json:"includes_all_repositories"` // example: ["repo.code","repo.issues","repo.ext_issues","repo.wiki","repo.pulls","repo.releases","repo.ext_wiki"] Units []string `json:"units"` }
Team represents a team in an organization
type TrackedTime struct { ID int64 `json:"id"` 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 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
TrustModel represent how git signatures are handled in a repository
const ( // TrustModelDefault use TM set by global config TrustModelDefault TrustModel = "default" // TrustModelCollaborator gpg signature has to be owned by a repo collaborator TrustModelCollaborator TrustModel = "collaborator" // TrustModelCommitter gpg signature has to match committer TrustModelCommitter TrustModel = "committer" // TrustModelCollaboratorCommitter gpg signature has to match committer and owned by a repo collaborator TrustModelCollaboratorCommitter TrustModel = "collaboratorcommitter" )
type UpdateFileOptions struct { FileOptions // sha is the SHA for the file that already exists // required: true SHA string `json:"sha"` // 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"` }
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 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"` 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"` LastLogin time.Time `json:"last_login,omitempty"` Created time.Time `json:"created,omitempty"` }
User represents a user
VisibleType defines the visibility
const ( // VisibleTypePublic Visible for everyone VisibleTypePublic VisibleType = "public" // VisibleTypeLimited Visible for every connected user VisibleTypeLimited VisibleType = "limited" // VisibleTypePrivate Visible only for organization's members VisibleTypePrivate VisibleType = "private" )
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
Package gitea imports 16 packages (graph) and is imported by 106 packages. Updated 2021-01-18. Refresh now. Tools for package owners.