const ( // SHA1SignatureHeader is the GitHub header key used to pass the HMAC-SHA1 hexdigest. SHA1SignatureHeader = "X-Hub-Signature" // SHA256SignatureHeader is the GitHub header key used to pass the HMAC-SHA256 hexdigest. SHA256SignatureHeader = "X-Hub-Signature-256" // EventTypeHeader is the GitHub header key used to pass the event type. EventTypeHeader = "X-Github-Event" // DeliveryIDHeader is the GitHub header key used to pass the unique ID for the webhook event. DeliveryIDHeader = "X-Github-Delivery" )
var ErrBranchNotProtected = errors.New("branch is not protected")
var ErrMixedCommentStyles = errors.New("cannot use both position and side/line form comments")
func Bool(v bool) *bool
Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
func CheckResponse(r *http.Response) error
CheckResponse checks the API response for errors, and returns them if present. A response is considered an error if it has a status code outside the 200 range or equal to 202 Accepted. API error responses are expected to have response body, and a JSON response body that maps to ErrorResponse.
The error type will be *RateLimitError for rate limit exceeded errors, *AcceptedError for 202 Accepted status codes, and *TwoFactorAuthError for two-factor authentication errors.
func DeliveryID(r *http.Request) string
DeliveryID returns the unique delivery ID of webhook request r.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/events/github-event-types
func Int(v int) *int
Int is a helper routine that allocates a new int value to store v and returns a pointer to it.
func Int64(v int64) *int64
Int64 is a helper routine that allocates a new int64 value to store v and returns a pointer to it.
func ParseWebHook(messageType string, payload []byte) (interface{}, error)
ParseWebHook parses the event payload. For recognized event types, a value of the corresponding struct type will be returned (as returned by Event.ParsePayload()). An error will be returned for unrecognized event types.
Example usage:
func (s *GitHubEventMonitor) ServeHTTP(w http.ResponseWriter, r *http.Request) { payload, err := github.ValidatePayload(r, s.webhookSecretKey) if err != nil { ... } event, err := github.ParseWebHook(github.WebHookType(r), payload) if err != nil { ... } switch event := event.(type) { case *github.CommitCommentEvent: processCommitCommentEvent(event) case *github.CreateEvent: processCreateEvent(event) ... } }
func String(v string) *string
String is a helper routine that allocates a new string value to store v and returns a pointer to it.
func Stringify(message interface{}) string
Stringify attempts to create a reasonable string representation of types in the GitHub library. It does things like resolve pointers to their values and omits struct fields with nil values.
func ValidatePayload(r *http.Request, secretToken []byte) (payload []byte, err error)
ValidatePayload validates an incoming GitHub Webhook event request and returns the (JSON) payload. The Content-Type header of the payload can be "application/json" or "application/x-www-form-urlencoded". If the Content-Type is neither then an error is returned. secretToken is the GitHub Webhook secret token. If your webhook does not contain a secret token, you can pass nil or an empty slice. This is intended for local development purposes only and all webhooks should ideally set up a secret token.
Example usage:
func (s *GitHubEventMonitor) ServeHTTP(w http.ResponseWriter, r *http.Request) { payload, err := github.ValidatePayload(r, s.webhookSecretKey) if err != nil { ... } // Process payload... }
func ValidatePayloadFromBody(contentType string, readable io.Reader, signature string, secretToken []byte) (payload []byte, err error)
ValidatePayload validates an incoming GitHub Webhook event request body and returns the (JSON) payload. The Content-Type header of the payload can be "application/json" or "application/x-www-form-urlencoded". If the Content-Type is neither then an error is returned. secretToken is the GitHub Webhook secret token. If your webhook does not contain a secret token, you can pass nil or an empty slice. This is intended for local development purposes only and all webhooks should ideally set up a secret token.
Example usage:
func (s *GitHubEventMonitor) ServeHTTP(w http.ResponseWriter, r *http.Request) { // read signature from request signature := "" payload, err := github.ValidatePayloadFromBody(r.Header.Get("Content-Type"), r.Body, signature, s.webhookSecretKey) if err != nil { ... } // Process payload... }
func ValidateSignature(signature string, payload, secretToken []byte) error
ValidateSignature validates the signature for the given payload. signature is the GitHub hash signature delivered in the X-Hub-Signature header. payload is the JSON payload sent by GitHub Webhooks. secretToken is the GitHub Webhook secret token.
GitHub API docs: https://developer.github.com/webhooks/securing/#validating-payloads-from-github
func WebHookType(r *http.Request) string
WebHookType returns the event type of webhook request r.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/events/github-event-types
APIMeta represents metadata about the GitHub API.
type APIMeta struct { // An Array of IP addresses in CIDR format specifying the addresses // that incoming service hooks will originate from on GitHub.com. Hooks []string `json:"hooks,omitempty"` // An Array of IP addresses in CIDR format specifying the Git servers // for GitHub.com. Git []string `json:"git,omitempty"` // Whether authentication with username and password is supported. // (GitHub Enterprise instances using CAS or OAuth for authentication // will return false. Features like Basic Authentication with a // username and password, sudo mode, and two-factor authentication are // not supported on these servers.) VerifiablePasswordAuthentication *bool `json:"verifiable_password_authentication,omitempty"` // An array of IP addresses in CIDR format specifying the addresses // which serve GitHub Pages websites. Pages []string `json:"pages,omitempty"` // An Array of IP addresses specifying the addresses that source imports // will originate from on GitHub.com. Importer []string `json:"importer,omitempty"` // An array of IP addresses in CIDR format specifying the IP addresses // GitHub Actions will originate from. Actions []string `json:"actions,omitempty"` // An array of IP addresses in CIDR format specifying the IP addresses // Dependabot will originate from. Dependabot []string `json:"dependabot,omitempty"` // A map of algorithms to SSH key fingerprints. SSHKeyFingerprints map[string]string `json:"ssh_key_fingerprints,omitempty"` // An array of SSH keys. SSHKeys []string `json:"ssh_keys,omitempty"` }
func (a *APIMeta) GetSSHKeyFingerprints() map[string]string
GetSSHKeyFingerprints returns the SSHKeyFingerprints map if it's non-nil, an empty map otherwise.
func (a *APIMeta) GetVerifiablePasswordAuthentication() bool
GetVerifiablePasswordAuthentication returns the VerifiablePasswordAuthentication field if it's non-nil, zero value otherwise.
AbuseRateLimitError occurs when GitHub returns 403 Forbidden response with the "documentation_url" field value equal to "https://docs.github.com/en/rest/overview/resources-in-the-rest-api#secondary-rate-limits".
type AbuseRateLimitError struct { Response *http.Response // HTTP response that caused this error Message string `json:"message"` // error message // RetryAfter is provided with some abuse rate limit errors. If present, // it is the amount of time that the client should wait before retrying. // Otherwise, the client should try again later (after an unspecified amount of time). RetryAfter *time.Duration }
func (r *AbuseRateLimitError) Error() string
func (a *AbuseRateLimitError) GetRetryAfter() time.Duration
GetRetryAfter returns the RetryAfter field if it's non-nil, zero value otherwise.
func (r *AbuseRateLimitError) Is(target error) bool
Is returns whether the provided error equals this error.
AcceptedError occurs when GitHub returns 202 Accepted response with an empty body, which means a job was scheduled on the GitHub side to process the information needed and cache it. Technically, 202 Accepted is not a real error, it's just used to indicate that results are not ready yet, but should be available soon. The request can be repeated after some time.
type AcceptedError struct { // Raw contains the response body. Raw []byte }
func (*AcceptedError) Error() string
func (ae *AcceptedError) Is(target error) bool
Is returns whether the provided error equals this error.
ActionBilling represents a GitHub Action billing.
type ActionBilling struct { TotalMinutesUsed int `json:"total_minutes_used"` TotalPaidMinutesUsed float64 `json:"total_paid_minutes_used"` IncludedMinutes int `json:"included_minutes"` MinutesUsedBreakdown MinutesUsedBreakdown `json:"minutes_used_breakdown"` }
ActionsAllowed represents selected actions that are allowed.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions
type ActionsAllowed struct { GithubOwnedAllowed *bool `json:"github_owned_allowed,omitempty"` VerifiedAllowed *bool `json:"verified_allowed,omitempty"` PatternsAllowed []string `json:"patterns_allowed,omitempty"` }
func (a *ActionsAllowed) GetGithubOwnedAllowed() bool
GetGithubOwnedAllowed returns the GithubOwnedAllowed field if it's non-nil, zero value otherwise.
func (a *ActionsAllowed) GetVerifiedAllowed() bool
GetVerifiedAllowed returns the VerifiedAllowed field if it's non-nil, zero value otherwise.
func (a ActionsAllowed) String() string
ActionsEnabledOnOrgRepos represents all the repositories in an organization for which Actions is enabled.
type ActionsEnabledOnOrgRepos struct { TotalCount int `json:"total_count"` Repositories []*Repository `json:"repositories"` }
ActionsPermissions represents a policy for repositories and allowed actions in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions
type ActionsPermissions struct { EnabledRepositories *string `json:"enabled_repositories,omitempty"` AllowedActions *string `json:"allowed_actions,omitempty"` SelectedActionsURL *string `json:"selected_actions_url,omitempty"` }
func (a *ActionsPermissions) GetAllowedActions() string
GetAllowedActions returns the AllowedActions field if it's non-nil, zero value otherwise.
func (a *ActionsPermissions) GetEnabledRepositories() string
GetEnabledRepositories returns the EnabledRepositories field if it's non-nil, zero value otherwise.
func (a *ActionsPermissions) GetSelectedActionsURL() string
GetSelectedActionsURL returns the SelectedActionsURL field if it's non-nil, zero value otherwise.
func (a ActionsPermissions) String() string
ActionsPermissionsRepository represents a policy for repositories and allowed actions in a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions
type ActionsPermissionsRepository struct { Enabled *bool `json:"enabled,omitempty"` AllowedActions *string `json:"allowed_actions,omitempty"` SelectedActionsURL *string `json:"selected_actions_url,omitempty"` }
func (a *ActionsPermissionsRepository) GetAllowedActions() string
GetAllowedActions returns the AllowedActions field if it's non-nil, zero value otherwise.
func (a *ActionsPermissionsRepository) GetEnabled() bool
GetEnabled returns the Enabled field if it's non-nil, zero value otherwise.
func (a *ActionsPermissionsRepository) GetSelectedActionsURL() string
GetSelectedActionsURL returns the SelectedActionsURL field if it's non-nil, zero value otherwise.
func (a ActionsPermissionsRepository) String() string
ActionsService handles communication with the actions related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/actions/
type ActionsService service
func (s *ActionsService) AddEnabledReposInOrg(ctx context.Context, owner string, repositoryID int64) (*Response, error)
AddEnabledReposInOrg adds a repository to the list of selected repositories that are enabled for GitHub Actions in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#enable-a-selected-repository-for-github-actions-in-an-organization
func (s *ActionsService) AddRepositoryAccessRunnerGroup(ctx context.Context, org string, groupID, repoID int64) (*Response, error)
AddRepositoryAccessRunnerGroup adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have visibility set to 'selected'.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#add-repository-access-to-a-self-hosted-runner-group-in-an-organization
func (s *ActionsService) AddRunnerGroupRunners(ctx context.Context, org string, groupID, runnerID int64) (*Response, error)
AddRunnerGroupRunners adds a self-hosted runner to a runner group configured in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#add-a-self-hosted-runner-to-a-group-for-an-organization
func (s *ActionsService) AddSelectedRepoToOrgSecret(ctx context.Context, org, name string, repo *Repository) (*Response, error)
AddSelectedRepoToOrgSecret adds a repository to an organization secret.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#add-selected-repository-to-an-organization-secret
func (s *ActionsService) CancelWorkflowRunByID(ctx context.Context, owner, repo string, runID int64) (*Response, error)
CancelWorkflowRunByID cancels a workflow run by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#cancel-a-workflow-run
func (s *ActionsService) CreateOrUpdateEnvSecret(ctx context.Context, repoID int, env string, eSecret *EncryptedSecret) (*Response, error)
CreateOrUpdateEnvSecret creates or updates a single environment secret with an encrypted value.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#create-or-update-an-environment-secret
func (s *ActionsService) CreateOrUpdateOrgSecret(ctx context.Context, org string, eSecret *EncryptedSecret) (*Response, error)
CreateOrUpdateOrgSecret creates or updates an organization secret with an encrypted value.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#create-or-update-an-organization-secret
func (s *ActionsService) CreateOrUpdateRepoSecret(ctx context.Context, owner, repo string, eSecret *EncryptedSecret) (*Response, error)
CreateOrUpdateRepoSecret creates or updates a repository secret with an encrypted value.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#create-or-update-a-repository-secret
func (s *ActionsService) CreateOrganizationRegistrationToken(ctx context.Context, owner string) (*RegistrationToken, *Response, error)
CreateOrganizationRegistrationToken creates a token that can be used to add a self-hosted runner to an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#create-a-registration-token-for-an-organization
func (s *ActionsService) CreateOrganizationRemoveToken(ctx context.Context, owner string) (*RemoveToken, *Response, error)
CreateOrganizationRemoveToken creates a token that can be used to remove a self-hosted runner from an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#create-a-remove-token-for-an-organization
func (s *ActionsService) CreateOrganizationRunnerGroup(ctx context.Context, org string, createReq CreateRunnerGroupRequest) (*RunnerGroup, *Response, error)
CreateOrganizationRunnerGroup creates a new self-hosted runner group for an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#create-a-self-hosted-runner-group-for-an-organization
func (s *ActionsService) CreateRegistrationToken(ctx context.Context, owner, repo string) (*RegistrationToken, *Response, error)
CreateRegistrationToken creates a token that can be used to add a self-hosted runner.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#create-a-registration-token-for-a-repository
func (s *ActionsService) CreateRemoveToken(ctx context.Context, owner, repo string) (*RemoveToken, *Response, error)
CreateRemoveToken creates a token that can be used to remove a self-hosted runner from a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#create-a-remove-token-for-a-repository
func (s *ActionsService) CreateWorkflowDispatchEventByFileName(ctx context.Context, owner, repo, workflowFileName string, event CreateWorkflowDispatchEventRequest) (*Response, error)
CreateWorkflowDispatchEventByFileName manually triggers a GitHub Actions workflow run.
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#create-a-workflow-dispatch-event
func (s *ActionsService) CreateWorkflowDispatchEventByID(ctx context.Context, owner, repo string, workflowID int64, event CreateWorkflowDispatchEventRequest) (*Response, error)
CreateWorkflowDispatchEventByID manually triggers a GitHub Actions workflow run.
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#create-a-workflow-dispatch-event
func (s *ActionsService) DeleteArtifact(ctx context.Context, owner, repo string, artifactID int64) (*Response, error)
DeleteArtifact deletes a workflow run artifact.
GitHub API docs: https://docs.github.com/en/rest/actions/artifacts#delete-an-artifact
func (s *ActionsService) DeleteEnvSecret(ctx context.Context, repoID int, env, secretName string) (*Response, error)
DeleteEnvSecret deletes a secret in an environment using the secret name.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#delete-an-environment-secret
func (s *ActionsService) DeleteOrgSecret(ctx context.Context, org, name string) (*Response, error)
DeleteOrgSecret deletes a secret in an organization using the secret name.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#delete-an-organization-secret
func (s *ActionsService) DeleteOrganizationRunnerGroup(ctx context.Context, org string, groupID int64) (*Response, error)
DeleteOrganizationRunnerGroup deletes a self-hosted runner group from an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#delete-a-self-hosted-runner-group-from-an-organization
func (s *ActionsService) DeleteRepoSecret(ctx context.Context, owner, repo, name string) (*Response, error)
DeleteRepoSecret deletes a secret in a repository using the secret name.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#delete-a-repository-secret
func (s *ActionsService) DeleteWorkflowRun(ctx context.Context, owner, repo string, runID int64) (*Response, error)
DeleteWorkflowRun deletes a workflow run by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#delete-a-workflow-run
func (s *ActionsService) DeleteWorkflowRunLogs(ctx context.Context, owner, repo string, runID int64) (*Response, error)
DeleteWorkflowRunLogs deletes all logs for a workflow run.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#delete-workflow-run-logs
func (s *ActionsService) DisableWorkflowByFileName(ctx context.Context, owner, repo, workflowFileName string) (*Response, error)
DisableWorkflowByFileName disables a workflow and sets the state of the workflow to "disabled_manually".
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#disable-a-workflow
func (s *ActionsService) DisableWorkflowByID(ctx context.Context, owner, repo string, workflowID int64) (*Response, error)
DisableWorkflowByID disables a workflow and sets the state of the workflow to "disabled_manually".
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#disable-a-workflow
func (s *ActionsService) DownloadArtifact(ctx context.Context, owner, repo string, artifactID int64, followRedirects bool) (*url.URL, *Response, error)
DownloadArtifact gets a redirect URL to download an archive for a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/artifacts#download-an-artifact
func (s *ActionsService) EnableWorkflowByFileName(ctx context.Context, owner, repo, workflowFileName string) (*Response, error)
EnableWorkflowByFileName enables a workflow and sets the state of the workflow to "active".
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#enable-a-workflow
func (s *ActionsService) EnableWorkflowByID(ctx context.Context, owner, repo string, workflowID int64) (*Response, error)
EnableWorkflowByID enables a workflow and sets the state of the workflow to "active".
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#enable-a-workflow
func (s *ActionsService) GetArtifact(ctx context.Context, owner, repo string, artifactID int64) (*Artifact, *Response, error)
GetArtifact gets a specific artifact for a workflow run.
GitHub API docs: https://docs.github.com/en/rest/actions/artifacts#get-an-artifact
func (s *ActionsService) GetEnvPublicKey(ctx context.Context, repoID int, env string) (*PublicKey, *Response, error)
GetEnvPublicKey gets a public key that should be used for secret encryption.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#get-an-environment-public-key
func (s *ActionsService) GetEnvSecret(ctx context.Context, repoID int, env, secretName string) (*Secret, *Response, error)
GetEnvSecret gets a single environment secret without revealing its encrypted value.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#get-an-environment-secret
func (s *ActionsService) GetOrgPublicKey(ctx context.Context, org string) (*PublicKey, *Response, error)
GetOrgPublicKey gets a public key that should be used for secret encryption.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#get-an-organization-public-key
func (s *ActionsService) GetOrgSecret(ctx context.Context, org, name string) (*Secret, *Response, error)
GetOrgSecret gets a single organization secret without revealing its encrypted value.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#get-an-organization-secret
func (s *ActionsService) GetOrganizationRunner(ctx context.Context, owner string, runnerID int64) (*Runner, *Response, error)
GetOrganizationRunner gets a specific self-hosted runner for an organization using its runner ID.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-an-organization
func (s *ActionsService) GetOrganizationRunnerGroup(ctx context.Context, org string, groupID int64) (*RunnerGroup, *Response, error)
GetOrganizationRunnerGroup gets a specific self-hosted runner group for an organization using its RunnerGroup ID.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#get-a-self-hosted-runner-group-for-an-organization
func (s *ActionsService) GetRepoPublicKey(ctx context.Context, owner, repo string) (*PublicKey, *Response, error)
GetRepoPublicKey gets a public key that should be used for secret encryption.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#get-a-repository-public-key
func (s *ActionsService) GetRepoSecret(ctx context.Context, owner, repo, name string) (*Secret, *Response, error)
GetRepoSecret gets a single repository secret without revealing its encrypted value.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#get-a-repository-secret
func (s *ActionsService) GetRunner(ctx context.Context, owner, repo string, runnerID int64) (*Runner, *Response, error)
GetRunner gets a specific self-hosted runner for a repository using its runner ID.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-a-repository
func (s *ActionsService) GetWorkflowByFileName(ctx context.Context, owner, repo, workflowFileName string) (*Workflow, *Response, error)
GetWorkflowByFileName gets a specific workflow by file name.
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#get-a-workflow
func (s *ActionsService) GetWorkflowByID(ctx context.Context, owner, repo string, workflowID int64) (*Workflow, *Response, error)
GetWorkflowByID gets a specific workflow by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#get-a-workflow
func (s *ActionsService) GetWorkflowJobByID(ctx context.Context, owner, repo string, jobID int64) (*WorkflowJob, *Response, error)
GetWorkflowJobByID gets a specific job in a workflow run by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run
func (s *ActionsService) GetWorkflowJobLogs(ctx context.Context, owner, repo string, jobID int64, followRedirects bool) (*url.URL, *Response, error)
GetWorkflowJobLogs gets a redirect URL to download a plain text file of logs for a workflow job.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run
func (s *ActionsService) GetWorkflowRunAttempt(ctx context.Context, owner, repo string, runID int64, attemptNumber int, opts *WorkflowRunAttemptOptions) (*WorkflowRun, *Response, error)
GetWorkflowRunAttempt gets a specific workflow run attempt.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#get-a-workflow-run-attempt
func (s *ActionsService) GetWorkflowRunByID(ctx context.Context, owner, repo string, runID int64) (*WorkflowRun, *Response, error)
GetWorkflowRunByID gets a specific workflow run by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#get-a-workflow-run
func (s *ActionsService) GetWorkflowRunLogs(ctx context.Context, owner, repo string, runID int64, followRedirects bool) (*url.URL, *Response, error)
GetWorkflowRunLogs gets a redirect URL to download a plain text file of logs for a workflow run.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#download-workflow-run-logs
func (s *ActionsService) GetWorkflowRunUsageByID(ctx context.Context, owner, repo string, runID int64) (*WorkflowRunUsage, *Response, error)
GetWorkflowRunUsageByID gets a specific workflow usage run by run ID in the unit of billable milliseconds.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#get-workflow-run-usage
func (s *ActionsService) GetWorkflowUsageByFileName(ctx context.Context, owner, repo, workflowFileName string) (*WorkflowUsage, *Response, error)
GetWorkflowUsageByFileName gets a specific workflow usage by file name in the unit of billable milliseconds.
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#get-workflow-usage
func (s *ActionsService) GetWorkflowUsageByID(ctx context.Context, owner, repo string, workflowID int64) (*WorkflowUsage, *Response, error)
GetWorkflowUsageByID gets a specific workflow usage by ID in the unit of billable milliseconds.
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#get-workflow-usage
func (s *ActionsService) ListArtifacts(ctx context.Context, owner, repo string, opts *ListOptions) (*ArtifactList, *Response, error)
ListArtifacts lists all artifacts that belong to a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/artifacts#list-artifacts-for-a-repository
func (s *ActionsService) ListEnabledReposInOrg(ctx context.Context, owner string, opts *ListOptions) (*ActionsEnabledOnOrgRepos, *Response, error)
ListEnabledReposInOrg lists the selected repositories that are enabled for GitHub Actions in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization
func (s *ActionsService) ListEnvSecrets(ctx context.Context, repoID int, env string, opts *ListOptions) (*Secrets, *Response, error)
ListEnvSecrets lists all secrets available in an environment.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#list-environment-secrets
func (s *ActionsService) ListOrgSecrets(ctx context.Context, org string, opts *ListOptions) (*Secrets, *Response, error)
ListOrgSecrets lists all secrets available in an organization without revealing their encrypted values.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#list-organization-secrets
func (s *ActionsService) ListOrganizationRunnerApplicationDownloads(ctx context.Context, owner string) ([]*RunnerApplicationDownload, *Response, error)
ListOrganizationRunnerApplicationDownloads lists self-hosted runner application binaries that can be downloaded and run.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#list-runner-applications-for-an-organization
func (s *ActionsService) ListOrganizationRunnerGroups(ctx context.Context, org string, opts *ListOrgRunnerGroupOptions) (*RunnerGroups, *Response, error)
ListOrganizationRunnerGroups lists all self-hosted runner groups configured in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#list-self-hosted-runner-groups-for-an-organization
func (s *ActionsService) ListOrganizationRunners(ctx context.Context, owner string, opts *ListOptions) (*Runners, *Response, error)
ListOrganizationRunners lists all the self-hosted runners for an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization
func (s *ActionsService) ListRepoSecrets(ctx context.Context, owner, repo string, opts *ListOptions) (*Secrets, *Response, error)
ListRepoSecrets lists all secrets available in a repository without revealing their encrypted values.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#list-repository-secrets
func (s *ActionsService) ListRepositoryAccessRunnerGroup(ctx context.Context, org string, groupID int64, opts *ListOptions) (*ListRepositories, *Response, error)
ListRepositoryAccessRunnerGroup lists the repositories with access to a self-hosted runner group configured in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#list-repository-access-to-a-self-hosted-runner-group-in-an-organization
func (s *ActionsService) ListRepositoryWorkflowRuns(ctx context.Context, owner, repo string, opts *ListWorkflowRunsOptions) (*WorkflowRuns, *Response, error)
ListRepositoryWorkflowRuns lists all workflow runs for a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs-for-a-repository
func (s *ActionsService) ListRunnerApplicationDownloads(ctx context.Context, owner, repo string) ([]*RunnerApplicationDownload, *Response, error)
ListRunnerApplicationDownloads lists self-hosted runner application binaries that can be downloaded and run.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#list-runner-applications-for-a-repository
func (s *ActionsService) ListRunnerGroupRunners(ctx context.Context, org string, groupID int64, opts *ListOptions) (*Runners, *Response, error)
ListRunnerGroupRunners lists self-hosted runners that are in a specific organization group.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#list-self-hosted-runners-in-a-group-for-an-organization
func (s *ActionsService) ListRunners(ctx context.Context, owner, repo string, opts *ListOptions) (*Runners, *Response, error)
ListRunners lists all the self-hosted runners for a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository
func (s *ActionsService) ListSelectedReposForOrgSecret(ctx context.Context, org, name string, opts *ListOptions) (*SelectedReposList, *Response, error)
ListSelectedReposForOrgSecret lists all repositories that have access to a secret.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#list-selected-repositories-for-an-organization-secret
func (s *ActionsService) ListWorkflowJobs(ctx context.Context, owner, repo string, runID int64, opts *ListWorkflowJobsOptions) (*Jobs, *Response, error)
ListWorkflowJobs lists all jobs for a workflow run.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run
func (s *ActionsService) ListWorkflowRunArtifacts(ctx context.Context, owner, repo string, runID int64, opts *ListOptions) (*ArtifactList, *Response, error)
ListWorkflowRunArtifacts lists all artifacts that belong to a workflow run.
GitHub API docs: https://docs.github.com/en/rest/actions/artifacts#list-workflow-run-artifacts
func (s *ActionsService) ListWorkflowRunsByFileName(ctx context.Context, owner, repo, workflowFileName string, opts *ListWorkflowRunsOptions) (*WorkflowRuns, *Response, error)
ListWorkflowRunsByFileName lists all workflow runs by workflow file name.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs
func (s *ActionsService) ListWorkflowRunsByID(ctx context.Context, owner, repo string, workflowID int64, opts *ListWorkflowRunsOptions) (*WorkflowRuns, *Response, error)
ListWorkflowRunsByID lists all workflow runs by workflow ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs
func (s *ActionsService) ListWorkflows(ctx context.Context, owner, repo string, opts *ListOptions) (*Workflows, *Response, error)
ListWorkflows lists all workflows in a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/workflows#list-repository-workflows
func (s *ActionsService) RemoveEnabledRepoInOrg(ctx context.Context, owner string, repositoryID int64) (*Response, error)
RemoveEnabledRepoInOrg removes a single repository from the list of enabled repos for GitHub Actions in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#disable-a-selected-repository-for-github-actions-in-an-organization
func (s *ActionsService) RemoveOrganizationRunner(ctx context.Context, owner string, runnerID int64) (*Response, error)
RemoveOrganizationRunner forces the removal of a self-hosted runner from an organization using the runner id.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-an-organization
func (s *ActionsService) RemoveRepositoryAccessRunnerGroup(ctx context.Context, org string, groupID, repoID int64) (*Response, error)
RemoveRepositoryAccessRunnerGroup removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have visibility set to 'selected'.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization
func (s *ActionsService) RemoveRunner(ctx context.Context, owner, repo string, runnerID int64) (*Response, error)
RemoveRunner forces the removal of a self-hosted runner in a repository using the runner id.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-a-repository
func (s *ActionsService) RemoveRunnerGroupRunners(ctx context.Context, org string, groupID, runnerID int64) (*Response, error)
RemoveRunnerGroupRunners removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#remove-a-self-hosted-runner-from-a-group-for-an-organization
func (s *ActionsService) RemoveSelectedRepoFromOrgSecret(ctx context.Context, org, name string, repo *Repository) (*Response, error)
RemoveSelectedRepoFromOrgSecret removes a repository from an organization secret.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#remove-selected-repository-from-an-organization-secret
func (s *ActionsService) RerunFailedJobsByID(ctx context.Context, owner, repo string, runID int64) (*Response, error)
RerunFailedJobsByID re-runs all of the failed jobs and their dependent jobs in a workflow run by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#re-run-failed-jobs-from-a-workflow-run
func (s *ActionsService) RerunJobByID(ctx context.Context, owner, repo string, jobID int64) (*Response, error)
RerunJobByID re-runs a job and its dependent jobs in a workflow run by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run
func (s *ActionsService) RerunWorkflowByID(ctx context.Context, owner, repo string, runID int64) (*Response, error)
RerunWorkflowByID re-runs a workflow by ID.
GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#re-run-a-workflow
func (s *ActionsService) SetEnabledReposInOrg(ctx context.Context, owner string, repositoryIDs []int64) (*Response, error)
SetEnabledReposInOrg replaces the list of selected repositories that are enabled for GitHub Actions in an organization..
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#set-selected-repositories-enabled-for-github-actions-in-an-organization
func (s *ActionsService) SetRepositoryAccessRunnerGroup(ctx context.Context, org string, groupID int64, ids SetRepoAccessRunnerGroupRequest) (*Response, error)
SetRepositoryAccessRunnerGroup replaces the list of repositories that have access to a self-hosted runner group configured in an organization with a new List of repositories.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#set-repository-access-for-a-self-hosted-runner-group-in-an-organization
func (s *ActionsService) SetRunnerGroupRunners(ctx context.Context, org string, groupID int64, ids SetRunnerGroupRunnersRequest) (*Response, error)
SetRunnerGroupRunners replaces the list of self-hosted runners that are part of an organization runner group with a new list of runners.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#set-self-hosted-runners-in-a-group-for-an-organization
func (s *ActionsService) SetSelectedReposForOrgSecret(ctx context.Context, org, name string, ids SelectedRepoIDs) (*Response, error)
SetSelectedReposForOrgSecret sets the repositories that have access to a secret.
GitHub API docs: https://docs.github.com/en/rest/actions/secrets#set-selected-repositories-for-an-organization-secret
func (s *ActionsService) UpdateOrganizationRunnerGroup(ctx context.Context, org string, groupID int64, updateReq UpdateRunnerGroupRequest) (*RunnerGroup, *Response, error)
UpdateOrganizationRunnerGroup updates a self-hosted runner group for an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runner-groups#update-a-self-hosted-runner-group-for-an-organization
ActiveCommitters represents the total active committers across all repositories in an Organization.
type ActiveCommitters struct { TotalAdvancedSecurityCommitters int `json:"total_advanced_security_committers"` Repositories []*RepositoryActiveCommitters `json:"repositories,omitempty"` }
ActivityListStarredOptions specifies the optional parameters to the ActivityService.ListStarred method.
type ActivityListStarredOptions struct { // How to sort the repository list. Possible values are: created, updated, // pushed, full_name. Default is "full_name". Sort string `url:"sort,omitempty"` // Direction in which to sort repositories. Possible values are: asc, desc. // Default is "asc" when sort is "full_name", otherwise default is "desc". Direction string `url:"direction,omitempty"` ListOptions }
ActivityService handles communication with the activity related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/activity/
type ActivityService service
func (s *ActivityService) DeleteRepositorySubscription(ctx context.Context, owner, repo string) (*Response, error)
DeleteRepositorySubscription deletes the subscription for the specified repository for the authenticated user.
This is used to stop watching a repository. To control whether or not to receive notifications from a repository, use SetRepositorySubscription.
GitHub API docs: https://docs.github.com/en/rest/activity/watching#delete-a-repository-subscription
func (s *ActivityService) DeleteThreadSubscription(ctx context.Context, id string) (*Response, error)
DeleteThreadSubscription deletes the subscription for the specified thread for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#delete-a-thread-subscription
func (s *ActivityService) GetRepositorySubscription(ctx context.Context, owner, repo string) (*Subscription, *Response, error)
GetRepositorySubscription returns the subscription for the specified repository for the authenticated user. If the authenticated user is not watching the repository, a nil Subscription is returned.
GitHub API docs: https://docs.github.com/en/rest/activity/watching#get-a-repository-subscription
func (s *ActivityService) GetThread(ctx context.Context, id string) (*Notification, *Response, error)
GetThread gets the specified notification thread.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#get-a-thread
func (s *ActivityService) GetThreadSubscription(ctx context.Context, id string) (*Subscription, *Response, error)
GetThreadSubscription checks to see if the authenticated user is subscribed to a thread.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#get-a-thread-subscription-for-the-authenticated-user
func (s *ActivityService) IsStarred(ctx context.Context, owner, repo string) (bool, *Response, error)
IsStarred checks if a repository is starred by authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/starring#check-if-a-repository-is-starred-by-the-authenticated-user
func (s *ActivityService) ListEvents(ctx context.Context, opts *ListOptions) ([]*Event, *Response, error)
ListEvents drinks from the firehose of all public events across GitHub.
GitHub API docs: https://docs.github.com/en/rest/activity/events#list-public-events
func (s *ActivityService) ListEventsForOrganization(ctx context.Context, org string, opts *ListOptions) ([]*Event, *Response, error)
ListEventsForOrganization lists public events for an organization.
GitHub API docs: https://docs.github.com/en/rest/activity/events#list-public-organization-events
func (s *ActivityService) ListEventsForRepoNetwork(ctx context.Context, owner, repo string, opts *ListOptions) ([]*Event, *Response, error)
ListEventsForRepoNetwork lists public events for a network of repositories.
GitHub API docs: https://docs.github.com/en/rest/activity/events#list-public-events-for-a-network-of-repositories
func (s *ActivityService) ListEventsPerformedByUser(ctx context.Context, user string, publicOnly bool, opts *ListOptions) ([]*Event, *Response, error)
ListEventsPerformedByUser lists the events performed by a user. If publicOnly is true, only public events will be returned.
GitHub API docs: https://docs.github.com/en/rest/activity/events#list-events-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/activity/events#list-public-events-for-a-user
func (s *ActivityService) ListEventsReceivedByUser(ctx context.Context, user string, publicOnly bool, opts *ListOptions) ([]*Event, *Response, error)
ListEventsReceivedByUser lists the events received by a user. If publicOnly is true, only public events will be returned.
GitHub API docs: https://docs.github.com/en/rest/activity/events#list-events-received-by-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/activity/events#list-public-events-received-by-a-user
func (s *ActivityService) ListFeeds(ctx context.Context) (*Feeds, *Response, error)
ListFeeds lists all the feeds available to the authenticated user.
GitHub provides several timeline resources in Atom format:
Timeline: The GitHub global public timeline User: The public timeline for any user, using URI template Current user public: The public timeline for the authenticated user Current user: The private timeline for the authenticated user Current user actor: The private timeline for activity created by the authenticated user Current user organizations: The private timeline for the organizations the authenticated user is a member of.
Note: Private feeds are only returned when authenticating via Basic Auth since current feed URIs use the older, non revocable auth tokens.
func (s *ActivityService) ListIssueEventsForRepository(ctx context.Context, owner, repo string, opts *ListOptions) ([]*IssueEvent, *Response, error)
ListIssueEventsForRepository lists issue events for a repository.
GitHub API docs: https://docs.github.com/en/rest/issues/events#list-issue-events-for-a-repository
func (s *ActivityService) ListNotifications(ctx context.Context, opts *NotificationListOptions) ([]*Notification, *Response, error)
ListNotifications lists all notifications for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#list-notifications-for-the-authenticated-user
func (s *ActivityService) ListRepositoryEvents(ctx context.Context, owner, repo string, opts *ListOptions) ([]*Event, *Response, error)
ListRepositoryEvents lists events for a repository.
GitHub API docs: https://docs.github.com/en/rest/activity/events#list-repository-events
func (s *ActivityService) ListRepositoryNotifications(ctx context.Context, owner, repo string, opts *NotificationListOptions) ([]*Notification, *Response, error)
ListRepositoryNotifications lists all notifications in a given repository for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#list-repository-notifications-for-the-authenticated-user
func (s *ActivityService) ListStargazers(ctx context.Context, owner, repo string, opts *ListOptions) ([]*Stargazer, *Response, error)
ListStargazers lists people who have starred the specified repo.
GitHub API docs: https://docs.github.com/en/rest/activity/starring#list-stargazers
func (s *ActivityService) ListStarred(ctx context.Context, user string, opts *ActivityListStarredOptions) ([]*StarredRepository, *Response, error)
ListStarred lists all the repos starred by a user. Passing the empty string will list the starred repositories for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/starring#list-repositories-starred-by-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/activity/starring#list-repositories-starred-by-a-user
func (s *ActivityService) ListUserEventsForOrganization(ctx context.Context, org, user string, opts *ListOptions) ([]*Event, *Response, error)
ListUserEventsForOrganization provides the user’s organization dashboard. You must be authenticated as the user to view this.
GitHub API docs: https://docs.github.com/en/rest/activity/events#list-organization-events-for-the-authenticated-user
func (s *ActivityService) ListWatched(ctx context.Context, user string, opts *ListOptions) ([]*Repository, *Response, error)
ListWatched lists the repositories the specified user is watching. Passing the empty string will fetch watched repos for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/watching#list-repositories-watched-by-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/activity/watching#list-repositories-watched-by-a-user
func (s *ActivityService) ListWatchers(ctx context.Context, owner, repo string, opts *ListOptions) ([]*User, *Response, error)
ListWatchers lists watchers of a particular repo.
GitHub API docs: https://docs.github.com/en/rest/activity/watching#list-watchers
func (s *ActivityService) MarkNotificationsRead(ctx context.Context, lastRead time.Time) (*Response, error)
MarkNotificationsRead marks all notifications up to lastRead as read.
GitHub API docs: https://docs.github.com/en/rest/activity#mark-as-read
func (s *ActivityService) MarkRepositoryNotificationsRead(ctx context.Context, owner, repo string, lastRead time.Time) (*Response, error)
MarkRepositoryNotificationsRead marks all notifications up to lastRead in the specified repository as read.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#mark-repository-notifications-as-read
func (s *ActivityService) MarkThreadRead(ctx context.Context, id string) (*Response, error)
MarkThreadRead marks the specified thread as read.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#mark-a-thread-as-read
func (s *ActivityService) SetRepositorySubscription(ctx context.Context, owner, repo string, subscription *Subscription) (*Subscription, *Response, error)
SetRepositorySubscription sets the subscription for the specified repository for the authenticated user.
To watch a repository, set subscription.Subscribed to true. To ignore notifications made within a repository, set subscription.Ignored to true. To stop watching a repository, use DeleteRepositorySubscription.
GitHub API docs: https://docs.github.com/en/rest/activity/watching#set-a-repository-subscription
func (s *ActivityService) SetThreadSubscription(ctx context.Context, id string, subscription *Subscription) (*Subscription, *Response, error)
SetThreadSubscription sets the subscription for the specified thread for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/notifications#set-a-thread-subscription
func (s *ActivityService) Star(ctx context.Context, owner, repo string) (*Response, error)
Star a repository as the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/starring#star-a-repository-for-the-authenticated-user
func (s *ActivityService) Unstar(ctx context.Context, owner, repo string) (*Response, error)
Unstar a repository as the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/activity/starring#unstar-a-repository-for-the-authenticated-user
AdminEnforcement represents the configuration to enforce required status checks for repository administrators.
type AdminEnforcement struct { URL *string `json:"url,omitempty"` Enabled bool `json:"enabled"` }
func (a *AdminEnforcement) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
AdminService handles communication with the admin related methods of the GitHub API. These API routes are normally only accessible for GitHub Enterprise installations.
GitHub API docs: https://docs.github.com/en/rest/enterprise-admin
type AdminService service
func (s *AdminService) CreateOrg(ctx context.Context, org *Organization, admin string) (*Organization, *Response, error)
CreateOrg creates a new organization in GitHub Enterprise.
Note that only a subset of the org fields are used and org must not be nil.
GitHub Enterprise API docs: https://developer.github.com/enterprise/v3/enterprise-admin/orgs/#create-an-organization
func (s *AdminService) CreateUser(ctx context.Context, login, email string) (*User, *Response, error)
CreateUser creates a new user in GitHub Enterprise.
GitHub Enterprise API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#create-a-new-user
func (s *AdminService) CreateUserImpersonation(ctx context.Context, username string, opts *ImpersonateUserOptions) (*UserAuthorization, *Response, error)
CreateUserImpersonation creates an impersonation OAuth token.
GitHub Enterprise API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#create-an-impersonation-oauth-token
func (s *AdminService) DeleteUser(ctx context.Context, username string) (*Response, error)
DeleteUser deletes a user in GitHub Enterprise.
GitHub Enterprise API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#delete-a-user
func (s *AdminService) DeleteUserImpersonation(ctx context.Context, username string) (*Response, error)
DeleteUserImpersonation deletes an impersonation OAuth token.
GitHub Enterprise API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#delete-an-impersonation-oauth-token
func (s *AdminService) GetAdminStats(ctx context.Context) (*AdminStats, *Response, error)
GetAdminStats returns a variety of metrics about a GitHub Enterprise installation.
Please note that this is only available to site administrators, otherwise it will error with a 404 not found (instead of 401 or 403).
GitHub API docs: https://docs.github.com/en/rest/enterprise-admin/admin_stats/
func (s *AdminService) RenameOrg(ctx context.Context, org *Organization, newName string) (*RenameOrgResponse, *Response, error)
RenameOrg renames an organization in GitHub Enterprise.
GitHub Enterprise API docs: https://developer.github.com/enterprise/v3/enterprise-admin/orgs/#rename-an-organization
func (s *AdminService) RenameOrgByName(ctx context.Context, org, newName string) (*RenameOrgResponse, *Response, error)
RenameOrgByName renames an organization in GitHub Enterprise using its current name.
GitHub Enterprise API docs: https://developer.github.com/enterprise/v3/enterprise-admin/orgs/#rename-an-organization
func (s *AdminService) UpdateTeamLDAPMapping(ctx context.Context, team int64, mapping *TeamLDAPMapping) (*TeamLDAPMapping, *Response, error)
UpdateTeamLDAPMapping updates the mapping between a GitHub team and an LDAP group.
GitHub API docs: https://docs.github.com/en/rest/enterprise/ldap/#update-ldap-mapping-for-a-team
func (s *AdminService) UpdateUserLDAPMapping(ctx context.Context, user string, mapping *UserLDAPMapping) (*UserLDAPMapping, *Response, error)
UpdateUserLDAPMapping updates the mapping between a GitHub user and an LDAP user.
GitHub API docs: https://docs.github.com/en/enterprise-server/rest/enterprise-admin/ldap#update-ldap-mapping-for-a-user
AdminStats represents a variety of stats of a GitHub Enterprise installation.
type AdminStats struct { Issues *IssueStats `json:"issues,omitempty"` Hooks *HookStats `json:"hooks,omitempty"` Milestones *MilestoneStats `json:"milestones,omitempty"` Orgs *OrgStats `json:"orgs,omitempty"` Comments *CommentStats `json:"comments,omitempty"` Pages *PageStats `json:"pages,omitempty"` Users *UserStats `json:"users,omitempty"` Gists *GistStats `json:"gists,omitempty"` Pulls *PullStats `json:"pulls,omitempty"` Repos *RepoStats `json:"repos,omitempty"` }
func (a *AdminStats) GetComments() *CommentStats
GetComments returns the Comments field.
func (a *AdminStats) GetGists() *GistStats
GetGists returns the Gists field.
func (a *AdminStats) GetHooks() *HookStats
GetHooks returns the Hooks field.
func (a *AdminStats) GetIssues() *IssueStats
GetIssues returns the Issues field.
func (a *AdminStats) GetMilestones() *MilestoneStats
GetMilestones returns the Milestones field.
func (a *AdminStats) GetOrgs() *OrgStats
GetOrgs returns the Orgs field.
func (a *AdminStats) GetPages() *PageStats
GetPages returns the Pages field.
func (a *AdminStats) GetPulls() *PullStats
GetPulls returns the Pulls field.
func (a *AdminStats) GetRepos() *RepoStats
GetRepos returns the Repos field.
func (a *AdminStats) GetUsers() *UserStats
GetUsers returns the Users field.
func (s AdminStats) String() string
AdvancedSecurity specifies the state of advanced security on a repository.
GitHub API docs: https://docs.github.com/en/github/getting-started-with-github/learning-about-github/about-github-advanced-security
type AdvancedSecurity struct { Status *string `json:"status,omitempty"` }
func (a *AdvancedSecurity) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (a AdvancedSecurity) String() string
AdvancedSecurityCommittersBreakdown represents the user activity breakdown for ActiveCommitters.
type AdvancedSecurityCommittersBreakdown struct { UserLogin *string `json:"user_login,omitempty"` LastPushedDate *string `json:"last_pushed_date,omitempty"` }
func (a *AdvancedSecurityCommittersBreakdown) GetLastPushedDate() string
GetLastPushedDate returns the LastPushedDate field if it's non-nil, zero value otherwise.
func (a *AdvancedSecurityCommittersBreakdown) GetUserLogin() string
GetUserLogin returns the UserLogin field if it's non-nil, zero value otherwise.
AdvisoryIdentifier represents the identifier for a Security Advisory.
type AdvisoryIdentifier struct { Value *string `json:"value,omitempty"` Type *string `json:"type,omitempty"` }
func (a *AdvisoryIdentifier) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (a *AdvisoryIdentifier) GetValue() string
GetValue returns the Value field if it's non-nil, zero value otherwise.
AdvisoryReference represents the reference url for the security advisory.
type AdvisoryReference struct { URL *string `json:"url,omitempty"` }
func (a *AdvisoryReference) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
AdvisoryVulnerability represents the vulnerability object for a Security Advisory.
type AdvisoryVulnerability struct { Package *VulnerabilityPackage `json:"package,omitempty"` Severity *string `json:"severity,omitempty"` VulnerableVersionRange *string `json:"vulnerable_version_range,omitempty"` FirstPatchedVersion *FirstPatchedVersion `json:"first_patched_version,omitempty"` }
func (a *AdvisoryVulnerability) GetFirstPatchedVersion() *FirstPatchedVersion
GetFirstPatchedVersion returns the FirstPatchedVersion field.
func (a *AdvisoryVulnerability) GetPackage() *VulnerabilityPackage
GetPackage returns the Package field.
func (a *AdvisoryVulnerability) GetSeverity() string
GetSeverity returns the Severity field if it's non-nil, zero value otherwise.
func (a *AdvisoryVulnerability) GetVulnerableVersionRange() string
GetVulnerableVersionRange returns the VulnerableVersionRange field if it's non-nil, zero value otherwise.
Alert represents an individual GitHub Code Scanning Alert on a single repository.
GitHub API docs: https://docs.github.com/en/rest/code-scanning
type Alert struct { Number *int `json:"number,omitempty"` Repository *Repository `json:"repository,omitempty"` RuleID *string `json:"rule_id,omitempty"` RuleSeverity *string `json:"rule_severity,omitempty"` RuleDescription *string `json:"rule_description,omitempty"` Rule *Rule `json:"rule,omitempty"` Tool *Tool `json:"tool,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` FixedAt *Timestamp `json:"fixed_at,omitempty"` State *string `json:"state,omitempty"` ClosedBy *User `json:"closed_by,omitempty"` ClosedAt *Timestamp `json:"closed_at,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` MostRecentInstance *MostRecentInstance `json:"most_recent_instance,omitempty"` Instances []*MostRecentInstance `json:"instances,omitempty"` DismissedBy *User `json:"dismissed_by,omitempty"` DismissedAt *Timestamp `json:"dismissed_at,omitempty"` DismissedReason *string `json:"dismissed_reason,omitempty"` InstancesURL *string `json:"instances_url,omitempty"` }
func (a *Alert) GetClosedAt() Timestamp
GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.
func (a *Alert) GetClosedBy() *User
GetClosedBy returns the ClosedBy field.
func (a *Alert) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (a *Alert) GetDismissedAt() Timestamp
GetDismissedAt returns the DismissedAt field if it's non-nil, zero value otherwise.
func (a *Alert) GetDismissedBy() *User
GetDismissedBy returns the DismissedBy field.
func (a *Alert) GetDismissedReason() string
GetDismissedReason returns the DismissedReason field if it's non-nil, zero value otherwise.
func (a *Alert) GetFixedAt() Timestamp
GetFixedAt returns the FixedAt field if it's non-nil, zero value otherwise.
func (a *Alert) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (a *Alert) GetInstancesURL() string
GetInstancesURL returns the InstancesURL field if it's non-nil, zero value otherwise.
func (a *Alert) GetMostRecentInstance() *MostRecentInstance
GetMostRecentInstance returns the MostRecentInstance field.
func (a *Alert) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (a *Alert) GetRepository() *Repository
GetRepository returns the Repository field.
func (a *Alert) GetRule() *Rule
GetRule returns the Rule field.
func (a *Alert) GetRuleDescription() string
GetRuleDescription returns the RuleDescription field if it's non-nil, zero value otherwise.
func (a *Alert) GetRuleID() string
GetRuleID returns the RuleID field if it's non-nil, zero value otherwise.
func (a *Alert) GetRuleSeverity() string
GetRuleSeverity returns the RuleSeverity field if it's non-nil, zero value otherwise.
func (a *Alert) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (a *Alert) GetTool() *Tool
GetTool returns the Tool field.
func (a *Alert) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (a *Alert) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (a *Alert) ID() int64
ID returns the ID associated with an alert. It is the number at the end of the security alert's URL.
AlertListOptions specifies optional parameters to the CodeScanningService.ListAlerts method.
type AlertListOptions struct { // State of the code scanning alerts to list. Set to closed to list only closed code scanning alerts. Default: open State string `url:"state,omitempty"` // Return code scanning alerts for a specific branch reference. The ref must be formatted as heads/<branch name>. Ref string `url:"ref,omitempty"` ListOptions }
AllowDeletions represents the configuration to accept deletion of protected branches.
type AllowDeletions struct { Enabled bool `json:"enabled"` }
AllowForcePushes represents the configuration to accept forced pushes on protected branches.
type AllowForcePushes struct { Enabled bool `json:"enabled"` }
AnalysesListOptions specifies optional parameters to the CodeScanningService.ListAnalysesForRepo method.
type AnalysesListOptions struct { // Return code scanning analyses belonging to the same SARIF upload. SarifID *string `url:"sarif_id,omitempty"` // Return code scanning analyses for a specific branch reference. The ref can be formatted as refs/heads/<branch name> or simply <branch name>. Ref *string `url:"ref,omitempty"` ListOptions }
func (a *AnalysesListOptions) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (a *AnalysesListOptions) GetSarifID() string
GetSarifID returns the SarifID field if it's non-nil, zero value otherwise.
App represents a GitHub App.
type App struct { ID *int64 `json:"id,omitempty"` Slug *string `json:"slug,omitempty"` NodeID *string `json:"node_id,omitempty"` Owner *User `json:"owner,omitempty"` Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` ExternalURL *string `json:"external_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` Permissions *InstallationPermissions `json:"permissions,omitempty"` Events []string `json:"events,omitempty"` }
func (a *App) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (a *App) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (a *App) GetExternalURL() string
GetExternalURL returns the ExternalURL field if it's non-nil, zero value otherwise.
func (a *App) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (a *App) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (a *App) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (a *App) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (a *App) GetOwner() *User
GetOwner returns the Owner field.
func (a *App) GetPermissions() *InstallationPermissions
GetPermissions returns the Permissions field.
func (a *App) GetSlug() string
GetSlug returns the Slug field if it's non-nil, zero value otherwise.
func (a *App) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
AppConfig describes the configuration of a GitHub App.
type AppConfig struct { ID *int64 `json:"id,omitempty"` Slug *string `json:"slug,omitempty"` NodeID *string `json:"node_id,omitempty"` Owner *User `json:"owner,omitempty"` Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` ExternalURL *string `json:"external_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` ClientID *string `json:"client_id,omitempty"` ClientSecret *string `json:"client_secret,omitempty"` WebhookSecret *string `json:"webhook_secret,omitempty"` PEM *string `json:"pem,omitempty"` }
func (a *AppConfig) GetClientID() string
GetClientID returns the ClientID field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetClientSecret() string
GetClientSecret returns the ClientSecret field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetExternalURL() string
GetExternalURL returns the ExternalURL field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetOwner() *User
GetOwner returns the Owner field.
func (a *AppConfig) GetPEM() string
GetPEM returns the PEM field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetSlug() string
GetSlug returns the Slug field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (a *AppConfig) GetWebhookSecret() string
GetWebhookSecret returns the WebhookSecret field if it's non-nil, zero value otherwise.
AppsService provides access to the installation related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/apps/
type AppsService service
func (s *AppsService) AddRepository(ctx context.Context, instID, repoID int64) (*Repository, *Response, error)
AddRepository adds a single repository to an installation.
GitHub API docs: https://docs.github.com/en/rest/apps/installations#add-a-repository-to-an-app-installation
func (s *AppsService) CompleteAppManifest(ctx context.Context, code string) (*AppConfig, *Response, error)
CompleteAppManifest completes the App manifest handshake flow for the given code.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#create-a-github-app-from-a-manifest
func (s *AppsService) CreateAttachment(ctx context.Context, contentReferenceID int64, title, body string) (*Attachment, *Response, error)
CreateAttachment creates a new attachment on user comment containing a url.
TODO: Find GitHub API docs.
func (s *AppsService) CreateInstallationToken(ctx context.Context, id int64, opts *InstallationTokenOptions) (*InstallationToken, *Response, error)
CreateInstallationToken creates a new installation token.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#create-an-installation-access-token-for-an-app
func (s *AppsService) DeleteInstallation(ctx context.Context, id int64) (*Response, error)
DeleteInstallation deletes the specified installation.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#delete-an-installation-for-the-authenticated-app
func (s *AppsService) FindOrganizationInstallation(ctx context.Context, org string) (*Installation, *Response, error)
FindOrganizationInstallation finds the organization's installation information.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#get-an-organization-installation-for-the-authenticated-app
func (s *AppsService) FindRepositoryInstallation(ctx context.Context, owner, repo string) (*Installation, *Response, error)
FindRepositoryInstallation finds the repository's installation information.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#get-a-repository-installation-for-the-authenticated-app
func (s *AppsService) FindRepositoryInstallationByID(ctx context.Context, id int64) (*Installation, *Response, error)
FindRepositoryInstallationByID finds the repository's installation information.
Note: FindRepositoryInstallationByID uses the undocumented GitHub API endpoint /repositories/:id/installation.
func (s *AppsService) FindUserInstallation(ctx context.Context, user string) (*Installation, *Response, error)
FindUserInstallation finds the user's installation information.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#get-a-user-installation-for-the-authenticated-app
func (s *AppsService) Get(ctx context.Context, appSlug string) (*App, *Response, error)
Get a single GitHub App. Passing the empty string will get the authenticated GitHub App.
Note: appSlug is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., https://github.com/settings/apps/:app_slug).
GitHub API docs: https://docs.github.com/en/rest/apps/apps#get-the-authenticated-app GitHub API docs: https://docs.github.com/en/rest/apps/apps#get-an-app
func (s *AppsService) GetHookConfig(ctx context.Context) (*HookConfig, *Response, error)
GetHookConfig returns the webhook configuration for a GitHub App. The underlying transport must be authenticated as an app.
GitHub API docs: https://docs.github.com/en/rest/apps#get-a-webhook-configuration-for-an-app
func (s *AppsService) GetHookDelivery(ctx context.Context, deliveryID int64) (*HookDelivery, *Response, error)
GetHookDelivery returns the App webhook delivery with the specified ID.
GitHub API docs: https://docs.github.com/en/rest/apps/webhooks#get-a-delivery-for-an-app-webhook
func (s *AppsService) GetInstallation(ctx context.Context, id int64) (*Installation, *Response, error)
GetInstallation returns the specified installation.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#get-an-installation-for-the-authenticated-app
func (s *AppsService) ListHookDeliveries(ctx context.Context, opts *ListCursorOptions) ([]*HookDelivery, *Response, error)
ListHookDeliveries lists deliveries of an App webhook.
GitHub API docs: https://docs.github.com/en/rest/apps/webhooks#list-deliveries-for-an-app-webhook
func (s *AppsService) ListInstallations(ctx context.Context, opts *ListOptions) ([]*Installation, *Response, error)
ListInstallations lists the installations that the current GitHub App has.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#list-installations-for-the-authenticated-app
func (s *AppsService) ListRepos(ctx context.Context, opts *ListOptions) (*ListRepositories, *Response, error)
ListRepos lists the repositories that are accessible to the authenticated installation.
GitHub API docs: https://docs.github.com/en/rest/apps/installations#list-repositories-accessible-to-the-app-installation
func (s *AppsService) ListUserInstallations(ctx context.Context, opts *ListOptions) ([]*Installation, *Response, error)
ListUserInstallations lists installations that are accessible to the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token
func (s *AppsService) ListUserRepos(ctx context.Context, id int64, opts *ListOptions) (*ListRepositories, *Response, error)
ListUserRepos lists repositories that are accessible to the authenticated user for an installation.
GitHub API docs: https://docs.github.com/en/rest/apps/installations#list-repositories-accessible-to-the-user-access-token
func (s *AppsService) RedeliverHookDelivery(ctx context.Context, deliveryID int64) (*HookDelivery, *Response, error)
RedeliverHookDelivery redelivers a delivery for an App webhook.
GitHub API docs: https://docs.github.com/en/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook
func (s *AppsService) RemoveRepository(ctx context.Context, instID, repoID int64) (*Response, error)
RemoveRepository removes a single repository from an installation.
GitHub API docs: https://docs.github.com/en/rest/apps/installations#remove-a-repository-from-an-app-installation
func (s *AppsService) RevokeInstallationToken(ctx context.Context) (*Response, error)
RevokeInstallationToken revokes an installation token.
GitHub API docs: https://docs.github.com/en/rest/apps/installations#revoke-an-installation-access-token
func (s *AppsService) SuspendInstallation(ctx context.Context, id int64) (*Response, error)
SuspendInstallation suspends the specified installation.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#suspend-an-app-installation
func (s *AppsService) UnsuspendInstallation(ctx context.Context, id int64) (*Response, error)
UnsuspendInstallation unsuspends the specified installation.
GitHub API docs: https://docs.github.com/en/rest/apps/apps#unsuspend-an-app-installation
func (s *AppsService) UpdateHookConfig(ctx context.Context, config *HookConfig) (*HookConfig, *Response, error)
UpdateHookConfig updates the webhook configuration for a GitHub App. The underlying transport must be authenticated as an app.
GitHub API docs: https://docs.github.com/en/rest/apps#update-a-webhook-configuration-for-an-app
ArchiveFormat is used to define the archive type when calling GetArchiveLink.
type ArchiveFormat string
const ( // Tarball specifies an archive in gzipped tar format. Tarball ArchiveFormat = "tarball" // Zipball specifies an archive in zip format. Zipball ArchiveFormat = "zipball" )
Artifact reprents a GitHub artifact. Artifacts allow sharing data between jobs in a workflow and provide storage for data once a workflow is complete.
GitHub API docs: https://docs.github.com/en/rest/actions/artifacts
type Artifact struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Name *string `json:"name,omitempty"` SizeInBytes *int64 `json:"size_in_bytes,omitempty"` ArchiveDownloadURL *string `json:"archive_download_url,omitempty"` Expired *bool `json:"expired,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` ExpiresAt *Timestamp `json:"expires_at,omitempty"` }
func (a *Artifact) GetArchiveDownloadURL() string
GetArchiveDownloadURL returns the ArchiveDownloadURL field if it's non-nil, zero value otherwise.
func (a *Artifact) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (a *Artifact) GetExpired() bool
GetExpired returns the Expired field if it's non-nil, zero value otherwise.
func (a *Artifact) GetExpiresAt() Timestamp
GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.
func (a *Artifact) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (a *Artifact) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (a *Artifact) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (a *Artifact) GetSizeInBytes() int64
GetSizeInBytes returns the SizeInBytes field if it's non-nil, zero value otherwise.
ArtifactList represents a list of GitHub artifacts.
GitHub API docs: https://docs.github.com/en/rest/actions/artifacts#artifacts
type ArtifactList struct { TotalCount *int64 `json:"total_count,omitempty"` Artifacts []*Artifact `json:"artifacts,omitempty"` }
func (a *ArtifactList) GetTotalCount() int64
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
Attachment represents a GitHub Apps attachment.
type Attachment struct { ID *int64 `json:"id,omitempty"` Title *string `json:"title,omitempty"` Body *string `json:"body,omitempty"` }
func (a *Attachment) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (a *Attachment) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (a *Attachment) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
AuditEntry describes the fields that may be represented by various audit-log "action" entries. For a list of actions see - https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#audit-log-actions
type AuditEntry struct { Action *string `json:"action,omitempty"` // The name of the action that was performed, for example `user.login` or `repo.create`. Active *bool `json:"active,omitempty"` ActiveWas *bool `json:"active_was,omitempty"` Actor *string `json:"actor,omitempty"` // The actor who performed the action. BlockedUser *string `json:"blocked_user,omitempty"` Business *string `json:"business,omitempty"` CancelledAt *Timestamp `json:"cancelled_at,omitempty"` CompletedAt *Timestamp `json:"completed_at,omitempty"` Conclusion *string `json:"conclusion,omitempty"` Config *HookConfig `json:"config,omitempty"` ConfigWas *HookConfig `json:"config_was,omitempty"` ContentType *string `json:"content_type,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` DeployKeyFingerprint *string `json:"deploy_key_fingerprint,omitempty"` DocumentID *string `json:"_document_id,omitempty"` Emoji *string `json:"emoji,omitempty"` EnvironmentName *string `json:"environment_name,omitempty"` Event *string `json:"event,omitempty"` Events []string `json:"events,omitempty"` EventsWere []string `json:"events_were,omitempty"` Explanation *string `json:"explanation,omitempty"` Fingerprint *string `json:"fingerprint,omitempty"` HeadBranch *string `json:"head_branch,omitempty"` HeadSHA *string `json:"head_sha,omitempty"` HookID *int64 `json:"hook_id,omitempty"` IsHostedRunner *bool `json:"is_hosted_runner,omitempty"` JobName *string `json:"job_name,omitempty"` LimitedAvailability *bool `json:"limited_availability,omitempty"` Message *string `json:"message,omitempty"` Name *string `json:"name,omitempty"` OldUser *string `json:"old_user,omitempty"` OpenSSHPublicKey *string `json:"openssh_public_key,omitempty"` Org *string `json:"org,omitempty"` PreviousVisibility *string `json:"previous_visibility,omitempty"` ReadOnly *string `json:"read_only,omitempty"` Repo *string `json:"repo,omitempty"` Repository *string `json:"repository,omitempty"` RepositoryPublic *bool `json:"repository_public,omitempty"` RunnerGroupID *int64 `json:"runner_group_id,omitempty"` RunnerGroupName *string `json:"runner_group_name,omitempty"` RunnerID *int64 `json:"runner_id,omitempty"` RunnerLabels []string `json:"runner_labels,omitempty"` RunnerName *string `json:"runner_name,omitempty"` SecretsPassed []string `json:"secrets_passed,omitempty"` SourceVersion *string `json:"source_version,omitempty"` StartedAt *Timestamp `json:"started_at,omitempty"` TargetLogin *string `json:"target_login,omitempty"` TargetVersion *string `json:"target_version,omitempty"` Team *string `json:"team,omitempty"` Timestamp *Timestamp `json:"@timestamp,omitempty"` // The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). TransportProtocolName *string `json:"transport_protocol_name,omitempty"` // A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. TransportProtocol *int `json:"transport_protocol,omitempty"` // The type of protocol (for example, HTTP=1 or SSH=2) used to transfer Git data. TriggerID *int64 `json:"trigger_id,omitempty"` User *string `json:"user,omitempty"` // The user that was affected by the action performed (if available). Visibility *string `json:"visibility,omitempty"` // The repository visibility, for example `public` or `private`. WorkflowID *int64 `json:"workflow_id,omitempty"` WorkflowRunID *int64 `json:"workflow_run_id,omitempty"` }
func (a *AuditEntry) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetActive() bool
GetActive returns the Active field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetActiveWas() bool
GetActiveWas returns the ActiveWas field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetActor() string
GetActor returns the Actor field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetBlockedUser() string
GetBlockedUser returns the BlockedUser field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetBusiness() string
GetBusiness returns the Business field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetCancelledAt() Timestamp
GetCancelledAt returns the CancelledAt field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetCompletedAt() Timestamp
GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetConfig() *HookConfig
GetConfig returns the Config field.
func (a *AuditEntry) GetConfigWas() *HookConfig
GetConfigWas returns the ConfigWas field.
func (a *AuditEntry) GetContentType() string
GetContentType returns the ContentType field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetDeployKeyFingerprint() string
GetDeployKeyFingerprint returns the DeployKeyFingerprint field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetDocumentID() string
GetDocumentID returns the DocumentID field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetEmoji() string
GetEmoji returns the Emoji field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetEnvironmentName() string
GetEnvironmentName returns the EnvironmentName field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetEvent() string
GetEvent returns the Event field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetExplanation() string
GetExplanation returns the Explanation field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetFingerprint() string
GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetHeadBranch() string
GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetHeadSHA() string
GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetHookID() int64
GetHookID returns the HookID field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetIsHostedRunner() bool
GetIsHostedRunner returns the IsHostedRunner field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetJobName() string
GetJobName returns the JobName field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetLimitedAvailability() bool
GetLimitedAvailability returns the LimitedAvailability field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetOldUser() string
GetOldUser returns the OldUser field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetOpenSSHPublicKey() string
GetOpenSSHPublicKey returns the OpenSSHPublicKey field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetOrg() string
GetOrg returns the Org field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetPreviousVisibility() string
GetPreviousVisibility returns the PreviousVisibility field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetReadOnly() string
GetReadOnly returns the ReadOnly field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetRepo() string
GetRepo returns the Repo field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetRepository() string
GetRepository returns the Repository field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetRepositoryPublic() bool
GetRepositoryPublic returns the RepositoryPublic field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetRunnerGroupID() int64
GetRunnerGroupID returns the RunnerGroupID field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetRunnerGroupName() string
GetRunnerGroupName returns the RunnerGroupName field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetRunnerID() int64
GetRunnerID returns the RunnerID field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetRunnerName() string
GetRunnerName returns the RunnerName field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetSourceVersion() string
GetSourceVersion returns the SourceVersion field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetStartedAt() Timestamp
GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetTargetLogin() string
GetTargetLogin returns the TargetLogin field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetTargetVersion() string
GetTargetVersion returns the TargetVersion field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetTeam() string
GetTeam returns the Team field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetTimestamp() Timestamp
GetTimestamp returns the Timestamp field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetTransportProtocol() int
GetTransportProtocol returns the TransportProtocol field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetTransportProtocolName() string
GetTransportProtocolName returns the TransportProtocolName field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetTriggerID() int64
GetTriggerID returns the TriggerID field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetUser() string
GetUser returns the User field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetWorkflowID() int64
GetWorkflowID returns the WorkflowID field if it's non-nil, zero value otherwise.
func (a *AuditEntry) GetWorkflowRunID() int64
GetWorkflowRunID returns the WorkflowRunID field if it's non-nil, zero value otherwise.
Authorization represents an individual GitHub authorization.
type Authorization struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` Scopes []Scope `json:"scopes,omitempty"` Token *string `json:"token,omitempty"` TokenLastEight *string `json:"token_last_eight,omitempty"` HashedToken *string `json:"hashed_token,omitempty"` App *AuthorizationApp `json:"app,omitempty"` Note *string `json:"note,omitempty"` NoteURL *string `json:"note_url,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` Fingerprint *string `json:"fingerprint,omitempty"` // User is only populated by the Check and Reset methods. User *User `json:"user,omitempty"` }
func (a *Authorization) GetApp() *AuthorizationApp
GetApp returns the App field.
func (a *Authorization) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (a *Authorization) GetFingerprint() string
GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.
func (a *Authorization) GetHashedToken() string
GetHashedToken returns the HashedToken field if it's non-nil, zero value otherwise.
func (a *Authorization) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (a *Authorization) GetNote() string
GetNote returns the Note field if it's non-nil, zero value otherwise.
func (a *Authorization) GetNoteURL() string
GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.
func (a *Authorization) GetToken() string
GetToken returns the Token field if it's non-nil, zero value otherwise.
func (a *Authorization) GetTokenLastEight() string
GetTokenLastEight returns the TokenLastEight field if it's non-nil, zero value otherwise.
func (a *Authorization) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (a *Authorization) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (a *Authorization) GetUser() *User
GetUser returns the User field.
func (a Authorization) String() string
AuthorizationApp represents an individual GitHub app (in the context of authorization).
type AuthorizationApp struct { URL *string `json:"url,omitempty"` Name *string `json:"name,omitempty"` ClientID *string `json:"client_id,omitempty"` }
func (a *AuthorizationApp) GetClientID() string
GetClientID returns the ClientID field if it's non-nil, zero value otherwise.
func (a *AuthorizationApp) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (a *AuthorizationApp) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (a AuthorizationApp) String() string
AuthorizationRequest represents a request to create an authorization.
type AuthorizationRequest struct { Scopes []Scope `json:"scopes,omitempty"` Note *string `json:"note,omitempty"` NoteURL *string `json:"note_url,omitempty"` ClientID *string `json:"client_id,omitempty"` ClientSecret *string `json:"client_secret,omitempty"` Fingerprint *string `json:"fingerprint,omitempty"` }
func (a *AuthorizationRequest) GetClientID() string
GetClientID returns the ClientID field if it's non-nil, zero value otherwise.
func (a *AuthorizationRequest) GetClientSecret() string
GetClientSecret returns the ClientSecret field if it's non-nil, zero value otherwise.
func (a *AuthorizationRequest) GetFingerprint() string
GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.
func (a *AuthorizationRequest) GetNote() string
GetNote returns the Note field if it's non-nil, zero value otherwise.
func (a *AuthorizationRequest) GetNoteURL() string
GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.
func (a AuthorizationRequest) String() string
AuthorizationUpdateRequest represents a request to update an authorization.
Note that for any one update, you must only provide one of the "scopes" fields. That is, you may provide only one of "Scopes", or "AddScopes", or "RemoveScopes".
GitHub API docs: https://docs.github.com/en/rest/oauth-authorizations#update-an-existing-authorization
type AuthorizationUpdateRequest struct { Scopes []string `json:"scopes,omitempty"` AddScopes []string `json:"add_scopes,omitempty"` RemoveScopes []string `json:"remove_scopes,omitempty"` Note *string `json:"note,omitempty"` NoteURL *string `json:"note_url,omitempty"` Fingerprint *string `json:"fingerprint,omitempty"` }
func (a *AuthorizationUpdateRequest) GetFingerprint() string
GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.
func (a *AuthorizationUpdateRequest) GetNote() string
GetNote returns the Note field if it's non-nil, zero value otherwise.
func (a *AuthorizationUpdateRequest) GetNoteURL() string
GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.
func (a AuthorizationUpdateRequest) String() string
AuthorizationsService handles communication with the authorization related methods of the GitHub API.
This service requires HTTP Basic Authentication; it cannot be accessed using an OAuth token.
GitHub API docs: https://docs.github.com/en/rest/oauth-authorizations
type AuthorizationsService service
func (s *AuthorizationsService) Check(ctx context.Context, clientID, accessToken string) (*Authorization, *Response, error)
Check if an OAuth token is valid for a specific app.
Note that this operation requires the use of BasicAuth, but where the username is the OAuth application clientID, and the password is its clientSecret. Invalid tokens will return a 404 Not Found.
The returned Authorization.User field will be populated.
GitHub API docs: https://docs.github.com/en/rest/apps/oauth-applications#check-a-token
func (s *AuthorizationsService) CreateImpersonation(ctx context.Context, username string, authReq *AuthorizationRequest) (*Authorization, *Response, error)
CreateImpersonation creates an impersonation OAuth token.
This requires admin permissions. With the returned Authorization.Token you can e.g. create or delete a user's public SSH key. NOTE: creating a new token automatically revokes an existing one.
GitHub API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#create-an-impersonation-oauth-token
func (s *AuthorizationsService) DeleteGrant(ctx context.Context, clientID, accessToken string) (*Response, error)
DeleteGrant deletes an OAuth application grant. Deleting an application's grant will also delete all OAuth tokens associated with the application for the user.
GitHub API docs: https://docs.github.com/en/rest/apps/oauth-applications#delete-an-app-authorization
func (s *AuthorizationsService) DeleteImpersonation(ctx context.Context, username string) (*Response, error)
DeleteImpersonation deletes an impersonation OAuth token.
NOTE: there can be only one at a time.
GitHub API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#delete-an-impersonation-oauth-token
func (s *AuthorizationsService) Reset(ctx context.Context, clientID, accessToken string) (*Authorization, *Response, error)
Reset is used to reset a valid OAuth token without end user involvement. Applications must save the "token" property in the response, because changes take effect immediately.
Note that this operation requires the use of BasicAuth, but where the username is the OAuth application clientID, and the password is its clientSecret. Invalid tokens will return a 404 Not Found.
The returned Authorization.User field will be populated.
GitHub API docs: https://docs.github.com/en/rest/apps/oauth-applications#reset-a-token
func (s *AuthorizationsService) Revoke(ctx context.Context, clientID, accessToken string) (*Response, error)
Revoke an authorization for an application.
Note that this operation requires the use of BasicAuth, but where the username is the OAuth application clientID, and the password is its clientSecret. Invalid tokens will return a 404 Not Found.
GitHub API docs: https://docs.github.com/en/rest/apps/oauth-applications#delete-an-app-token
AuthorizedActorNames represents who are authorized to edit the branch protection rules.
type AuthorizedActorNames struct { From []string `json:"from,omitempty"` }
AuthorizedActorsOnly represents if the branche rule can be edited by authorized actors only.
type AuthorizedActorsOnly struct { From *bool `json:"from,omitempty"` }
func (a *AuthorizedActorsOnly) GetFrom() bool
GetFrom returns the From field if it's non-nil, zero value otherwise.
AutoTriggerCheck enables or disables automatic creation of CheckSuite events upon pushes to the repository.
type AutoTriggerCheck struct { AppID *int64 `json:"app_id,omitempty"` // The id of the GitHub App. (Required.) Setting *bool `json:"setting,omitempty"` // Set to "true" to enable automatic creation of CheckSuite events upon pushes to the repository, or "false" to disable them. Default: "true" (Required.) }
func (a *AutoTriggerCheck) GetAppID() int64
GetAppID returns the AppID field if it's non-nil, zero value otherwise.
func (a *AutoTriggerCheck) GetSetting() bool
GetSetting returns the Setting field if it's non-nil, zero value otherwise.
Autolink represents autolinks to external resources like JIRA issues and Zendesk tickets.
type Autolink struct { ID *int64 `json:"id,omitempty"` KeyPrefix *string `json:"key_prefix,omitempty"` URLTemplate *string `json:"url_template,omitempty"` }
func (a *Autolink) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (a *Autolink) GetKeyPrefix() string
GetKeyPrefix returns the KeyPrefix field if it's non-nil, zero value otherwise.
func (a *Autolink) GetURLTemplate() string
GetURLTemplate returns the URLTemplate field if it's non-nil, zero value otherwise.
AutolinkOptions specifies parameters for RepositoriesService.AddAutolink method.
type AutolinkOptions struct { KeyPrefix *string `json:"key_prefix,omitempty"` URLTemplate *string `json:"url_template,omitempty"` }
func (a *AutolinkOptions) GetKeyPrefix() string
GetKeyPrefix returns the KeyPrefix field if it's non-nil, zero value otherwise.
func (a *AutolinkOptions) GetURLTemplate() string
GetURLTemplate returns the URLTemplate field if it's non-nil, zero value otherwise.
BasicAuthTransport is an http.RoundTripper that authenticates all requests using HTTP Basic Authentication with the provided username and password. It additionally supports users who have two-factor authentication enabled on their GitHub account.
type BasicAuthTransport struct { Username string // GitHub username Password string // GitHub password OTP string // one-time password for users with two-factor auth enabled // Transport is the underlying HTTP transport to use when making requests. // It will default to http.DefaultTransport if nil. Transport http.RoundTripper }
func (t *BasicAuthTransport) Client() *http.Client
Client returns an *http.Client that makes requests that are authenticated using HTTP Basic Authentication.
func (t *BasicAuthTransport) RoundTrip(req *http.Request) (*http.Response, error)
RoundTrip implements the RoundTripper interface.
BillingService provides access to the billing related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/billing
type BillingService service
func (s *BillingService) GetActionsBillingOrg(ctx context.Context, org string) (*ActionBilling, *Response, error)
GetActionsBillingOrg returns the summary of the free and paid GitHub Actions minutes used for an Org.
GitHub API docs: https://docs.github.com/en/rest/billing#get-github-actions-billing-for-an-organization
func (s *BillingService) GetActionsBillingUser(ctx context.Context, user string) (*ActionBilling, *Response, error)
GetActionsBillingUser returns the summary of the free and paid GitHub Actions minutes used for a user.
GitHub API docs: https://docs.github.com/en/rest/billing#get-github-actions-billing-for-a-user
func (s *BillingService) GetAdvancedSecurityActiveCommittersOrg(ctx context.Context, org string) (*ActiveCommitters, *Response, error)
GetAdvancedSecurityActiveCommittersOrg returns the GitHub Advanced Security active committers for an organization per repository.
GitHub API docs: https://docs.github.com/en/rest/billing#get-github-advanced-security-active-committers-for-an-organization
func (s *BillingService) GetPackagesBillingOrg(ctx context.Context, org string) (*PackageBilling, *Response, error)
GetPackagesBillingOrg returns the free and paid storage used for GitHub Packages in gigabytes for an Org.
GitHub API docs: https://docs.github.com/en/rest/billing#get-github-packages-billing-for-an-organization
func (s *BillingService) GetPackagesBillingUser(ctx context.Context, user string) (*PackageBilling, *Response, error)
GetPackagesBillingUser returns the free and paid storage used for GitHub Packages in gigabytes for a user.
GitHub API docs: https://docs.github.com/en/rest/billing#get-github-packages-billing-for-a-user
func (s *BillingService) GetStorageBillingOrg(ctx context.Context, org string) (*StorageBilling, *Response, error)
GetStorageBillingOrg returns the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages in gigabytes for an Org.
GitHub API docs: https://docs.github.com/en/rest/billing#get-shared-storage-billing-for-an-organization
func (s *BillingService) GetStorageBillingUser(ctx context.Context, user string) (*StorageBilling, *Response, error)
GetStorageBillingUser returns the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages in gigabytes for a user.
GitHub API docs: https://docs.github.com/en/rest/billing#get-shared-storage-billing-for-a-user
Blob represents a blob object.
type Blob struct { Content *string `json:"content,omitempty"` Encoding *string `json:"encoding,omitempty"` SHA *string `json:"sha,omitempty"` Size *int `json:"size,omitempty"` URL *string `json:"url,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (b *Blob) GetContent() string
GetContent returns the Content field if it's non-nil, zero value otherwise.
func (b *Blob) GetEncoding() string
GetEncoding returns the Encoding field if it's non-nil, zero value otherwise.
func (b *Blob) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (b *Blob) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (b *Blob) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (b *Blob) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
Branch represents a repository branch
type Branch struct { Name *string `json:"name,omitempty"` Commit *RepositoryCommit `json:"commit,omitempty"` Protected *bool `json:"protected,omitempty"` }
func (b *Branch) GetCommit() *RepositoryCommit
GetCommit returns the Commit field.
func (b *Branch) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (b *Branch) GetProtected() bool
GetProtected returns the Protected field if it's non-nil, zero value otherwise.
BranchCommit is the result of listing branches with commit SHA.
type BranchCommit struct { Name *string `json:"name,omitempty"` Commit *Commit `json:"commit,omitempty"` Protected *bool `json:"protected,omitempty"` }
func (b *BranchCommit) GetCommit() *Commit
GetCommit returns the Commit field.
func (b *BranchCommit) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (b *BranchCommit) GetProtected() bool
GetProtected returns the Protected field if it's non-nil, zero value otherwise.
BranchListOptions specifies the optional parameters to the RepositoriesService.ListBranches method.
type BranchListOptions struct { // Setting to true returns only protected branches. // When set to false, only unprotected branches are returned. // Omitting this parameter returns all branches. // Default: nil Protected *bool `url:"protected,omitempty"` ListOptions }
func (b *BranchListOptions) GetProtected() bool
GetProtected returns the Protected field if it's non-nil, zero value otherwise.
BranchPolicy represents the options for whether a branch deployment policy is applied to this environment.
type BranchPolicy struct { ProtectedBranches *bool `json:"protected_branches,omitempty"` CustomBranchPolicies *bool `json:"custom_branch_policies,omitempty"` }
func (b *BranchPolicy) GetCustomBranchPolicies() bool
GetCustomBranchPolicies returns the CustomBranchPolicies field if it's non-nil, zero value otherwise.
func (b *BranchPolicy) GetProtectedBranches() bool
GetProtectedBranches returns the ProtectedBranches field if it's non-nil, zero value otherwise.
BranchProtectionRule represents the rule applied to a repositories branch.
type BranchProtectionRule struct { ID *int64 `json:"id,omitempty"` RepositoryID *int64 `json:"repository_id,omitempty"` Name *string `json:"name,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` PullRequestReviewsEnforcementLevel *string `json:"pull_request_reviews_enforcement_level,omitempty"` RequiredApprovingReviewCount *int `json:"required_approving_review_count,omitempty"` DismissStaleReviewsOnPush *bool `json:"dismiss_stale_reviews_on_push,omitempty"` AuthorizedDismissalActorsOnly *bool `json:"authorized_dismissal_actors_only,omitempty"` IgnoreApprovalsFromContributors *bool `json:"ignore_approvals_from_contributors,omitempty"` RequireCodeOwnerReview *bool `json:"require_code_owner_review,omitempty"` RequiredStatusChecks []string `json:"required_status_checks,omitempty"` RequiredStatusChecksEnforcementLevel *string `json:"required_status_checks_enforcement_level,omitempty"` StrictRequiredStatusChecksPolicy *bool `json:"strict_required_status_checks_policy,omitempty"` SignatureRequirementEnforcementLevel *string `json:"signature_requirement_enforcement_level,omitempty"` LinearHistoryRequirementEnforcementLevel *string `json:"linear_history_requirement_enforcement_level,omitempty"` AdminEnforced *bool `json:"admin_enforced,omitempty"` AllowForcePushesEnforcementLevel *string `json:"allow_force_pushes_enforcement_level,omitempty"` AllowDeletionsEnforcementLevel *string `json:"allow_deletions_enforcement_level,omitempty"` MergeQueueEnforcementLevel *string `json:"merge_queue_enforcement_level,omitempty"` RequiredDeploymentsEnforcementLevel *string `json:"required_deployments_enforcement_level,omitempty"` RequiredConversationResolutionLevel *string `json:"required_conversation_resolution_level,omitempty"` AuthorizedActorsOnly *bool `json:"authorized_actors_only,omitempty"` AuthorizedActorNames []string `json:"authorized_actor_names,omitempty"` }
func (b *BranchProtectionRule) GetAdminEnforced() bool
GetAdminEnforced returns the AdminEnforced field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetAllowDeletionsEnforcementLevel() string
GetAllowDeletionsEnforcementLevel returns the AllowDeletionsEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetAllowForcePushesEnforcementLevel() string
GetAllowForcePushesEnforcementLevel returns the AllowForcePushesEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetAuthorizedActorsOnly() bool
GetAuthorizedActorsOnly returns the AuthorizedActorsOnly field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetAuthorizedDismissalActorsOnly() bool
GetAuthorizedDismissalActorsOnly returns the AuthorizedDismissalActorsOnly field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetDismissStaleReviewsOnPush() bool
GetDismissStaleReviewsOnPush returns the DismissStaleReviewsOnPush field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetIgnoreApprovalsFromContributors() bool
GetIgnoreApprovalsFromContributors returns the IgnoreApprovalsFromContributors field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetLinearHistoryRequirementEnforcementLevel() string
GetLinearHistoryRequirementEnforcementLevel returns the LinearHistoryRequirementEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetMergeQueueEnforcementLevel() string
GetMergeQueueEnforcementLevel returns the MergeQueueEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetPullRequestReviewsEnforcementLevel() string
GetPullRequestReviewsEnforcementLevel returns the PullRequestReviewsEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetRepositoryID() int64
GetRepositoryID returns the RepositoryID field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetRequireCodeOwnerReview() bool
GetRequireCodeOwnerReview returns the RequireCodeOwnerReview field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetRequiredApprovingReviewCount() int
GetRequiredApprovingReviewCount returns the RequiredApprovingReviewCount field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetRequiredConversationResolutionLevel() string
GetRequiredConversationResolutionLevel returns the RequiredConversationResolutionLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetRequiredDeploymentsEnforcementLevel() string
GetRequiredDeploymentsEnforcementLevel returns the RequiredDeploymentsEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetRequiredStatusChecksEnforcementLevel() string
GetRequiredStatusChecksEnforcementLevel returns the RequiredStatusChecksEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetSignatureRequirementEnforcementLevel() string
GetSignatureRequirementEnforcementLevel returns the SignatureRequirementEnforcementLevel field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetStrictRequiredStatusChecksPolicy() bool
GetStrictRequiredStatusChecksPolicy returns the StrictRequiredStatusChecksPolicy field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRule) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
BranchProtectionRuleEvent triggered when a check suite is "created", "edited", or "deleted". The Webhook event name is "branch_protection_rule".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#branch_protection_rule
type BranchProtectionRuleEvent struct { Action *string `json:"action,omitempty"` Rule *BranchProtectionRule `json:"rule,omitempty"` Changes *ProtectionChanges `json:"changes,omitempty"` Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (b *BranchProtectionRuleEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (b *BranchProtectionRuleEvent) GetChanges() *ProtectionChanges
GetChanges returns the Changes field.
func (b *BranchProtectionRuleEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (b *BranchProtectionRuleEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (b *BranchProtectionRuleEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (b *BranchProtectionRuleEvent) GetRule() *BranchProtectionRule
GetRule returns the Rule field.
func (b *BranchProtectionRuleEvent) GetSender() *User
GetSender returns the Sender field.
BranchRestrictions represents the restriction that only certain users or teams may push to a branch.
type BranchRestrictions struct { // The list of user logins with push access. Users []*User `json:"users"` // The list of team slugs with push access. Teams []*Team `json:"teams"` // The list of app slugs with push access. Apps []*App `json:"apps"` }
BranchRestrictionsRequest represents the request to create/edit the restriction that only certain users or teams may push to a branch. It is separate from BranchRestrictions above because the request structure is different from the response structure.
type BranchRestrictionsRequest struct { // The list of user logins with push access. (Required; use []string{} instead of nil for empty list.) Users []string `json:"users"` // The list of team slugs with push access. (Required; use []string{} instead of nil for empty list.) Teams []string `json:"teams"` // The list of app slugs with push access. Apps []string `json:"apps,omitempty"` }
CheckRun represents a GitHub check run on a repository associated with a GitHub app.
type CheckRun struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` HeadSHA *string `json:"head_sha,omitempty"` ExternalID *string `json:"external_id,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` DetailsURL *string `json:"details_url,omitempty"` Status *string `json:"status,omitempty"` Conclusion *string `json:"conclusion,omitempty"` StartedAt *Timestamp `json:"started_at,omitempty"` CompletedAt *Timestamp `json:"completed_at,omitempty"` Output *CheckRunOutput `json:"output,omitempty"` Name *string `json:"name,omitempty"` CheckSuite *CheckSuite `json:"check_suite,omitempty"` App *App `json:"app,omitempty"` PullRequests []*PullRequest `json:"pull_requests,omitempty"` }
func (c *CheckRun) GetApp() *App
GetApp returns the App field.
func (c *CheckRun) GetCheckSuite() *CheckSuite
GetCheckSuite returns the CheckSuite field.
func (c *CheckRun) GetCompletedAt() Timestamp
GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetDetailsURL() string
GetDetailsURL returns the DetailsURL field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetExternalID() string
GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetHeadSHA() string
GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetOutput() *CheckRunOutput
GetOutput returns the Output field.
func (c *CheckRun) GetStartedAt() Timestamp
GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (c *CheckRun) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (c CheckRun) String() string
CheckRunAction exposes further actions the integrator can perform, which a user may trigger.
type CheckRunAction struct { Label string `json:"label"` // The text to be displayed on a button in the web UI. The maximum size is 20 characters. (Required.) Description string `json:"description"` // A short explanation of what this action would do. The maximum size is 40 characters. (Required.) Identifier string `json:"identifier"` // A reference for the action on the integrator's system. The maximum size is 20 characters. (Required.) }
CheckRunAnnotation represents an annotation object for a CheckRun output.
type CheckRunAnnotation struct { Path *string `json:"path,omitempty"` StartLine *int `json:"start_line,omitempty"` EndLine *int `json:"end_line,omitempty"` StartColumn *int `json:"start_column,omitempty"` EndColumn *int `json:"end_column,omitempty"` AnnotationLevel *string `json:"annotation_level,omitempty"` Message *string `json:"message,omitempty"` Title *string `json:"title,omitempty"` RawDetails *string `json:"raw_details,omitempty"` }
func (c *CheckRunAnnotation) GetAnnotationLevel() string
GetAnnotationLevel returns the AnnotationLevel field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetEndColumn() int
GetEndColumn returns the EndColumn field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetEndLine() int
GetEndLine returns the EndLine field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetRawDetails() string
GetRawDetails returns the RawDetails field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetStartColumn() int
GetStartColumn returns the StartColumn field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetStartLine() int
GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.
func (c *CheckRunAnnotation) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
CheckRunEvent is triggered when a check run is "created", "completed", or "rerequested". The Webhook event name is "check_run".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#check_run
type CheckRunEvent struct { CheckRun *CheckRun `json:"check_run,omitempty"` // The action performed. Possible values are: "created", "completed", "rerequested" or "requested_action". Action *string `json:"action,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` // The action requested by the user. Populated when the Action is "requested_action". RequestedAction *RequestedAction `json:"requested_action,omitempty"` // }
func (c *CheckRunEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (c *CheckRunEvent) GetCheckRun() *CheckRun
GetCheckRun returns the CheckRun field.
func (c *CheckRunEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (c *CheckRunEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (c *CheckRunEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (c *CheckRunEvent) GetRequestedAction() *RequestedAction
GetRequestedAction returns the RequestedAction field.
func (c *CheckRunEvent) GetSender() *User
GetSender returns the Sender field.
CheckRunImage represents an image object for a CheckRun output.
type CheckRunImage struct { Alt *string `json:"alt,omitempty"` ImageURL *string `json:"image_url,omitempty"` Caption *string `json:"caption,omitempty"` }
func (c *CheckRunImage) GetAlt() string
GetAlt returns the Alt field if it's non-nil, zero value otherwise.
func (c *CheckRunImage) GetCaption() string
GetCaption returns the Caption field if it's non-nil, zero value otherwise.
func (c *CheckRunImage) GetImageURL() string
GetImageURL returns the ImageURL field if it's non-nil, zero value otherwise.
CheckRunOutput represents the output of a CheckRun.
type CheckRunOutput struct { Title *string `json:"title,omitempty"` Summary *string `json:"summary,omitempty"` Text *string `json:"text,omitempty"` AnnotationsCount *int `json:"annotations_count,omitempty"` AnnotationsURL *string `json:"annotations_url,omitempty"` Annotations []*CheckRunAnnotation `json:"annotations,omitempty"` Images []*CheckRunImage `json:"images,omitempty"` }
func (c *CheckRunOutput) GetAnnotationsCount() int
GetAnnotationsCount returns the AnnotationsCount field if it's non-nil, zero value otherwise.
func (c *CheckRunOutput) GetAnnotationsURL() string
GetAnnotationsURL returns the AnnotationsURL field if it's non-nil, zero value otherwise.
func (c *CheckRunOutput) GetSummary() string
GetSummary returns the Summary field if it's non-nil, zero value otherwise.
func (c *CheckRunOutput) GetText() string
GetText returns the Text field if it's non-nil, zero value otherwise.
func (c *CheckRunOutput) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
CheckSuite represents a suite of check runs.
type CheckSuite struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` HeadBranch *string `json:"head_branch,omitempty"` HeadSHA *string `json:"head_sha,omitempty"` URL *string `json:"url,omitempty"` BeforeSHA *string `json:"before,omitempty"` AfterSHA *string `json:"after,omitempty"` Status *string `json:"status,omitempty"` Conclusion *string `json:"conclusion,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` App *App `json:"app,omitempty"` Repository *Repository `json:"repository,omitempty"` PullRequests []*PullRequest `json:"pull_requests,omitempty"` // The following fields are only populated by Webhook events. HeadCommit *Commit `json:"head_commit,omitempty"` }
func (c *CheckSuite) GetAfterSHA() string
GetAfterSHA returns the AfterSHA field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetApp() *App
GetApp returns the App field.
func (c *CheckSuite) GetBeforeSHA() string
GetBeforeSHA returns the BeforeSHA field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetHeadBranch() string
GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetHeadCommit() *Commit
GetHeadCommit returns the HeadCommit field.
func (c *CheckSuite) GetHeadSHA() string
GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetRepository() *Repository
GetRepository returns the Repository field.
func (c *CheckSuite) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (c *CheckSuite) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (c CheckSuite) String() string
CheckSuiteEvent is triggered when a check suite is "completed", "requested", or "rerequested". The Webhook event name is "check_suite".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#check_suite
type CheckSuiteEvent struct { CheckSuite *CheckSuite `json:"check_suite,omitempty"` // The action performed. Possible values are: "completed", "requested" or "rerequested". Action *string `json:"action,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (c *CheckSuiteEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (c *CheckSuiteEvent) GetCheckSuite() *CheckSuite
GetCheckSuite returns the CheckSuite field.
func (c *CheckSuiteEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (c *CheckSuiteEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (c *CheckSuiteEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (c *CheckSuiteEvent) GetSender() *User
GetSender returns the Sender field.
CheckSuitePreferenceOptions set options for check suite preferences for a repository.
type CheckSuitePreferenceOptions struct { AutoTriggerChecks []*AutoTriggerCheck `json:"auto_trigger_checks,omitempty"` // A slice of auto trigger checks that can be set for a check suite in a repository. }
CheckSuitePreferenceResults represents the results of the preference set operation.
type CheckSuitePreferenceResults struct { Preferences *PreferenceList `json:"preferences,omitempty"` Repository *Repository `json:"repository,omitempty"` }
func (c *CheckSuitePreferenceResults) GetPreferences() *PreferenceList
GetPreferences returns the Preferences field.
func (c *CheckSuitePreferenceResults) GetRepository() *Repository
GetRepository returns the Repository field.
ChecksService provides access to the Checks API in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/checks/
type ChecksService service
func (s *ChecksService) CreateCheckRun(ctx context.Context, owner, repo string, opts CreateCheckRunOptions) (*CheckRun, *Response, error)
CreateCheckRun creates a check run for repository.
GitHub API docs: https://docs.github.com/en/rest/checks/runs#create-a-check-run
func (s *ChecksService) CreateCheckSuite(ctx context.Context, owner, repo string, opts CreateCheckSuiteOptions) (*CheckSuite, *Response, error)
CreateCheckSuite manually creates a check suite for a repository.
GitHub API docs: https://docs.github.com/en/rest/checks/suites#create-a-check-suite
func (s *ChecksService) GetCheckRun(ctx context.Context, owner, repo string, checkRunID int64) (*CheckRun, *Response, error)
GetCheckRun gets a check-run for a repository.
GitHub API docs: https://docs.github.com/en/rest/checks/runs#get-a-check-run
func (s *ChecksService) GetCheckSuite(ctx context.Context, owner, repo string, checkSuiteID int64) (*CheckSuite, *Response, error)
GetCheckSuite gets a single check suite.
GitHub API docs: https://docs.github.com/en/rest/checks/suites#get-a-check-suite
func (s *ChecksService) ListCheckRunAnnotations(ctx context.Context, owner, repo string, checkRunID int64, opts *ListOptions) ([]*CheckRunAnnotation, *Response, error)
ListCheckRunAnnotations lists the annotations for a check run.
GitHub API docs: https://docs.github.com/en/rest/checks/runs#list-check-run-annotations
func (s *ChecksService) ListCheckRunsCheckSuite(ctx context.Context, owner, repo string, checkSuiteID int64, opts *ListCheckRunsOptions) (*ListCheckRunsResults, *Response, error)
ListCheckRunsCheckSuite lists check runs for a check suite.
GitHub API docs: https://docs.github.com/en/rest/checks/runs#list-check-runs-in-a-check-suite
func (s *ChecksService) ListCheckRunsForRef(ctx context.Context, owner, repo, ref string, opts *ListCheckRunsOptions) (*ListCheckRunsResults, *Response, error)
ListCheckRunsForRef lists check runs for a specific ref.
GitHub API docs: https://docs.github.com/en/rest/checks/runs#list-check-runs-for-a-git-reference
func (s *ChecksService) ListCheckSuitesForRef(ctx context.Context, owner, repo, ref string, opts *ListCheckSuiteOptions) (*ListCheckSuiteResults, *Response, error)
ListCheckSuitesForRef lists check suite for a specific ref.
GitHub API docs: https://docs.github.com/en/rest/checks/suites#list-check-suites-for-a-git-reference
func (s *ChecksService) ReRequestCheckRun(ctx context.Context, owner, repo string, checkRunID int64) (*Response, error)
ReRequestCheckRun triggers GitHub to rerequest an existing check run.
GitHub API docs: https://docs.github.com/en/rest/checks/runs#rerequest-a-check-run
func (s *ChecksService) ReRequestCheckSuite(ctx context.Context, owner, repo string, checkSuiteID int64) (*Response, error)
ReRequestCheckSuite triggers GitHub to rerequest an existing check suite, without pushing new code to a repository.
GitHub API docs: https://docs.github.com/en/rest/checks/suites#rerequest-a-check-suite
func (s *ChecksService) SetCheckSuitePreferences(ctx context.Context, owner, repo string, opts CheckSuitePreferenceOptions) (*CheckSuitePreferenceResults, *Response, error)
SetCheckSuitePreferences changes the default automatic flow when creating check suites.
GitHub API docs: https://docs.github.com/en/rest/checks/suites#update-repository-preferences-for-check-suites
func (s *ChecksService) UpdateCheckRun(ctx context.Context, owner, repo string, checkRunID int64, opts UpdateCheckRunOptions) (*CheckRun, *Response, error)
UpdateCheckRun updates a check run for a specific commit in a repository.
GitHub API docs: https://docs.github.com/en/rest/checks/runs#update-a-check-run
A Client manages communication with the GitHub API.
type Client struct { // Base URL for API requests. Defaults to the public GitHub API, but can be // set to a domain endpoint to use with GitHub Enterprise. BaseURL should // always be specified with a trailing slash. BaseURL *url.URL // Base URL for uploading files. UploadURL *url.URL // User agent used when communicating with the GitHub API. UserAgent string // Services used for talking to different parts of the GitHub API. Actions *ActionsService Activity *ActivityService Admin *AdminService Apps *AppsService Authorizations *AuthorizationsService Billing *BillingService Checks *ChecksService CodeScanning *CodeScanningService Dependabot *DependabotService Enterprise *EnterpriseService Gists *GistsService Git *GitService Gitignores *GitignoresService Interactions *InteractionsService IssueImport *IssueImportService Issues *IssuesService Licenses *LicensesService Marketplace *MarketplaceService Migrations *MigrationService Organizations *OrganizationsService Projects *ProjectsService PullRequests *PullRequestsService Reactions *ReactionsService Repositories *RepositoriesService SCIM *SCIMService Search *SearchService SecretScanning *SecretScanningService Teams *TeamsService Users *UsersService // contains filtered or unexported fields }
func NewClient(httpClient *http.Client) *Client
NewClient returns a new GitHub API client. If a nil httpClient is provided, a new http.Client will be used. To use API methods which require authentication, provide an http.Client that will perform the authentication for you (such as that provided by the golang.org/x/oauth2 library).
func NewEnterpriseClient(baseURL, uploadURL string, httpClient *http.Client) (*Client, error)
NewEnterpriseClient returns a new GitHub API client with provided base URL and upload URL (often is your GitHub Enterprise hostname). If the base URL does not have the suffix "/api/v3/", it will be added automatically. If the upload URL does not have the suffix "/api/uploads", it will be added automatically. If a nil httpClient is provided, a new http.Client will be used.
Note that NewEnterpriseClient is a convenience helper only; its behavior is equivalent to using NewClient, followed by setting the BaseURL and UploadURL fields.
Another important thing is that by default, the GitHub Enterprise URL format should be http(s)://[hostname]/api/v3/ or you will always receive the 406 status code. The upload URL format should be http(s)://[hostname]/api/uploads/.
func (c *Client) APIMeta(ctx context.Context) (*APIMeta, *Response, error)
APIMeta returns information about GitHub.com, the service. Or, if you access this endpoint on your organization’s GitHub Enterprise installation, this endpoint provides information about that installation.
GitHub API docs: https://docs.github.com/en/rest/meta#get-github-meta-information
func (c *Client) BareDo(ctx context.Context, req *http.Request) (*Response, error)
BareDo sends an API request and lets you handle the api response. If an error or API Error occurs, the error will contain more information. Otherwise you are supposed to read and close the response's Body. If rate limit is exceeded and reset time is in the future, BareDo returns *RateLimitError immediately without making a network API call.
The provided ctx must be non-nil, if it is nil an error is returned. If it is canceled or times out, ctx.Err() will be returned.
func (c *Client) Client() *http.Client
Client returns the http.Client used by this GitHub client.
func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*Response, error)
Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it. If v is nil, and no error hapens, the response is returned as is. If rate limit is exceeded and reset time is in the future, Do returns *RateLimitError immediately without making a network API call.
The provided ctx must be non-nil, if it is nil an error is returned. If it is canceled or times out, ctx.Err() will be returned.
func (c *Client) GetCodeOfConduct(ctx context.Context, key string) (*CodeOfConduct, *Response, error)
GetCodeOfConduct returns an individual code of conduct.
https://docs.github.com/en/rest/codes_of_conduct/#get-an-individual-code-of-conduct
func (c *Client) ListCodesOfConduct(ctx context.Context) ([]*CodeOfConduct, *Response, error)
ListCodesOfConduct returns all codes of conduct.
GitHub API docs: https://docs.github.com/en/rest/codes_of_conduct/#list-all-codes-of-conduct
func (c *Client) ListEmojis(ctx context.Context) (map[string]string, *Response, error)
ListEmojis returns the emojis available to use on GitHub.
GitHub API docs: https://docs.github.com/en/rest/emojis/
func (c *Client) ListServiceHooks(ctx context.Context) ([]*ServiceHook, *Response, error)
ListServiceHooks lists all of the available service hooks.
GitHub API docs: https://developer.github.com/webhooks/#services
func (c *Client) Markdown(ctx context.Context, text string, opts *MarkdownOptions) (string, *Response, error)
Markdown renders an arbitrary Markdown document.
GitHub API docs: https://docs.github.com/en/rest/markdown/
▹ Example
func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Request, error)
NewRequest creates an API request. A relative URL can be provided in urlStr, in which case it is resolved relative to the BaseURL of the Client. Relative URLs should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.
func (c *Client) NewUploadRequest(urlStr string, reader io.Reader, size int64, mediaType string) (*http.Request, error)
NewUploadRequest creates an upload request. A relative URL can be provided in urlStr, in which case it is resolved relative to the UploadURL of the Client. Relative URLs should always be specified without a preceding slash.
func (c *Client) Octocat(ctx context.Context, message string) (string, *Response, error)
Octocat returns an ASCII art octocat with the specified message in a speech bubble. If message is empty, a random zen phrase is used.
func (c *Client) RateLimits(ctx context.Context) (*RateLimits, *Response, error)
RateLimits returns the rate limits for the current client.
func (c *Client) Zen(ctx context.Context) (string, *Response, error)
Zen returns a random line from The Zen of GitHub.
see also: http://warpspire.com/posts/taste/
CodeOfConduct represents a code of conduct.
type CodeOfConduct struct { Name *string `json:"name,omitempty"` Key *string `json:"key,omitempty"` URL *string `json:"url,omitempty"` Body *string `json:"body,omitempty"` }
func (c *CodeOfConduct) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (c *CodeOfConduct) GetKey() string
GetKey returns the Key field if it's non-nil, zero value otherwise.
func (c *CodeOfConduct) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (c *CodeOfConduct) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (c *CodeOfConduct) String() string
CodeResult represents a single search result.
type CodeResult struct { Name *string `json:"name,omitempty"` Path *string `json:"path,omitempty"` SHA *string `json:"sha,omitempty"` HTMLURL *string `json:"html_url,omitempty"` Repository *Repository `json:"repository,omitempty"` TextMatches []*TextMatch `json:"text_matches,omitempty"` }
func (c *CodeResult) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (c *CodeResult) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (c *CodeResult) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (c *CodeResult) GetRepository() *Repository
GetRepository returns the Repository field.
func (c *CodeResult) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (c CodeResult) String() string
CodeScanningAlertEvent is triggered when a code scanning finds a potential vulnerability or error in your code.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#code_scanning_alert
type CodeScanningAlertEvent struct { Action *string `json:"action,omitempty"` Alert *Alert `json:"alert,omitempty"` Ref *string `json:"ref,omitempty"` // CommitOID is the commit SHA of the code scanning alert CommitOID *string `json:"commit_oid,omitempty"` Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` }
func (c *CodeScanningAlertEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (c *CodeScanningAlertEvent) GetAlert() *Alert
GetAlert returns the Alert field.
func (c *CodeScanningAlertEvent) GetCommitOID() string
GetCommitOID returns the CommitOID field if it's non-nil, zero value otherwise.
func (c *CodeScanningAlertEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (c *CodeScanningAlertEvent) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (c *CodeScanningAlertEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (c *CodeScanningAlertEvent) GetSender() *User
GetSender returns the Sender field.
CodeScanningService handles communication with the code scanning related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/code-scanning
type CodeScanningService service
func (s *CodeScanningService) GetAlert(ctx context.Context, owner, repo string, id int64) (*Alert, *Response, error)
GetAlert gets a single code scanning alert for a repository.
You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.
The security alert_id is the number at the end of the security alert's URL.
GitHub API docs: https://docs.github.com/en/rest/code-scanning#get-a-code-scanning-alert
func (s *CodeScanningService) GetAnalysis(ctx context.Context, owner, repo string, id int64) (*ScanningAnalysis, *Response, error)
GetAnalysis gets a single code scanning analysis for a repository.
You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.
The security analysis_id is the ID of the analysis, as returned from the ListAnalysesForRepo operation.
GitHub API docs: https://docs.github.com/en/rest/code-scanning#get-a-code-scanning-analysis-for-a-repository
func (s *CodeScanningService) ListAlertsForOrg(ctx context.Context, org string, opts *AlertListOptions) ([]*Alert, *Response, error)
ListAlertsForOrg lists code scanning alerts for an org.
You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.
GitHub API docs: https://docs.github.com/en/rest/code-scanning#list-code-scanning-alerts-for-an-organization
func (s *CodeScanningService) ListAlertsForRepo(ctx context.Context, owner, repo string, opts *AlertListOptions) ([]*Alert, *Response, error)
ListAlertsForRepo lists code scanning alerts for a repository.
Lists all open code scanning alerts for the default branch (usually master) and protected branches in a repository. You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.
GitHub API docs: https://docs.github.com/en/rest/code-scanning#list-code-scanning-alerts-for-a-repository
func (s *CodeScanningService) ListAnalysesForRepo(ctx context.Context, owner, repo string, opts *AnalysesListOptions) ([]*ScanningAnalysis, *Response, error)
ListAnalysesForRepo lists code scanning analyses for a repository.
Lists the details of all code scanning analyses for a repository, starting with the most recent. You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events read permission to use this endpoint.
GitHub API docs: https://docs.github.com/en/rest/code-scanning#list-code-scanning-analyses-for-a-repository
func (s *CodeScanningService) UploadSarif(ctx context.Context, owner, repo string, sarif *SarifAnalysis) (*SarifID, *Response, error)
UploadSarif uploads the result of code scanning job to GitHub.
For the parameter sarif, you must first compress your SARIF file using gzip and then translate the contents of the file into a Base64 encoding string. You must use an access token with the security_events scope to use this endpoint. GitHub Apps must have the security_events write permission to use this endpoint.
GitHub API docs: https://docs.github.com/en/rest/code-scanning#upload-an-analysis-as-sarif-data
CodeSearchResult represents the result of a code search.
type CodeSearchResult struct { Total *int `json:"total_count,omitempty"` IncompleteResults *bool `json:"incomplete_results,omitempty"` CodeResults []*CodeResult `json:"items,omitempty"` }
func (c *CodeSearchResult) GetIncompleteResults() bool
GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.
func (c *CodeSearchResult) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
CollaboratorInvitation represents an invitation created when adding a collaborator. GitHub API docs: https://docs.github.com/en/rest/repos/collaborators/#response-when-a-new-invitation-is-created
type CollaboratorInvitation struct { ID *int64 `json:"id,omitempty"` Repo *Repository `json:"repository,omitempty"` Invitee *User `json:"invitee,omitempty"` Inviter *User `json:"inviter,omitempty"` Permissions *string `json:"permissions,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` }
func (c *CollaboratorInvitation) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (c *CollaboratorInvitation) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (c *CollaboratorInvitation) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (c *CollaboratorInvitation) GetInvitee() *User
GetInvitee returns the Invitee field.
func (c *CollaboratorInvitation) GetInviter() *User
GetInviter returns the Inviter field.
func (c *CollaboratorInvitation) GetPermissions() string
GetPermissions returns the Permissions field if it's non-nil, zero value otherwise.
func (c *CollaboratorInvitation) GetRepo() *Repository
GetRepo returns the Repo field.
func (c *CollaboratorInvitation) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
CombinedStatus represents the combined status of a repository at a particular reference.
type CombinedStatus struct { // State is the combined state of the repository. Possible values are: // failure, pending, or success. State *string `json:"state,omitempty"` Name *string `json:"name,omitempty"` SHA *string `json:"sha,omitempty"` TotalCount *int `json:"total_count,omitempty"` Statuses []*RepoStatus `json:"statuses,omitempty"` CommitURL *string `json:"commit_url,omitempty"` RepositoryURL *string `json:"repository_url,omitempty"` }
func (c *CombinedStatus) GetCommitURL() string
GetCommitURL returns the CommitURL field if it's non-nil, zero value otherwise.
func (c *CombinedStatus) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (c *CombinedStatus) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (c *CombinedStatus) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (c *CombinedStatus) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (c *CombinedStatus) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
func (s CombinedStatus) String() string
Comment represents comments of issue to import.
type Comment struct { CreatedAt *time.Time `json:"created_at,omitempty"` Body string `json:"body"` }
func (c *Comment) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
CommentStats represents the number of total comments on commits, gists, issues and pull requests.
type CommentStats struct { TotalCommitComments *int `json:"total_commit_comments,omitempty"` TotalGistComments *int `json:"total_gist_comments,omitempty"` TotalIssueComments *int `json:"total_issue_comments,omitempty"` TotalPullRequestComments *int `json:"total_pull_request_comments,omitempty"` }
func (c *CommentStats) GetTotalCommitComments() int
GetTotalCommitComments returns the TotalCommitComments field if it's non-nil, zero value otherwise.
func (c *CommentStats) GetTotalGistComments() int
GetTotalGistComments returns the TotalGistComments field if it's non-nil, zero value otherwise.
func (c *CommentStats) GetTotalIssueComments() int
GetTotalIssueComments returns the TotalIssueComments field if it's non-nil, zero value otherwise.
func (c *CommentStats) GetTotalPullRequestComments() int
GetTotalPullRequestComments returns the TotalPullRequestComments field if it's non-nil, zero value otherwise.
func (s CommentStats) String() string
Commit represents a GitHub commit.
type Commit struct { SHA *string `json:"sha,omitempty"` Author *CommitAuthor `json:"author,omitempty"` Committer *CommitAuthor `json:"committer,omitempty"` Message *string `json:"message,omitempty"` Tree *Tree `json:"tree,omitempty"` Parents []*Commit `json:"parents,omitempty"` Stats *CommitStats `json:"stats,omitempty"` HTMLURL *string `json:"html_url,omitempty"` URL *string `json:"url,omitempty"` Verification *SignatureVerification `json:"verification,omitempty"` NodeID *string `json:"node_id,omitempty"` // CommentCount is the number of GitHub comments on the commit. This // is only populated for requests that fetch GitHub data like // Pulls.ListCommits, Repositories.ListCommits, etc. CommentCount *int `json:"comment_count,omitempty"` // SigningKey denotes a key to sign the commit with. If not nil this key will // be used to sign the commit. The private key must be present and already // decrypted. Ignored if Verification.Signature is defined. SigningKey *openpgp.Entity `json:"-"` }
func (c *Commit) GetAuthor() *CommitAuthor
GetAuthor returns the Author field.
func (c *Commit) GetCommentCount() int
GetCommentCount returns the CommentCount field if it's non-nil, zero value otherwise.
func (c *Commit) GetCommitter() *CommitAuthor
GetCommitter returns the Committer field.
func (c *Commit) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (c *Commit) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (c *Commit) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (c *Commit) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (c *Commit) GetStats() *CommitStats
GetStats returns the Stats field.
func (c *Commit) GetTree() *Tree
GetTree returns the Tree field.
func (c *Commit) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (c *Commit) GetVerification() *SignatureVerification
GetVerification returns the Verification field.
func (c Commit) String() string
CommitAuthor represents the author or committer of a commit. The commit author may not correspond to a GitHub User.
type CommitAuthor struct { Date *time.Time `json:"date,omitempty"` Name *string `json:"name,omitempty"` Email *string `json:"email,omitempty"` // The following fields are only populated by Webhook events. Login *string `json:"username,omitempty"` // Renamed for go-github consistency. }
func (c *CommitAuthor) GetDate() time.Time
GetDate returns the Date field if it's non-nil, zero value otherwise.
func (c *CommitAuthor) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (c *CommitAuthor) GetLogin() string
GetLogin returns the Login field if it's non-nil, zero value otherwise.
func (c *CommitAuthor) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (c CommitAuthor) String() string
CommitCommentEvent is triggered when a commit comment is created. The Webhook event name is "commit_comment".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#commit_comment
type CommitCommentEvent struct { Comment *RepositoryComment `json:"comment,omitempty"` // The following fields are only populated by Webhook events. Action *string `json:"action,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (c *CommitCommentEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (c *CommitCommentEvent) GetComment() *RepositoryComment
GetComment returns the Comment field.
func (c *CommitCommentEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (c *CommitCommentEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (c *CommitCommentEvent) GetSender() *User
GetSender returns the Sender field.
CommitFile represents a file modified in a commit.
type CommitFile struct { SHA *string `json:"sha,omitempty"` Filename *string `json:"filename,omitempty"` Additions *int `json:"additions,omitempty"` Deletions *int `json:"deletions,omitempty"` Changes *int `json:"changes,omitempty"` Status *string `json:"status,omitempty"` Patch *string `json:"patch,omitempty"` BlobURL *string `json:"blob_url,omitempty"` RawURL *string `json:"raw_url,omitempty"` ContentsURL *string `json:"contents_url,omitempty"` PreviousFilename *string `json:"previous_filename,omitempty"` }
func (c *CommitFile) GetAdditions() int
GetAdditions returns the Additions field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetBlobURL() string
GetBlobURL returns the BlobURL field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetChanges() int
GetChanges returns the Changes field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetContentsURL() string
GetContentsURL returns the ContentsURL field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetDeletions() int
GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetFilename() string
GetFilename returns the Filename field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetPatch() string
GetPatch returns the Patch field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetPreviousFilename() string
GetPreviousFilename returns the PreviousFilename field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetRawURL() string
GetRawURL returns the RawURL field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (c *CommitFile) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (c CommitFile) String() string
CommitResult represents a commit object as returned in commit search endpoint response.
type CommitResult struct { SHA *string `json:"sha,omitempty"` Commit *Commit `json:"commit,omitempty"` Author *User `json:"author,omitempty"` Committer *User `json:"committer,omitempty"` Parents []*Commit `json:"parents,omitempty"` HTMLURL *string `json:"html_url,omitempty"` URL *string `json:"url,omitempty"` CommentsURL *string `json:"comments_url,omitempty"` Repository *Repository `json:"repository,omitempty"` Score *float64 `json:"score,omitempty"` }
func (c *CommitResult) GetAuthor() *User
GetAuthor returns the Author field.
func (c *CommitResult) GetCommentsURL() string
GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.
func (c *CommitResult) GetCommit() *Commit
GetCommit returns the Commit field.
func (c *CommitResult) GetCommitter() *User
GetCommitter returns the Committer field.
func (c *CommitResult) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (c *CommitResult) GetRepository() *Repository
GetRepository returns the Repository field.
func (c *CommitResult) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (c *CommitResult) GetScore() *float64
GetScore returns the Score field.
func (c *CommitResult) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
CommitStats represents the number of additions / deletions from a file in a given RepositoryCommit or GistCommit.
type CommitStats struct { Additions *int `json:"additions,omitempty"` Deletions *int `json:"deletions,omitempty"` Total *int `json:"total,omitempty"` }
func (c *CommitStats) GetAdditions() int
GetAdditions returns the Additions field if it's non-nil, zero value otherwise.
func (c *CommitStats) GetDeletions() int
GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.
func (c *CommitStats) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
func (c CommitStats) String() string
CommitsComparison is the result of comparing two commits. See CompareCommits() for details.
type CommitsComparison struct { BaseCommit *RepositoryCommit `json:"base_commit,omitempty"` MergeBaseCommit *RepositoryCommit `json:"merge_base_commit,omitempty"` // Head can be 'behind' or 'ahead' Status *string `json:"status,omitempty"` AheadBy *int `json:"ahead_by,omitempty"` BehindBy *int `json:"behind_by,omitempty"` TotalCommits *int `json:"total_commits,omitempty"` Commits []*RepositoryCommit `json:"commits,omitempty"` Files []*CommitFile `json:"files,omitempty"` HTMLURL *string `json:"html_url,omitempty"` PermalinkURL *string `json:"permalink_url,omitempty"` DiffURL *string `json:"diff_url,omitempty"` PatchURL *string `json:"patch_url,omitempty"` URL *string `json:"url,omitempty"` // API URL. }
func (c *CommitsComparison) GetAheadBy() int
GetAheadBy returns the AheadBy field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetBaseCommit() *RepositoryCommit
GetBaseCommit returns the BaseCommit field.
func (c *CommitsComparison) GetBehindBy() int
GetBehindBy returns the BehindBy field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetDiffURL() string
GetDiffURL returns the DiffURL field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetMergeBaseCommit() *RepositoryCommit
GetMergeBaseCommit returns the MergeBaseCommit field.
func (c *CommitsComparison) GetPatchURL() string
GetPatchURL returns the PatchURL field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetPermalinkURL() string
GetPermalinkURL returns the PermalinkURL field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetTotalCommits() int
GetTotalCommits returns the TotalCommits field if it's non-nil, zero value otherwise.
func (c *CommitsComparison) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (c CommitsComparison) String() string
CommitsListOptions specifies the optional parameters to the RepositoriesService.ListCommits method.
type CommitsListOptions struct { // SHA or branch to start listing Commits from. SHA string `url:"sha,omitempty"` // Path that should be touched by the returned Commits. Path string `url:"path,omitempty"` // Author of by which to filter Commits. Author string `url:"author,omitempty"` // Since when should Commits be included in the response. Since time.Time `url:"since,omitempty"` // Until when should Commits be included in the response. Until time.Time `url:"until,omitempty"` ListOptions }
CommitsSearchResult represents the result of a commits search.
type CommitsSearchResult struct { Total *int `json:"total_count,omitempty"` IncompleteResults *bool `json:"incomplete_results,omitempty"` Commits []*CommitResult `json:"items,omitempty"` }
func (c *CommitsSearchResult) GetIncompleteResults() bool
GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.
func (c *CommitsSearchResult) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
CommunityHealthFiles represents the different files in the community health metrics response.
type CommunityHealthFiles struct { CodeOfConduct *Metric `json:"code_of_conduct"` CodeOfConductFile *Metric `json:"code_of_conduct_file"` Contributing *Metric `json:"contributing"` IssueTemplate *Metric `json:"issue_template"` PullRequestTemplate *Metric `json:"pull_request_template"` License *Metric `json:"license"` Readme *Metric `json:"readme"` }
func (c *CommunityHealthFiles) GetCodeOfConduct() *Metric
GetCodeOfConduct returns the CodeOfConduct field.
func (c *CommunityHealthFiles) GetCodeOfConductFile() *Metric
GetCodeOfConductFile returns the CodeOfConductFile field.
func (c *CommunityHealthFiles) GetContributing() *Metric
GetContributing returns the Contributing field.
func (c *CommunityHealthFiles) GetIssueTemplate() *Metric
GetIssueTemplate returns the IssueTemplate field.
func (c *CommunityHealthFiles) GetLicense() *Metric
GetLicense returns the License field.
func (c *CommunityHealthFiles) GetPullRequestTemplate() *Metric
GetPullRequestTemplate returns the PullRequestTemplate field.
func (c *CommunityHealthFiles) GetReadme() *Metric
GetReadme returns the Readme field.
CommunityHealthMetrics represents a response containing the community metrics of a repository.
type CommunityHealthMetrics struct { HealthPercentage *int `json:"health_percentage"` Description *string `json:"description"` Documentation *string `json:"documentation"` Files *CommunityHealthFiles `json:"files"` UpdatedAt *time.Time `json:"updated_at"` ContentReportsEnabled *bool `json:"content_reports_enabled"` }
func (c *CommunityHealthMetrics) GetContentReportsEnabled() bool
GetContentReportsEnabled returns the ContentReportsEnabled field if it's non-nil, zero value otherwise.
func (c *CommunityHealthMetrics) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (c *CommunityHealthMetrics) GetDocumentation() string
GetDocumentation returns the Documentation field if it's non-nil, zero value otherwise.
func (c *CommunityHealthMetrics) GetFiles() *CommunityHealthFiles
GetFiles returns the Files field.
func (c *CommunityHealthMetrics) GetHealthPercentage() int
GetHealthPercentage returns the HealthPercentage field if it's non-nil, zero value otherwise.
func (c *CommunityHealthMetrics) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
ContentReference represents a reference to a URL in an issue or pull request.
type ContentReference struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Reference *string `json:"reference,omitempty"` }
func (c *ContentReference) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (c *ContentReference) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (c *ContentReference) GetReference() string
GetReference returns the Reference field if it's non-nil, zero value otherwise.
ContentReferenceEvent is triggered when the body or comment of an issue or pull request includes a URL that matches a configured content reference domain. The Webhook event name is "content_reference".
GitHub API docs: https://developer.github.com/webhooks/event-payloads/#content_reference
type ContentReferenceEvent struct { Action *string `json:"action,omitempty"` ContentReference *ContentReference `json:"content_reference,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (c *ContentReferenceEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (c *ContentReferenceEvent) GetContentReference() *ContentReference
GetContentReference returns the ContentReference field.
func (c *ContentReferenceEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (c *ContentReferenceEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (c *ContentReferenceEvent) GetSender() *User
GetSender returns the Sender field.
Contributor represents a repository contributor
type Contributor struct { Login *string `json:"login,omitempty"` ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` AvatarURL *string `json:"avatar_url,omitempty"` GravatarID *string `json:"gravatar_id,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` FollowersURL *string `json:"followers_url,omitempty"` FollowingURL *string `json:"following_url,omitempty"` GistsURL *string `json:"gists_url,omitempty"` StarredURL *string `json:"starred_url,omitempty"` SubscriptionsURL *string `json:"subscriptions_url,omitempty"` OrganizationsURL *string `json:"organizations_url,omitempty"` ReposURL *string `json:"repos_url,omitempty"` EventsURL *string `json:"events_url,omitempty"` ReceivedEventsURL *string `json:"received_events_url,omitempty"` Type *string `json:"type,omitempty"` SiteAdmin *bool `json:"site_admin,omitempty"` Contributions *int `json:"contributions,omitempty"` Name *string `json:"name,omitempty"` Email *string `json:"email,omitempty"` }
func (c *Contributor) GetAvatarURL() string
GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetContributions() int
GetContributions returns the Contributions field if it's non-nil, zero value otherwise.
func (c *Contributor) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (c *Contributor) GetEventsURL() string
GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetFollowersURL() string
GetFollowersURL returns the FollowersURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetFollowingURL() string
GetFollowingURL returns the FollowingURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetGistsURL() string
GetGistsURL returns the GistsURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetGravatarID() string
GetGravatarID returns the GravatarID field if it's non-nil, zero value otherwise.
func (c *Contributor) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (c *Contributor) GetLogin() string
GetLogin returns the Login field if it's non-nil, zero value otherwise.
func (c *Contributor) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (c *Contributor) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (c *Contributor) GetOrganizationsURL() string
GetOrganizationsURL returns the OrganizationsURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetReceivedEventsURL() string
GetReceivedEventsURL returns the ReceivedEventsURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetReposURL() string
GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetSiteAdmin() bool
GetSiteAdmin returns the SiteAdmin field if it's non-nil, zero value otherwise.
func (c *Contributor) GetStarredURL() string
GetStarredURL returns the StarredURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetSubscriptionsURL() string
GetSubscriptionsURL returns the SubscriptionsURL field if it's non-nil, zero value otherwise.
func (c *Contributor) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (c *Contributor) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
ContributorStats represents a contributor to a repository and their weekly contributions to a given repo.
type ContributorStats struct { Author *Contributor `json:"author,omitempty"` Total *int `json:"total,omitempty"` Weeks []*WeeklyStats `json:"weeks,omitempty"` }
func (c *ContributorStats) GetAuthor() *Contributor
GetAuthor returns the Author field.
func (c *ContributorStats) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
func (c ContributorStats) String() string
CreateCheckRunOptions sets up parameters needed to create a CheckRun.
type CreateCheckRunOptions struct { Name string `json:"name"` // The name of the check (e.g., "code-coverage"). (Required.) HeadSHA string `json:"head_sha"` // The SHA of the commit. (Required.) DetailsURL *string `json:"details_url,omitempty"` // The URL of the integrator's site that has the full details of the check. (Optional.) ExternalID *string `json:"external_id,omitempty"` // A reference for the run on the integrator's system. (Optional.) Status *string `json:"status,omitempty"` // The current status. Can be one of "queued", "in_progress", or "completed". Default: "queued". (Optional.) Conclusion *string `json:"conclusion,omitempty"` // Can be one of "success", "failure", "neutral", "cancelled", "skipped", "timed_out", or "action_required". (Optional. Required if you provide a status of "completed".) StartedAt *Timestamp `json:"started_at,omitempty"` // The time that the check run began. (Optional.) CompletedAt *Timestamp `json:"completed_at,omitempty"` // The time the check completed. (Optional. Required if you provide conclusion.) Output *CheckRunOutput `json:"output,omitempty"` // Provide descriptive details about the run. (Optional) Actions []*CheckRunAction `json:"actions,omitempty"` // Possible further actions the integrator can perform, which a user may trigger. (Optional.) }
func (c *CreateCheckRunOptions) GetCompletedAt() Timestamp
GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.
func (c *CreateCheckRunOptions) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (c *CreateCheckRunOptions) GetDetailsURL() string
GetDetailsURL returns the DetailsURL field if it's non-nil, zero value otherwise.
func (c *CreateCheckRunOptions) GetExternalID() string
GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.
func (c *CreateCheckRunOptions) GetOutput() *CheckRunOutput
GetOutput returns the Output field.
func (c *CreateCheckRunOptions) GetStartedAt() Timestamp
GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.
func (c *CreateCheckRunOptions) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
CreateCheckSuiteOptions sets up parameters to manually create a check suites
type CreateCheckSuiteOptions struct { HeadSHA string `json:"head_sha"` // The sha of the head commit. (Required.) HeadBranch *string `json:"head_branch,omitempty"` // The name of the head branch where the code changes are implemented. }
func (c *CreateCheckSuiteOptions) GetHeadBranch() string
GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.
CreateEvent represents a created repository, branch, or tag. The Webhook event name is "create".
Note: webhooks will not receive this event for created repositories. Additionally, webhooks will not receive this event for tags if more than three tags are pushed at once.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/github-event-types#createevent
type CreateEvent struct { Ref *string `json:"ref,omitempty"` // RefType is the object that was created. Possible values are: "repository", "branch", "tag". RefType *string `json:"ref_type,omitempty"` MasterBranch *string `json:"master_branch,omitempty"` Description *string `json:"description,omitempty"` PusherType *string `json:"pusher_type,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (c *CreateEvent) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (c *CreateEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (c *CreateEvent) GetMasterBranch() string
GetMasterBranch returns the MasterBranch field if it's non-nil, zero value otherwise.
func (c *CreateEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (c *CreateEvent) GetPusherType() string
GetPusherType returns the PusherType field if it's non-nil, zero value otherwise.
func (c *CreateEvent) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (c *CreateEvent) GetRefType() string
GetRefType returns the RefType field if it's non-nil, zero value otherwise.
func (c *CreateEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (c *CreateEvent) GetSender() *User
GetSender returns the Sender field.
CreateOrgInvitationOptions specifies the parameters to the OrganizationService.Invite method.
type CreateOrgInvitationOptions struct { // GitHub user ID for the person you are inviting. Not required if you provide Email. InviteeID *int64 `json:"invitee_id,omitempty"` // Email address of the person you are inviting, which can be an existing GitHub user. // Not required if you provide InviteeID Email *string `json:"email,omitempty"` // Specify role for new member. Can be one of: // * admin - Organization owners with full administrative rights to the // organization and complete access to all repositories and teams. // * direct_member - Non-owner organization members with ability to see // other members and join teams by invitation. // * billing_manager - Non-owner organization members with ability to // manage the billing settings of your organization. // Default is "direct_member". Role *string `json:"role"` TeamID []int64 `json:"team_ids"` }
func (c *CreateOrgInvitationOptions) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (c *CreateOrgInvitationOptions) GetInviteeID() int64
GetInviteeID returns the InviteeID field if it's non-nil, zero value otherwise.
func (c *CreateOrgInvitationOptions) GetRole() string
GetRole returns the Role field if it's non-nil, zero value otherwise.
CreateRunnerGroupRequest represents a request to create a Runner group for an organization.
type CreateRunnerGroupRequest struct { Name *string `json:"name,omitempty"` Visibility *string `json:"visibility,omitempty"` // List of repository IDs that can access the runner group. SelectedRepositoryIDs []int64 `json:"selected_repository_ids,omitempty"` // Runners represent a list of runner IDs to add to the runner group. Runners []int64 `json:"runners,omitempty"` // If set to True, public repos can use this runner group AllowsPublicRepositories *bool `json:"allows_public_repositories,omitempty"` }
func (c *CreateRunnerGroupRequest) GetAllowsPublicRepositories() bool
GetAllowsPublicRepositories returns the AllowsPublicRepositories field if it's non-nil, zero value otherwise.
func (c *CreateRunnerGroupRequest) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (c *CreateRunnerGroupRequest) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
CreateUpdateEnvironment represents the fields required for the create/update operation following the Create/Update release example. See https://github.com/google/go-github/issues/992 for more information. Removed omitempty here as the API expects null values for reviewers and deployment_branch_policy to clear them.
type CreateUpdateEnvironment struct { WaitTimer *int `json:"wait_timer"` Reviewers []*EnvReviewers `json:"reviewers"` DeploymentBranchPolicy *BranchPolicy `json:"deployment_branch_policy"` }
func (c *CreateUpdateEnvironment) GetDeploymentBranchPolicy() *BranchPolicy
GetDeploymentBranchPolicy returns the DeploymentBranchPolicy field.
func (c *CreateUpdateEnvironment) GetWaitTimer() int
GetWaitTimer returns the WaitTimer field if it's non-nil, zero value otherwise.
func (c *CreateUpdateEnvironment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface. As the only way to clear a WaitTimer is to set it to 0, a missing WaitTimer object should default to 0, not null.
CreateUserProjectOptions specifies the parameters to the UsersService.CreateProject method.
type CreateUserProjectOptions struct { // The name of the project. (Required.) Name string `json:"name"` // The description of the project. (Optional.) Body *string `json:"body,omitempty"` }
func (c *CreateUserProjectOptions) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
CreateWorkflowDispatchEventRequest represents a request to create a workflow dispatch event.
type CreateWorkflowDispatchEventRequest struct { // Ref represents the reference of the workflow run. // The reference can be a branch or a tag. // Ref is required when creating a workflow dispatch event. Ref string `json:"ref"` // Inputs represents input keys and values configured in the workflow file. // The maximum number of properties is 10. // Default: Any default properties configured in the workflow file will be used when `inputs` are omitted. Inputs map[string]interface{} `json:"inputs,omitempty"` }
CustomRepoRoles represents custom repository roles for an organization. See https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization for more information.
type CustomRepoRoles struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` }
func (c *CustomRepoRoles) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (c *CustomRepoRoles) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
DeleteEvent represents a deleted branch or tag. The Webhook event name is "delete".
Note: webhooks will not receive this event for tags if more than three tags are deleted at once.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/github-event-types#deleteevent
type DeleteEvent struct { Ref *string `json:"ref,omitempty"` // RefType is the object that was deleted. Possible values are: "branch", "tag". RefType *string `json:"ref_type,omitempty"` // The following fields are only populated by Webhook events. PusherType *string `json:"pusher_type,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (d *DeleteEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (d *DeleteEvent) GetPusherType() string
GetPusherType returns the PusherType field if it's non-nil, zero value otherwise.
func (d *DeleteEvent) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (d *DeleteEvent) GetRefType() string
GetRefType returns the RefType field if it's non-nil, zero value otherwise.
func (d *DeleteEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (d *DeleteEvent) GetSender() *User
GetSender returns the Sender field.
DependabotService handles communication with the Dependabot related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/dependabot/
type DependabotService service
func (s *DependabotService) AddSelectedRepoToOrgSecret(ctx context.Context, org, name string, repo *Repository) (*Response, error)
AddSelectedRepoToOrgSecret adds a repository to an organization Dependabot secret.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#add-selected-repository-to-an-organization-secret
func (s *DependabotService) CreateOrUpdateOrgSecret(ctx context.Context, org string, eSecret *EncryptedSecret) (*Response, error)
CreateOrUpdateOrgSecret creates or updates an organization Dependabot secret with an encrypted value.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#create-or-update-an-organization-secret
func (s *DependabotService) CreateOrUpdateRepoSecret(ctx context.Context, owner, repo string, eSecret *EncryptedSecret) (*Response, error)
CreateOrUpdateRepoSecret creates or updates a repository Dependabot secret with an encrypted value.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#create-or-update-a-repository-secret
func (s *DependabotService) DeleteOrgSecret(ctx context.Context, org, name string) (*Response, error)
DeleteOrgSecret deletes a Dependabot secret in an organization using the secret name.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#delete-an-organization-secret
func (s *DependabotService) DeleteRepoSecret(ctx context.Context, owner, repo, name string) (*Response, error)
DeleteRepoSecret deletes a Dependabot secret in a repository using the secret name.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#delete-a-repository-secret
func (s *DependabotService) GetOrgPublicKey(ctx context.Context, org string) (*PublicKey, *Response, error)
GetOrgPublicKey gets a public key that should be used for Dependabot secret encryption.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#get-an-organization-public-key
func (s *DependabotService) GetOrgSecret(ctx context.Context, org, name string) (*Secret, *Response, error)
GetOrgSecret gets a single organization Dependabot secret without revealing its encrypted value.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#get-an-organization-secret
func (s *DependabotService) GetRepoPublicKey(ctx context.Context, owner, repo string) (*PublicKey, *Response, error)
GetRepoPublicKey gets a public key that should be used for Dependabot secret encryption.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#get-a-repository-public-key
func (s *DependabotService) GetRepoSecret(ctx context.Context, owner, repo, name string) (*Secret, *Response, error)
GetRepoSecret gets a single repository Dependabot secret without revealing its encrypted value.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#get-a-repository-secret
func (s *DependabotService) ListOrgSecrets(ctx context.Context, org string, opts *ListOptions) (*Secrets, *Response, error)
ListOrgSecrets lists all Dependabot secrets available in an organization without revealing their encrypted values.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#list-organization-secrets
func (s *DependabotService) ListRepoSecrets(ctx context.Context, owner, repo string, opts *ListOptions) (*Secrets, *Response, error)
ListRepoSecrets lists all Dependabot secrets available in a repository without revealing their encrypted values.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#list-repository-secrets
func (s *DependabotService) ListSelectedReposForOrgSecret(ctx context.Context, org, name string, opts *ListOptions) (*SelectedReposList, *Response, error)
ListSelectedReposForOrgSecret lists all repositories that have access to a Dependabot secret.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#list-selected-repositories-for-an-organization-secret
func (s *DependabotService) RemoveSelectedRepoFromOrgSecret(ctx context.Context, org, name string, repo *Repository) (*Response, error)
RemoveSelectedRepoFromOrgSecret removes a repository from an organization Dependabot secret.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#remove-selected-repository-from-an-organization-secret
func (s *DependabotService) SetSelectedReposForOrgSecret(ctx context.Context, org, name string, ids SelectedRepoIDs) (*Response, error)
SetSelectedReposForOrgSecret sets the repositories that have access to a Dependabot secret.
GitHub API docs: https://docs.github.com/en/rest/dependabot/secrets#set-selected-repositories-for-an-organization-secret
DeployKeyEvent is triggered when a deploy key is added or removed from a repository. The Webhook event name is "deploy_key".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#deploy_key
type DeployKeyEvent struct { // Action is the action that was performed. Possible values are: // "created" or "deleted". Action *string `json:"action,omitempty"` // The deploy key resource. Key *Key `json:"key,omitempty"` // The Repository where the event occurred Repo *Repository `json:"repository,omitempty"` // The following field is only present when the webhook is triggered on // a repository belonging to an organization. Organization *Organization `json:"organization,omitempty"` // The following fields are only populated by Webhook events. Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (d *DeployKeyEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (d *DeployKeyEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (d *DeployKeyEvent) GetKey() *Key
GetKey returns the Key field.
func (d *DeployKeyEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (d *DeployKeyEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (d *DeployKeyEvent) GetSender() *User
GetSender returns the Sender field.
Deployment represents a deployment in a repo
type Deployment struct { URL *string `json:"url,omitempty"` ID *int64 `json:"id,omitempty"` SHA *string `json:"sha,omitempty"` Ref *string `json:"ref,omitempty"` Task *string `json:"task,omitempty"` Payload json.RawMessage `json:"payload,omitempty"` Environment *string `json:"environment,omitempty"` Description *string `json:"description,omitempty"` Creator *User `json:"creator,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` StatusesURL *string `json:"statuses_url,omitempty"` RepositoryURL *string `json:"repository_url,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (d *Deployment) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (d *Deployment) GetCreator() *User
GetCreator returns the Creator field.
func (d *Deployment) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (d *Deployment) GetEnvironment() string
GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.
func (d *Deployment) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (d *Deployment) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (d *Deployment) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (d *Deployment) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (d *Deployment) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (d *Deployment) GetStatusesURL() string
GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.
func (d *Deployment) GetTask() string
GetTask returns the Task field if it's non-nil, zero value otherwise.
func (d *Deployment) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (d *Deployment) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
DeploymentEvent represents a deployment. The Webhook event name is "deployment".
Events of this type are not visible in timelines, they are only used to trigger hooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#deployment
type DeploymentEvent struct { Deployment *Deployment `json:"deployment,omitempty"` Repo *Repository `json:"repository,omitempty"` // The following fields are only populated by Webhook events. Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (d *DeploymentEvent) GetDeployment() *Deployment
GetDeployment returns the Deployment field.
func (d *DeploymentEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (d *DeploymentEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (d *DeploymentEvent) GetSender() *User
GetSender returns the Sender field.
DeploymentRequest represents a deployment request
type DeploymentRequest struct { Ref *string `json:"ref,omitempty"` Task *string `json:"task,omitempty"` AutoMerge *bool `json:"auto_merge,omitempty"` RequiredContexts *[]string `json:"required_contexts,omitempty"` Payload interface{} `json:"payload,omitempty"` Environment *string `json:"environment,omitempty"` Description *string `json:"description,omitempty"` TransientEnvironment *bool `json:"transient_environment,omitempty"` ProductionEnvironment *bool `json:"production_environment,omitempty"` }
func (d *DeploymentRequest) GetAutoMerge() bool
GetAutoMerge returns the AutoMerge field if it's non-nil, zero value otherwise.
func (d *DeploymentRequest) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (d *DeploymentRequest) GetEnvironment() string
GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.
func (d *DeploymentRequest) GetProductionEnvironment() bool
GetProductionEnvironment returns the ProductionEnvironment field if it's non-nil, zero value otherwise.
func (d *DeploymentRequest) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (d *DeploymentRequest) GetRequiredContexts() []string
GetRequiredContexts returns the RequiredContexts field if it's non-nil, zero value otherwise.
func (d *DeploymentRequest) GetTask() string
GetTask returns the Task field if it's non-nil, zero value otherwise.
func (d *DeploymentRequest) GetTransientEnvironment() bool
GetTransientEnvironment returns the TransientEnvironment field if it's non-nil, zero value otherwise.
DeploymentStatus represents the status of a particular deployment.
type DeploymentStatus struct { ID *int64 `json:"id,omitempty"` // State is the deployment state. // Possible values are: "pending", "success", "failure", "error", // "inactive", "in_progress", "queued". State *string `json:"state,omitempty"` Creator *User `json:"creator,omitempty"` Description *string `json:"description,omitempty"` Environment *string `json:"environment,omitempty"` NodeID *string `json:"node_id,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` TargetURL *string `json:"target_url,omitempty"` DeploymentURL *string `json:"deployment_url,omitempty"` RepositoryURL *string `json:"repository_url,omitempty"` EnvironmentURL *string `json:"environment_url,omitempty"` LogURL *string `json:"log_url,omitempty"` URL *string `json:"url,omitempty"` }
func (d *DeploymentStatus) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetCreator() *User
GetCreator returns the Creator field.
func (d *DeploymentStatus) GetDeploymentURL() string
GetDeploymentURL returns the DeploymentURL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetEnvironment() string
GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetEnvironmentURL() string
GetEnvironmentURL returns the EnvironmentURL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetLogURL() string
GetLogURL returns the LogURL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetTargetURL() string
GetTargetURL returns the TargetURL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatus) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
DeploymentStatusEvent represents a deployment status. The Webhook event name is "deployment_status".
Events of this type are not visible in timelines, they are only used to trigger hooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#deployment_status
type DeploymentStatusEvent struct { Deployment *Deployment `json:"deployment,omitempty"` DeploymentStatus *DeploymentStatus `json:"deployment_status,omitempty"` Repo *Repository `json:"repository,omitempty"` // The following fields are only populated by Webhook events. Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (d *DeploymentStatusEvent) GetDeployment() *Deployment
GetDeployment returns the Deployment field.
func (d *DeploymentStatusEvent) GetDeploymentStatus() *DeploymentStatus
GetDeploymentStatus returns the DeploymentStatus field.
func (d *DeploymentStatusEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (d *DeploymentStatusEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (d *DeploymentStatusEvent) GetSender() *User
GetSender returns the Sender field.
DeploymentStatusRequest represents a deployment request
type DeploymentStatusRequest struct { State *string `json:"state,omitempty"` LogURL *string `json:"log_url,omitempty"` Description *string `json:"description,omitempty"` Environment *string `json:"environment,omitempty"` EnvironmentURL *string `json:"environment_url,omitempty"` AutoInactive *bool `json:"auto_inactive,omitempty"` }
func (d *DeploymentStatusRequest) GetAutoInactive() bool
GetAutoInactive returns the AutoInactive field if it's non-nil, zero value otherwise.
func (d *DeploymentStatusRequest) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (d *DeploymentStatusRequest) GetEnvironment() string
GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.
func (d *DeploymentStatusRequest) GetEnvironmentURL() string
GetEnvironmentURL returns the EnvironmentURL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatusRequest) GetLogURL() string
GetLogURL returns the LogURL field if it's non-nil, zero value otherwise.
func (d *DeploymentStatusRequest) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
DeploymentsListOptions specifies the optional parameters to the RepositoriesService.ListDeployments method.
type DeploymentsListOptions struct { // SHA of the Deployment. SHA string `url:"sha,omitempty"` // List deployments for a given ref. Ref string `url:"ref,omitempty"` // List deployments for a given task. Task string `url:"task,omitempty"` // List deployments for a given environment. Environment string `url:"environment,omitempty"` ListOptions }
Discussion represents a discussion in a GitHub DiscussionEvent.
type Discussion struct { RepositoryURL *string `json:"repository_url,omitempty"` DiscussionCategory *DiscussionCategory `json:"category,omitempty"` AnswerHTMLURL *string `json:"answer_html_url,omitempty"` AnswerChosenAt *Timestamp `json:"answer_chosen_at,omitempty"` AnswerChosenBy *string `json:"answer_chosen_by,omitempty"` HTMLURL *string `json:"html_url,omitempty"` ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Number *int `json:"number,omitempty"` Title *string `json:"title,omitempty"` User *User `json:"user,omitempty"` State *string `json:"state,omitempty"` Locked *bool `json:"locked,omitempty"` Comments *int `json:"comments,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` AuthorAssociation *string `json:"author_association,omitempty"` ActiveLockReason *string `json:"active_lock_reason,omitempty"` Body *string `json:"body,omitempty"` }
func (d *Discussion) GetActiveLockReason() string
GetActiveLockReason returns the ActiveLockReason field if it's non-nil, zero value otherwise.
func (d *Discussion) GetAnswerChosenAt() Timestamp
GetAnswerChosenAt returns the AnswerChosenAt field if it's non-nil, zero value otherwise.
func (d *Discussion) GetAnswerChosenBy() string
GetAnswerChosenBy returns the AnswerChosenBy field if it's non-nil, zero value otherwise.
func (d *Discussion) GetAnswerHTMLURL() string
GetAnswerHTMLURL returns the AnswerHTMLURL field if it's non-nil, zero value otherwise.
func (d *Discussion) GetAuthorAssociation() string
GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.
func (d *Discussion) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (d *Discussion) GetComments() int
GetComments returns the Comments field if it's non-nil, zero value otherwise.
func (d *Discussion) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (d *Discussion) GetDiscussionCategory() *DiscussionCategory
GetDiscussionCategory returns the DiscussionCategory field.
func (d *Discussion) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (d *Discussion) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (d *Discussion) GetLocked() bool
GetLocked returns the Locked field if it's non-nil, zero value otherwise.
func (d *Discussion) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (d *Discussion) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (d *Discussion) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (d *Discussion) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (d *Discussion) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (d *Discussion) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (d *Discussion) GetUser() *User
GetUser returns the User field.
DiscussionCategory represents a discussion category in a GitHub DiscussionEvent.
type DiscussionCategory struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` RepositoryID *int64 `json:"repository_id,omitempty"` Emoji *string `json:"emoji,omitempty"` Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` Slug *string `json:"slug,omitempty"` IsAnswerable *bool `json:"is_answerable,omitempty"` }
func (d *DiscussionCategory) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetEmoji() string
GetEmoji returns the Emoji field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetIsAnswerable() bool
GetIsAnswerable returns the IsAnswerable field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetRepositoryID() int64
GetRepositoryID returns the RepositoryID field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetSlug() string
GetSlug returns the Slug field if it's non-nil, zero value otherwise.
func (d *DiscussionCategory) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
DiscussionComment represents a GitHub dicussion in a team.
type DiscussionComment struct { Author *User `json:"author,omitempty"` Body *string `json:"body,omitempty"` BodyHTML *string `json:"body_html,omitempty"` BodyVersion *string `json:"body_version,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` LastEditedAt *Timestamp `json:"last_edited_at,omitempty"` DiscussionURL *string `json:"discussion_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` NodeID *string `json:"node_id,omitempty"` Number *int `json:"number,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` URL *string `json:"url,omitempty"` Reactions *Reactions `json:"reactions,omitempty"` }
func (d *DiscussionComment) GetAuthor() *User
GetAuthor returns the Author field.
func (d *DiscussionComment) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetBodyHTML() string
GetBodyHTML returns the BodyHTML field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetBodyVersion() string
GetBodyVersion returns the BodyVersion field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetDiscussionURL() string
GetDiscussionURL returns the DiscussionURL field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetLastEditedAt() Timestamp
GetLastEditedAt returns the LastEditedAt field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetReactions() *Reactions
GetReactions returns the Reactions field.
func (d *DiscussionComment) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (d *DiscussionComment) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (c DiscussionComment) String() string
DiscussionCommentListOptions specifies optional parameters to the TeamServices.ListComments method.
type DiscussionCommentListOptions struct { // Sorts the discussion comments by the date they were created. // Accepted values are asc and desc. Default is desc. Direction string `url:"direction,omitempty"` ListOptions }
DiscussionEvent represents a webhook event for a discussion. The Webhook event name is "discussion".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#discussion
type DiscussionEvent struct { // Action is the action that was performed. Possible values are: // created, edited, deleted, pinned, unpinned, locked, unlocked, // transferred, category_changed, answered, or unanswered. Action *string `json:"action,omitempty"` Discussion *Discussion `json:"discussion,omitempty"` Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (d *DiscussionEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (d *DiscussionEvent) GetDiscussion() *Discussion
GetDiscussion returns the Discussion field.
func (d *DiscussionEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (d *DiscussionEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (d *DiscussionEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (d *DiscussionEvent) GetSender() *User
GetSender returns the Sender field.
DiscussionListOptions specifies optional parameters to the TeamServices.ListDiscussions method.
type DiscussionListOptions struct { // Sorts the discussion by the date they were created. // Accepted values are asc and desc. Default is desc. Direction string `url:"direction,omitempty"` ListOptions }
DismissalRestrictions specifies which users and teams can dismiss pull request reviews.
type DismissalRestrictions struct { // The list of users who can dimiss pull request reviews. Users []*User `json:"users"` // The list of teams which can dismiss pull request reviews. Teams []*Team `json:"teams"` }
DismissalRestrictionsRequest represents the request to create/edit the restriction to allows only specific users or teams to dimiss pull request reviews. It is separate from DismissalRestrictions above because the request structure is different from the response structure. Note: Both Users and Teams must be nil, or both must be non-nil.
type DismissalRestrictionsRequest struct { // The list of user logins who can dismiss pull request reviews. (Required; use nil to disable dismissal_restrictions or &[]string{} otherwise.) Users *[]string `json:"users,omitempty"` // The list of team slugs which can dismiss pull request reviews. (Required; use nil to disable dismissal_restrictions or &[]string{} otherwise.) Teams *[]string `json:"teams,omitempty"` }
func (d *DismissalRestrictionsRequest) GetTeams() []string
GetTeams returns the Teams field if it's non-nil, zero value otherwise.
func (d *DismissalRestrictionsRequest) GetUsers() []string
GetUsers returns the Users field if it's non-nil, zero value otherwise.
DismissedReview represents details for 'dismissed_review' events.
type DismissedReview struct { // State represents the state of the dismissed review. // Possible values are: "commented", "approved", and "changes_requested". State *string `json:"state,omitempty"` ReviewID *int64 `json:"review_id,omitempty"` DismissalMessage *string `json:"dismissal_message,omitempty"` DismissalCommitID *string `json:"dismissal_commit_id,omitempty"` }
func (d *DismissedReview) GetDismissalCommitID() string
GetDismissalCommitID returns the DismissalCommitID field if it's non-nil, zero value otherwise.
func (d *DismissedReview) GetDismissalMessage() string
GetDismissalMessage returns the DismissalMessage field if it's non-nil, zero value otherwise.
func (d *DismissedReview) GetReviewID() int64
GetReviewID returns the ReviewID field if it's non-nil, zero value otherwise.
func (d *DismissedReview) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
DispatchRequestOptions represents a request to trigger a repository_dispatch event.
type DispatchRequestOptions struct { // EventType is a custom webhook event name. (Required.) EventType string `json:"event_type"` // ClientPayload is a custom JSON payload with extra information about the webhook event. // Defaults to an empty JSON object. ClientPayload *json.RawMessage `json:"client_payload,omitempty"` }
func (d *DispatchRequestOptions) GetClientPayload() json.RawMessage
GetClientPayload returns the ClientPayload field if it's non-nil, zero value otherwise.
DraftReviewComment represents a comment part of the review.
type DraftReviewComment struct { Path *string `json:"path,omitempty"` Position *int `json:"position,omitempty"` Body *string `json:"body,omitempty"` // The new comfort-fade-preview fields StartSide *string `json:"start_side,omitempty"` Side *string `json:"side,omitempty"` StartLine *int `json:"start_line,omitempty"` Line *int `json:"line,omitempty"` }
func (d *DraftReviewComment) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (d *DraftReviewComment) GetLine() int
GetLine returns the Line field if it's non-nil, zero value otherwise.
func (d *DraftReviewComment) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (d *DraftReviewComment) GetPosition() int
GetPosition returns the Position field if it's non-nil, zero value otherwise.
func (d *DraftReviewComment) GetSide() string
GetSide returns the Side field if it's non-nil, zero value otherwise.
func (d *DraftReviewComment) GetStartLine() int
GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.
func (d *DraftReviewComment) GetStartSide() string
GetStartSide returns the StartSide field if it's non-nil, zero value otherwise.
func (c DraftReviewComment) String() string
EditBase represents the change of a pull-request base branch.
type EditBase struct { Ref *EditRef `json:"ref,omitempty"` SHA *EditSHA `json:"sha,omitempty"` }
func (e *EditBase) GetRef() *EditRef
GetRef returns the Ref field.
func (e *EditBase) GetSHA() *EditSHA
GetSHA returns the SHA field.
EditBody represents a change of pull-request body.
type EditBody struct { From *string `json:"from,omitempty"` }
func (e *EditBody) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
EditChange represents the changes when an issue, pull request, comment, or repository has been edited.
type EditChange struct { Title *EditTitle `json:"title,omitempty"` Body *EditBody `json:"body,omitempty"` Base *EditBase `json:"base,omitempty"` Repo *EditRepo `json:"repository,omitempty"` }
func (e *EditChange) GetBase() *EditBase
GetBase returns the Base field.
func (e *EditChange) GetBody() *EditBody
GetBody returns the Body field.
func (e *EditChange) GetRepo() *EditRepo
GetRepo returns the Repo field.
func (e *EditChange) GetTitle() *EditTitle
GetTitle returns the Title field.
EditRef represents a ref change of a pull-request.
type EditRef struct { From *string `json:"from,omitempty"` }
func (e *EditRef) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
EditRepo represents a change of repository name.
type EditRepo struct { Name *RepoName `json:"name,omitempty"` }
func (e *EditRepo) GetName() *RepoName
GetName returns the Name field.
EditSHA represents a sha change of a pull-request.
type EditSHA struct { From *string `json:"from,omitempty"` }
func (e *EditSHA) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
EditTitle represents a pull-request title change.
type EditTitle struct { From *string `json:"from,omitempty"` }
func (e *EditTitle) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
EncryptedSecret represents a secret that is encrypted using a public key.
The value of EncryptedValue must be your secret, encrypted with LibSodium (see documentation here: https://libsodium.gitbook.io/doc/bindings_for_other_languages) using the public key retrieved using the GetPublicKey method.
type EncryptedSecret struct { Name string `json:"-"` KeyID string `json:"key_id"` EncryptedValue string `json:"encrypted_value"` Visibility string `json:"visibility,omitempty"` SelectedRepositoryIDs SelectedRepoIDs `json:"selected_repository_ids,omitempty"` }
Enterprise represents the GitHub enterprise profile.
type Enterprise struct { ID *int `json:"id,omitempty"` Slug *string `json:"slug,omitempty"` Name *string `json:"name,omitempty"` NodeID *string `json:"node_id,omitempty"` AvatarURL *string `json:"avatar_url,omitempty"` Description *string `json:"description,omitempty"` WebsiteURL *string `json:"website_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` }
func (e *Enterprise) GetAvatarURL() string
GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetID() int
GetID returns the ID field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetSlug() string
GetSlug returns the Slug field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (e *Enterprise) GetWebsiteURL() string
GetWebsiteURL returns the WebsiteURL field if it's non-nil, zero value otherwise.
func (m Enterprise) String() string
EnterpriseService provides access to the enterprise related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/enterprise-admin/
type EnterpriseService service
func (s *EnterpriseService) CreateRegistrationToken(ctx context.Context, enterprise string) (*RegistrationToken, *Response, error)
CreateRegistrationToken creates a token that can be used to add a self-hosted runner.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#create-a-registration-token-for-an-enterprise
func (s *EnterpriseService) GetAuditLog(ctx context.Context, enterprise string, opts *GetAuditLogOptions) ([]*AuditEntry, *Response, error)
GetAuditLog gets the audit-log entries for an organization.
GitHub API docs: https://docs.github.com/en/rest/enterprise-admin/audit-log#get-the-audit-log-for-an-enterprise
func (s *EnterpriseService) ListRunners(ctx context.Context, enterprise string, opts *ListOptions) (*Runners, *Response, error)
ListRunners lists all the self-hosted runners for a enterprise.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-enterprise
func (s *EnterpriseService) RemoveRunner(ctx context.Context, enterprise string, runnerID int64) (*Response, error)
RemoveRunner forces the removal of a self-hosted runner from an enterprise using the runner id.
GitHub API docs: https://docs.github.com/en/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-an-enterprise
EnvResponse represents the slightly different format of response that comes back when you list an environment.
type EnvResponse struct { TotalCount *int `json:"total_count,omitempty"` Environments []*Environment `json:"environments,omitempty"` }
func (e *EnvResponse) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
EnvReviewers represents a single environment reviewer entry.
type EnvReviewers struct { Type *string `json:"type,omitempty"` ID *int64 `json:"id,omitempty"` }
func (e *EnvReviewers) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (e *EnvReviewers) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
Environment represents a single environment in a repository.
type Environment struct { Owner *string `json:"owner,omitempty"` Repo *string `json:"repo,omitempty"` EnvironmentName *string `json:"environment_name,omitempty"` WaitTimer *int `json:"wait_timer,omitempty"` Reviewers []*EnvReviewers `json:"reviewers,omitempty"` DeploymentBranchPolicy *BranchPolicy `json:"deployment_branch_policy,omitempty"` // Return/response only values ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Name *string `json:"name,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` ProtectionRules []*ProtectionRule `json:"protection_rules,omitempty"` }
func (e *Environment) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (e *Environment) GetDeploymentBranchPolicy() *BranchPolicy
GetDeploymentBranchPolicy returns the DeploymentBranchPolicy field.
func (e *Environment) GetEnvironmentName() string
GetEnvironmentName returns the EnvironmentName field if it's non-nil, zero value otherwise.
func (e *Environment) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (e *Environment) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (e *Environment) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (e *Environment) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (e *Environment) GetOwner() string
GetOwner returns the Owner field if it's non-nil, zero value otherwise.
func (e *Environment) GetRepo() string
GetRepo returns the Repo field if it's non-nil, zero value otherwise.
func (e *Environment) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (e *Environment) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (e *Environment) GetWaitTimer() int
GetWaitTimer returns the WaitTimer field if it's non-nil, zero value otherwise.
EnvironmentListOptions specifies the optional parameters to the RepositoriesService.ListEnvironments method.
type EnvironmentListOptions struct { ListOptions }
An Error reports more details on an individual error in an ErrorResponse. These are the possible validation error codes:
missing: resource does not exist missing_field: a required field on a resource has not been set invalid: the formatting of a field is invalid already_exists: another resource has the same valid as this field custom: some resources return this (e.g. github.User.CreateKey()), additional information is set in the Message field of the Error
GitHub error responses structure are often undocumented and inconsistent. Sometimes error is just a simple string (Issue #540). In such cases, Message represents an error message as a workaround.
GitHub API docs: https://docs.github.com/en/rest/#client-errors
type Error struct { Resource string `json:"resource"` // resource on which the error occurred Field string `json:"field"` // field on which the error occurred Code string `json:"code"` // validation error code Message string `json:"message"` // Message describing the error. Errors with Code == "custom" will always have this set. }
func (e *Error) Error() string
func (e *Error) UnmarshalJSON(data []byte) error
ErrorBlock contains a further explanation for the reason of an error. See https://developer.github.com/changes/2016-03-17-the-451-status-code-is-now-supported/ for more information.
type ErrorBlock struct { Reason string `json:"reason,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` }
func (e *ErrorBlock) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
An ErrorResponse reports one or more errors caused by an API request.
GitHub API docs: https://docs.github.com/en/rest/#client-errors
type ErrorResponse struct { Response *http.Response // HTTP response that caused this error Message string `json:"message"` // error message Errors []Error `json:"errors"` // more detail on individual errors // Block is only populated on certain types of errors such as code 451. Block *ErrorBlock `json:"block,omitempty"` // Most errors will also include a documentation_url field pointing // to some content that might help you resolve the error, see // https://docs.github.com/en/rest/#client-errors DocumentationURL string `json:"documentation_url,omitempty"` }
func (r *ErrorResponse) Error() string
func (e *ErrorResponse) GetBlock() *ErrorBlock
GetBlock returns the Block field.
func (r *ErrorResponse) Is(target error) bool
Is returns whether the provided error equals this error.
Event represents a GitHub event.
type Event struct { Type *string `json:"type,omitempty"` Public *bool `json:"public,omitempty"` RawPayload *json.RawMessage `json:"payload,omitempty"` Repo *Repository `json:"repo,omitempty"` Actor *User `json:"actor,omitempty"` Org *Organization `json:"org,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` ID *string `json:"id,omitempty"` }
func (e *Event) GetActor() *User
GetActor returns the Actor field.
func (e *Event) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (e *Event) GetID() string
GetID returns the ID field if it's non-nil, zero value otherwise.
func (e *Event) GetOrg() *Organization
GetOrg returns the Org field.
func (e *Event) GetPublic() bool
GetPublic returns the Public field if it's non-nil, zero value otherwise.
func (e *Event) GetRawPayload() json.RawMessage
GetRawPayload returns the RawPayload field if it's non-nil, zero value otherwise.
func (e *Event) GetRepo() *Repository
GetRepo returns the Repo field.
func (e *Event) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (e *Event) ParsePayload() (payload interface{}, err error)
ParsePayload parses the event payload. For recognized event types, a value of the corresponding struct type will be returned.
func (e *Event) Payload() (payload interface{})
Payload returns the parsed event payload. For recognized event types, a value of the corresponding struct type will be returned.
Deprecated: Use ParsePayload instead, which returns an error rather than panics if JSON unmarshaling raw payload fails.
func (e Event) String() string
ExternalGroup represents an external group.
type ExternalGroup struct { GroupID *int64 `json:"group_id,omitempty"` GroupName *string `json:"group_name,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` Teams []*ExternalGroupTeam `json:"teams,omitempty"` Members []*ExternalGroupMember `json:"members,omitempty"` }
func (e *ExternalGroup) GetGroupID() int64
GetGroupID returns the GroupID field if it's non-nil, zero value otherwise.
func (e *ExternalGroup) GetGroupName() string
GetGroupName returns the GroupName field if it's non-nil, zero value otherwise.
func (e *ExternalGroup) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
ExternalGroupList represents a list of external groups.
type ExternalGroupList struct { Groups []*ExternalGroup `json:"groups"` }
ExternalGroupMember represents a member of an external group.
type ExternalGroupMember struct { MemberID *int64 `json:"member_id,omitempty"` MemberLogin *string `json:"member_login,omitempty"` MemberName *string `json:"member_name,omitempty"` MemberEmail *string `json:"member_email,omitempty"` }
func (e *ExternalGroupMember) GetMemberEmail() string
GetMemberEmail returns the MemberEmail field if it's non-nil, zero value otherwise.
func (e *ExternalGroupMember) GetMemberID() int64
GetMemberID returns the MemberID field if it's non-nil, zero value otherwise.
func (e *ExternalGroupMember) GetMemberLogin() string
GetMemberLogin returns the MemberLogin field if it's non-nil, zero value otherwise.
func (e *ExternalGroupMember) GetMemberName() string
GetMemberName returns the MemberName field if it's non-nil, zero value otherwise.
ExternalGroupTeam represents a team connected to an external group.
type ExternalGroupTeam struct { TeamID *int64 `json:"team_id,omitempty"` TeamName *string `json:"team_name,omitempty"` }
func (e *ExternalGroupTeam) GetTeamID() int64
GetTeamID returns the TeamID field if it's non-nil, zero value otherwise.
func (e *ExternalGroupTeam) GetTeamName() string
GetTeamName returns the TeamName field if it's non-nil, zero value otherwise.
FeedLink represents a link to a related resource.
type FeedLink struct { HRef *string `json:"href,omitempty"` Type *string `json:"type,omitempty"` }
func (f *FeedLink) GetHRef() string
GetHRef returns the HRef field if it's non-nil, zero value otherwise.
func (f *FeedLink) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
FeedLinks represents the links in a Feed.
type FeedLinks struct { Timeline *FeedLink `json:"timeline,omitempty"` User *FeedLink `json:"user,omitempty"` CurrentUserPublic *FeedLink `json:"current_user_public,omitempty"` CurrentUser *FeedLink `json:"current_user,omitempty"` CurrentUserActor *FeedLink `json:"current_user_actor,omitempty"` CurrentUserOrganization *FeedLink `json:"current_user_organization,omitempty"` CurrentUserOrganizations []*FeedLink `json:"current_user_organizations,omitempty"` }
func (f *FeedLinks) GetCurrentUser() *FeedLink
GetCurrentUser returns the CurrentUser field.
func (f *FeedLinks) GetCurrentUserActor() *FeedLink
GetCurrentUserActor returns the CurrentUserActor field.
func (f *FeedLinks) GetCurrentUserOrganization() *FeedLink
GetCurrentUserOrganization returns the CurrentUserOrganization field.
func (f *FeedLinks) GetCurrentUserPublic() *FeedLink
GetCurrentUserPublic returns the CurrentUserPublic field.
func (f *FeedLinks) GetTimeline() *FeedLink
GetTimeline returns the Timeline field.
func (f *FeedLinks) GetUser() *FeedLink
GetUser returns the User field.
Feeds represents timeline resources in Atom format.
type Feeds struct { TimelineURL *string `json:"timeline_url,omitempty"` UserURL *string `json:"user_url,omitempty"` CurrentUserPublicURL *string `json:"current_user_public_url,omitempty"` CurrentUserURL *string `json:"current_user_url,omitempty"` CurrentUserActorURL *string `json:"current_user_actor_url,omitempty"` CurrentUserOrganizationURL *string `json:"current_user_organization_url,omitempty"` CurrentUserOrganizationURLs []string `json:"current_user_organization_urls,omitempty"` Links *FeedLinks `json:"_links,omitempty"` }
func (f *Feeds) GetCurrentUserActorURL() string
GetCurrentUserActorURL returns the CurrentUserActorURL field if it's non-nil, zero value otherwise.
func (f *Feeds) GetCurrentUserOrganizationURL() string
GetCurrentUserOrganizationURL returns the CurrentUserOrganizationURL field if it's non-nil, zero value otherwise.
func (f *Feeds) GetCurrentUserPublicURL() string
GetCurrentUserPublicURL returns the CurrentUserPublicURL field if it's non-nil, zero value otherwise.
func (f *Feeds) GetCurrentUserURL() string
GetCurrentUserURL returns the CurrentUserURL field if it's non-nil, zero value otherwise.
func (f *Feeds) GetLinks() *FeedLinks
GetLinks returns the Links field.
func (f *Feeds) GetTimelineURL() string
GetTimelineURL returns the TimelineURL field if it's non-nil, zero value otherwise.
func (f *Feeds) GetUserURL() string
GetUserURL returns the UserURL field if it's non-nil, zero value otherwise.
FirstPatchedVersion represents the identifier for the first patched version of that vulnerability.
type FirstPatchedVersion struct { Identifier *string `json:"identifier,omitempty"` }
func (f *FirstPatchedVersion) GetIdentifier() string
GetIdentifier returns the Identifier field if it's non-nil, zero value otherwise.
ForkEvent is triggered when a user forks a repository. The Webhook event name is "fork".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#fork
type ForkEvent struct { // Forkee is the created repository. Forkee *Repository `json:"forkee,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (f *ForkEvent) GetForkee() *Repository
GetForkee returns the Forkee field.
func (f *ForkEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (f *ForkEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (f *ForkEvent) GetSender() *User
GetSender returns the Sender field.
GPGEmail represents an email address associated to a GPG key.
type GPGEmail struct { Email *string `json:"email,omitempty"` Verified *bool `json:"verified,omitempty"` }
func (g *GPGEmail) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (g *GPGEmail) GetVerified() bool
GetVerified returns the Verified field if it's non-nil, zero value otherwise.
GPGKey represents a GitHub user's public GPG key used to verify GPG signed commits and tags.
https://developer.github.com/changes/2016-04-04-git-signing-api-preview/
type GPGKey struct { ID *int64 `json:"id,omitempty"` PrimaryKeyID *int64 `json:"primary_key_id,omitempty"` KeyID *string `json:"key_id,omitempty"` RawKey *string `json:"raw_key,omitempty"` PublicKey *string `json:"public_key,omitempty"` Emails []*GPGEmail `json:"emails,omitempty"` Subkeys []*GPGKey `json:"subkeys,omitempty"` CanSign *bool `json:"can_sign,omitempty"` CanEncryptComms *bool `json:"can_encrypt_comms,omitempty"` CanEncryptStorage *bool `json:"can_encrypt_storage,omitempty"` CanCertify *bool `json:"can_certify,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` ExpiresAt *time.Time `json:"expires_at,omitempty"` }
func (g *GPGKey) GetCanCertify() bool
GetCanCertify returns the CanCertify field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetCanEncryptComms() bool
GetCanEncryptComms returns the CanEncryptComms field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetCanEncryptStorage() bool
GetCanEncryptStorage returns the CanEncryptStorage field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetCanSign() bool
GetCanSign returns the CanSign field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetExpiresAt() time.Time
GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetKeyID() string
GetKeyID returns the KeyID field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetPrimaryKeyID() int64
GetPrimaryKeyID returns the PrimaryKeyID field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetPublicKey() string
GetPublicKey returns the PublicKey field if it's non-nil, zero value otherwise.
func (g *GPGKey) GetRawKey() string
GetRawKey returns the RawKey field if it's non-nil, zero value otherwise.
func (k GPGKey) String() string
String stringifies a GPGKey.
GenerateNotesOptions represents the options to generate release notes.
type GenerateNotesOptions struct { TagName string `json:"tag_name"` PreviousTagName *string `json:"previous_tag_name,omitempty"` TargetCommitish *string `json:"target_commitish,omitempty"` }
func (g *GenerateNotesOptions) GetPreviousTagName() string
GetPreviousTagName returns the PreviousTagName field if it's non-nil, zero value otherwise.
func (g *GenerateNotesOptions) GetTargetCommitish() string
GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.
GetAuditLogOptions sets up optional parameters to query audit-log endpoint.
type GetAuditLogOptions struct { Phrase *string `url:"phrase,omitempty"` // A search phrase. (Optional.) Include *string `url:"include,omitempty"` // Event type includes. Can be one of "web", "git", "all". Default: "web". (Optional.) Order *string `url:"order,omitempty"` // The order of audit log events. Can be one of "asc" or "desc". Default: "desc". (Optional.) ListCursorOptions }
func (g *GetAuditLogOptions) GetInclude() string
GetInclude returns the Include field if it's non-nil, zero value otherwise.
func (g *GetAuditLogOptions) GetOrder() string
GetOrder returns the Order field if it's non-nil, zero value otherwise.
func (g *GetAuditLogOptions) GetPhrase() string
GetPhrase returns the Phrase field if it's non-nil, zero value otherwise.
Gist represents a GitHub's gist.
type Gist struct { ID *string `json:"id,omitempty"` Description *string `json:"description,omitempty"` Public *bool `json:"public,omitempty"` Owner *User `json:"owner,omitempty"` Files map[GistFilename]GistFile `json:"files,omitempty"` Comments *int `json:"comments,omitempty"` HTMLURL *string `json:"html_url,omitempty"` GitPullURL *string `json:"git_pull_url,omitempty"` GitPushURL *string `json:"git_push_url,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (g *Gist) GetComments() int
GetComments returns the Comments field if it's non-nil, zero value otherwise.
func (g *Gist) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (g *Gist) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (g *Gist) GetFiles() map[GistFilename]GistFile
GetFiles returns the Files map if it's non-nil, an empty map otherwise.
func (g *Gist) GetGitPullURL() string
GetGitPullURL returns the GitPullURL field if it's non-nil, zero value otherwise.
func (g *Gist) GetGitPushURL() string
GetGitPushURL returns the GitPushURL field if it's non-nil, zero value otherwise.
func (g *Gist) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (g *Gist) GetID() string
GetID returns the ID field if it's non-nil, zero value otherwise.
func (g *Gist) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (g *Gist) GetOwner() *User
GetOwner returns the Owner field.
func (g *Gist) GetPublic() bool
GetPublic returns the Public field if it's non-nil, zero value otherwise.
func (g *Gist) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (g Gist) String() string
GistComment represents a Gist comment.
type GistComment struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` Body *string `json:"body,omitempty"` User *User `json:"user,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` }
func (g *GistComment) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (g *GistComment) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (g *GistComment) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (g *GistComment) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (g *GistComment) GetUser() *User
GetUser returns the User field.
func (g GistComment) String() string
GistCommit represents a commit on a gist.
type GistCommit struct { URL *string `json:"url,omitempty"` Version *string `json:"version,omitempty"` User *User `json:"user,omitempty"` ChangeStatus *CommitStats `json:"change_status,omitempty"` CommittedAt *Timestamp `json:"committed_at,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (g *GistCommit) GetChangeStatus() *CommitStats
GetChangeStatus returns the ChangeStatus field.
func (g *GistCommit) GetCommittedAt() Timestamp
GetCommittedAt returns the CommittedAt field if it's non-nil, zero value otherwise.
func (g *GistCommit) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (g *GistCommit) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (g *GistCommit) GetUser() *User
GetUser returns the User field.
func (g *GistCommit) GetVersion() string
GetVersion returns the Version field if it's non-nil, zero value otherwise.
func (gc GistCommit) String() string
GistFile represents a file on a gist.
type GistFile struct { Size *int `json:"size,omitempty"` Filename *string `json:"filename,omitempty"` Language *string `json:"language,omitempty"` Type *string `json:"type,omitempty"` RawURL *string `json:"raw_url,omitempty"` Content *string `json:"content,omitempty"` }
func (g *GistFile) GetContent() string
GetContent returns the Content field if it's non-nil, zero value otherwise.
func (g *GistFile) GetFilename() string
GetFilename returns the Filename field if it's non-nil, zero value otherwise.
func (g *GistFile) GetLanguage() string
GetLanguage returns the Language field if it's non-nil, zero value otherwise.
func (g *GistFile) GetRawURL() string
GetRawURL returns the RawURL field if it's non-nil, zero value otherwise.
func (g *GistFile) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (g *GistFile) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (g GistFile) String() string
GistFilename represents filename on a gist.
type GistFilename string
GistFork represents a fork of a gist.
type GistFork struct { URL *string `json:"url,omitempty"` User *User `json:"user,omitempty"` ID *string `json:"id,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (g *GistFork) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (g *GistFork) GetID() string
GetID returns the ID field if it's non-nil, zero value otherwise.
func (g *GistFork) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (g *GistFork) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (g *GistFork) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (g *GistFork) GetUser() *User
GetUser returns the User field.
func (gf GistFork) String() string
GistListOptions specifies the optional parameters to the GistsService.List, GistsService.ListAll, and GistsService.ListStarred methods.
type GistListOptions struct { // Since filters Gists by time. Since time.Time `url:"since,omitempty"` ListOptions }
GistStats represents the number of total, private and public gists.
type GistStats struct { TotalGists *int `json:"total_gists,omitempty"` PrivateGists *int `json:"private_gists,omitempty"` PublicGists *int `json:"public_gists,omitempty"` }
func (g *GistStats) GetPrivateGists() int
GetPrivateGists returns the PrivateGists field if it's non-nil, zero value otherwise.
func (g *GistStats) GetPublicGists() int
GetPublicGists returns the PublicGists field if it's non-nil, zero value otherwise.
func (g *GistStats) GetTotalGists() int
GetTotalGists returns the TotalGists field if it's non-nil, zero value otherwise.
func (s GistStats) String() string
GistsService handles communication with the Gist related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/gists
type GistsService service
func (s *GistsService) Create(ctx context.Context, gist *Gist) (*Gist, *Response, error)
Create a gist for authenticated user.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#create-a-gist
func (s *GistsService) CreateComment(ctx context.Context, gistID string, comment *GistComment) (*GistComment, *Response, error)
CreateComment creates a comment for a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/comments#create-a-gist-comment
func (s *GistsService) Delete(ctx context.Context, id string) (*Response, error)
Delete a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#delete-a-gist
func (s *GistsService) DeleteComment(ctx context.Context, gistID string, commentID int64) (*Response, error)
DeleteComment deletes a gist comment.
GitHub API docs: https://docs.github.com/en/rest/gists/comments#delete-a-gist-comment
func (s *GistsService) Edit(ctx context.Context, id string, gist *Gist) (*Gist, *Response, error)
Edit a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#update-a-gist
func (s *GistsService) EditComment(ctx context.Context, gistID string, commentID int64, comment *GistComment) (*GistComment, *Response, error)
EditComment edits an existing gist comment.
GitHub API docs: https://docs.github.com/en/rest/gists/comments#update-a-gist-comment
func (s *GistsService) Fork(ctx context.Context, id string) (*Gist, *Response, error)
Fork a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#fork-a-gist
func (s *GistsService) Get(ctx context.Context, id string) (*Gist, *Response, error)
Get a single gist.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#get-a-gist
func (s *GistsService) GetComment(ctx context.Context, gistID string, commentID int64) (*GistComment, *Response, error)
GetComment retrieves a single comment from a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/comments#get-a-gist-comment
func (s *GistsService) GetRevision(ctx context.Context, id, sha string) (*Gist, *Response, error)
GetRevision gets a specific revision of a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#get-a-gist-revision
func (s *GistsService) IsStarred(ctx context.Context, id string) (bool, *Response, error)
IsStarred checks if a gist is starred by authenticated user.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#check-if-a-gist-is-starred
func (s *GistsService) List(ctx context.Context, user string, opts *GistListOptions) ([]*Gist, *Response, error)
List gists for a user. Passing the empty string will list all public gists if called anonymously. However, if the call is authenticated, it will returns all gists for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#list-gists-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/gists/gists#list-gists-for-a-user
func (s *GistsService) ListAll(ctx context.Context, opts *GistListOptions) ([]*Gist, *Response, error)
ListAll lists all public gists.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#list-public-gists
func (s *GistsService) ListComments(ctx context.Context, gistID string, opts *ListOptions) ([]*GistComment, *Response, error)
ListComments lists all comments for a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/comments#list-gist-comments
func (s *GistsService) ListCommits(ctx context.Context, id string, opts *ListOptions) ([]*GistCommit, *Response, error)
ListCommits lists commits of a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#list-gist-commits
func (s *GistsService) ListForks(ctx context.Context, id string, opts *ListOptions) ([]*GistFork, *Response, error)
ListForks lists forks of a gist.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#list-gist-forks
func (s *GistsService) ListStarred(ctx context.Context, opts *GistListOptions) ([]*Gist, *Response, error)
ListStarred lists starred gists of authenticated user.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#list-starred-gists
func (s *GistsService) Star(ctx context.Context, id string) (*Response, error)
Star a gist on behalf of authenticated user.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#star-a-gist
func (s *GistsService) Unstar(ctx context.Context, id string) (*Response, error)
Unstar a gist on a behalf of authenticated user.
GitHub API docs: https://docs.github.com/en/rest/gists/gists#unstar-a-gist
GitHubAppAuthorizationEvent is triggered when a user's authorization for a GitHub Application is revoked.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#github_app_authorization
type GitHubAppAuthorizationEvent struct { // The action performed. Possible value is: "revoked". Action *string `json:"action,omitempty"` // The following fields are only populated by Webhook events. Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (g *GitHubAppAuthorizationEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (g *GitHubAppAuthorizationEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (g *GitHubAppAuthorizationEvent) GetSender() *User
GetSender returns the Sender field.
GitObject represents a Git object.
type GitObject struct { Type *string `json:"type"` SHA *string `json:"sha"` URL *string `json:"url"` }
func (g *GitObject) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (g *GitObject) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (g *GitObject) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (o GitObject) String() string
GitService handles communication with the git data related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/git/
type GitService service
func (s *GitService) CreateBlob(ctx context.Context, owner string, repo string, blob *Blob) (*Blob, *Response, error)
CreateBlob creates a blob object.
GitHub API docs: https://docs.github.com/en/rest/git/blobs#create-a-blob
func (s *GitService) CreateCommit(ctx context.Context, owner string, repo string, commit *Commit) (*Commit, *Response, error)
CreateCommit creates a new commit in a repository. commit must not be nil.
The commit.Committer is optional and will be filled with the commit.Author data if omitted. If the commit.Author is omitted, it will be filled in with the authenticated user’s information and the current date.
GitHub API docs: https://docs.github.com/en/rest/git/commits#create-a-commit
func (s *GitService) CreateRef(ctx context.Context, owner string, repo string, ref *Reference) (*Reference, *Response, error)
CreateRef creates a new ref in a repository.
GitHub API docs: https://docs.github.com/en/rest/git/refs#create-a-reference
func (s *GitService) CreateTag(ctx context.Context, owner string, repo string, tag *Tag) (*Tag, *Response, error)
CreateTag creates a tag object.
GitHub API docs: https://docs.github.com/en/rest/git/tags#create-a-tag-object
func (s *GitService) CreateTree(ctx context.Context, owner string, repo string, baseTree string, entries []*TreeEntry) (*Tree, *Response, error)
CreateTree creates a new tree in a repository. If both a tree and a nested path modifying that tree are specified, it will overwrite the contents of that tree with the new path contents and write a new tree out.
GitHub API docs: https://docs.github.com/en/rest/git/trees#create-a-tree
func (s *GitService) DeleteRef(ctx context.Context, owner string, repo string, ref string) (*Response, error)
DeleteRef deletes a ref from a repository.
GitHub API docs: https://docs.github.com/en/rest/git/refs#delete-a-reference
func (s *GitService) GetBlob(ctx context.Context, owner string, repo string, sha string) (*Blob, *Response, error)
GetBlob fetches a blob from a repo given a SHA.
GitHub API docs: https://docs.github.com/en/rest/git/blobs#get-a-blob
func (s *GitService) GetBlobRaw(ctx context.Context, owner, repo, sha string) ([]byte, *Response, error)
GetBlobRaw fetches a blob's contents from a repo. Unlike GetBlob, it returns the raw bytes rather than the base64-encoded data.
GitHub API docs: https://docs.github.com/en/rest/git/blobs#get-a-blob
func (s *GitService) GetCommit(ctx context.Context, owner string, repo string, sha string) (*Commit, *Response, error)
GetCommit fetches the Commit object for a given SHA.
GitHub API docs: https://docs.github.com/en/rest/git/commits#get-a-commit
func (s *GitService) GetRef(ctx context.Context, owner string, repo string, ref string) (*Reference, *Response, error)
GetRef fetches a single reference in a repository.
GitHub API docs: https://docs.github.com/en/rest/git/refs#get-a-reference
func (s *GitService) GetTag(ctx context.Context, owner string, repo string, sha string) (*Tag, *Response, error)
GetTag fetches a tag from a repo given a SHA.
GitHub API docs: https://docs.github.com/en/rest/git/tags#get-a-tag
func (s *GitService) GetTree(ctx context.Context, owner string, repo string, sha string, recursive bool) (*Tree, *Response, error)
GetTree fetches the Tree object for a given sha hash from a repository.
GitHub API docs: https://docs.github.com/en/rest/git/trees#get-a-tree
func (s *GitService) ListMatchingRefs(ctx context.Context, owner, repo string, opts *ReferenceListOptions) ([]*Reference, *Response, error)
ListMatchingRefs lists references in a repository that match a supplied ref. Use an empty ref to list all references.
GitHub API docs: https://docs.github.com/en/rest/git/refs#list-matching-references
func (s *GitService) UpdateRef(ctx context.Context, owner string, repo string, ref *Reference, force bool) (*Reference, *Response, error)
UpdateRef updates an existing ref in a repository.
GitHub API docs: https://docs.github.com/en/rest/git/refs#update-a-reference
Gitignore represents a .gitignore file as returned by the GitHub API.
type Gitignore struct { Name *string `json:"name,omitempty"` Source *string `json:"source,omitempty"` }
func (g *Gitignore) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (g *Gitignore) GetSource() string
GetSource returns the Source field if it's non-nil, zero value otherwise.
func (g Gitignore) String() string
GitignoresService provides access to the gitignore related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/gitignore/
type GitignoresService service
func (s *GitignoresService) Get(ctx context.Context, name string) (*Gitignore, *Response, error)
Get a Gitignore by name.
GitHub API docs: https://docs.github.com/en/rest/gitignore#get-a-gitignore-template
func (s *GitignoresService) List(ctx context.Context) ([]string, *Response, error)
List all available Gitignore templates.
GitHub API docs: https://docs.github.com/en/rest/gitignore/#listing-available-templates
GollumEvent is triggered when a Wiki page is created or updated. The Webhook event name is "gollum".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#gollum
type GollumEvent struct { Pages []*Page `json:"pages,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (g *GollumEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (g *GollumEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (g *GollumEvent) GetSender() *User
GetSender returns the Sender field.
Grant represents an OAuth application that has been granted access to an account.
type Grant struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` App *AuthorizationApp `json:"app,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` Scopes []string `json:"scopes,omitempty"` }
func (g *Grant) GetApp() *AuthorizationApp
GetApp returns the App field.
func (g *Grant) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (g *Grant) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (g *Grant) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (g *Grant) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (g Grant) String() string
HeadCommit represents a git commit in a GitHub PushEvent.
type HeadCommit struct { Message *string `json:"message,omitempty"` Author *CommitAuthor `json:"author,omitempty"` URL *string `json:"url,omitempty"` Distinct *bool `json:"distinct,omitempty"` // The following fields are only populated by Events API. SHA *string `json:"sha,omitempty"` // The following fields are only populated by Webhook events. ID *string `json:"id,omitempty"` TreeID *string `json:"tree_id,omitempty"` Timestamp *Timestamp `json:"timestamp,omitempty"` Committer *CommitAuthor `json:"committer,omitempty"` Added []string `json:"added,omitempty"` Removed []string `json:"removed,omitempty"` Modified []string `json:"modified,omitempty"` }
func (h *HeadCommit) GetAuthor() *CommitAuthor
GetAuthor returns the Author field.
func (h *HeadCommit) GetCommitter() *CommitAuthor
GetCommitter returns the Committer field.
func (h *HeadCommit) GetDistinct() bool
GetDistinct returns the Distinct field if it's non-nil, zero value otherwise.
func (h *HeadCommit) GetID() string
GetID returns the ID field if it's non-nil, zero value otherwise.
func (h *HeadCommit) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (h *HeadCommit) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (h *HeadCommit) GetTimestamp() Timestamp
GetTimestamp returns the Timestamp field if it's non-nil, zero value otherwise.
func (h *HeadCommit) GetTreeID() string
GetTreeID returns the TreeID field if it's non-nil, zero value otherwise.
func (h *HeadCommit) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (h HeadCommit) String() string
Hook represents a GitHub (web and service) hook for a repository.
type Hook struct { CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` URL *string `json:"url,omitempty"` ID *int64 `json:"id,omitempty"` Type *string `json:"type,omitempty"` Name *string `json:"name,omitempty"` TestURL *string `json:"test_url,omitempty"` PingURL *string `json:"ping_url,omitempty"` LastResponse map[string]interface{} `json:"last_response,omitempty"` // Only the following fields are used when creating a hook. // Config is required. Config map[string]interface{} `json:"config,omitempty"` Events []string `json:"events,omitempty"` Active *bool `json:"active,omitempty"` }
func (h *Hook) GetActive() bool
GetActive returns the Active field if it's non-nil, zero value otherwise.
func (h *Hook) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (h *Hook) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (h *Hook) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (h *Hook) GetPingURL() string
GetPingURL returns the PingURL field if it's non-nil, zero value otherwise.
func (h *Hook) GetTestURL() string
GetTestURL returns the TestURL field if it's non-nil, zero value otherwise.
func (h *Hook) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (h *Hook) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (h *Hook) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (h Hook) String() string
HookConfig describes metadata about a webhook configuration.
type HookConfig struct { ContentType *string `json:"content_type,omitempty"` InsecureSSL *string `json:"insecure_ssl,omitempty"` URL *string `json:"url,omitempty"` // Secret is returned obfuscated by GitHub, but it can be set for outgoing requests. Secret *string `json:"secret,omitempty"` }
func (h *HookConfig) GetContentType() string
GetContentType returns the ContentType field if it's non-nil, zero value otherwise.
func (h *HookConfig) GetInsecureSSL() string
GetInsecureSSL returns the InsecureSSL field if it's non-nil, zero value otherwise.
func (h *HookConfig) GetSecret() string
GetSecret returns the Secret field if it's non-nil, zero value otherwise.
func (h *HookConfig) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
HookDelivery represents the data that is received from GitHub's Webhook Delivery API
GitHub API docs: - https://docs.github.com/en/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook - https://docs.github.com/en/rest/webhooks/repo-deliveries#get-a-delivery-for-a-repository-webhook
type HookDelivery struct { ID *int64 `json:"id,omitempty"` GUID *string `json:"guid,omitempty"` DeliveredAt *Timestamp `json:"delivered_at,omitempty"` Redelivery *bool `json:"redelivery,omitempty"` Duration *float64 `json:"duration,omitempty"` Status *string `json:"status,omitempty"` StatusCode *int `json:"status_code,omitempty"` Event *string `json:"event,omitempty"` Action *string `json:"action,omitempty"` InstallationID *int64 `json:"installation_id,omitempty"` RepositoryID *int64 `json:"repository_id,omitempty"` // Request is populated by GetHookDelivery. Request *HookRequest `json:"request,omitempty"` // Response is populated by GetHookDelivery. Response *HookResponse `json:"response,omitempty"` }
func (h *HookDelivery) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetDeliveredAt() Timestamp
GetDeliveredAt returns the DeliveredAt field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetDuration() *float64
GetDuration returns the Duration field.
func (h *HookDelivery) GetEvent() string
GetEvent returns the Event field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetGUID() string
GetGUID returns the GUID field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetInstallationID() int64
GetInstallationID returns the InstallationID field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetRedelivery() bool
GetRedelivery returns the Redelivery field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetRepositoryID() int64
GetRepositoryID returns the RepositoryID field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetRequest() *HookRequest
GetRequest returns the Request field.
func (h *HookDelivery) GetResponse() *HookResponse
GetResponse returns the Response field.
func (h *HookDelivery) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (h *HookDelivery) GetStatusCode() int
GetStatusCode returns the StatusCode field if it's non-nil, zero value otherwise.
func (d *HookDelivery) ParseRequestPayload() (interface{}, error)
ParseRequestPayload parses the request payload. For recognized event types, a value of the corresponding struct type will be returned.
func (d HookDelivery) String() string
HookRequest is a part of HookDelivery that contains the HTTP headers and the JSON payload of the webhook request.
type HookRequest struct { Headers map[string]string `json:"headers,omitempty"` RawPayload *json.RawMessage `json:"payload,omitempty"` }
func (h *HookRequest) GetHeaders() map[string]string
GetHeaders returns the Headers map if it's non-nil, an empty map otherwise.
func (h *HookRequest) GetRawPayload() json.RawMessage
GetRawPayload returns the RawPayload field if it's non-nil, zero value otherwise.
func (r HookRequest) String() string
HookResponse is a part of HookDelivery that contains the HTTP headers and the response body served by the webhook endpoint.
type HookResponse struct { Headers map[string]string `json:"headers,omitempty"` RawPayload *json.RawMessage `json:"payload,omitempty"` }
func (h *HookResponse) GetHeaders() map[string]string
GetHeaders returns the Headers map if it's non-nil, an empty map otherwise.
func (h *HookResponse) GetRawPayload() json.RawMessage
GetRawPayload returns the RawPayload field if it's non-nil, zero value otherwise.
func (r HookResponse) String() string
HookStats represents the number of total, active and inactive hooks.
type HookStats struct { TotalHooks *int `json:"total_hooks,omitempty"` ActiveHooks *int `json:"active_hooks,omitempty"` InactiveHooks *int `json:"inactive_hooks,omitempty"` }
func (h *HookStats) GetActiveHooks() int
GetActiveHooks returns the ActiveHooks field if it's non-nil, zero value otherwise.
func (h *HookStats) GetInactiveHooks() int
GetInactiveHooks returns the InactiveHooks field if it's non-nil, zero value otherwise.
func (h *HookStats) GetTotalHooks() int
GetTotalHooks returns the TotalHooks field if it's non-nil, zero value otherwise.
func (s HookStats) String() string
Hovercard represents hovercard information about a user.
type Hovercard struct { Contexts []*UserContext `json:"contexts,omitempty"` }
HovercardOptions specifies optional parameters to the UsersService.GetHovercard method.
type HovercardOptions struct { // SubjectType specifies the additional information to be received about the hovercard. // Possible values are: organization, repository, issue, pull_request. (Required when using subject_id.) SubjectType string `url:"subject_type"` // SubjectID specifies the ID for the SubjectType. (Required when using subject_type.) SubjectID string `url:"subject_id"` }
IDPGroup represents an external identity provider (IDP) group.
type IDPGroup struct { GroupID *string `json:"group_id,omitempty"` GroupName *string `json:"group_name,omitempty"` GroupDescription *string `json:"group_description,omitempty"` }
func (i *IDPGroup) GetGroupDescription() string
GetGroupDescription returns the GroupDescription field if it's non-nil, zero value otherwise.
func (i *IDPGroup) GetGroupID() string
GetGroupID returns the GroupID field if it's non-nil, zero value otherwise.
func (i *IDPGroup) GetGroupName() string
GetGroupName returns the GroupName field if it's non-nil, zero value otherwise.
IDPGroupList represents a list of external identity provider (IDP) groups.
type IDPGroupList struct { Groups []*IDPGroup `json:"groups"` }
ImpersonateUserOptions represents the scoping for the OAuth token.
type ImpersonateUserOptions struct { Scopes []string `json:"scopes,omitempty"` }
Import represents a repository import request.
type Import struct { // The URL of the originating repository. VCSURL *string `json:"vcs_url,omitempty"` // The originating VCS type. Can be one of 'subversion', 'git', // 'mercurial', or 'tfvc'. Without this parameter, the import job will // take additional time to detect the VCS type before beginning the // import. This detection step will be reflected in the response. VCS *string `json:"vcs,omitempty"` // VCSUsername and VCSPassword are only used for StartImport calls that // are importing a password-protected repository. VCSUsername *string `json:"vcs_username,omitempty"` VCSPassword *string `json:"vcs_password,omitempty"` // For a tfvc import, the name of the project that is being imported. TFVCProject *string `json:"tfvc_project,omitempty"` // Describes whether the import has been opted in or out of using Git // LFS. The value can be 'opt_in', 'opt_out', or 'undecided' if no // action has been taken. UseLFS *string `json:"use_lfs,omitempty"` // Describes whether files larger than 100MB were found during the // importing step. HasLargeFiles *bool `json:"has_large_files,omitempty"` // The total size in gigabytes of files larger than 100MB found in the // originating repository. LargeFilesSize *int `json:"large_files_size,omitempty"` // The total number of files larger than 100MB found in the originating // repository. To see a list of these files, call LargeFiles. LargeFilesCount *int `json:"large_files_count,omitempty"` // Identifies the current status of an import. An import that does not // have errors will progress through these steps: // // detecting - the "detection" step of the import is in progress // because the request did not include a VCS parameter. The // import is identifying the type of source control present at // the URL. // importing - the "raw" step of the import is in progress. This is // where commit data is fetched from the original repository. // The import progress response will include CommitCount (the // total number of raw commits that will be imported) and // Percent (0 - 100, the current progress through the import). // mapping - the "rewrite" step of the import is in progress. This // is where SVN branches are converted to Git branches, and // where author updates are applied. The import progress // response does not include progress information. // pushing - the "push" step of the import is in progress. This is // where the importer updates the repository on GitHub. The // import progress response will include PushPercent, which is // the percent value reported by git push when it is "Writing // objects". // complete - the import is complete, and the repository is ready // on GitHub. // // If there are problems, you will see one of these in the status field: // // auth_failed - the import requires authentication in order to // connect to the original repository. Make an UpdateImport // request, and include VCSUsername and VCSPassword. // error - the import encountered an error. The import progress // response will include the FailedStep and an error message. // Contact GitHub support for more information. // detection_needs_auth - the importer requires authentication for // the originating repository to continue detection. Make an // UpdatImport request, and include VCSUsername and // VCSPassword. // detection_found_nothing - the importer didn't recognize any // source control at the URL. // detection_found_multiple - the importer found several projects // or repositories at the provided URL. When this is the case, // the Import Progress response will also include a // ProjectChoices field with the possible project choices as // values. Make an UpdateImport request, and include VCS and // (if applicable) TFVCProject. Status *string `json:"status,omitempty"` CommitCount *int `json:"commit_count,omitempty"` StatusText *string `json:"status_text,omitempty"` AuthorsCount *int `json:"authors_count,omitempty"` Percent *int `json:"percent,omitempty"` PushPercent *int `json:"push_percent,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` AuthorsURL *string `json:"authors_url,omitempty"` RepositoryURL *string `json:"repository_url,omitempty"` Message *string `json:"message,omitempty"` FailedStep *string `json:"failed_step,omitempty"` // Human readable display name, provided when the Import appears as // part of ProjectChoices. HumanName *string `json:"human_name,omitempty"` // When the importer finds several projects or repositories at the // provided URLs, this will identify the available choices. Call // UpdateImport with the selected Import value. ProjectChoices []*Import `json:"project_choices,omitempty"` }
func (i *Import) GetAuthorsCount() int
GetAuthorsCount returns the AuthorsCount field if it's non-nil, zero value otherwise.
func (i *Import) GetAuthorsURL() string
GetAuthorsURL returns the AuthorsURL field if it's non-nil, zero value otherwise.
func (i *Import) GetCommitCount() int
GetCommitCount returns the CommitCount field if it's non-nil, zero value otherwise.
func (i *Import) GetFailedStep() string
GetFailedStep returns the FailedStep field if it's non-nil, zero value otherwise.
func (i *Import) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (i *Import) GetHasLargeFiles() bool
GetHasLargeFiles returns the HasLargeFiles field if it's non-nil, zero value otherwise.
func (i *Import) GetHumanName() string
GetHumanName returns the HumanName field if it's non-nil, zero value otherwise.
func (i *Import) GetLargeFilesCount() int
GetLargeFilesCount returns the LargeFilesCount field if it's non-nil, zero value otherwise.
func (i *Import) GetLargeFilesSize() int
GetLargeFilesSize returns the LargeFilesSize field if it's non-nil, zero value otherwise.
func (i *Import) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (i *Import) GetPercent() int
GetPercent returns the Percent field if it's non-nil, zero value otherwise.
func (i *Import) GetPushPercent() int
GetPushPercent returns the PushPercent field if it's non-nil, zero value otherwise.
func (i *Import) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (i *Import) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (i *Import) GetStatusText() string
GetStatusText returns the StatusText field if it's non-nil, zero value otherwise.
func (i *Import) GetTFVCProject() string
GetTFVCProject returns the TFVCProject field if it's non-nil, zero value otherwise.
func (i *Import) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (i *Import) GetUseLFS() string
GetUseLFS returns the UseLFS field if it's non-nil, zero value otherwise.
func (i *Import) GetVCS() string
GetVCS returns the VCS field if it's non-nil, zero value otherwise.
func (i *Import) GetVCSPassword() string
GetVCSPassword returns the VCSPassword field if it's non-nil, zero value otherwise.
func (i *Import) GetVCSURL() string
GetVCSURL returns the VCSURL field if it's non-nil, zero value otherwise.
func (i *Import) GetVCSUsername() string
GetVCSUsername returns the VCSUsername field if it's non-nil, zero value otherwise.
func (i Import) String() string
Installation represents a GitHub Apps installation.
type Installation struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` AppID *int64 `json:"app_id,omitempty"` AppSlug *string `json:"app_slug,omitempty"` TargetID *int64 `json:"target_id,omitempty"` Account *User `json:"account,omitempty"` AccessTokensURL *string `json:"access_tokens_url,omitempty"` RepositoriesURL *string `json:"repositories_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` TargetType *string `json:"target_type,omitempty"` SingleFileName *string `json:"single_file_name,omitempty"` RepositorySelection *string `json:"repository_selection,omitempty"` Events []string `json:"events,omitempty"` SingleFilePaths []string `json:"single_file_paths,omitempty"` Permissions *InstallationPermissions `json:"permissions,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` HasMultipleSingleFiles *bool `json:"has_multiple_single_files,omitempty"` SuspendedBy *User `json:"suspended_by,omitempty"` SuspendedAt *Timestamp `json:"suspended_at,omitempty"` }
func (i *Installation) GetAccessTokensURL() string
GetAccessTokensURL returns the AccessTokensURL field if it's non-nil, zero value otherwise.
func (i *Installation) GetAccount() *User
GetAccount returns the Account field.
func (i *Installation) GetAppID() int64
GetAppID returns the AppID field if it's non-nil, zero value otherwise.
func (i *Installation) GetAppSlug() string
GetAppSlug returns the AppSlug field if it's non-nil, zero value otherwise.
func (i *Installation) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (i *Installation) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (i *Installation) GetHasMultipleSingleFiles() bool
GetHasMultipleSingleFiles returns the HasMultipleSingleFiles field if it's non-nil, zero value otherwise.
func (i *Installation) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (i *Installation) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (i *Installation) GetPermissions() *InstallationPermissions
GetPermissions returns the Permissions field.
func (i *Installation) GetRepositoriesURL() string
GetRepositoriesURL returns the RepositoriesURL field if it's non-nil, zero value otherwise.
func (i *Installation) GetRepositorySelection() string
GetRepositorySelection returns the RepositorySelection field if it's non-nil, zero value otherwise.
func (i *Installation) GetSingleFileName() string
GetSingleFileName returns the SingleFileName field if it's non-nil, zero value otherwise.
func (i *Installation) GetSuspendedAt() Timestamp
GetSuspendedAt returns the SuspendedAt field if it's non-nil, zero value otherwise.
func (i *Installation) GetSuspendedBy() *User
GetSuspendedBy returns the SuspendedBy field.
func (i *Installation) GetTargetID() int64
GetTargetID returns the TargetID field if it's non-nil, zero value otherwise.
func (i *Installation) GetTargetType() string
GetTargetType returns the TargetType field if it's non-nil, zero value otherwise.
func (i *Installation) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (i Installation) String() string
InstallationEvent is triggered when a GitHub App has been installed, uninstalled, suspend, unsuspended or new permissions have been accepted. The Webhook event name is "installation".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#installation
type InstallationEvent struct { // The action that was performed. Can be either "created", "deleted", "suspend", "unsuspend" or "new_permissions_accepted". Action *string `json:"action,omitempty"` Repositories []*Repository `json:"repositories,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (i *InstallationEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (i *InstallationEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (i *InstallationEvent) GetSender() *User
GetSender returns the Sender field.
InstallationPermissions lists the repository and organization permissions for an installation.
Permission names taken from:
https://docs.github.com/en/enterprise-server@3.0/rest/apps#create-an-installation-access-token-for-an-app https://docs.github.com/en/rest/apps#create-an-installation-access-token-for-an-app
type InstallationPermissions struct { Actions *string `json:"actions,omitempty"` Administration *string `json:"administration,omitempty"` Blocking *string `json:"blocking,omitempty"` Checks *string `json:"checks,omitempty"` Contents *string `json:"contents,omitempty"` ContentReferences *string `json:"content_references,omitempty"` Deployments *string `json:"deployments,omitempty"` Emails *string `json:"emails,omitempty"` Environments *string `json:"environments,omitempty"` Followers *string `json:"followers,omitempty"` Issues *string `json:"issues,omitempty"` Metadata *string `json:"metadata,omitempty"` Members *string `json:"members,omitempty"` OrganizationAdministration *string `json:"organization_administration,omitempty"` OrganizationHooks *string `json:"organization_hooks,omitempty"` OrganizationPlan *string `json:"organization_plan,omitempty"` OrganizationPreReceiveHooks *string `json:"organization_pre_receive_hooks,omitempty"` OrganizationProjects *string `json:"organization_projects,omitempty"` OrganizationSecrets *string `json:"organization_secrets,omitempty"` OrganizationSelfHostedRunners *string `json:"organization_self_hosted_runners,omitempty"` OrganizationUserBlocking *string `json:"organization_user_blocking,omitempty"` Packages *string `json:"packages,omitempty"` Pages *string `json:"pages,omitempty"` PullRequests *string `json:"pull_requests,omitempty"` RepositoryHooks *string `json:"repository_hooks,omitempty"` RepositoryProjects *string `json:"repository_projects,omitempty"` RepositoryPreReceiveHooks *string `json:"repository_pre_receive_hooks,omitempty"` Secrets *string `json:"secrets,omitempty"` SecretScanningAlerts *string `json:"secret_scanning_alerts,omitempty"` SecurityEvents *string `json:"security_events,omitempty"` SingleFile *string `json:"single_file,omitempty"` Statuses *string `json:"statuses,omitempty"` TeamDiscussions *string `json:"team_discussions,omitempty"` VulnerabilityAlerts *string `json:"vulnerability_alerts,omitempty"` Workflows *string `json:"workflows,omitempty"` }
func (i *InstallationPermissions) GetActions() string
GetActions returns the Actions field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetAdministration() string
GetAdministration returns the Administration field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetBlocking() string
GetBlocking returns the Blocking field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetChecks() string
GetChecks returns the Checks field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetContentReferences() string
GetContentReferences returns the ContentReferences field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetContents() string
GetContents returns the Contents field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetDeployments() string
GetDeployments returns the Deployments field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetEmails() string
GetEmails returns the Emails field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetEnvironments() string
GetEnvironments returns the Environments field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetFollowers() string
GetFollowers returns the Followers field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetIssues() string
GetIssues returns the Issues field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetMembers() string
GetMembers returns the Members field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetMetadata() string
GetMetadata returns the Metadata field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationAdministration() string
GetOrganizationAdministration returns the OrganizationAdministration field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationHooks() string
GetOrganizationHooks returns the OrganizationHooks field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationPlan() string
GetOrganizationPlan returns the OrganizationPlan field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationPreReceiveHooks() string
GetOrganizationPreReceiveHooks returns the OrganizationPreReceiveHooks field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationProjects() string
GetOrganizationProjects returns the OrganizationProjects field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationSecrets() string
GetOrganizationSecrets returns the OrganizationSecrets field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationSelfHostedRunners() string
GetOrganizationSelfHostedRunners returns the OrganizationSelfHostedRunners field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetOrganizationUserBlocking() string
GetOrganizationUserBlocking returns the OrganizationUserBlocking field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetPackages() string
GetPackages returns the Packages field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetPages() string
GetPages returns the Pages field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetPullRequests() string
GetPullRequests returns the PullRequests field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetRepositoryHooks() string
GetRepositoryHooks returns the RepositoryHooks field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetRepositoryPreReceiveHooks() string
GetRepositoryPreReceiveHooks returns the RepositoryPreReceiveHooks field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetRepositoryProjects() string
GetRepositoryProjects returns the RepositoryProjects field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetSecretScanningAlerts() string
GetSecretScanningAlerts returns the SecretScanningAlerts field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetSecrets() string
GetSecrets returns the Secrets field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetSecurityEvents() string
GetSecurityEvents returns the SecurityEvents field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetSingleFile() string
GetSingleFile returns the SingleFile field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetStatuses() string
GetStatuses returns the Statuses field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetTeamDiscussions() string
GetTeamDiscussions returns the TeamDiscussions field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetVulnerabilityAlerts() string
GetVulnerabilityAlerts returns the VulnerabilityAlerts field if it's non-nil, zero value otherwise.
func (i *InstallationPermissions) GetWorkflows() string
GetWorkflows returns the Workflows field if it's non-nil, zero value otherwise.
InstallationRepositoriesEvent is triggered when a repository is added or removed from an installation. The Webhook event name is "installation_repositories".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#installation_repositories
type InstallationRepositoriesEvent struct { // The action that was performed. Can be either "added" or "removed". Action *string `json:"action,omitempty"` RepositoriesAdded []*Repository `json:"repositories_added,omitempty"` RepositoriesRemoved []*Repository `json:"repositories_removed,omitempty"` RepositorySelection *string `json:"repository_selection,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (i *InstallationRepositoriesEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (i *InstallationRepositoriesEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (i *InstallationRepositoriesEvent) GetRepositorySelection() string
GetRepositorySelection returns the RepositorySelection field if it's non-nil, zero value otherwise.
func (i *InstallationRepositoriesEvent) GetSender() *User
GetSender returns the Sender field.
InstallationToken represents an installation token.
type InstallationToken struct { Token *string `json:"token,omitempty"` ExpiresAt *time.Time `json:"expires_at,omitempty"` Permissions *InstallationPermissions `json:"permissions,omitempty"` Repositories []*Repository `json:"repositories,omitempty"` }
func (i *InstallationToken) GetExpiresAt() time.Time
GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.
func (i *InstallationToken) GetPermissions() *InstallationPermissions
GetPermissions returns the Permissions field.
func (i *InstallationToken) GetToken() string
GetToken returns the Token field if it's non-nil, zero value otherwise.
InstallationTokenOptions allow restricting a token's access to specific repositories.
type InstallationTokenOptions struct { // The IDs of the repositories that the installation token can access. // Providing repository IDs restricts the access of an installation token to specific repositories. RepositoryIDs []int64 `json:"repository_ids,omitempty"` // The names of the repositories that the installation token can access. // Providing repository names restricts the access of an installation token to specific repositories. Repositories []string `json:"repositories,omitempty"` // The permissions granted to the access token. // The permissions object includes the permission names and their access type. Permissions *InstallationPermissions `json:"permissions,omitempty"` }
func (i *InstallationTokenOptions) GetPermissions() *InstallationPermissions
GetPermissions returns the Permissions field.
InteractionRestriction represents the interaction restrictions for repository and organization.
type InteractionRestriction struct { // Specifies the group of GitHub users who can // comment, open issues, or create pull requests for the given repository. // Possible values are: "existing_users", "contributors_only" and "collaborators_only". Limit *string `json:"limit,omitempty"` // Origin specifies the type of the resource to interact with. // Possible values are: "repository" and "organization". Origin *string `json:"origin,omitempty"` // ExpiresAt specifies the time after which the interaction restrictions expire. // The default expiry time is 24 hours from the time restriction is created. ExpiresAt *Timestamp `json:"expires_at,omitempty"` }
func (i *InteractionRestriction) GetExpiresAt() Timestamp
GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.
func (i *InteractionRestriction) GetLimit() string
GetLimit returns the Limit field if it's non-nil, zero value otherwise.
func (i *InteractionRestriction) GetOrigin() string
GetOrigin returns the Origin field if it's non-nil, zero value otherwise.
InteractionsService handles communication with the repository and organization related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/interactions/
type InteractionsService service
func (s *InteractionsService) GetRestrictionsForOrg(ctx context.Context, organization string) (*InteractionRestriction, *Response, error)
GetRestrictionsForOrg fetches the interaction restrictions for an organization.
GitHub API docs: https://docs.github.com/en/rest/interactions/orgs#get-interaction-restrictions-for-an-organization
func (s *InteractionsService) GetRestrictionsForRepo(ctx context.Context, owner, repo string) (*InteractionRestriction, *Response, error)
GetRestrictionsForRepo fetches the interaction restrictions for a repository.
GitHub API docs: https://docs.github.com/en/rest/interactions/repos#get-interaction-restrictions-for-a-repository
func (s *InteractionsService) RemoveRestrictionsFromOrg(ctx context.Context, organization string) (*Response, error)
RemoveRestrictionsFromOrg removes the interaction restrictions for an organization.
GitHub API docs: https://docs.github.com/en/rest/interactions/orgs#remove-interaction-restrictions-for-an-organization
func (s *InteractionsService) RemoveRestrictionsFromRepo(ctx context.Context, owner, repo string) (*Response, error)
RemoveRestrictionsFromRepo removes the interaction restrictions for a repository.
GitHub API docs: https://docs.github.com/en/rest/interactions/repos#remove-interaction-restrictions-for-a-repository
func (s *InteractionsService) UpdateRestrictionsForOrg(ctx context.Context, organization, limit string) (*InteractionRestriction, *Response, error)
UpdateRestrictionsForOrg adds or updates the interaction restrictions for an organization.
limit specifies the group of GitHub users who can comment, open issues, or create pull requests in public repositories for the given organization. Possible values are: "existing_users", "contributors_only", "collaborators_only".
GitHub API docs: https://docs.github.com/en/rest/interactions/orgs#set-interaction-restrictions-for-an-organization
func (s *InteractionsService) UpdateRestrictionsForRepo(ctx context.Context, owner, repo, limit string) (*InteractionRestriction, *Response, error)
UpdateRestrictionsForRepo adds or updates the interaction restrictions for a repository.
limit specifies the group of GitHub users who can comment, open issues, or create pull requests for the given repository. Possible values are: "existing_users", "contributors_only", "collaborators_only".
GitHub API docs: https://docs.github.com/en/rest/interactions/repos#set-interaction-restrictions-for-a-repository
Invitation represents a team member's invitation status.
type Invitation struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Login *string `json:"login,omitempty"` Email *string `json:"email,omitempty"` // Role can be one of the values - 'direct_member', 'admin', 'billing_manager', 'hiring_manager', or 'reinstate'. Role *string `json:"role,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` Inviter *User `json:"inviter,omitempty"` TeamCount *int `json:"team_count,omitempty"` InvitationTeamURL *string `json:"invitation_team_url,omitempty"` FailedAt *Timestamp `json:"failed_at,omitempty"` FailedReason *string `json:"failed_reason,omitempty"` }
func (i *Invitation) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (i *Invitation) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (i *Invitation) GetFailedAt() Timestamp
GetFailedAt returns the FailedAt field if it's non-nil, zero value otherwise.
func (i *Invitation) GetFailedReason() string
GetFailedReason returns the FailedReason field if it's non-nil, zero value otherwise.
func (i *Invitation) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (i *Invitation) GetInvitationTeamURL() string
GetInvitationTeamURL returns the InvitationTeamURL field if it's non-nil, zero value otherwise.
func (i *Invitation) GetInviter() *User
GetInviter returns the Inviter field.
func (i *Invitation) GetLogin() string
GetLogin returns the Login field if it's non-nil, zero value otherwise.
func (i *Invitation) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (i *Invitation) GetRole() string
GetRole returns the Role field if it's non-nil, zero value otherwise.
func (i *Invitation) GetTeamCount() int
GetTeamCount returns the TeamCount field if it's non-nil, zero value otherwise.
func (i Invitation) String() string
Issue represents a GitHub issue on a repository.
Note: As far as the GitHub API is concerned, every pull request is an issue, but not every issue is a pull request. Some endpoints, events, and webhooks may also return pull requests via this struct. If PullRequestLinks is nil, this is an issue, and if PullRequestLinks is not nil, this is a pull request. The IsPullRequest helper method can be used to check that.
type Issue struct { ID *int64 `json:"id,omitempty"` Number *int `json:"number,omitempty"` State *string `json:"state,omitempty"` Locked *bool `json:"locked,omitempty"` Title *string `json:"title,omitempty"` Body *string `json:"body,omitempty"` AuthorAssociation *string `json:"author_association,omitempty"` User *User `json:"user,omitempty"` Labels []*Label `json:"labels,omitempty"` Assignee *User `json:"assignee,omitempty"` Comments *int `json:"comments,omitempty"` ClosedAt *time.Time `json:"closed_at,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` ClosedBy *User `json:"closed_by,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` CommentsURL *string `json:"comments_url,omitempty"` EventsURL *string `json:"events_url,omitempty"` LabelsURL *string `json:"labels_url,omitempty"` RepositoryURL *string `json:"repository_url,omitempty"` Milestone *Milestone `json:"milestone,omitempty"` PullRequestLinks *PullRequestLinks `json:"pull_request,omitempty"` Repository *Repository `json:"repository,omitempty"` Reactions *Reactions `json:"reactions,omitempty"` Assignees []*User `json:"assignees,omitempty"` NodeID *string `json:"node_id,omitempty"` // TextMatches is only populated from search results that request text matches // See: search.go and https://docs.github.com/en/rest/search/#text-match-metadata TextMatches []*TextMatch `json:"text_matches,omitempty"` // ActiveLockReason is populated only when LockReason is provided while locking the issue. // Possible values are: "off-topic", "too heated", "resolved", and "spam". ActiveLockReason *string `json:"active_lock_reason,omitempty"` }
func (i *Issue) GetActiveLockReason() string
GetActiveLockReason returns the ActiveLockReason field if it's non-nil, zero value otherwise.
func (i *Issue) GetAssignee() *User
GetAssignee returns the Assignee field.
func (i *Issue) GetAuthorAssociation() string
GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.
func (i *Issue) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (i *Issue) GetClosedAt() time.Time
GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.
func (i *Issue) GetClosedBy() *User
GetClosedBy returns the ClosedBy field.
func (i *Issue) GetComments() int
GetComments returns the Comments field if it's non-nil, zero value otherwise.
func (i *Issue) GetCommentsURL() string
GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.
func (i *Issue) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (i *Issue) GetEventsURL() string
GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.
func (i *Issue) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (i *Issue) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (i *Issue) GetLabelsURL() string
GetLabelsURL returns the LabelsURL field if it's non-nil, zero value otherwise.
func (i *Issue) GetLocked() bool
GetLocked returns the Locked field if it's non-nil, zero value otherwise.
func (i *Issue) GetMilestone() *Milestone
GetMilestone returns the Milestone field.
func (i *Issue) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (i *Issue) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (i *Issue) GetPullRequestLinks() *PullRequestLinks
GetPullRequestLinks returns the PullRequestLinks field.
func (i *Issue) GetReactions() *Reactions
GetReactions returns the Reactions field.
func (i *Issue) GetRepository() *Repository
GetRepository returns the Repository field.
func (i *Issue) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (i *Issue) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (i *Issue) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (i *Issue) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (i *Issue) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (i *Issue) GetUser() *User
GetUser returns the User field.
func (i Issue) IsPullRequest() bool
IsPullRequest reports whether the issue is also a pull request. It uses the method recommended by GitHub's API documentation, which is to check whether PullRequestLinks is non-nil.
func (i Issue) String() string
IssueComment represents a comment left on an issue.
type IssueComment struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Body *string `json:"body,omitempty"` User *User `json:"user,omitempty"` Reactions *Reactions `json:"reactions,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` // AuthorAssociation is the comment author's relationship to the issue's repository. // Possible values are "COLLABORATOR", "CONTRIBUTOR", "FIRST_TIMER", "FIRST_TIME_CONTRIBUTOR", "MEMBER", "OWNER", or "NONE". AuthorAssociation *string `json:"author_association,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` IssueURL *string `json:"issue_url,omitempty"` }
func (i *IssueComment) GetAuthorAssociation() string
GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetIssueURL() string
GetIssueURL returns the IssueURL field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetReactions() *Reactions
GetReactions returns the Reactions field.
func (i *IssueComment) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (i *IssueComment) GetUser() *User
GetUser returns the User field.
func (i IssueComment) String() string
IssueCommentEvent is triggered when an issue comment is created on an issue or pull request. The Webhook event name is "issue_comment".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment
type IssueCommentEvent struct { // Action is the action that was performed on the comment. // Possible values are: "created", "edited", "deleted". Action *string `json:"action,omitempty"` Issue *Issue `json:"issue,omitempty"` Comment *IssueComment `json:"comment,omitempty"` // The following fields are only populated by Webhook events. Changes *EditChange `json:"changes,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` // The following field is only present when the webhook is triggered on // a repository belonging to an organization. Organization *Organization `json:"organization,omitempty"` }
func (i *IssueCommentEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (i *IssueCommentEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (i *IssueCommentEvent) GetComment() *IssueComment
GetComment returns the Comment field.
func (i *IssueCommentEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (i *IssueCommentEvent) GetIssue() *Issue
GetIssue returns the Issue field.
func (i *IssueCommentEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (i *IssueCommentEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (i *IssueCommentEvent) GetSender() *User
GetSender returns the Sender field.
IssueEvent represents an event that occurred around an Issue or Pull Request.
type IssueEvent struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` // The User that generated this event. Actor *User `json:"actor,omitempty"` // Event identifies the actual type of Event that occurred. Possible // values are: // // closed // The Actor closed the issue. // If the issue was closed by commit message, CommitID holds the SHA1 hash of the commit. // // merged // The Actor merged into master a branch containing a commit mentioning the issue. // CommitID holds the SHA1 of the merge commit. // // referenced // The Actor committed to master a commit mentioning the issue in its commit message. // CommitID holds the SHA1 of the commit. // // reopened, unlocked // The Actor did that to the issue. // // locked // The Actor locked the issue. // LockReason holds the reason of locking the issue (if provided while locking). // // renamed // The Actor changed the issue title from Rename.From to Rename.To. // // mentioned // Someone unspecified @mentioned the Actor [sic] in an issue comment body. // // assigned, unassigned // The Assigner assigned the issue to or removed the assignment from the Assignee. // // labeled, unlabeled // The Actor added or removed the Label from the issue. // // milestoned, demilestoned // The Actor added or removed the issue from the Milestone. // // subscribed, unsubscribed // The Actor subscribed to or unsubscribed from notifications for an issue. // // head_ref_deleted, head_ref_restored // The pull request’s branch was deleted or restored. // // review_dismissed // The review was dismissed and `DismissedReview` will be populated below. // // review_requested, review_request_removed // The Actor requested or removed the request for a review. // RequestedReviewer and ReviewRequester will be populated below. // Event *string `json:"event,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` Issue *Issue `json:"issue,omitempty"` // Only present on certain events; see above. Assignee *User `json:"assignee,omitempty"` Assigner *User `json:"assigner,omitempty"` CommitID *string `json:"commit_id,omitempty"` Milestone *Milestone `json:"milestone,omitempty"` Label *Label `json:"label,omitempty"` Rename *Rename `json:"rename,omitempty"` LockReason *string `json:"lock_reason,omitempty"` ProjectCard *ProjectCard `json:"project_card,omitempty"` DismissedReview *DismissedReview `json:"dismissed_review,omitempty"` RequestedReviewer *User `json:"requested_reviewer,omitempty"` ReviewRequester *User `json:"review_requester,omitempty"` }
func (i *IssueEvent) GetActor() *User
GetActor returns the Actor field.
func (i *IssueEvent) GetAssignee() *User
GetAssignee returns the Assignee field.
func (i *IssueEvent) GetAssigner() *User
GetAssigner returns the Assigner field.
func (i *IssueEvent) GetCommitID() string
GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.
func (i *IssueEvent) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (i *IssueEvent) GetDismissedReview() *DismissedReview
GetDismissedReview returns the DismissedReview field.
func (i *IssueEvent) GetEvent() string
GetEvent returns the Event field if it's non-nil, zero value otherwise.
func (i *IssueEvent) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (i *IssueEvent) GetIssue() *Issue
GetIssue returns the Issue field.
func (i *IssueEvent) GetLabel() *Label
GetLabel returns the Label field.
func (i *IssueEvent) GetLockReason() string
GetLockReason returns the LockReason field if it's non-nil, zero value otherwise.
func (i *IssueEvent) GetMilestone() *Milestone
GetMilestone returns the Milestone field.
func (i *IssueEvent) GetProjectCard() *ProjectCard
GetProjectCard returns the ProjectCard field.
func (i *IssueEvent) GetRename() *Rename
GetRename returns the Rename field.
func (i *IssueEvent) GetRequestedReviewer() *User
GetRequestedReviewer returns the RequestedReviewer field.
func (i *IssueEvent) GetReviewRequester() *User
GetReviewRequester returns the ReviewRequester field.
func (i *IssueEvent) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
IssueImport represents body of issue to import.
type IssueImport struct { Title string `json:"title"` Body string `json:"body"` CreatedAt *time.Time `json:"created_at,omitempty"` ClosedAt *time.Time `json:"closed_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` Assignee *string `json:"assignee,omitempty"` Milestone *int `json:"milestone,omitempty"` Closed *bool `json:"closed,omitempty"` Labels []string `json:"labels,omitempty"` }
func (i *IssueImport) GetAssignee() string
GetAssignee returns the Assignee field if it's non-nil, zero value otherwise.
func (i *IssueImport) GetClosed() bool
GetClosed returns the Closed field if it's non-nil, zero value otherwise.
func (i *IssueImport) GetClosedAt() time.Time
GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.
func (i *IssueImport) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (i *IssueImport) GetMilestone() int
GetMilestone returns the Milestone field if it's non-nil, zero value otherwise.
func (i *IssueImport) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
IssueImportError represents errors of an issue import create request.
type IssueImportError struct { Location *string `json:"location,omitempty"` Resource *string `json:"resource,omitempty"` Field *string `json:"field,omitempty"` Value *string `json:"value,omitempty"` Code *string `json:"code,omitempty"` }
func (i *IssueImportError) GetCode() string
GetCode returns the Code field if it's non-nil, zero value otherwise.
func (i *IssueImportError) GetField() string
GetField returns the Field field if it's non-nil, zero value otherwise.
func (i *IssueImportError) GetLocation() string
GetLocation returns the Location field if it's non-nil, zero value otherwise.
func (i *IssueImportError) GetResource() string
GetResource returns the Resource field if it's non-nil, zero value otherwise.
func (i *IssueImportError) GetValue() string
GetValue returns the Value field if it's non-nil, zero value otherwise.
IssueImportRequest represents a request to create an issue.
https://gist.github.com/jonmagic/5282384165e0f86ef105#supported-issue-and-comment-fields
type IssueImportRequest struct { IssueImport IssueImport `json:"issue"` Comments []*Comment `json:"comments,omitempty"` }
IssueImportResponse represents the response of an issue import create request.
https://gist.github.com/jonmagic/5282384165e0f86ef105#import-issue-response
type IssueImportResponse struct { ID *int `json:"id,omitempty"` Status *string `json:"status,omitempty"` URL *string `json:"url,omitempty"` ImportIssuesURL *string `json:"import_issues_url,omitempty"` RepositoryURL *string `json:"repository_url,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` Message *string `json:"message,omitempty"` DocumentationURL *string `json:"documentation_url,omitempty"` Errors []*IssueImportError `json:"errors,omitempty"` }
func (i *IssueImportResponse) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetDocumentationURL() string
GetDocumentationURL returns the DocumentationURL field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetID() int
GetID returns the ID field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetImportIssuesURL() string
GetImportIssuesURL returns the ImportIssuesURL field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (i *IssueImportResponse) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
IssueImportService handles communication with the issue import related methods of the Issue Import GitHub API.
type IssueImportService service
func (s *IssueImportService) CheckStatus(ctx context.Context, owner, repo string, issueID int64) (*IssueImportResponse, *Response, error)
CheckStatus checks the status of an imported issue.
https://gist.github.com/jonmagic/5282384165e0f86ef105#import-status-request
func (s *IssueImportService) CheckStatusSince(ctx context.Context, owner, repo string, since time.Time) ([]*IssueImportResponse, *Response, error)
CheckStatusSince checks the status of multiple imported issues since a given date.
https://gist.github.com/jonmagic/5282384165e0f86ef105#check-status-of-multiple-issues
func (s *IssueImportService) Create(ctx context.Context, owner, repo string, issue *IssueImportRequest) (*IssueImportResponse, *Response, error)
Create a new imported issue on the specified repository.
https://gist.github.com/jonmagic/5282384165e0f86ef105#start-an-issue-import
IssueListByRepoOptions specifies the optional parameters to the IssuesService.ListByRepo method.
type IssueListByRepoOptions struct { // Milestone limits issues for the specified milestone. Possible values are // a milestone number, "none" for issues with no milestone, "*" for issues // with any milestone. Milestone string `url:"milestone,omitempty"` // State filters issues based on their state. Possible values are: open, // closed, all. Default is "open". State string `url:"state,omitempty"` // Assignee filters issues based on their assignee. Possible values are a // user name, "none" for issues that are not assigned, "*" for issues with // any assigned user. Assignee string `url:"assignee,omitempty"` // Creator filters issues based on their creator. Creator string `url:"creator,omitempty"` // Mentioned filters issues to those mentioned a specific user. Mentioned string `url:"mentioned,omitempty"` // Labels filters issues based on their label. Labels []string `url:"labels,omitempty,comma"` // Sort specifies how to sort issues. Possible values are: created, updated, // and comments. Default value is "created". Sort string `url:"sort,omitempty"` // Direction in which to sort issues. Possible values are: asc, desc. // Default is "desc". Direction string `url:"direction,omitempty"` // Since filters issues by time. Since time.Time `url:"since,omitempty"` ListOptions }
IssueListCommentsOptions specifies the optional parameters to the IssuesService.ListComments method.
type IssueListCommentsOptions struct { // Sort specifies how to sort comments. Possible values are: created, updated. Sort *string `url:"sort,omitempty"` // Direction in which to sort comments. Possible values are: asc, desc. Direction *string `url:"direction,omitempty"` // Since filters comments by time. Since *time.Time `url:"since,omitempty"` ListOptions }
func (i *IssueListCommentsOptions) GetDirection() string
GetDirection returns the Direction field if it's non-nil, zero value otherwise.
func (i *IssueListCommentsOptions) GetSince() time.Time
GetSince returns the Since field if it's non-nil, zero value otherwise.
func (i *IssueListCommentsOptions) GetSort() string
GetSort returns the Sort field if it's non-nil, zero value otherwise.
IssueListOptions specifies the optional parameters to the IssuesService.List and IssuesService.ListByOrg methods.
type IssueListOptions struct { // Filter specifies which issues to list. Possible values are: assigned, // created, mentioned, subscribed, all. Default is "assigned". Filter string `url:"filter,omitempty"` // State filters issues based on their state. Possible values are: open, // closed, all. Default is "open". State string `url:"state,omitempty"` // Labels filters issues based on their label. Labels []string `url:"labels,comma,omitempty"` // Sort specifies how to sort issues. Possible values are: created, updated, // and comments. Default value is "created". Sort string `url:"sort,omitempty"` // Direction in which to sort issues. Possible values are: asc, desc. // Default is "desc". Direction string `url:"direction,omitempty"` // Since filters issues by time. Since time.Time `url:"since,omitempty"` ListOptions }
IssueRequest represents a request to create/edit an issue. It is separate from Issue above because otherwise Labels and Assignee fail to serialize to the correct JSON.
type IssueRequest struct { Title *string `json:"title,omitempty"` Body *string `json:"body,omitempty"` Labels *[]string `json:"labels,omitempty"` Assignee *string `json:"assignee,omitempty"` State *string `json:"state,omitempty"` Milestone *int `json:"milestone,omitempty"` Assignees *[]string `json:"assignees,omitempty"` }
func (i *IssueRequest) GetAssignee() string
GetAssignee returns the Assignee field if it's non-nil, zero value otherwise.
func (i *IssueRequest) GetAssignees() []string
GetAssignees returns the Assignees field if it's non-nil, zero value otherwise.
func (i *IssueRequest) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (i *IssueRequest) GetLabels() []string
GetLabels returns the Labels field if it's non-nil, zero value otherwise.
func (i *IssueRequest) GetMilestone() int
GetMilestone returns the Milestone field if it's non-nil, zero value otherwise.
func (i *IssueRequest) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (i *IssueRequest) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
IssueStats represents the number of total, open and closed issues.
type IssueStats struct { TotalIssues *int `json:"total_issues,omitempty"` OpenIssues *int `json:"open_issues,omitempty"` ClosedIssues *int `json:"closed_issues,omitempty"` }
func (i *IssueStats) GetClosedIssues() int
GetClosedIssues returns the ClosedIssues field if it's non-nil, zero value otherwise.
func (i *IssueStats) GetOpenIssues() int
GetOpenIssues returns the OpenIssues field if it's non-nil, zero value otherwise.
func (i *IssueStats) GetTotalIssues() int
GetTotalIssues returns the TotalIssues field if it's non-nil, zero value otherwise.
func (s IssueStats) String() string
IssuesEvent is triggered when an issue is opened, edited, deleted, transferred, pinned, unpinned, closed, reopened, assigned, unassigned, labeled, unlabeled, locked, unlocked, milestoned, or demilestoned. The Webhook event name is "issues".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#issues
type IssuesEvent struct { // Action is the action that was performed. Possible values are: "opened", // "edited", "deleted", "transferred", "pinned", "unpinned", "closed", "reopened", // "assigned", "unassigned", "labeled", "unlabeled", "locked", "unlocked", // "milestoned", or "demilestoned". Action *string `json:"action,omitempty"` Issue *Issue `json:"issue,omitempty"` Assignee *User `json:"assignee,omitempty"` Label *Label `json:"label,omitempty"` // The following fields are only populated by Webhook events. Changes *EditChange `json:"changes,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (i *IssuesEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (i *IssuesEvent) GetAssignee() *User
GetAssignee returns the Assignee field.
func (i *IssuesEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (i *IssuesEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (i *IssuesEvent) GetIssue() *Issue
GetIssue returns the Issue field.
func (i *IssuesEvent) GetLabel() *Label
GetLabel returns the Label field.
func (i *IssuesEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (i *IssuesEvent) GetSender() *User
GetSender returns the Sender field.
IssuesSearchResult represents the result of an issues search.
type IssuesSearchResult struct { Total *int `json:"total_count,omitempty"` IncompleteResults *bool `json:"incomplete_results,omitempty"` Issues []*Issue `json:"items,omitempty"` }
func (i *IssuesSearchResult) GetIncompleteResults() bool
GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.
func (i *IssuesSearchResult) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
IssuesService handles communication with the issue related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/issues/
type IssuesService service
func (s *IssuesService) AddAssignees(ctx context.Context, owner, repo string, number int, assignees []string) (*Issue, *Response, error)
AddAssignees adds the provided GitHub users as assignees to the issue.
GitHub API docs: https://docs.github.com/en/rest/issues/assignees#add-assignees-to-an-issue
func (s *IssuesService) AddLabelsToIssue(ctx context.Context, owner string, repo string, number int, labels []string) ([]*Label, *Response, error)
AddLabelsToIssue adds labels to an issue.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#add-labels-to-an-issue
func (s *IssuesService) Create(ctx context.Context, owner string, repo string, issue *IssueRequest) (*Issue, *Response, error)
Create a new issue on the specified repository.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#create-an-issue
func (s *IssuesService) CreateComment(ctx context.Context, owner string, repo string, number int, comment *IssueComment) (*IssueComment, *Response, error)
CreateComment creates a new comment on the specified issue.
GitHub API docs: https://docs.github.com/en/rest/issues/comments#create-an-issue-comment
func (s *IssuesService) CreateLabel(ctx context.Context, owner string, repo string, label *Label) (*Label, *Response, error)
CreateLabel creates a new label on the specified repository.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#create-a-label
func (s *IssuesService) CreateMilestone(ctx context.Context, owner string, repo string, milestone *Milestone) (*Milestone, *Response, error)
CreateMilestone creates a new milestone on the specified repository.
GitHub API docs: https://docs.github.com/en/rest/issues/milestones#create-a-milestone
func (s *IssuesService) DeleteComment(ctx context.Context, owner string, repo string, commentID int64) (*Response, error)
DeleteComment deletes an issue comment.
GitHub API docs: https://docs.github.com/en/rest/issues/comments#delete-an-issue-comment
func (s *IssuesService) DeleteLabel(ctx context.Context, owner string, repo string, name string) (*Response, error)
DeleteLabel deletes a label.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#delete-a-label
func (s *IssuesService) DeleteMilestone(ctx context.Context, owner string, repo string, number int) (*Response, error)
DeleteMilestone deletes a milestone.
GitHub API docs: https://docs.github.com/en/rest/issues/milestones#delete-a-milestone
func (s *IssuesService) Edit(ctx context.Context, owner string, repo string, number int, issue *IssueRequest) (*Issue, *Response, error)
Edit (update) an issue.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#update-an-issue
func (s *IssuesService) EditComment(ctx context.Context, owner string, repo string, commentID int64, comment *IssueComment) (*IssueComment, *Response, error)
EditComment updates an issue comment. A non-nil comment.Body must be provided. Other comment fields should be left nil.
GitHub API docs: https://docs.github.com/en/rest/issues/comments#update-an-issue-comment
func (s *IssuesService) EditLabel(ctx context.Context, owner string, repo string, name string, label *Label) (*Label, *Response, error)
EditLabel edits a label.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#update-a-label
func (s *IssuesService) EditMilestone(ctx context.Context, owner string, repo string, number int, milestone *Milestone) (*Milestone, *Response, error)
EditMilestone edits a milestone.
GitHub API docs: https://docs.github.com/en/rest/issues/milestones#update-a-milestone
func (s *IssuesService) Get(ctx context.Context, owner string, repo string, number int) (*Issue, *Response, error)
Get a single issue.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#get-an-issue
func (s *IssuesService) GetComment(ctx context.Context, owner string, repo string, commentID int64) (*IssueComment, *Response, error)
GetComment fetches the specified issue comment.
GitHub API docs: https://docs.github.com/en/rest/issues/comments#get-an-issue-comment
func (s *IssuesService) GetEvent(ctx context.Context, owner, repo string, id int64) (*IssueEvent, *Response, error)
GetEvent returns the specified issue event.
GitHub API docs: https://docs.github.com/en/rest/issues/events#get-an-issue-event
func (s *IssuesService) GetLabel(ctx context.Context, owner string, repo string, name string) (*Label, *Response, error)
GetLabel gets a single label.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#get-a-label
func (s *IssuesService) GetMilestone(ctx context.Context, owner string, repo string, number int) (*Milestone, *Response, error)
GetMilestone gets a single milestone.
GitHub API docs: https://docs.github.com/en/rest/issues/milestones#get-a-milestone
func (s *IssuesService) IsAssignee(ctx context.Context, owner, repo, user string) (bool, *Response, error)
IsAssignee checks if a user is an assignee for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/issues/assignees#check-if-a-user-can-be-assigned
func (s *IssuesService) List(ctx context.Context, all bool, opts *IssueListOptions) ([]*Issue, *Response, error)
List the issues for the authenticated user. If all is true, list issues across all the user's visible repositories including owned, member, and organization repositories; if false, list only owned and member repositories.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#list-user-account-issues-assigned-to-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/issues/issues#list-issues-assigned-to-the-authenticated-user
func (s *IssuesService) ListAssignees(ctx context.Context, owner, repo string, opts *ListOptions) ([]*User, *Response, error)
ListAssignees fetches all available assignees (owners and collaborators) to which issues may be assigned.
GitHub API docs: https://docs.github.com/en/rest/issues/assignees#list-assignees
func (s *IssuesService) ListByOrg(ctx context.Context, org string, opts *IssueListOptions) ([]*Issue, *Response, error)
ListByOrg fetches the issues in the specified organization for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#list-organization-issues-assigned-to-the-authenticated-user
func (s *IssuesService) ListByRepo(ctx context.Context, owner string, repo string, opts *IssueListByRepoOptions) ([]*Issue, *Response, error)
ListByRepo lists the issues for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#list-repository-issues
func (s *IssuesService) ListComments(ctx context.Context, owner string, repo string, number int, opts *IssueListCommentsOptions) ([]*IssueComment, *Response, error)
ListComments lists all comments on the specified issue. Specifying an issue number of 0 will return all comments on all issues for the repository.
GitHub API docs: https://docs.github.com/en/rest/issues/comments#list-issue-comments GitHub API docs: https://docs.github.com/en/rest/issues/comments#list-issue-comments-for-a-repository
func (s *IssuesService) ListIssueEvents(ctx context.Context, owner, repo string, number int, opts *ListOptions) ([]*IssueEvent, *Response, error)
ListIssueEvents lists events for the specified issue.
GitHub API docs: https://docs.github.com/en/rest/issues/events#list-issue-events
func (s *IssuesService) ListIssueTimeline(ctx context.Context, owner, repo string, number int, opts *ListOptions) ([]*Timeline, *Response, error)
ListIssueTimeline lists events for the specified issue.
GitHub API docs: https://docs.github.com/en/rest/issues/timeline#list-timeline-events-for-an-issue
func (s *IssuesService) ListLabels(ctx context.Context, owner string, repo string, opts *ListOptions) ([]*Label, *Response, error)
ListLabels lists all labels for a repository.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#list-labels-for-a-repository
func (s *IssuesService) ListLabelsByIssue(ctx context.Context, owner string, repo string, number int, opts *ListOptions) ([]*Label, *Response, error)
ListLabelsByIssue lists all labels for an issue.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#list-labels-for-an-issue
func (s *IssuesService) ListLabelsForMilestone(ctx context.Context, owner string, repo string, number int, opts *ListOptions) ([]*Label, *Response, error)
ListLabelsForMilestone lists labels for every issue in a milestone.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#list-labels-for-issues-in-a-milestone
func (s *IssuesService) ListMilestones(ctx context.Context, owner string, repo string, opts *MilestoneListOptions) ([]*Milestone, *Response, error)
ListMilestones lists all milestones for a repository.
GitHub API docs: https://docs.github.com/en/rest/issues/milestones#list-milestones
func (s *IssuesService) ListRepositoryEvents(ctx context.Context, owner, repo string, opts *ListOptions) ([]*IssueEvent, *Response, error)
ListRepositoryEvents lists events for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/issues/events#list-issue-events-for-a-repository
func (s *IssuesService) Lock(ctx context.Context, owner string, repo string, number int, opts *LockIssueOptions) (*Response, error)
Lock an issue's conversation.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#lock-an-issue
func (s *IssuesService) RemoveAssignees(ctx context.Context, owner, repo string, number int, assignees []string) (*Issue, *Response, error)
RemoveAssignees removes the provided GitHub users as assignees from the issue.
GitHub API docs: https://docs.github.com/en/rest/issues/assignees#remove-assignees-from-an-issue
func (s *IssuesService) RemoveLabelForIssue(ctx context.Context, owner string, repo string, number int, label string) (*Response, error)
RemoveLabelForIssue removes a label for an issue.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#remove-a-label-from-an-issue
func (s *IssuesService) RemoveLabelsForIssue(ctx context.Context, owner string, repo string, number int) (*Response, error)
RemoveLabelsForIssue removes all labels for an issue.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#remove-all-labels-from-an-issue
func (s *IssuesService) RemoveMilestone(ctx context.Context, owner, repo string, issueNumber int) (*Issue, *Response, error)
Remove a milestone from an issue.
This is a helper method to explicitly update an issue with a `null` milestone, thereby removing it.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#update-an-issue
func (s *IssuesService) ReplaceLabelsForIssue(ctx context.Context, owner string, repo string, number int, labels []string) ([]*Label, *Response, error)
ReplaceLabelsForIssue replaces all labels for an issue.
GitHub API docs: https://docs.github.com/en/rest/issues/labels#set-labels-for-an-issue
func (s *IssuesService) Unlock(ctx context.Context, owner string, repo string, number int) (*Response, error)
Unlock an issue's conversation.
GitHub API docs: https://docs.github.com/en/rest/issues/issues#unlock-an-issue
Jobs represents a slice of repository action workflow job.
type Jobs struct { TotalCount *int `json:"total_count,omitempty"` Jobs []*WorkflowJob `json:"jobs,omitempty"` }
func (j *Jobs) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
Key represents a public SSH key used to authenticate a user or deploy script.
type Key struct { ID *int64 `json:"id,omitempty"` Key *string `json:"key,omitempty"` URL *string `json:"url,omitempty"` Title *string `json:"title,omitempty"` ReadOnly *bool `json:"read_only,omitempty"` Verified *bool `json:"verified,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` }
func (k *Key) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (k *Key) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (k *Key) GetKey() string
GetKey returns the Key field if it's non-nil, zero value otherwise.
func (k *Key) GetReadOnly() bool
GetReadOnly returns the ReadOnly field if it's non-nil, zero value otherwise.
func (k *Key) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (k *Key) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (k *Key) GetVerified() bool
GetVerified returns the Verified field if it's non-nil, zero value otherwise.
func (k Key) String() string
Label represents a GitHub label on an Issue
type Label struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` Name *string `json:"name,omitempty"` Color *string `json:"color,omitempty"` Description *string `json:"description,omitempty"` Default *bool `json:"default,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (l *Label) GetColor() string
GetColor returns the Color field if it's non-nil, zero value otherwise.
func (l *Label) GetDefault() bool
GetDefault returns the Default field if it's non-nil, zero value otherwise.
func (l *Label) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (l *Label) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (l *Label) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (l *Label) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (l *Label) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (l Label) String() string
LabelEvent is triggered when a repository's label is created, edited, or deleted. The Webhook event name is "label"
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#label
type LabelEvent struct { // Action is the action that was performed. Possible values are: // "created", "edited", "deleted" Action *string `json:"action,omitempty"` Label *Label `json:"label,omitempty"` Changes *EditChange `json:"changes,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (l *LabelEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (l *LabelEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (l *LabelEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (l *LabelEvent) GetLabel() *Label
GetLabel returns the Label field.
func (l *LabelEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (l *LabelEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (l *LabelEvent) GetSender() *User
GetSender returns the Sender field.
LabelResult represents a single search result.
type LabelResult struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` Name *string `json:"name,omitempty"` Color *string `json:"color,omitempty"` Default *bool `json:"default,omitempty"` Description *string `json:"description,omitempty"` Score *float64 `json:"score,omitempty"` }
func (l *LabelResult) GetColor() string
GetColor returns the Color field if it's non-nil, zero value otherwise.
func (l *LabelResult) GetDefault() bool
GetDefault returns the Default field if it's non-nil, zero value otherwise.
func (l *LabelResult) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (l *LabelResult) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (l *LabelResult) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (l *LabelResult) GetScore() *float64
GetScore returns the Score field.
func (l *LabelResult) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (l LabelResult) String() string
LabelsSearchResult represents the result of a code search.
type LabelsSearchResult struct { Total *int `json:"total_count,omitempty"` IncompleteResults *bool `json:"incomplete_results,omitempty"` Labels []*LabelResult `json:"items,omitempty"` }
func (l *LabelsSearchResult) GetIncompleteResults() bool
GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.
func (l *LabelsSearchResult) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
LargeFile identifies a file larger than 100MB found during a repository import.
GitHub API docs: https://docs.github.com/en/rest/migration/source_imports/#get-large-files
type LargeFile struct { RefName *string `json:"ref_name,omitempty"` Path *string `json:"path,omitempty"` OID *string `json:"oid,omitempty"` Size *int `json:"size,omitempty"` }
func (l *LargeFile) GetOID() string
GetOID returns the OID field if it's non-nil, zero value otherwise.
func (l *LargeFile) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (l *LargeFile) GetRefName() string
GetRefName returns the RefName field if it's non-nil, zero value otherwise.
func (l *LargeFile) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (f LargeFile) String() string
License represents an open source license.
type License struct { Key *string `json:"key,omitempty"` Name *string `json:"name,omitempty"` URL *string `json:"url,omitempty"` SPDXID *string `json:"spdx_id,omitempty"` HTMLURL *string `json:"html_url,omitempty"` Featured *bool `json:"featured,omitempty"` Description *string `json:"description,omitempty"` Implementation *string `json:"implementation,omitempty"` Permissions *[]string `json:"permissions,omitempty"` Conditions *[]string `json:"conditions,omitempty"` Limitations *[]string `json:"limitations,omitempty"` Body *string `json:"body,omitempty"` }
func (l *License) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (l *License) GetConditions() []string
GetConditions returns the Conditions field if it's non-nil, zero value otherwise.
func (l *License) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (l *License) GetFeatured() bool
GetFeatured returns the Featured field if it's non-nil, zero value otherwise.
func (l *License) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (l *License) GetImplementation() string
GetImplementation returns the Implementation field if it's non-nil, zero value otherwise.
func (l *License) GetKey() string
GetKey returns the Key field if it's non-nil, zero value otherwise.
func (l *License) GetLimitations() []string
GetLimitations returns the Limitations field if it's non-nil, zero value otherwise.
func (l *License) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (l *License) GetPermissions() []string
GetPermissions returns the Permissions field if it's non-nil, zero value otherwise.
func (l *License) GetSPDXID() string
GetSPDXID returns the SPDXID field if it's non-nil, zero value otherwise.
func (l *License) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (l License) String() string
LicensesService handles communication with the license related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/licenses/
type LicensesService service
func (s *LicensesService) Get(ctx context.Context, licenseName string) (*License, *Response, error)
Get extended metadata for one license.
GitHub API docs: https://docs.github.com/en/rest/licenses#get-a-license
func (s *LicensesService) List(ctx context.Context) ([]*License, *Response, error)
List popular open source licenses.
GitHub API docs: https://docs.github.com/en/rest/licenses/#list-all-licenses
ListCheckRunsOptions represents parameters to list check runs.
type ListCheckRunsOptions struct { CheckName *string `url:"check_name,omitempty"` // Returns check runs with the specified name. Status *string `url:"status,omitempty"` // Returns check runs with the specified status. Can be one of "queued", "in_progress", or "completed". Filter *string `url:"filter,omitempty"` // Filters check runs by their completed_at timestamp. Can be one of "latest" (returning the most recent check runs) or "all". Default: "latest" AppID *int64 `url:"app_id,omitempty"` // Filters check runs by GitHub App ID. ListOptions }
func (l *ListCheckRunsOptions) GetAppID() int64
GetAppID returns the AppID field if it's non-nil, zero value otherwise.
func (l *ListCheckRunsOptions) GetCheckName() string
GetCheckName returns the CheckName field if it's non-nil, zero value otherwise.
func (l *ListCheckRunsOptions) GetFilter() string
GetFilter returns the Filter field if it's non-nil, zero value otherwise.
func (l *ListCheckRunsOptions) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
ListCheckRunsResults represents the result of a check run list.
type ListCheckRunsResults struct { Total *int `json:"total_count,omitempty"` CheckRuns []*CheckRun `json:"check_runs,omitempty"` }
func (l *ListCheckRunsResults) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
ListCheckSuiteOptions represents parameters to list check suites.
type ListCheckSuiteOptions struct { CheckName *string `url:"check_name,omitempty"` // Filters checks suites by the name of the check run. AppID *int `url:"app_id,omitempty"` // Filters check suites by GitHub App id. ListOptions }
func (l *ListCheckSuiteOptions) GetAppID() int
GetAppID returns the AppID field if it's non-nil, zero value otherwise.
func (l *ListCheckSuiteOptions) GetCheckName() string
GetCheckName returns the CheckName field if it's non-nil, zero value otherwise.
ListCheckSuiteResults represents the result of a check run list.
type ListCheckSuiteResults struct { Total *int `json:"total_count,omitempty"` CheckSuites []*CheckSuite `json:"check_suites,omitempty"` }
func (l *ListCheckSuiteResults) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
ListCollaboratorOptions specifies the optional parameters to the ProjectsService.ListProjectCollaborators method.
type ListCollaboratorOptions struct { // Affiliation specifies how collaborators should be filtered by their affiliation. // Possible values are: // "outside" - All outside collaborators of an organization-owned repository // "direct" - All collaborators with permissions to an organization-owned repository, // regardless of organization membership status // "all" - All collaborators the authenticated user can see // // Default value is "all". Affiliation *string `url:"affiliation,omitempty"` ListOptions }
func (l *ListCollaboratorOptions) GetAffiliation() string
GetAffiliation returns the Affiliation field if it's non-nil, zero value otherwise.
ListCollaboratorsOptions specifies the optional parameters to the RepositoriesService.ListCollaborators method.
type ListCollaboratorsOptions struct { // Affiliation specifies how collaborators should be filtered by their affiliation. // Possible values are: // outside - All outside collaborators of an organization-owned repository // direct - All collaborators with permissions to an organization-owned repository, // regardless of organization membership status // all - All collaborators the authenticated user can see // // Default value is "all". Affiliation string `url:"affiliation,omitempty"` ListOptions }
ListCommentReactionOptions specifies the optional parameters to the ReactionsService.ListCommentReactions method.
type ListCommentReactionOptions struct { // Content restricts the returned comment reactions to only those with the given type. // Omit this parameter to list all reactions to a commit comment. // Possible values are: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes". Content string `url:"content,omitempty"` ListOptions }
ListContributorsOptions specifies the optional parameters to the RepositoriesService.ListContributors method.
type ListContributorsOptions struct { // Include anonymous contributors in results or not Anon string `url:"anon,omitempty"` ListOptions }
ListCursorOptions specifies the optional parameters to various List methods that support cursor pagination.
type ListCursorOptions struct { // For paginated result sets, page of results to retrieve. Page string `url:"page,omitempty"` // For paginated result sets, the number of results to include per page. PerPage int `url:"per_page,omitempty"` // A cursor, as given in the Link header. If specified, the query only searches for events after this cursor. After string `url:"after,omitempty"` // A cursor, as given in the Link header. If specified, the query only searches for events before this cursor. Before string `url:"before,omitempty"` // A cursor, as given in the Link header. If specified, the query continues the search using this cursor. Cursor string `url:"cursor,omitempty"` }
ListExternalGroupsOptions specifies the optional parameters to the TeamsService.ListExternalGroups method.
type ListExternalGroupsOptions struct { DisplayName *string `url:"display_name,omitempty"` ListOptions }
func (l *ListExternalGroupsOptions) GetDisplayName() string
GetDisplayName returns the DisplayName field if it's non-nil, zero value otherwise.
ListMembersOptions specifies optional parameters to the OrganizationsService.ListMembers method.
type ListMembersOptions struct { // If true (or if the authenticated user is not an owner of the // organization), list only publicly visible members. PublicOnly bool `url:"-"` // Filter members returned in the list. Possible values are: // 2fa_disabled, all. Default is "all". Filter string `url:"filter,omitempty"` // Role filters members returned by their role in the organization. // Possible values are: // all - all members of the organization, regardless of role // admin - organization owners // member - non-owner organization members // // Default is "all". Role string `url:"role,omitempty"` ListOptions }
ListOptions specifies the optional parameters to various List methods that support offset pagination.
type ListOptions struct { // For paginated result sets, page of results to retrieve. Page int `url:"page,omitempty"` // For paginated result sets, the number of results to include per page. PerPage int `url:"per_page,omitempty"` }
ListOrgMembershipsOptions specifies optional parameters to the OrganizationsService.ListOrgMemberships method.
type ListOrgMembershipsOptions struct { // Filter memberships to include only those with the specified state. // Possible values are: "active", "pending". State string `url:"state,omitempty"` ListOptions }
ListOrgRunnerGroupOptions extend ListOptions to have the optional parameters VisibleToRepository.
type ListOrgRunnerGroupOptions struct { ListOptions // Only return runner groups that are allowed to be used by this repository. VisibleToRepository string `url:"visible_to_repository,omitempty"` }
ListOutsideCollaboratorsOptions specifies optional parameters to the OrganizationsService.ListOutsideCollaborators method.
type ListOutsideCollaboratorsOptions struct { // Filter outside collaborators returned in the list. Possible values are: // 2fa_disabled, all. Default is "all". Filter string `url:"filter,omitempty"` ListOptions }
ListRepositories represents the response from the list repos endpoints.
type ListRepositories struct { TotalCount *int `json:"total_count,omitempty"` Repositories []*Repository `json:"repositories"` }
func (l *ListRepositories) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
ListSCIMProvisionedIdentitiesOptions represents options for ListSCIMProvisionedIdentities.
Github API docs: https://docs.github.com/en/rest/scim#list-scim-provisioned-identities--parameters
type ListSCIMProvisionedIdentitiesOptions struct { StartIndex *int `json:"startIndex,omitempty"` // Used for pagination: the index of the first result to return. (Optional.) Count *int `json:"count,omitempty"` // Used for pagination: the number of results to return. (Optional.) // Filter results using the equals query parameter operator (eq). // You can filter results that are equal to id, userName, emails, and external_id. // For example, to search for an identity with the userName Octocat, you would use this query: ?filter=userName%20eq%20\"Octocat\". // To filter results for the identity with the email octocat@github.com, you would use this query: ?filter=emails%20eq%20\"octocat@github.com\". // (Optional.) Filter *string `json:"filter,omitempty"` }
func (l *ListSCIMProvisionedIdentitiesOptions) GetCount() int
GetCount returns the Count field if it's non-nil, zero value otherwise.
func (l *ListSCIMProvisionedIdentitiesOptions) GetFilter() string
GetFilter returns the Filter field if it's non-nil, zero value otherwise.
func (l *ListSCIMProvisionedIdentitiesOptions) GetStartIndex() int
GetStartIndex returns the StartIndex field if it's non-nil, zero value otherwise.
ListWorkflowJobsOptions specifies optional parameters to ListWorkflowJobs.
type ListWorkflowJobsOptions struct { // Filter specifies how jobs should be filtered by their completed_at timestamp. // Possible values are: // latest - Returns jobs from the most recent execution of the workflow run // all - Returns all jobs for a workflow run, including from old executions of the workflow run // // Default value is "latest". Filter string `url:"filter,omitempty"` ListOptions }
ListWorkflowRunsOptions specifies optional parameters to ListWorkflowRuns.
type ListWorkflowRunsOptions struct { Actor string `url:"actor,omitempty"` Branch string `url:"branch,omitempty"` Event string `url:"event,omitempty"` Status string `url:"status,omitempty"` Created string `url:"created,omitempty"` ListOptions }
Location represents the exact location of the GitHub Code Scanning Alert in the scanned project.
type Location struct { Path *string `json:"path,omitempty"` StartLine *int `json:"start_line,omitempty"` EndLine *int `json:"end_line,omitempty"` StartColumn *int `json:"start_column,omitempty"` EndColumn *int `json:"end_column,omitempty"` }
func (l *Location) GetEndColumn() int
GetEndColumn returns the EndColumn field if it's non-nil, zero value otherwise.
func (l *Location) GetEndLine() int
GetEndLine returns the EndLine field if it's non-nil, zero value otherwise.
func (l *Location) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (l *Location) GetStartColumn() int
GetStartColumn returns the StartColumn field if it's non-nil, zero value otherwise.
func (l *Location) GetStartLine() int
GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.
LockIssueOptions specifies the optional parameters to the IssuesService.Lock method.
type LockIssueOptions struct { // LockReason specifies the reason to lock this issue. // Providing a lock reason can help make it clearer to contributors why an issue // was locked. Possible values are: "off-topic", "too heated", "resolved", and "spam". LockReason string `json:"lock_reason,omitempty"` }
MarkdownOptions specifies optional parameters to the Markdown method.
type MarkdownOptions struct { // Mode identifies the rendering mode. Possible values are: // markdown - render a document as plain Markdown, just like // README files are rendered. // // gfm - to render a document as user-content, e.g. like user // comments or issues are rendered. In GFM mode, hard line breaks are // always taken into account, and issue and user mentions are linked // accordingly. // // Default is "markdown". Mode string // Context identifies the repository context. Only taken into account // when rendering as "gfm". Context string }
MarketplacePendingChange represents a pending change to a GitHub Apps Marketplace Plan.
type MarketplacePendingChange struct { EffectiveDate *Timestamp `json:"effective_date,omitempty"` UnitCount *int `json:"unit_count,omitempty"` ID *int64 `json:"id,omitempty"` Plan *MarketplacePlan `json:"plan,omitempty"` }
func (m *MarketplacePendingChange) GetEffectiveDate() Timestamp
GetEffectiveDate returns the EffectiveDate field if it's non-nil, zero value otherwise.
func (m *MarketplacePendingChange) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (m *MarketplacePendingChange) GetPlan() *MarketplacePlan
GetPlan returns the Plan field.
func (m *MarketplacePendingChange) GetUnitCount() int
GetUnitCount returns the UnitCount field if it's non-nil, zero value otherwise.
MarketplacePlan represents a GitHub Apps Marketplace Listing Plan.
type MarketplacePlan struct { URL *string `json:"url,omitempty"` AccountsURL *string `json:"accounts_url,omitempty"` ID *int64 `json:"id,omitempty"` Number *int `json:"number,omitempty"` Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` MonthlyPriceInCents *int `json:"monthly_price_in_cents,omitempty"` YearlyPriceInCents *int `json:"yearly_price_in_cents,omitempty"` // The pricing model for this listing. Can be one of "flat-rate", "per-unit", or "free". PriceModel *string `json:"price_model,omitempty"` UnitName *string `json:"unit_name,omitempty"` Bullets *[]string `json:"bullets,omitempty"` // State can be one of the values "draft" or "published". State *string `json:"state,omitempty"` HasFreeTrial *bool `json:"has_free_trial,omitempty"` }
func (m *MarketplacePlan) GetAccountsURL() string
GetAccountsURL returns the AccountsURL field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetBullets() []string
GetBullets returns the Bullets field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetHasFreeTrial() bool
GetHasFreeTrial returns the HasFreeTrial field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetMonthlyPriceInCents() int
GetMonthlyPriceInCents returns the MonthlyPriceInCents field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetPriceModel() string
GetPriceModel returns the PriceModel field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetUnitName() string
GetUnitName returns the UnitName field if it's non-nil, zero value otherwise.
func (m *MarketplacePlan) GetYearlyPriceInCents() int
GetYearlyPriceInCents returns the YearlyPriceInCents field if it's non-nil, zero value otherwise.
MarketplacePlanAccount represents a GitHub Account (user or organization) on a specific plan.
type MarketplacePlanAccount struct { URL *string `json:"url,omitempty"` Type *string `json:"type,omitempty"` ID *int64 `json:"id,omitempty"` Login *string `json:"login,omitempty"` OrganizationBillingEmail *string `json:"organization_billing_email,omitempty"` MarketplacePurchase *MarketplacePurchase `json:"marketplace_purchase,omitempty"` MarketplacePendingChange *MarketplacePendingChange `json:"marketplace_pending_change,omitempty"` }
func (m *MarketplacePlanAccount) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (m *MarketplacePlanAccount) GetLogin() string
GetLogin returns the Login field if it's non-nil, zero value otherwise.
func (m *MarketplacePlanAccount) GetMarketplacePendingChange() *MarketplacePendingChange
GetMarketplacePendingChange returns the MarketplacePendingChange field.
func (m *MarketplacePlanAccount) GetMarketplacePurchase() *MarketplacePurchase
GetMarketplacePurchase returns the MarketplacePurchase field.
func (m *MarketplacePlanAccount) GetOrganizationBillingEmail() string
GetOrganizationBillingEmail returns the OrganizationBillingEmail field if it's non-nil, zero value otherwise.
func (m *MarketplacePlanAccount) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (m *MarketplacePlanAccount) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
MarketplacePurchase represents a GitHub Apps Marketplace Purchase.
type MarketplacePurchase struct { // BillingCycle can be one of the values "yearly", "monthly" or nil. BillingCycle *string `json:"billing_cycle,omitempty"` NextBillingDate *Timestamp `json:"next_billing_date,omitempty"` UnitCount *int `json:"unit_count,omitempty"` Plan *MarketplacePlan `json:"plan,omitempty"` OnFreeTrial *bool `json:"on_free_trial,omitempty"` FreeTrialEndsOn *Timestamp `json:"free_trial_ends_on,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` }
func (m *MarketplacePurchase) GetBillingCycle() string
GetBillingCycle returns the BillingCycle field if it's non-nil, zero value otherwise.
func (m *MarketplacePurchase) GetFreeTrialEndsOn() Timestamp
GetFreeTrialEndsOn returns the FreeTrialEndsOn field if it's non-nil, zero value otherwise.
func (m *MarketplacePurchase) GetNextBillingDate() Timestamp
GetNextBillingDate returns the NextBillingDate field if it's non-nil, zero value otherwise.
func (m *MarketplacePurchase) GetOnFreeTrial() bool
GetOnFreeTrial returns the OnFreeTrial field if it's non-nil, zero value otherwise.
func (m *MarketplacePurchase) GetPlan() *MarketplacePlan
GetPlan returns the Plan field.
func (m *MarketplacePurchase) GetUnitCount() int
GetUnitCount returns the UnitCount field if it's non-nil, zero value otherwise.
func (m *MarketplacePurchase) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
MarketplacePurchaseEvent is triggered when a user purchases, cancels, or changes their GitHub Marketplace plan. Webhook event name "marketplace_purchase".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#marketplace_purchase
type MarketplacePurchaseEvent struct { // Action is the action that was performed. Possible values are: // "purchased", "cancelled", "pending_change", "pending_change_cancelled", "changed". Action *string `json:"action,omitempty"` // The following fields are only populated by Webhook events. EffectiveDate *Timestamp `json:"effective_date,omitempty"` MarketplacePurchase *MarketplacePurchase `json:"marketplace_purchase,omitempty"` PreviousMarketplacePurchase *MarketplacePurchase `json:"previous_marketplace_purchase,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (m *MarketplacePurchaseEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (m *MarketplacePurchaseEvent) GetEffectiveDate() Timestamp
GetEffectiveDate returns the EffectiveDate field if it's non-nil, zero value otherwise.
func (m *MarketplacePurchaseEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (m *MarketplacePurchaseEvent) GetMarketplacePurchase() *MarketplacePurchase
GetMarketplacePurchase returns the MarketplacePurchase field.
func (m *MarketplacePurchaseEvent) GetPreviousMarketplacePurchase() *MarketplacePurchase
GetPreviousMarketplacePurchase returns the PreviousMarketplacePurchase field.
func (m *MarketplacePurchaseEvent) GetSender() *User
GetSender returns the Sender field.
MarketplaceService handles communication with the marketplace related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/apps#marketplace
type MarketplaceService struct { // Stubbed controls whether endpoints that return stubbed data are used // instead of production endpoints. Stubbed data is fake data that's useful // for testing your GitHub Apps. Stubbed data is hard-coded and will not // change based on actual subscriptions. // // GitHub API docs: https://docs.github.com/en/rest/apps#testing-with-stubbed-endpoints Stubbed bool // contains filtered or unexported fields }
func (s *MarketplaceService) GetPlanAccountForAccount(ctx context.Context, accountID int64) (*MarketplacePlanAccount, *Response, error)
GetPlanAccountForAccount get GitHub account (user or organization) associated with an account.
GitHub API docs: https://docs.github.com/en/rest/apps#get-a-subscription-plan-for-an-account
func (s *MarketplaceService) ListMarketplacePurchasesForUser(ctx context.Context, opts *ListOptions) ([]*MarketplacePurchase, *Response, error)
ListMarketplacePurchasesForUser lists all GitHub marketplace purchases made by a user.
GitHub API docs: https://docs.github.com/en/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user-stubbed GitHub API docs: https://docs.github.com/en/rest/apps/marketplace#list-subscriptions-for-the-authenticated-user
func (s *MarketplaceService) ListPlanAccountsForPlan(ctx context.Context, planID int64, opts *ListOptions) ([]*MarketplacePlanAccount, *Response, error)
ListPlanAccountsForPlan lists all GitHub accounts (user or organization) on a specific plan.
GitHub API docs: https://docs.github.com/en/rest/apps#list-accounts-for-a-plan
func (s *MarketplaceService) ListPlans(ctx context.Context, opts *ListOptions) ([]*MarketplacePlan, *Response, error)
ListPlans lists all plans for your Marketplace listing.
GitHub API docs: https://docs.github.com/en/rest/apps#list-plans
Match represents a single text match.
type Match struct { Text *string `json:"text,omitempty"` Indices []int `json:"indices,omitempty"` }
func (m *Match) GetText() string
GetText returns the Text field if it's non-nil, zero value otherwise.
MemberEvent is triggered when a user is added as a collaborator to a repository. The Webhook event name is "member".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#member
type MemberEvent struct { // Action is the action that was performed. Possible value is: "added". Action *string `json:"action,omitempty"` Member *User `json:"member,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (m *MemberEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (m *MemberEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (m *MemberEvent) GetMember() *User
GetMember returns the Member field.
func (m *MemberEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (m *MemberEvent) GetSender() *User
GetSender returns the Sender field.
Membership represents the status of a user's membership in an organization or team.
type Membership struct { URL *string `json:"url,omitempty"` // State is the user's status within the organization or team. // Possible values are: "active", "pending" State *string `json:"state,omitempty"` // Role identifies the user's role within the organization or team. // Possible values for organization membership: // member - non-owner organization member // admin - organization owner // // Possible values for team membership are: // member - a normal member of the team // maintainer - a team maintainer. Able to add/remove other team // members, promote other team members to team // maintainer, and edit the team’s name and description Role *string `json:"role,omitempty"` // For organization membership, the API URL of the organization. OrganizationURL *string `json:"organization_url,omitempty"` // For organization membership, the organization the membership is for. Organization *Organization `json:"organization,omitempty"` // For organization membership, the user the membership is for. User *User `json:"user,omitempty"` }
func (m *Membership) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (m *Membership) GetOrganizationURL() string
GetOrganizationURL returns the OrganizationURL field if it's non-nil, zero value otherwise.
func (m *Membership) GetRole() string
GetRole returns the Role field if it's non-nil, zero value otherwise.
func (m *Membership) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (m *Membership) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (m *Membership) GetUser() *User
GetUser returns the User field.
func (m Membership) String() string
MembershipEvent is triggered when a user is added or removed from a team. The Webhook event name is "membership".
Events of this type are not visible in timelines, they are only used to trigger organization webhooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#membership
type MembershipEvent struct { // Action is the action that was performed. Possible values are: "added", "removed". Action *string `json:"action,omitempty"` // Scope is the scope of the membership. Possible value is: "team". Scope *string `json:"scope,omitempty"` Member *User `json:"member,omitempty"` Team *Team `json:"team,omitempty"` // The following fields are only populated by Webhook events. Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (m *MembershipEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (m *MembershipEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (m *MembershipEvent) GetMember() *User
GetMember returns the Member field.
func (m *MembershipEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (m *MembershipEvent) GetScope() string
GetScope returns the Scope field if it's non-nil, zero value otherwise.
func (m *MembershipEvent) GetSender() *User
GetSender returns the Sender field.
func (m *MembershipEvent) GetTeam() *Team
GetTeam returns the Team field.
Message is a part of MostRecentInstance struct which provides the appropriate message when any action is performed on the analysis object.
type Message struct { Text *string `json:"text,omitempty"` }
func (m *Message) GetText() string
GetText returns the Text field if it's non-nil, zero value otherwise.
MetaEvent is triggered when the webhook that this event is configured on is deleted. This event will only listen for changes to the particular hook the event is installed on. Therefore, it must be selected for each hook that you'd like to receive meta events for. The Webhook event name is "meta".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#meta
type MetaEvent struct { // Action is the action that was performed. Possible value is: "deleted". Action *string `json:"action,omitempty"` // The ID of the modified webhook. HookID *int64 `json:"hook_id,omitempty"` // The modified webhook. // This will contain different keys based on the type of webhook it is: repository, // organization, business, app, or GitHub Marketplace. Hook *Hook `json:"hook,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (m *MetaEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (m *MetaEvent) GetHook() *Hook
GetHook returns the Hook field.
func (m *MetaEvent) GetHookID() int64
GetHookID returns the HookID field if it's non-nil, zero value otherwise.
func (m *MetaEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (m *MetaEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (m *MetaEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (m *MetaEvent) GetSender() *User
GetSender returns the Sender field.
Metric represents the different fields for one file in community health files.
type Metric struct { Name *string `json:"name"` Key *string `json:"key"` SPDXID *string `json:"spdx_id"` URL *string `json:"url"` HTMLURL *string `json:"html_url"` NodeID *string `json:"node_id"` }
func (m *Metric) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (m *Metric) GetKey() string
GetKey returns the Key field if it's non-nil, zero value otherwise.
func (m *Metric) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (m *Metric) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (m *Metric) GetSPDXID() string
GetSPDXID returns the SPDXID field if it's non-nil, zero value otherwise.
func (m *Metric) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
Migration represents a GitHub migration (archival).
type Migration struct { ID *int64 `json:"id,omitempty"` GUID *string `json:"guid,omitempty"` // State is the current state of a migration. // Possible values are: // "pending" which means the migration hasn't started yet, // "exporting" which means the migration is in progress, // "exported" which means the migration finished successfully, or // "failed" which means the migration failed. State *string `json:"state,omitempty"` // LockRepositories indicates whether repositories are locked (to prevent // manipulation) while migrating data. LockRepositories *bool `json:"lock_repositories,omitempty"` // ExcludeAttachments indicates whether attachments should be excluded from // the migration (to reduce migration archive file size). ExcludeAttachments *bool `json:"exclude_attachments,omitempty"` URL *string `json:"url,omitempty"` CreatedAt *string `json:"created_at,omitempty"` UpdatedAt *string `json:"updated_at,omitempty"` Repositories []*Repository `json:"repositories,omitempty"` }
func (m *Migration) GetCreatedAt() string
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (m *Migration) GetExcludeAttachments() bool
GetExcludeAttachments returns the ExcludeAttachments field if it's non-nil, zero value otherwise.
func (m *Migration) GetGUID() string
GetGUID returns the GUID field if it's non-nil, zero value otherwise.
func (m *Migration) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (m *Migration) GetLockRepositories() bool
GetLockRepositories returns the LockRepositories field if it's non-nil, zero value otherwise.
func (m *Migration) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (m *Migration) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (m *Migration) GetUpdatedAt() string
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (m Migration) String() string
MigrationOptions specifies the optional parameters to Migration methods.
type MigrationOptions struct { // LockRepositories indicates whether repositories should be locked (to prevent // manipulation) while migrating data. LockRepositories bool // ExcludeAttachments indicates whether attachments should be excluded from // the migration (to reduce migration archive file size). ExcludeAttachments bool }
MigrationService provides access to the migration related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/migration/
type MigrationService service
func (s *MigrationService) CancelImport(ctx context.Context, owner, repo string) (*Response, error)
CancelImport stops an import for a repository.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#cancel-an-import
func (s *MigrationService) CommitAuthors(ctx context.Context, owner, repo string) ([]*SourceImportAuthor, *Response, error)
CommitAuthors gets the authors mapped from the original repository.
Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username "hubot" into something like "hubot <hubot@12341234-abab-fefe-8787-fedcba987654>".
This method and MapCommitAuthor allow you to provide correct Git author information.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#get-commit-authors
func (s *MigrationService) DeleteMigration(ctx context.Context, org string, id int64) (*Response, error)
DeleteMigration deletes a previous migration archive. id is the migration ID.
GitHub API docs: https://docs.github.com/en/rest/migrations/orgs#delete-an-organization-migration-archive
func (s *MigrationService) DeleteUserMigration(ctx context.Context, id int64) (*Response, error)
DeleteUserMigration will delete a previous migration archive. id is the migration ID.
GitHub API docs: https://docs.github.com/en/rest/migrations/users#delete-a-user-migration-archive
func (s *MigrationService) ImportProgress(ctx context.Context, owner, repo string) (*Import, *Response, error)
ImportProgress queries for the status and progress of an ongoing repository import.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#get-an-import-status
func (s *MigrationService) LargeFiles(ctx context.Context, owner, repo string) ([]*LargeFile, *Response, error)
LargeFiles lists files larger than 100MB found during the import.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#get-large-files
func (s *MigrationService) ListMigrations(ctx context.Context, org string, opts *ListOptions) ([]*Migration, *Response, error)
ListMigrations lists the most recent migrations.
GitHub API docs: https://docs.github.com/en/rest/migrations/orgs#list-organization-migrations
func (s *MigrationService) ListUserMigrations(ctx context.Context) ([]*UserMigration, *Response, error)
ListUserMigrations lists the most recent migrations.
GitHub API docs: https://docs.github.com/en/rest/migrations/users#list-user-migrations
func (s *MigrationService) MapCommitAuthor(ctx context.Context, owner, repo string, id int64, author *SourceImportAuthor) (*SourceImportAuthor, *Response, error)
MapCommitAuthor updates an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#map-a-commit-author
func (s *MigrationService) MigrationArchiveURL(ctx context.Context, org string, id int64) (url string, err error)
MigrationArchiveURL fetches a migration archive URL. id is the migration ID.
GitHub API docs: https://docs.github.com/en/rest/migrations/orgs#download-an-organization-migration-archive
func (s *MigrationService) MigrationStatus(ctx context.Context, org string, id int64) (*Migration, *Response, error)
MigrationStatus gets the status of a specific migration archive. id is the migration ID.
GitHub API docs: https://docs.github.com/en/rest/migrations/orgs#get-an-organization-migration-status
func (s *MigrationService) SetLFSPreference(ctx context.Context, owner, repo string, in *Import) (*Import, *Response, error)
SetLFSPreference sets whether imported repositories should use Git LFS for files larger than 100MB. Only the UseLFS field on the provided Import is used.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#update-git-lfs-preference
func (s *MigrationService) StartImport(ctx context.Context, owner, repo string, in *Import) (*Import, *Response, error)
StartImport initiates a repository import.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#start-an-import
func (s *MigrationService) StartMigration(ctx context.Context, org string, repos []string, opts *MigrationOptions) (*Migration, *Response, error)
StartMigration starts the generation of a migration archive. repos is a slice of repository names to migrate.
GitHub API docs: https://docs.github.com/en/rest/migrations/orgs#start-an-organization-migration
func (s *MigrationService) StartUserMigration(ctx context.Context, repos []string, opts *UserMigrationOptions) (*UserMigration, *Response, error)
StartUserMigration starts the generation of a migration archive. repos is a slice of repository names to migrate.
GitHub API docs: https://docs.github.com/en/rest/migrations/users#start-a-user-migration
func (s *MigrationService) UnlockRepo(ctx context.Context, org string, id int64, repo string) (*Response, error)
UnlockRepo unlocks a repository that was locked for migration. id is the migration ID. You should unlock each migrated repository and delete them when the migration is complete and you no longer need the source data.
GitHub API docs: https://docs.github.com/en/rest/migrations/orgs#unlock-an-organization-repository
func (s *MigrationService) UnlockUserRepo(ctx context.Context, id int64, repo string) (*Response, error)
UnlockUserRepo will unlock a repo that was locked for migration. id is migration ID. You should unlock each migrated repository and delete them when the migration is complete and you no longer need the source data.
GitHub API docs: https://docs.github.com/en/rest/migrations/users#unlock-a-user-repository
func (s *MigrationService) UpdateImport(ctx context.Context, owner, repo string, in *Import) (*Import, *Response, error)
UpdateImport initiates a repository import.
GitHub API docs: https://docs.github.com/en/rest/migrations/source-imports#update-an-import
func (s *MigrationService) UserMigrationArchiveURL(ctx context.Context, id int64) (string, error)
UserMigrationArchiveURL gets the URL for a specific migration archive. id is the migration ID.
GitHub API docs: https://docs.github.com/en/rest/migrations/users#download-a-user-migration-archive
func (s *MigrationService) UserMigrationStatus(ctx context.Context, id int64) (*UserMigration, *Response, error)
UserMigrationStatus gets the status of a specific migration archive. id is the migration ID.
GitHub API docs: https://docs.github.com/en/rest/migrations/users#get-a-user-migration-status
Milestone represents a GitHub repository milestone.
type Milestone struct { URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` LabelsURL *string `json:"labels_url,omitempty"` ID *int64 `json:"id,omitempty"` Number *int `json:"number,omitempty"` State *string `json:"state,omitempty"` Title *string `json:"title,omitempty"` Description *string `json:"description,omitempty"` Creator *User `json:"creator,omitempty"` OpenIssues *int `json:"open_issues,omitempty"` ClosedIssues *int `json:"closed_issues,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` ClosedAt *time.Time `json:"closed_at,omitempty"` DueOn *time.Time `json:"due_on,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (m *Milestone) GetClosedAt() time.Time
GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.
func (m *Milestone) GetClosedIssues() int
GetClosedIssues returns the ClosedIssues field if it's non-nil, zero value otherwise.
func (m *Milestone) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (m *Milestone) GetCreator() *User
GetCreator returns the Creator field.
func (m *Milestone) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (m *Milestone) GetDueOn() time.Time
GetDueOn returns the DueOn field if it's non-nil, zero value otherwise.
func (m *Milestone) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (m *Milestone) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (m *Milestone) GetLabelsURL() string
GetLabelsURL returns the LabelsURL field if it's non-nil, zero value otherwise.
func (m *Milestone) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (m *Milestone) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (m *Milestone) GetOpenIssues() int
GetOpenIssues returns the OpenIssues field if it's non-nil, zero value otherwise.
func (m *Milestone) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (m *Milestone) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (m *Milestone) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (m *Milestone) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (m Milestone) String() string
MilestoneEvent is triggered when a milestone is created, closed, opened, edited, or deleted. The Webhook event name is "milestone".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#milestone
type MilestoneEvent struct { // Action is the action that was performed. Possible values are: // "created", "closed", "opened", "edited", "deleted" Action *string `json:"action,omitempty"` Milestone *Milestone `json:"milestone,omitempty"` // The following fields are only populated by Webhook events. Changes *EditChange `json:"changes,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Org *Organization `json:"organization,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (m *MilestoneEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (m *MilestoneEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (m *MilestoneEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (m *MilestoneEvent) GetMilestone() *Milestone
GetMilestone returns the Milestone field.
func (m *MilestoneEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (m *MilestoneEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (m *MilestoneEvent) GetSender() *User
GetSender returns the Sender field.
MilestoneListOptions specifies the optional parameters to the IssuesService.ListMilestones method.
type MilestoneListOptions struct { // State filters milestones based on their state. Possible values are: // open, closed, all. Default is "open". State string `url:"state,omitempty"` // Sort specifies how to sort milestones. Possible values are: due_on, completeness. // Default value is "due_on". Sort string `url:"sort,omitempty"` // Direction in which to sort milestones. Possible values are: asc, desc. // Default is "asc". Direction string `url:"direction,omitempty"` ListOptions }
MilestoneStats represents the number of total, open and close milestones.
type MilestoneStats struct { TotalMilestones *int `json:"total_milestones,omitempty"` OpenMilestones *int `json:"open_milestones,omitempty"` ClosedMilestones *int `json:"closed_milestones,omitempty"` }
func (m *MilestoneStats) GetClosedMilestones() int
GetClosedMilestones returns the ClosedMilestones field if it's non-nil, zero value otherwise.
func (m *MilestoneStats) GetOpenMilestones() int
GetOpenMilestones returns the OpenMilestones field if it's non-nil, zero value otherwise.
func (m *MilestoneStats) GetTotalMilestones() int
GetTotalMilestones returns the TotalMilestones field if it's non-nil, zero value otherwise.
func (s MilestoneStats) String() string
type MinutesUsedBreakdown struct { Ubuntu int `json:"UBUNTU"` MacOS int `json:"MACOS"` Windows int `json:"WINDOWS"` }
MostRecentInstance provides details of the most recent instance of this alert for the default branch or for the specified Git reference.
type MostRecentInstance struct { Ref *string `json:"ref,omitempty"` AnalysisKey *string `json:"analysis_key,omitempty"` Environment *string `json:"environment,omitempty"` State *string `json:"state,omitempty"` CommitSHA *string `json:"commit_sha,omitempty"` Message *Message `json:"message,omitempty"` Location *Location `json:"location,omitempty"` Classifications []string `json:"classifications,omitempty"` }
func (m *MostRecentInstance) GetAnalysisKey() string
GetAnalysisKey returns the AnalysisKey field if it's non-nil, zero value otherwise.
func (m *MostRecentInstance) GetCommitSHA() string
GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.
func (m *MostRecentInstance) GetEnvironment() string
GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.
func (m *MostRecentInstance) GetLocation() *Location
GetLocation returns the Location field.
func (m *MostRecentInstance) GetMessage() *Message
GetMessage returns the Message field.
func (m *MostRecentInstance) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (m *MostRecentInstance) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
NewPullRequest represents a new pull request to be created.
type NewPullRequest struct { Title *string `json:"title,omitempty"` Head *string `json:"head,omitempty"` Base *string `json:"base,omitempty"` Body *string `json:"body,omitempty"` Issue *int `json:"issue,omitempty"` MaintainerCanModify *bool `json:"maintainer_can_modify,omitempty"` Draft *bool `json:"draft,omitempty"` }
func (n *NewPullRequest) GetBase() string
GetBase returns the Base field if it's non-nil, zero value otherwise.
func (n *NewPullRequest) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (n *NewPullRequest) GetDraft() bool
GetDraft returns the Draft field if it's non-nil, zero value otherwise.
func (n *NewPullRequest) GetHead() string
GetHead returns the Head field if it's non-nil, zero value otherwise.
func (n *NewPullRequest) GetIssue() int
GetIssue returns the Issue field if it's non-nil, zero value otherwise.
func (n *NewPullRequest) GetMaintainerCanModify() bool
GetMaintainerCanModify returns the MaintainerCanModify field if it's non-nil, zero value otherwise.
func (n *NewPullRequest) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
NewTeam represents a team to be created or modified.
type NewTeam struct { Name string `json:"name"` // Name of the team. (Required.) Description *string `json:"description,omitempty"` Maintainers []string `json:"maintainers,omitempty"` RepoNames []string `json:"repo_names,omitempty"` ParentTeamID *int64 `json:"parent_team_id,omitempty"` // Deprecated: Permission is deprecated when creating or editing a team in an org // using the new GitHub permission model. It no longer identifies the // permission a team has on its repos, but only specifies the default // permission a repo is initially added with. Avoid confusion by // specifying a permission value when calling AddTeamRepo. Permission *string `json:"permission,omitempty"` // Privacy identifies the level of privacy this team should have. // Possible values are: // secret - only visible to organization owners and members of this team // closed - visible to all members of this organization // Default is "secret". Privacy *string `json:"privacy,omitempty"` // LDAPDN may be used in GitHub Enterprise when the team membership // is synchronized with LDAP. LDAPDN *string `json:"ldap_dn,omitempty"` }
func (n *NewTeam) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (n *NewTeam) GetLDAPDN() string
GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.
func (n *NewTeam) GetParentTeamID() int64
GetParentTeamID returns the ParentTeamID field if it's non-nil, zero value otherwise.
func (n *NewTeam) GetPermission() string
GetPermission returns the Permission field if it's non-nil, zero value otherwise.
func (n *NewTeam) GetPrivacy() string
GetPrivacy returns the Privacy field if it's non-nil, zero value otherwise.
func (s NewTeam) String() string
Notification identifies a GitHub notification for a user.
type Notification struct { ID *string `json:"id,omitempty"` Repository *Repository `json:"repository,omitempty"` Subject *NotificationSubject `json:"subject,omitempty"` // Reason identifies the event that triggered the notification. // // GitHub API docs: https://docs.github.com/en/rest/activity#notification-reasons Reason *string `json:"reason,omitempty"` Unread *bool `json:"unread,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` LastReadAt *time.Time `json:"last_read_at,omitempty"` URL *string `json:"url,omitempty"` }
func (n *Notification) GetID() string
GetID returns the ID field if it's non-nil, zero value otherwise.
func (n *Notification) GetLastReadAt() time.Time
GetLastReadAt returns the LastReadAt field if it's non-nil, zero value otherwise.
func (n *Notification) GetReason() string
GetReason returns the Reason field if it's non-nil, zero value otherwise.
func (n *Notification) GetRepository() *Repository
GetRepository returns the Repository field.
func (n *Notification) GetSubject() *NotificationSubject
GetSubject returns the Subject field.
func (n *Notification) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (n *Notification) GetUnread() bool
GetUnread returns the Unread field if it's non-nil, zero value otherwise.
func (n *Notification) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
NotificationListOptions specifies the optional parameters to the ActivityService.ListNotifications method.
type NotificationListOptions struct { All bool `url:"all,omitempty"` Participating bool `url:"participating,omitempty"` Since time.Time `url:"since,omitempty"` Before time.Time `url:"before,omitempty"` ListOptions }
NotificationSubject identifies the subject of a notification.
type NotificationSubject struct { Title *string `json:"title,omitempty"` URL *string `json:"url,omitempty"` LatestCommentURL *string `json:"latest_comment_url,omitempty"` Type *string `json:"type,omitempty"` }
func (n *NotificationSubject) GetLatestCommentURL() string
GetLatestCommentURL returns the LatestCommentURL field if it's non-nil, zero value otherwise.
func (n *NotificationSubject) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (n *NotificationSubject) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (n *NotificationSubject) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
OAuthAPP represents the GitHub Site Administrator OAuth app.
type OAuthAPP struct { URL *string `json:"url,omitempty"` Name *string `json:"name,omitempty"` ClientID *string `json:"client_id,omitempty"` }
func (o *OAuthAPP) GetClientID() string
GetClientID returns the ClientID field if it's non-nil, zero value otherwise.
func (o *OAuthAPP) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (o *OAuthAPP) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (s OAuthAPP) String() string
OrgBlockEvent is triggered when an organization blocks or unblocks a user. The Webhook event name is "org_block".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#org_block
type OrgBlockEvent struct { // Action is the action that was performed. // Can be "blocked" or "unblocked". Action *string `json:"action,omitempty"` BlockedUser *User `json:"blocked_user,omitempty"` Organization *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` // The following fields are only populated by Webhook events. Installation *Installation `json:"installation,omitempty"` }
func (o *OrgBlockEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (o *OrgBlockEvent) GetBlockedUser() *User
GetBlockedUser returns the BlockedUser field.
func (o *OrgBlockEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (o *OrgBlockEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (o *OrgBlockEvent) GetSender() *User
GetSender returns the Sender field.
OrgStats represents the number of total, disabled organizations and the team and team member count.
type OrgStats struct { TotalOrgs *int `json:"total_orgs,omitempty"` DisabledOrgs *int `json:"disabled_orgs,omitempty"` TotalTeams *int `json:"total_teams,omitempty"` TotalTeamMembers *int `json:"total_team_members,omitempty"` }
func (o *OrgStats) GetDisabledOrgs() int
GetDisabledOrgs returns the DisabledOrgs field if it's non-nil, zero value otherwise.
func (o *OrgStats) GetTotalOrgs() int
GetTotalOrgs returns the TotalOrgs field if it's non-nil, zero value otherwise.
func (o *OrgStats) GetTotalTeamMembers() int
GetTotalTeamMembers returns the TotalTeamMembers field if it's non-nil, zero value otherwise.
func (o *OrgStats) GetTotalTeams() int
GetTotalTeams returns the TotalTeams field if it's non-nil, zero value otherwise.
func (s OrgStats) String() string
Organization represents a GitHub organization account.
type Organization struct { Login *string `json:"login,omitempty"` ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` AvatarURL *string `json:"avatar_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` Name *string `json:"name,omitempty"` Company *string `json:"company,omitempty"` Blog *string `json:"blog,omitempty"` Location *string `json:"location,omitempty"` Email *string `json:"email,omitempty"` TwitterUsername *string `json:"twitter_username,omitempty"` Description *string `json:"description,omitempty"` PublicRepos *int `json:"public_repos,omitempty"` PublicGists *int `json:"public_gists,omitempty"` Followers *int `json:"followers,omitempty"` Following *int `json:"following,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` TotalPrivateRepos *int `json:"total_private_repos,omitempty"` OwnedPrivateRepos *int `json:"owned_private_repos,omitempty"` PrivateGists *int `json:"private_gists,omitempty"` DiskUsage *int `json:"disk_usage,omitempty"` Collaborators *int `json:"collaborators,omitempty"` BillingEmail *string `json:"billing_email,omitempty"` Type *string `json:"type,omitempty"` Plan *Plan `json:"plan,omitempty"` TwoFactorRequirementEnabled *bool `json:"two_factor_requirement_enabled,omitempty"` IsVerified *bool `json:"is_verified,omitempty"` HasOrganizationProjects *bool `json:"has_organization_projects,omitempty"` HasRepositoryProjects *bool `json:"has_repository_projects,omitempty"` // DefaultRepoPermission can be one of: "read", "write", "admin", or "none". (Default: "read"). // It is only used in OrganizationsService.Edit. DefaultRepoPermission *string `json:"default_repository_permission,omitempty"` // DefaultRepoSettings can be one of: "read", "write", "admin", or "none". (Default: "read"). // It is only used in OrganizationsService.Get. DefaultRepoSettings *string `json:"default_repository_settings,omitempty"` // MembersCanCreateRepos default value is true and is only used in Organizations.Edit. MembersCanCreateRepos *bool `json:"members_can_create_repositories,omitempty"` // https://developer.github.com/changes/2019-12-03-internal-visibility-changes/#rest-v3-api MembersCanCreatePublicRepos *bool `json:"members_can_create_public_repositories,omitempty"` MembersCanCreatePrivateRepos *bool `json:"members_can_create_private_repositories,omitempty"` MembersCanCreateInternalRepos *bool `json:"members_can_create_internal_repositories,omitempty"` // MembersCanForkPrivateRepos toggles whether organization members can fork private organization repositories. MembersCanForkPrivateRepos *bool `json:"members_can_fork_private_repositories,omitempty"` // MembersAllowedRepositoryCreationType denotes if organization members can create repositories // and the type of repositories they can create. Possible values are: "all", "private", or "none". // // Deprecated: Use MembersCanCreatePublicRepos, MembersCanCreatePrivateRepos, MembersCanCreateInternalRepos // instead. The new fields overrides the existing MembersAllowedRepositoryCreationType during 'edit' // operation and does not consider 'internal' repositories during 'get' operation MembersAllowedRepositoryCreationType *string `json:"members_allowed_repository_creation_type,omitempty"` // MembersCanCreatePages toggles whether organization members can create GitHub Pages sites. MembersCanCreatePages *bool `json:"members_can_create_pages,omitempty"` // MembersCanCreatePublicPages toggles whether organization members can create public GitHub Pages sites. MembersCanCreatePublicPages *bool `json:"members_can_create_public_pages,omitempty"` // MembersCanCreatePrivatePages toggles whether organization members can create private GitHub Pages sites. MembersCanCreatePrivatePages *bool `json:"members_can_create_private_pages,omitempty"` // API URLs URL *string `json:"url,omitempty"` EventsURL *string `json:"events_url,omitempty"` HooksURL *string `json:"hooks_url,omitempty"` IssuesURL *string `json:"issues_url,omitempty"` MembersURL *string `json:"members_url,omitempty"` PublicMembersURL *string `json:"public_members_url,omitempty"` ReposURL *string `json:"repos_url,omitempty"` }
func (o *Organization) GetAvatarURL() string
GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetBillingEmail() string
GetBillingEmail returns the BillingEmail field if it's non-nil, zero value otherwise.
func (o *Organization) GetBlog() string
GetBlog returns the Blog field if it's non-nil, zero value otherwise.
func (o *Organization) GetCollaborators() int
GetCollaborators returns the Collaborators field if it's non-nil, zero value otherwise.
func (o *Organization) GetCompany() string
GetCompany returns the Company field if it's non-nil, zero value otherwise.
func (o *Organization) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (o *Organization) GetDefaultRepoPermission() string
GetDefaultRepoPermission returns the DefaultRepoPermission field if it's non-nil, zero value otherwise.
func (o *Organization) GetDefaultRepoSettings() string
GetDefaultRepoSettings returns the DefaultRepoSettings field if it's non-nil, zero value otherwise.
func (o *Organization) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (o *Organization) GetDiskUsage() int
GetDiskUsage returns the DiskUsage field if it's non-nil, zero value otherwise.
func (o *Organization) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (o *Organization) GetEventsURL() string
GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetFollowers() int
GetFollowers returns the Followers field if it's non-nil, zero value otherwise.
func (o *Organization) GetFollowing() int
GetFollowing returns the Following field if it's non-nil, zero value otherwise.
func (o *Organization) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetHasOrganizationProjects() bool
GetHasOrganizationProjects returns the HasOrganizationProjects field if it's non-nil, zero value otherwise.
func (o *Organization) GetHasRepositoryProjects() bool
GetHasRepositoryProjects returns the HasRepositoryProjects field if it's non-nil, zero value otherwise.
func (o *Organization) GetHooksURL() string
GetHooksURL returns the HooksURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (o *Organization) GetIsVerified() bool
GetIsVerified returns the IsVerified field if it's non-nil, zero value otherwise.
func (o *Organization) GetIssuesURL() string
GetIssuesURL returns the IssuesURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetLocation() string
GetLocation returns the Location field if it's non-nil, zero value otherwise.
func (o *Organization) GetLogin() string
GetLogin returns the Login field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersAllowedRepositoryCreationType() string
GetMembersAllowedRepositoryCreationType returns the MembersAllowedRepositoryCreationType field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanCreateInternalRepos() bool
GetMembersCanCreateInternalRepos returns the MembersCanCreateInternalRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanCreatePages() bool
GetMembersCanCreatePages returns the MembersCanCreatePages field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanCreatePrivatePages() bool
GetMembersCanCreatePrivatePages returns the MembersCanCreatePrivatePages field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanCreatePrivateRepos() bool
GetMembersCanCreatePrivateRepos returns the MembersCanCreatePrivateRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanCreatePublicPages() bool
GetMembersCanCreatePublicPages returns the MembersCanCreatePublicPages field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanCreatePublicRepos() bool
GetMembersCanCreatePublicRepos returns the MembersCanCreatePublicRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanCreateRepos() bool
GetMembersCanCreateRepos returns the MembersCanCreateRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersCanForkPrivateRepos() bool
GetMembersCanForkPrivateRepos returns the MembersCanForkPrivateRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetMembersURL() string
GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (o *Organization) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (o *Organization) GetOwnedPrivateRepos() int
GetOwnedPrivateRepos returns the OwnedPrivateRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetPlan() *Plan
GetPlan returns the Plan field.
func (o *Organization) GetPrivateGists() int
GetPrivateGists returns the PrivateGists field if it's non-nil, zero value otherwise.
func (o *Organization) GetPublicGists() int
GetPublicGists returns the PublicGists field if it's non-nil, zero value otherwise.
func (o *Organization) GetPublicMembersURL() string
GetPublicMembersURL returns the PublicMembersURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetPublicRepos() int
GetPublicRepos returns the PublicRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetReposURL() string
GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.
func (o *Organization) GetTotalPrivateRepos() int
GetTotalPrivateRepos returns the TotalPrivateRepos field if it's non-nil, zero value otherwise.
func (o *Organization) GetTwitterUsername() string
GetTwitterUsername returns the TwitterUsername field if it's non-nil, zero value otherwise.
func (o *Organization) GetTwoFactorRequirementEnabled() bool
GetTwoFactorRequirementEnabled returns the TwoFactorRequirementEnabled field if it's non-nil, zero value otherwise.
func (o *Organization) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (o *Organization) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (o *Organization) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (o Organization) String() string
OrganizationCustomRepoRoles represents custom repository roles available in specified organization.
type OrganizationCustomRepoRoles struct { TotalCount *int `json:"total_count,omitempty"` CustomRepoRoles []*CustomRepoRoles `json:"custom_roles,omitempty"` }
func (o *OrganizationCustomRepoRoles) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
OrganizationEvent is triggered when an organization is deleted and renamed, and when a user is added, removed, or invited to an organization. Events of this type are not visible in timelines. These events are only used to trigger organization hooks. Webhook event name is "organization".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#organization
type OrganizationEvent struct { // Action is the action that was performed. // Possible values are: "deleted", "renamed", "member_added", "member_removed", or "member_invited". Action *string `json:"action,omitempty"` // Invitation is the invitation for the user or email if the action is "member_invited". Invitation *Invitation `json:"invitation,omitempty"` // Membership is the membership between the user and the organization. // Not present when the action is "member_invited". Membership *Membership `json:"membership,omitempty"` Organization *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (o *OrganizationEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (o *OrganizationEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (o *OrganizationEvent) GetInvitation() *Invitation
GetInvitation returns the Invitation field.
func (o *OrganizationEvent) GetMembership() *Membership
GetMembership returns the Membership field.
func (o *OrganizationEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (o *OrganizationEvent) GetSender() *User
GetSender returns the Sender field.
OrganizationInstallations represents GitHub app installations for an organization.
type OrganizationInstallations struct { TotalCount *int `json:"total_count,omitempty"` Installations []*Installation `json:"installations,omitempty"` }
func (o *OrganizationInstallations) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
OrganizationsListOptions specifies the optional parameters to the OrganizationsService.ListAll method.
type OrganizationsListOptions struct { // Since filters Organizations by ID. Since int64 `url:"since,omitempty"` // Note: Pagination is powered exclusively by the Since parameter, // ListOptions.Page has no effect. // ListOptions.PerPage controls an undocumented GitHub API parameter. ListOptions }
OrganizationsService provides access to the organization related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/orgs/
type OrganizationsService service
func (s *OrganizationsService) BlockUser(ctx context.Context, org string, user string) (*Response, error)
BlockUser blocks specified user from an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/blocking#block-a-user-from-an-organization
func (s *OrganizationsService) ConcealMembership(ctx context.Context, org, user string) (*Response, error)
ConcealMembership conceals a user's membership in an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#remove-public-organization-membership-for-the-authenticated-user
func (s *OrganizationsService) ConvertMemberToOutsideCollaborator(ctx context.Context, org string, user string) (*Response, error)
ConvertMemberToOutsideCollaborator reduces the permission level of a member of the organization to that of an outside collaborator. Therefore, they will only have access to the repositories that their current team membership allows. Responses for converting a non-member or the last owner to an outside collaborator are listed in GitHub API docs.
GitHub API docs: https://docs.github.com/en/rest/orgs/outside-collaborators#convert-an-organization-member-to-outside-collaborator
func (s *OrganizationsService) CreateHook(ctx context.Context, org string, hook *Hook) (*Hook, *Response, error)
CreateHook creates a Hook for the specified org. Config is a required field.
Note that only a subset of the hook fields are used and hook must not be nil.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#create-an-organization-webhook
func (s *OrganizationsService) CreateOrgInvitation(ctx context.Context, org string, opts *CreateOrgInvitationOptions) (*Invitation, *Response, error)
CreateOrgInvitation invites people to an organization by using their GitHub user ID or their email address. In order to create invitations in an organization, the authenticated user must be an organization owner.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#create-an-organization-invitation
func (s *OrganizationsService) CreateProject(ctx context.Context, org string, opts *ProjectOptions) (*Project, *Response, error)
CreateProject creates a GitHub Project for the specified organization.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#create-an-organization-project
func (s *OrganizationsService) DeleteHook(ctx context.Context, org string, id int64) (*Response, error)
DeleteHook deletes a specified Hook.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#delete-an-organization-webhook
func (s *OrganizationsService) DeletePackage(ctx context.Context, org, packageType, packageName string) (*Response, error)
Delete a package from an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#delete-a-package-for-an-organization
func (s *OrganizationsService) Edit(ctx context.Context, name string, org *Organization) (*Organization, *Response, error)
Edit an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#update-an-organization
func (s *OrganizationsService) EditActionsAllowed(ctx context.Context, org string, actionsAllowed ActionsAllowed) (*ActionsAllowed, *Response, error)
EditActionsAllowed sets the actions that are allowed in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-an-organization
func (s *OrganizationsService) EditActionsPermissions(ctx context.Context, org string, actionsPermissions ActionsPermissions) (*ActionsPermissions, *Response, error)
EditActionsPermissions sets the permissions policy for repositories and allowed actions in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#set-github-actions-permissions-for-an-organization
func (s *OrganizationsService) EditHook(ctx context.Context, org string, id int64, hook *Hook) (*Hook, *Response, error)
EditHook updates a specified Hook.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#update-an-organization-webhook
func (s *OrganizationsService) EditOrgMembership(ctx context.Context, user, org string, membership *Membership) (*Membership, *Response, error)
EditOrgMembership edits the membership for user in specified organization. Passing an empty string for user will edit the membership for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#update-an-organization-membership-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/orgs/members#set-organization-membership-for-a-user
func (s *OrganizationsService) Get(ctx context.Context, org string) (*Organization, *Response, error)
Get fetches an organization by name.
GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#get-an-organization
func (s *OrganizationsService) GetActionsAllowed(ctx context.Context, org string) (*ActionsAllowed, *Response, error)
GetActionsAllowed gets the actions that are allowed in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization
func (s *OrganizationsService) GetActionsPermissions(ctx context.Context, org string) (*ActionsPermissions, *Response, error)
GetActionsPermissions gets the GitHub Actions permissions policy for repositories and allowed actions in an organization.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#get-github-actions-permissions-for-an-organization
func (s *OrganizationsService) GetAuditLog(ctx context.Context, org string, opts *GetAuditLogOptions) ([]*AuditEntry, *Response, error)
GetAuditLog gets the audit-log entries for an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#get-the-audit-log-for-an-organization
func (s *OrganizationsService) GetByID(ctx context.Context, id int64) (*Organization, *Response, error)
GetByID fetches an organization.
Note: GetByID uses the undocumented GitHub API endpoint /organizations/:id.
func (s *OrganizationsService) GetHook(ctx context.Context, org string, id int64) (*Hook, *Response, error)
GetHook returns a single specified Hook.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#get-an-organization-webhook
func (s *OrganizationsService) GetHookDelivery(ctx context.Context, owner string, hookID, deliveryID int64) (*HookDelivery, *Response, error)
GetHookDelivery returns a delivery for a webhook configured in an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#get-a-webhook-delivery-for-an-organization-webhook
func (s *OrganizationsService) GetOrgMembership(ctx context.Context, user, org string) (*Membership, *Response, error)
GetOrgMembership gets the membership for a user in a specified organization. Passing an empty string for user will get the membership for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#get-an-organization-membership-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/orgs/members#get-organization-membership-for-a-user
func (s *OrganizationsService) GetPackage(ctx context.Context, org, packageType, packageName string) (*Package, *Response, error)
Get a package by name from an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#get-a-package-for-an-organization
func (s *OrganizationsService) IsBlocked(ctx context.Context, org string, user string) (bool, *Response, error)
IsBlocked reports whether specified user is blocked from an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/blocking#check-if-a-user-is-blocked-by-an-organization
func (s *OrganizationsService) IsMember(ctx context.Context, org, user string) (bool, *Response, error)
IsMember checks if a user is a member of an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#check-organization-membership-for-a-user
func (s *OrganizationsService) IsPublicMember(ctx context.Context, org, user string) (bool, *Response, error)
IsPublicMember checks if a user is a public member of an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#check-public-organization-membership-for-a-user
func (s *OrganizationsService) List(ctx context.Context, user string, opts *ListOptions) ([]*Organization, *Response, error)
List the organizations for a user. Passing the empty string will list organizations for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#list-organizations-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#list-organizations-for-a-user
func (s *OrganizationsService) ListAll(ctx context.Context, opts *OrganizationsListOptions) ([]*Organization, *Response, error)
ListAll lists all organizations, in the order that they were created on GitHub.
Note: Pagination is powered exclusively by the since parameter. To continue listing the next set of organizations, use the ID of the last-returned organization as the opts.Since parameter for the next call.
GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#list-organizations
func (s *OrganizationsService) ListBlockedUsers(ctx context.Context, org string, opts *ListOptions) ([]*User, *Response, error)
ListBlockedUsers lists all the users blocked by an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/blocking#list-users-blocked-by-an-organization
func (s *OrganizationsService) ListCustomRepoRoles(ctx context.Context, org string) (*OrganizationCustomRepoRoles, *Response, error)
ListCustomRepoRoles lists the custom repository roles available in this organization. In order to see custom repository roles in an organization, the authenticated user must be an organization owner.
GitHub API docs: https://docs.github.com/en/rest/orgs/custom-roles#list-custom-repository-roles-in-an-organization
func (s *OrganizationsService) ListFailedOrgInvitations(ctx context.Context, org string, opts *ListOptions) ([]*Invitation, *Response, error)
ListFailedOrgInvitations returns a list of failed inviatations.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#list-failed-organization-invitations
func (s *OrganizationsService) ListHookDeliveries(ctx context.Context, org string, id int64, opts *ListCursorOptions) ([]*HookDelivery, *Response, error)
ListHookDeliveries lists webhook deliveries for a webhook configured in an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#list-deliveries-for-an-organization-webhook
func (s *OrganizationsService) ListHooks(ctx context.Context, org string, opts *ListOptions) ([]*Hook, *Response, error)
ListHooks lists all Hooks for the specified organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#list-organization-webhooks
func (s *OrganizationsService) ListInstallations(ctx context.Context, org string, opts *ListOptions) (*OrganizationInstallations, *Response, error)
ListInstallations lists installations for an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#list-app-installations-for-an-organization
func (s *OrganizationsService) ListMembers(ctx context.Context, org string, opts *ListMembersOptions) ([]*User, *Response, error)
ListMembers lists the members for an organization. If the authenticated user is an owner of the organization, this will return both concealed and public members, otherwise it will only return public members.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#list-organization-members GitHub API docs: https://docs.github.com/en/rest/orgs/members#list-public-organization-members
func (s *OrganizationsService) ListOrgInvitationTeams(ctx context.Context, org, invitationID string, opts *ListOptions) ([]*Team, *Response, error)
ListOrgInvitationTeams lists all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#list-organization-invitation-teams
func (s *OrganizationsService) ListOrgMemberships(ctx context.Context, opts *ListOrgMembershipsOptions) ([]*Membership, *Response, error)
ListOrgMemberships lists the organization memberships for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#list-organization-memberships-for-the-authenticated-user
func (s *OrganizationsService) ListOutsideCollaborators(ctx context.Context, org string, opts *ListOutsideCollaboratorsOptions) ([]*User, *Response, error)
ListOutsideCollaborators lists outside collaborators of organization's repositories. This will only work if the authenticated user is an owner of the organization.
Warning: The API may change without advance notice during the preview period. Preview features are not supported for production use.
GitHub API docs: https://docs.github.com/en/rest/orgs/outside-collaborators#list-outside-collaborators-for-an-organization
func (s *OrganizationsService) ListPackages(ctx context.Context, org string, opts *PackageListOptions) ([]*Package, *Response, error)
List the packages for an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#list-packages-for-an-organization
func (s *OrganizationsService) ListPendingOrgInvitations(ctx context.Context, org string, opts *ListOptions) ([]*Invitation, *Response, error)
ListPendingOrgInvitations returns a list of pending invitations.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#list-pending-organization-invitations
func (s *OrganizationsService) ListProjects(ctx context.Context, org string, opts *ProjectListOptions) ([]*Project, *Response, error)
ListProjects lists the projects for an organization.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#list-organization-projects
func (s *OrganizationsService) PackageDeleteVersion(ctx context.Context, org, packageType, packageName string, packageVersionID int64) (*Response, error)
Delete a package version from an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#delete-package-version-for-an-organization
func (s *OrganizationsService) PackageGetAllVersions(ctx context.Context, org, packageType, packageName string, opts *PackageListOptions) ([]*PackageVersion, *Response, error)
Get all versions of a package in an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#get-all-package-versions-for-a-package-owned-by-an-organization
func (s *OrganizationsService) PackageGetVersion(ctx context.Context, org, packageType, packageName string, packageVersionID int64) (*PackageVersion, *Response, error)
Get a specific version of a package in an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#get-a-package-version-for-an-organization
func (s *OrganizationsService) PackageRestoreVersion(ctx context.Context, org, packageType, packageName string, packageVersionID int64) (*Response, error)
Restore a package version to an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#restore-package-version-for-an-organization
func (s *OrganizationsService) PingHook(ctx context.Context, org string, id int64) (*Response, error)
PingHook triggers a 'ping' event to be sent to the Hook.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#ping-an-organization-webhook
func (s *OrganizationsService) PublicizeMembership(ctx context.Context, org, user string) (*Response, error)
PublicizeMembership publicizes a user's membership in an organization. (A user cannot publicize the membership for another user.)
GitHub API docs: https://docs.github.com/en/rest/orgs/members#set-public-organization-membership-for-the-authenticated-user
func (s *OrganizationsService) RedeliverHookDelivery(ctx context.Context, owner string, hookID, deliveryID int64) (*HookDelivery, *Response, error)
RedeliverHookDelivery redelivers a delivery for a webhook configured in an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook
func (s *OrganizationsService) RemoveMember(ctx context.Context, org, user string) (*Response, error)
RemoveMember removes a user from all teams of an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#remove-an-organization-member
func (s *OrganizationsService) RemoveOrgMembership(ctx context.Context, user, org string) (*Response, error)
RemoveOrgMembership removes user from the specified organization. If the user has been invited to the organization, this will cancel their invitation.
GitHub API docs: https://docs.github.com/en/rest/orgs/members#remove-organization-membership-for-a-user
func (s *OrganizationsService) RemoveOutsideCollaborator(ctx context.Context, org string, user string) (*Response, error)
RemoveOutsideCollaborator removes a user from the list of outside collaborators; consequently, removing them from all the organization's repositories.
GitHub API docs: https://docs.github.com/en/rest/orgs/outside-collaborators#remove-outside-collaborator-from-an-organization
func (s *OrganizationsService) RestorePackage(ctx context.Context, org, packageType, packageName string) (*Response, error)
Restore a package to an organization.
GitHub API docs: https://docs.github.com/en/rest/packages#restore-a-package-for-an-organization
func (s *OrganizationsService) UnblockUser(ctx context.Context, org string, user string) (*Response, error)
UnblockUser unblocks specified user from an organization.
GitHub API docs: https://docs.github.com/en/rest/orgs/blocking#unblock-a-user-from-an-organization
PRLink represents a single link object from GitHub pull request _links.
type PRLink struct { HRef *string `json:"href,omitempty"` }
func (p *PRLink) GetHRef() string
GetHRef returns the HRef field if it's non-nil, zero value otherwise.
PRLinks represents the "_links" object in a GitHub pull request.
type PRLinks struct { Self *PRLink `json:"self,omitempty"` HTML *PRLink `json:"html,omitempty"` Issue *PRLink `json:"issue,omitempty"` Comments *PRLink `json:"comments,omitempty"` ReviewComments *PRLink `json:"review_comments,omitempty"` ReviewComment *PRLink `json:"review_comment,omitempty"` Commits *PRLink `json:"commits,omitempty"` Statuses *PRLink `json:"statuses,omitempty"` }
func (p *PRLinks) GetComments() *PRLink
GetComments returns the Comments field.
func (p *PRLinks) GetCommits() *PRLink
GetCommits returns the Commits field.
func (p *PRLinks) GetHTML() *PRLink
GetHTML returns the HTML field.
func (p *PRLinks) GetIssue() *PRLink
GetIssue returns the Issue field.
func (p *PRLinks) GetReviewComment() *PRLink
GetReviewComment returns the ReviewComment field.
func (p *PRLinks) GetReviewComments() *PRLink
GetReviewComments returns the ReviewComments field.
func (p *PRLinks) GetSelf() *PRLink
GetSelf returns the Self field.
func (p *PRLinks) GetStatuses() *PRLink
GetStatuses returns the Statuses field.
Package represents a GitHub package.
type Package struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` PackageType *string `json:"package_type,omitempty"` HTMLURL *string `json:"html_url,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` Owner *User `json:"owner,omitempty"` PackageVersion *PackageVersion `json:"package_version,omitempty"` Registry *PackageRegistry `json:"registry,omitempty"` URL *string `json:"url,omitempty"` VersionCount *int64 `json:"version_count,omitempty"` Visibility *string `json:"visibility,omitempty"` Repository *Repository `json:"repository,omitempty"` }
func (p *Package) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *Package) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *Package) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *Package) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *Package) GetOwner() *User
GetOwner returns the Owner field.
func (p *Package) GetPackageType() string
GetPackageType returns the PackageType field if it's non-nil, zero value otherwise.
func (p *Package) GetPackageVersion() *PackageVersion
GetPackageVersion returns the PackageVersion field.
func (p *Package) GetRegistry() *PackageRegistry
GetRegistry returns the Registry field.
func (p *Package) GetRepository() *Repository
GetRepository returns the Repository field.
func (p *Package) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *Package) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (p *Package) GetVersionCount() int64
GetVersionCount returns the VersionCount field if it's non-nil, zero value otherwise.
func (p *Package) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
func (p Package) String() string
PackageBilling represents a GitHub Package billing.
type PackageBilling struct { TotalGigabytesBandwidthUsed int `json:"total_gigabytes_bandwidth_used"` TotalPaidGigabytesBandwidthUsed int `json:"total_paid_gigabytes_bandwidth_used"` IncludedGigabytesBandwidth int `json:"included_gigabytes_bandwidth"` }
PackageContainerMetadata represents container metadata for docker container packages.
type PackageContainerMetadata struct { Tags []string `json:"tags,omitempty"` }
func (r PackageContainerMetadata) String() string
PackageEvent represents activity related to GitHub Packages. The Webhook event name is "package".
This event is triggered when a GitHub Package is published or updated.
GitHub API docs: https://developer.github.com/webhooks/event-payloads/#package
type PackageEvent struct { // Action is the action that was performed. // Can be "published" or "updated". Action *string `json:"action,omitempty"` Package *Package `json:"package,omitempty"` Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` // The following fields are only populated by Webhook events. Installation *Installation `json:"installation,omitempty"` }
func (p *PackageEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *PackageEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PackageEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (p *PackageEvent) GetPackage() *Package
GetPackage returns the Package field.
func (p *PackageEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PackageEvent) GetSender() *User
GetSender returns the Sender field.
PackageFile represents a GitHub package version release file.
type PackageFile struct { DownloadURL *string `json:"download_url,omitempty"` ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` SHA256 *string `json:"sha256,omitempty"` SHA1 *string `json:"sha1,omitempty"` MD5 *string `json:"md5,omitempty"` ContentType *string `json:"content_type,omitempty"` State *string `json:"state,omitempty"` Author *User `json:"author,omitempty"` Size *int64 `json:"size,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` }
func (p *PackageFile) GetAuthor() *User
GetAuthor returns the Author field.
func (p *PackageFile) GetContentType() string
GetContentType returns the ContentType field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetDownloadURL() string
GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetMD5() string
GetMD5 returns the MD5 field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetSHA1() string
GetSHA1 returns the SHA1 field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetSHA256() string
GetSHA256 returns the SHA256 field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetSize() int64
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (p *PackageFile) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (pf PackageFile) String() string
PackageListOptions represents the optional list options for a package.
type PackageListOptions struct { // Visibility of packages "public", "internal" or "private". Visibility *string `url:"visibility,omitempty"` // PackageType represents the type of package. // It can be one of "npm", "maven", "rubygems", "nuget", "docker", or "container". PackageType *string `url:"package_type,omitempty"` // State of package either "active" or "deleted". State *string `url:"state,omitempty"` ListOptions }
func (p *PackageListOptions) GetPackageType() string
GetPackageType returns the PackageType field if it's non-nil, zero value otherwise.
func (p *PackageListOptions) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (p *PackageListOptions) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
PackageMetadata represents metadata from a package.
type PackageMetadata struct { PackageType *string `json:"package_type,omitempty"` Container *PackageContainerMetadata `json:"container,omitempty"` }
func (p *PackageMetadata) GetContainer() *PackageContainerMetadata
GetContainer returns the Container field.
func (p *PackageMetadata) GetPackageType() string
GetPackageType returns the PackageType field if it's non-nil, zero value otherwise.
func (r PackageMetadata) String() string
PackageRegistry represents a GitHub package registry.
type PackageRegistry struct { AboutURL *string `json:"about_url,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` URL *string `json:"url,omitempty"` Vendor *string `json:"vendor,omitempty"` }
func (p *PackageRegistry) GetAboutURL() string
GetAboutURL returns the AboutURL field if it's non-nil, zero value otherwise.
func (p *PackageRegistry) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *PackageRegistry) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (p *PackageRegistry) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *PackageRegistry) GetVendor() string
GetVendor returns the Vendor field if it's non-nil, zero value otherwise.
func (r PackageRegistry) String() string
PackageRelease represents a GitHub package version release.
type PackageRelease struct { URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` ID *int64 `json:"id,omitempty"` TagName *string `json:"tag_name,omitempty"` TargetCommitish *string `json:"target_commitish,omitempty"` Name *string `json:"name,omitempty"` Draft *bool `json:"draft,omitempty"` Author *User `json:"author,omitempty"` Prerelease *bool `json:"prerelease,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` PublishedAt *Timestamp `json:"published_at,omitempty"` }
func (p *PackageRelease) GetAuthor() *User
GetAuthor returns the Author field.
func (p *PackageRelease) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetDraft() bool
GetDraft returns the Draft field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetPrerelease() bool
GetPrerelease returns the Prerelease field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetPublishedAt() Timestamp
GetPublishedAt returns the PublishedAt field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetTagName() string
GetTagName returns the TagName field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetTargetCommitish() string
GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.
func (p *PackageRelease) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r PackageRelease) String() string
PackageVersion represents a GitHub package version.
type PackageVersion struct { ID *int64 `json:"id,omitempty"` Version *string `json:"version,omitempty"` Summary *string `json:"summary,omitempty"` Body *string `json:"body,omitempty"` BodyHTML *string `json:"body_html,omitempty"` Release *PackageRelease `json:"release,omitempty"` Manifest *string `json:"manifest,omitempty"` HTMLURL *string `json:"html_url,omitempty"` TagName *string `json:"tag_name,omitempty"` TargetCommitish *string `json:"target_commitish,omitempty"` TargetOID *string `json:"target_oid,omitempty"` Draft *bool `json:"draft,omitempty"` Prerelease *bool `json:"prerelease,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` PackageFiles []*PackageFile `json:"package_files,omitempty"` Author *User `json:"author,omitempty"` InstallationCommand *string `json:"installation_command,omitempty"` Metadata *PackageMetadata `json:"metadata,omitempty"` PackageHTMLURL *string `json:"package_html_url,omitempty"` Name *string `json:"name,omitempty"` URL *string `json:"url,omitempty"` }
func (p *PackageVersion) GetAuthor() *User
GetAuthor returns the Author field.
func (p *PackageVersion) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetBodyHTML() string
GetBodyHTML returns the BodyHTML field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetDraft() bool
GetDraft returns the Draft field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetInstallationCommand() string
GetInstallationCommand returns the InstallationCommand field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetManifest() string
GetManifest returns the Manifest field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetMetadata() *PackageMetadata
GetMetadata returns the Metadata field.
func (p *PackageVersion) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetPackageHTMLURL() string
GetPackageHTMLURL returns the PackageHTMLURL field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetPrerelease() bool
GetPrerelease returns the Prerelease field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetRelease() *PackageRelease
GetRelease returns the Release field.
func (p *PackageVersion) GetSummary() string
GetSummary returns the Summary field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetTagName() string
GetTagName returns the TagName field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetTargetCommitish() string
GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetTargetOID() string
GetTargetOID returns the TargetOID field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (p *PackageVersion) GetVersion() string
GetVersion returns the Version field if it's non-nil, zero value otherwise.
func (pv PackageVersion) String() string
Page represents a single Wiki page.
type Page struct { PageName *string `json:"page_name,omitempty"` Title *string `json:"title,omitempty"` Summary *string `json:"summary,omitempty"` Action *string `json:"action,omitempty"` SHA *string `json:"sha,omitempty"` HTMLURL *string `json:"html_url,omitempty"` }
func (p *Page) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *Page) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *Page) GetPageName() string
GetPageName returns the PageName field if it's non-nil, zero value otherwise.
func (p *Page) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (p *Page) GetSummary() string
GetSummary returns the Summary field if it's non-nil, zero value otherwise.
func (p *Page) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
PageBuildEvent represents an attempted build of a GitHub Pages site, whether successful or not. The Webhook event name is "page_build".
This event is triggered on push to a GitHub Pages enabled branch (gh-pages for project pages, master for user and organization pages).
Events of this type are not visible in timelines, they are only used to trigger hooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#page_build
type PageBuildEvent struct { Build *PagesBuild `json:"build,omitempty"` // The following fields are only populated by Webhook events. ID *int64 `json:"id,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *PageBuildEvent) GetBuild() *PagesBuild
GetBuild returns the Build field.
func (p *PageBuildEvent) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PageBuildEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PageBuildEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PageBuildEvent) GetSender() *User
GetSender returns the Sender field.
PageStats represents the total number of github pages.
type PageStats struct { TotalPages *int `json:"total_pages,omitempty"` }
func (p *PageStats) GetTotalPages() int
GetTotalPages returns the TotalPages field if it's non-nil, zero value otherwise.
func (s PageStats) String() string
Pages represents a GitHub Pages site configuration.
type Pages struct { URL *string `json:"url,omitempty"` Status *string `json:"status,omitempty"` CNAME *string `json:"cname,omitempty"` Custom404 *bool `json:"custom_404,omitempty"` HTMLURL *string `json:"html_url,omitempty"` Source *PagesSource `json:"source,omitempty"` Public *bool `json:"public,omitempty"` HTTPSCertificate *PagesHTTPSCertificate `json:"https_certificate,omitempty"` HTTPSEnforced *bool `json:"https_enforced,omitempty"` }
func (p *Pages) GetCNAME() string
GetCNAME returns the CNAME field if it's non-nil, zero value otherwise.
func (p *Pages) GetCustom404() bool
GetCustom404 returns the Custom404 field if it's non-nil, zero value otherwise.
func (p *Pages) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *Pages) GetHTTPSCertificate() *PagesHTTPSCertificate
GetHTTPSCertificate returns the HTTPSCertificate field.
func (p *Pages) GetHTTPSEnforced() bool
GetHTTPSEnforced returns the HTTPSEnforced field if it's non-nil, zero value otherwise.
func (p *Pages) GetPublic() bool
GetPublic returns the Public field if it's non-nil, zero value otherwise.
func (p *Pages) GetSource() *PagesSource
GetSource returns the Source field.
func (p *Pages) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (p *Pages) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
PagesBuild represents the build information for a GitHub Pages site.
type PagesBuild struct { URL *string `json:"url,omitempty"` Status *string `json:"status,omitempty"` Error *PagesError `json:"error,omitempty"` Pusher *User `json:"pusher,omitempty"` Commit *string `json:"commit,omitempty"` Duration *int `json:"duration,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` }
func (p *PagesBuild) GetCommit() string
GetCommit returns the Commit field if it's non-nil, zero value otherwise.
func (p *PagesBuild) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *PagesBuild) GetDuration() int
GetDuration returns the Duration field if it's non-nil, zero value otherwise.
func (p *PagesBuild) GetError() *PagesError
GetError returns the Error field.
func (p *PagesBuild) GetPusher() *User
GetPusher returns the Pusher field.
func (p *PagesBuild) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (p *PagesBuild) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *PagesBuild) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
PagesError represents a build error for a GitHub Pages site.
type PagesError struct { Message *string `json:"message,omitempty"` }
func (p *PagesError) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
PagesHTTPSCertificate represents the HTTPS Certificate information for a GitHub Pages site.
type PagesHTTPSCertificate struct { State *string `json:"state,omitempty"` Description *string `json:"description,omitempty"` Domains []string `json:"domains,omitempty"` // GitHub's API doesn't return a standard Timestamp, rather it returns a YYYY-MM-DD string. ExpiresAt *string `json:"expires_at,omitempty"` }
func (p *PagesHTTPSCertificate) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (p *PagesHTTPSCertificate) GetExpiresAt() string
GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.
func (p *PagesHTTPSCertificate) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
PagesSource represents a GitHub page's source.
type PagesSource struct { Branch *string `json:"branch,omitempty"` Path *string `json:"path,omitempty"` }
func (p *PagesSource) GetBranch() string
GetBranch returns the Branch field if it's non-nil, zero value otherwise.
func (p *PagesSource) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
PagesUpdate sets up parameters needed to update a GitHub Pages site.
type PagesUpdate struct { // CNAME represents a custom domain for the repository. // Leaving CNAME empty will remove the custom domain. CNAME *string `json:"cname"` // Source must include the branch name, and may optionally specify the subdirectory "/docs". // Possible values are: "gh-pages", "master", and "master /docs". Source *string `json:"source,omitempty"` // Public configures access controls for the site. // If "true", the site will be accessible to anyone on the internet. If "false", // the site will be accessible to anyone with read access to the repository that // published the site. Public *bool `json:"public,omitempty"` // HTTPSEnforced specifies whether HTTPS should be enforced for the repository. HTTPSEnforced *bool `json:"https_enforced,omitempty"` }
func (p *PagesUpdate) GetCNAME() string
GetCNAME returns the CNAME field if it's non-nil, zero value otherwise.
func (p *PagesUpdate) GetHTTPSEnforced() bool
GetHTTPSEnforced returns the HTTPSEnforced field if it's non-nil, zero value otherwise.
func (p *PagesUpdate) GetPublic() bool
GetPublic returns the Public field if it's non-nil, zero value otherwise.
func (p *PagesUpdate) GetSource() string
GetSource returns the Source field if it's non-nil, zero value otherwise.
PingEvent is triggered when a Webhook is added to GitHub.
GitHub API docs: https://developer.github.com/webhooks/#ping-event
type PingEvent struct { // Random string of GitHub zen. Zen *string `json:"zen,omitempty"` // The ID of the webhook that triggered the ping. HookID *int64 `json:"hook_id,omitempty"` // The webhook configuration. Hook *Hook `json:"hook,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *PingEvent) GetHook() *Hook
GetHook returns the Hook field.
func (p *PingEvent) GetHookID() int64
GetHookID returns the HookID field if it's non-nil, zero value otherwise.
func (p *PingEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PingEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (p *PingEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PingEvent) GetSender() *User
GetSender returns the Sender field.
func (p *PingEvent) GetZen() string
GetZen returns the Zen field if it's non-nil, zero value otherwise.
Plan represents the payment plan for an account. See plans at https://github.com/plans.
type Plan struct { Name *string `json:"name,omitempty"` Space *int `json:"space,omitempty"` Collaborators *int `json:"collaborators,omitempty"` PrivateRepos *int `json:"private_repos,omitempty"` FilledSeats *int `json:"filled_seats,omitempty"` Seats *int `json:"seats,omitempty"` }
func (p *Plan) GetCollaborators() int
GetCollaborators returns the Collaborators field if it's non-nil, zero value otherwise.
func (p *Plan) GetFilledSeats() int
GetFilledSeats returns the FilledSeats field if it's non-nil, zero value otherwise.
func (p *Plan) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *Plan) GetPrivateRepos() int
GetPrivateRepos returns the PrivateRepos field if it's non-nil, zero value otherwise.
func (p *Plan) GetSeats() int
GetSeats returns the Seats field if it's non-nil, zero value otherwise.
func (p *Plan) GetSpace() int
GetSpace returns the Space field if it's non-nil, zero value otherwise.
func (p Plan) String() string
PreReceiveHook represents a GitHub pre-receive hook for a repository.
type PreReceiveHook struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` Enforcement *string `json:"enforcement,omitempty"` ConfigURL *string `json:"configuration_url,omitempty"` }
func (p *PreReceiveHook) GetConfigURL() string
GetConfigURL returns the ConfigURL field if it's non-nil, zero value otherwise.
func (p *PreReceiveHook) GetEnforcement() string
GetEnforcement returns the Enforcement field if it's non-nil, zero value otherwise.
func (p *PreReceiveHook) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PreReceiveHook) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p PreReceiveHook) String() string
PreferenceList represents a list of auto trigger checks for repository
type PreferenceList struct { AutoTriggerChecks []*AutoTriggerCheck `json:"auto_trigger_checks,omitempty"` // A slice of auto trigger checks that can be set for a check suite in a repository. }
Project represents a GitHub Project.
type Project struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` ColumnsURL *string `json:"columns_url,omitempty"` OwnerURL *string `json:"owner_url,omitempty"` Name *string `json:"name,omitempty"` Body *string `json:"body,omitempty"` Number *int `json:"number,omitempty"` State *string `json:"state,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` NodeID *string `json:"node_id,omitempty"` OrganizationPermission *string `json:"organization_permission,omitempty"` Private *bool `json:"private,omitempty"` // The User object that generated the project. Creator *User `json:"creator,omitempty"` }
func (p *Project) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (p *Project) GetColumnsURL() string
GetColumnsURL returns the ColumnsURL field if it's non-nil, zero value otherwise.
func (p *Project) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *Project) GetCreator() *User
GetCreator returns the Creator field.
func (p *Project) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *Project) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *Project) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *Project) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *Project) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (p *Project) GetOrganizationPermission() string
GetOrganizationPermission returns the OrganizationPermission field if it's non-nil, zero value otherwise.
func (p *Project) GetOwnerURL() string
GetOwnerURL returns the OwnerURL field if it's non-nil, zero value otherwise.
func (p *Project) GetPrivate() bool
GetPrivate returns the Private field if it's non-nil, zero value otherwise.
func (p *Project) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (p *Project) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *Project) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (p Project) String() string
ProjectBody represents a project body change.
type ProjectBody struct { From *string `json:"from,omitempty"` }
func (p *ProjectBody) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
ProjectCard represents a card in a column of a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/cards/#get-a-project-card
type ProjectCard struct { URL *string `json:"url,omitempty"` ColumnURL *string `json:"column_url,omitempty"` ContentURL *string `json:"content_url,omitempty"` ID *int64 `json:"id,omitempty"` Note *string `json:"note,omitempty"` Creator *User `json:"creator,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` NodeID *string `json:"node_id,omitempty"` Archived *bool `json:"archived,omitempty"` // The following fields are only populated by Webhook events. ColumnID *int64 `json:"column_id,omitempty"` // The following fields are only populated by Events API. ProjectID *int64 `json:"project_id,omitempty"` ProjectURL *string `json:"project_url,omitempty"` ColumnName *string `json:"column_name,omitempty"` PreviousColumnName *string `json:"previous_column_name,omitempty"` // Populated in "moved_columns_in_project" event deliveries. }
func (p *ProjectCard) GetArchived() bool
GetArchived returns the Archived field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetColumnID() int64
GetColumnID returns the ColumnID field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetColumnName() string
GetColumnName returns the ColumnName field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetColumnURL() string
GetColumnURL returns the ColumnURL field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetContentURL() string
GetContentURL returns the ContentURL field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetCreator() *User
GetCreator returns the Creator field.
func (p *ProjectCard) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetNote() string
GetNote returns the Note field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetPreviousColumnName() string
GetPreviousColumnName returns the PreviousColumnName field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetProjectID() int64
GetProjectID returns the ProjectID field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetProjectURL() string
GetProjectURL returns the ProjectURL field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *ProjectCard) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
ProjectCardChange represents the changes when a project card has been edited.
type ProjectCardChange struct { Note *ProjectCardNote `json:"note,omitempty"` }
func (p *ProjectCardChange) GetNote() *ProjectCardNote
GetNote returns the Note field.
ProjectCardEvent is triggered when a project card is created, updated, moved, converted to an issue, or deleted. The webhook event name is "project_card".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#project_card
type ProjectCardEvent struct { Action *string `json:"action,omitempty"` Changes *ProjectCardChange `json:"changes,omitempty"` AfterID *int64 `json:"after_id,omitempty"` ProjectCard *ProjectCard `json:"project_card,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *ProjectCardEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *ProjectCardEvent) GetAfterID() int64
GetAfterID returns the AfterID field if it's non-nil, zero value otherwise.
func (p *ProjectCardEvent) GetChanges() *ProjectCardChange
GetChanges returns the Changes field.
func (p *ProjectCardEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *ProjectCardEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (p *ProjectCardEvent) GetProjectCard() *ProjectCard
GetProjectCard returns the ProjectCard field.
func (p *ProjectCardEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *ProjectCardEvent) GetSender() *User
GetSender returns the Sender field.
ProjectCardListOptions specifies the optional parameters to the ProjectsService.ListProjectCards method.
type ProjectCardListOptions struct { // ArchivedState is used to list all, archived, or not_archived project cards. // Defaults to not_archived when you omit this parameter. ArchivedState *string `url:"archived_state,omitempty"` ListOptions }
func (p *ProjectCardListOptions) GetArchivedState() string
GetArchivedState returns the ArchivedState field if it's non-nil, zero value otherwise.
ProjectCardMoveOptions specifies the parameters to the ProjectsService.MoveProjectCard method.
type ProjectCardMoveOptions struct { // Position can be one of "top", "bottom", or "after:<card-id>", where // <card-id> is the ID of a card in the same project. Position string `json:"position"` // ColumnID is the ID of a column in the same project. Note that ColumnID // is required when using Position "after:<card-id>" when that card is in // another column; otherwise it is optional. ColumnID int64 `json:"column_id,omitempty"` }
ProjectCardNote represents a change of a note of a project card.
type ProjectCardNote struct { From *string `json:"from,omitempty"` }
func (p *ProjectCardNote) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
ProjectCardOptions specifies the parameters to the ProjectsService.CreateProjectCard and ProjectsService.UpdateProjectCard methods.
type ProjectCardOptions struct { // The note of the card. Note and ContentID are mutually exclusive. Note string `json:"note,omitempty"` // The ID (not Number) of the Issue to associate with this card. // Note and ContentID are mutually exclusive. ContentID int64 `json:"content_id,omitempty"` // The type of content to associate with this card. Possible values are: "Issue" and "PullRequest". ContentType string `json:"content_type,omitempty"` // Use true to archive a project card. // Specify false if you need to restore a previously archived project card. Archived *bool `json:"archived,omitempty"` }
func (p *ProjectCardOptions) GetArchived() bool
GetArchived returns the Archived field if it's non-nil, zero value otherwise.
ProjectChange represents the changes when a project has been edited.
type ProjectChange struct { Name *ProjectName `json:"name,omitempty"` Body *ProjectBody `json:"body,omitempty"` }
func (p *ProjectChange) GetBody() *ProjectBody
GetBody returns the Body field.
func (p *ProjectChange) GetName() *ProjectName
GetName returns the Name field.
ProjectCollaboratorOptions specifies the optional parameters to the ProjectsService.AddProjectCollaborator method.
type ProjectCollaboratorOptions struct { // Permission specifies the permission to grant to the collaborator. // Possible values are: // "read" - can read, but not write to or administer this project. // "write" - can read and write, but not administer this project. // "admin" - can read, write and administer this project. // // Default value is "write" Permission *string `json:"permission,omitempty"` }
func (p *ProjectCollaboratorOptions) GetPermission() string
GetPermission returns the Permission field if it's non-nil, zero value otherwise.
ProjectColumn represents a column of a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/repos/projects/
type ProjectColumn struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` URL *string `json:"url,omitempty"` ProjectURL *string `json:"project_url,omitempty"` CardsURL *string `json:"cards_url,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (p *ProjectColumn) GetCardsURL() string
GetCardsURL returns the CardsURL field if it's non-nil, zero value otherwise.
func (p *ProjectColumn) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *ProjectColumn) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *ProjectColumn) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *ProjectColumn) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *ProjectColumn) GetProjectURL() string
GetProjectURL returns the ProjectURL field if it's non-nil, zero value otherwise.
func (p *ProjectColumn) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *ProjectColumn) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
ProjectColumnChange represents the changes when a project column has been edited.
type ProjectColumnChange struct { Name *ProjectColumnName `json:"name,omitempty"` }
func (p *ProjectColumnChange) GetName() *ProjectColumnName
GetName returns the Name field.
ProjectColumnEvent is triggered when a project column is created, updated, moved, or deleted. The webhook event name is "project_column".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#project_column
type ProjectColumnEvent struct { Action *string `json:"action,omitempty"` Changes *ProjectColumnChange `json:"changes,omitempty"` AfterID *int64 `json:"after_id,omitempty"` ProjectColumn *ProjectColumn `json:"project_column,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *ProjectColumnEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *ProjectColumnEvent) GetAfterID() int64
GetAfterID returns the AfterID field if it's non-nil, zero value otherwise.
func (p *ProjectColumnEvent) GetChanges() *ProjectColumnChange
GetChanges returns the Changes field.
func (p *ProjectColumnEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *ProjectColumnEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (p *ProjectColumnEvent) GetProjectColumn() *ProjectColumn
GetProjectColumn returns the ProjectColumn field.
func (p *ProjectColumnEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *ProjectColumnEvent) GetSender() *User
GetSender returns the Sender field.
ProjectColumnMoveOptions specifies the parameters to the ProjectsService.MoveProjectColumn method.
type ProjectColumnMoveOptions struct { // Position can be one of "first", "last", or "after:<column-id>", where // <column-id> is the ID of a column in the same project. (Required.) Position string `json:"position"` }
ProjectColumnName represents a project column name change.
type ProjectColumnName struct { From *string `json:"from,omitempty"` }
func (p *ProjectColumnName) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
ProjectColumnOptions specifies the parameters to the ProjectsService.CreateProjectColumn and ProjectsService.UpdateProjectColumn methods.
type ProjectColumnOptions struct { // The name of the project column. (Required for creation and update.) Name string `json:"name"` }
ProjectEvent is triggered when project is created, modified or deleted. The webhook event name is "project".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#project
type ProjectEvent struct { Action *string `json:"action,omitempty"` Changes *ProjectChange `json:"changes,omitempty"` Project *Project `json:"project,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *ProjectEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *ProjectEvent) GetChanges() *ProjectChange
GetChanges returns the Changes field.
func (p *ProjectEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *ProjectEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (p *ProjectEvent) GetProject() *Project
GetProject returns the Project field.
func (p *ProjectEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *ProjectEvent) GetSender() *User
GetSender returns the Sender field.
ProjectListOptions specifies the optional parameters to the OrganizationsService.ListProjects and RepositoriesService.ListProjects methods.
type ProjectListOptions struct { // Indicates the state of the projects to return. Can be either open, closed, or all. Default: open State string `url:"state,omitempty"` ListOptions }
ProjectName represents a project name change.
type ProjectName struct { From *string `json:"from,omitempty"` }
func (p *ProjectName) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
ProjectOptions specifies the parameters to the RepositoriesService.CreateProject and ProjectsService.UpdateProject methods.
type ProjectOptions struct { // The name of the project. (Required for creation; optional for update.) Name *string `json:"name,omitempty"` // The body of the project. (Optional.) Body *string `json:"body,omitempty"` // State of the project. Either "open" or "closed". (Optional.) State *string `json:"state,omitempty"` // The permission level that all members of the project's organization // will have on this project. // Setting the organization permission is only available // for organization projects. (Optional.) OrganizationPermission *string `json:"organization_permission,omitempty"` // Sets visibility of the project within the organization. // Setting visibility is only available // for organization projects.(Optional.) Private *bool `json:"private,omitempty"` }
func (p *ProjectOptions) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (p *ProjectOptions) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *ProjectOptions) GetOrganizationPermission() string
GetOrganizationPermission returns the OrganizationPermission field if it's non-nil, zero value otherwise.
func (p *ProjectOptions) GetPrivate() bool
GetPrivate returns the Private field if it's non-nil, zero value otherwise.
func (p *ProjectOptions) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
ProjectPermissionLevel represents the permission level an organization member has for a given project.
type ProjectPermissionLevel struct { // Possible values: "admin", "write", "read", "none" Permission *string `json:"permission,omitempty"` User *User `json:"user,omitempty"` }
func (p *ProjectPermissionLevel) GetPermission() string
GetPermission returns the Permission field if it's non-nil, zero value otherwise.
func (p *ProjectPermissionLevel) GetUser() *User
GetUser returns the User field.
ProjectsService provides access to the projects functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/projects
type ProjectsService service
func (s *ProjectsService) AddProjectCollaborator(ctx context.Context, id int64, username string, opts *ProjectCollaboratorOptions) (*Response, error)
AddProjectCollaborator adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project admin to add a collaborator.
GitHub API docs: https://docs.github.com/en/rest/projects/collaborators#add-project-collaborator
func (s *ProjectsService) CreateProjectCard(ctx context.Context, columnID int64, opts *ProjectCardOptions) (*ProjectCard, *Response, error)
CreateProjectCard creates a card in the specified column of a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/cards#create-a-project-card
func (s *ProjectsService) CreateProjectColumn(ctx context.Context, projectID int64, opts *ProjectColumnOptions) (*ProjectColumn, *Response, error)
CreateProjectColumn creates a column for the specified (by number) project.
GitHub API docs: https://docs.github.com/en/rest/projects/columns#create-a-project-column
func (s *ProjectsService) DeleteProject(ctx context.Context, id int64) (*Response, error)
DeleteProject deletes a GitHub Project from a repository.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#delete-a-project
func (s *ProjectsService) DeleteProjectCard(ctx context.Context, cardID int64) (*Response, error)
DeleteProjectCard deletes a card from a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/cards#delete-a-project-card
func (s *ProjectsService) DeleteProjectColumn(ctx context.Context, columnID int64) (*Response, error)
DeleteProjectColumn deletes a column from a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/columns#delete-a-project-column
func (s *ProjectsService) GetProject(ctx context.Context, id int64) (*Project, *Response, error)
GetProject gets a GitHub Project for a repo.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#get-a-project
func (s *ProjectsService) GetProjectCard(ctx context.Context, cardID int64) (*ProjectCard, *Response, error)
GetProjectCard gets a card in a column of a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/cards#get-a-project-card
func (s *ProjectsService) GetProjectColumn(ctx context.Context, id int64) (*ProjectColumn, *Response, error)
GetProjectColumn gets a column of a GitHub Project for a repo.
GitHub API docs: https://docs.github.com/en/rest/projects/columns#get-a-project-column
func (s *ProjectsService) ListProjectCards(ctx context.Context, columnID int64, opts *ProjectCardListOptions) ([]*ProjectCard, *Response, error)
ListProjectCards lists the cards in a column of a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/cards#list-project-cards
func (s *ProjectsService) ListProjectCollaborators(ctx context.Context, id int64, opts *ListCollaboratorOptions) ([]*User, *Response, error)
ListProjectCollaborators lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project admin to list collaborators.
GitHub API docs: https://docs.github.com/en/rest/projects/collaborators#list-project-collaborators
func (s *ProjectsService) ListProjectColumns(ctx context.Context, projectID int64, opts *ListOptions) ([]*ProjectColumn, *Response, error)
ListProjectColumns lists the columns of a GitHub Project for a repo.
GitHub API docs: https://docs.github.com/en/rest/projects/columns#list-project-columns
func (s *ProjectsService) MoveProjectCard(ctx context.Context, cardID int64, opts *ProjectCardMoveOptions) (*Response, error)
MoveProjectCard moves a card within a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/cards#move-a-project-card
func (s *ProjectsService) MoveProjectColumn(ctx context.Context, columnID int64, opts *ProjectColumnMoveOptions) (*Response, error)
MoveProjectColumn moves a column within a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/columns#move-a-project-column
func (s *ProjectsService) RemoveProjectCollaborator(ctx context.Context, id int64, username string) (*Response, error)
RemoveProjectCollaborator removes a collaborator from an organization project. You must be an organization owner or a project admin to remove a collaborator.
GitHub API docs: https://docs.github.com/en/rest/projects/collaborators#remove-user-as-a-collaborator
func (s *ProjectsService) ReviewProjectCollaboratorPermission(ctx context.Context, id int64, username string) (*ProjectPermissionLevel, *Response, error)
ReviewProjectCollaboratorPermission returns the collaborator's permission level for an organization project. Possible values for the permission key: "admin", "write", "read", "none". You must be an organization owner or a project admin to review a user's permission level.
GitHub API docs: https://docs.github.com/en/rest/projects/collaborators#get-project-permission-for-a-user
func (s *ProjectsService) UpdateProject(ctx context.Context, id int64, opts *ProjectOptions) (*Project, *Response, error)
UpdateProject updates a repository project.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#update-a-project
func (s *ProjectsService) UpdateProjectCard(ctx context.Context, cardID int64, opts *ProjectCardOptions) (*ProjectCard, *Response, error)
UpdateProjectCard updates a card of a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/cards#update-an-existing-project-card
func (s *ProjectsService) UpdateProjectColumn(ctx context.Context, columnID int64, opts *ProjectColumnOptions) (*ProjectColumn, *Response, error)
UpdateProjectColumn updates a column of a GitHub Project.
GitHub API docs: https://docs.github.com/en/rest/projects/columns#update-an-existing-project-column
Protection represents a repository branch's protection.
type Protection struct { RequiredStatusChecks *RequiredStatusChecks `json:"required_status_checks"` RequiredPullRequestReviews *PullRequestReviewsEnforcement `json:"required_pull_request_reviews"` EnforceAdmins *AdminEnforcement `json:"enforce_admins"` Restrictions *BranchRestrictions `json:"restrictions"` RequireLinearHistory *RequireLinearHistory `json:"required_linear_history"` AllowForcePushes *AllowForcePushes `json:"allow_force_pushes"` AllowDeletions *AllowDeletions `json:"allow_deletions"` RequiredConversationResolution *RequiredConversationResolution `json:"required_conversation_resolution"` }
func (p *Protection) GetAllowDeletions() *AllowDeletions
GetAllowDeletions returns the AllowDeletions field.
func (p *Protection) GetAllowForcePushes() *AllowForcePushes
GetAllowForcePushes returns the AllowForcePushes field.
func (p *Protection) GetEnforceAdmins() *AdminEnforcement
GetEnforceAdmins returns the EnforceAdmins field.
func (p *Protection) GetRequireLinearHistory() *RequireLinearHistory
GetRequireLinearHistory returns the RequireLinearHistory field.
func (p *Protection) GetRequiredConversationResolution() *RequiredConversationResolution
GetRequiredConversationResolution returns the RequiredConversationResolution field.
func (p *Protection) GetRequiredPullRequestReviews() *PullRequestReviewsEnforcement
GetRequiredPullRequestReviews returns the RequiredPullRequestReviews field.
func (p *Protection) GetRequiredStatusChecks() *RequiredStatusChecks
GetRequiredStatusChecks returns the RequiredStatusChecks field.
func (p *Protection) GetRestrictions() *BranchRestrictions
GetRestrictions returns the Restrictions field.
ProtectionChanges represents the changes to the rule if the BranchProtection was edited.
type ProtectionChanges struct { AuthorizedActorsOnly *AuthorizedActorsOnly `json:"authorized_actors_only,omitempty"` AuthorizedActorNames *AuthorizedActorNames `json:"authorized_actor_names,omitempty"` }
func (p *ProtectionChanges) GetAuthorizedActorNames() *AuthorizedActorNames
GetAuthorizedActorNames returns the AuthorizedActorNames field.
func (p *ProtectionChanges) GetAuthorizedActorsOnly() *AuthorizedActorsOnly
GetAuthorizedActorsOnly returns the AuthorizedActorsOnly field.
ProtectionRequest represents a request to create/edit a branch's protection.
type ProtectionRequest struct { RequiredStatusChecks *RequiredStatusChecks `json:"required_status_checks"` RequiredPullRequestReviews *PullRequestReviewsEnforcementRequest `json:"required_pull_request_reviews"` EnforceAdmins bool `json:"enforce_admins"` Restrictions *BranchRestrictionsRequest `json:"restrictions"` // Enforces a linear commit Git history, which prevents anyone from pushing merge commits to a branch. RequireLinearHistory *bool `json:"required_linear_history,omitempty"` // Permits force pushes to the protected branch by anyone with write access to the repository. AllowForcePushes *bool `json:"allow_force_pushes,omitempty"` // Allows deletion of the protected branch by anyone with write access to the repository. AllowDeletions *bool `json:"allow_deletions,omitempty"` // RequiredConversationResolution, if set to true, requires all comments // on the pull request to be resolved before it can be merged to a protected branch. RequiredConversationResolution *bool `json:"required_conversation_resolution,omitempty"` }
func (p *ProtectionRequest) GetAllowDeletions() bool
GetAllowDeletions returns the AllowDeletions field if it's non-nil, zero value otherwise.
func (p *ProtectionRequest) GetAllowForcePushes() bool
GetAllowForcePushes returns the AllowForcePushes field if it's non-nil, zero value otherwise.
func (p *ProtectionRequest) GetRequireLinearHistory() bool
GetRequireLinearHistory returns the RequireLinearHistory field if it's non-nil, zero value otherwise.
func (p *ProtectionRequest) GetRequiredConversationResolution() bool
GetRequiredConversationResolution returns the RequiredConversationResolution field if it's non-nil, zero value otherwise.
func (p *ProtectionRequest) GetRequiredPullRequestReviews() *PullRequestReviewsEnforcementRequest
GetRequiredPullRequestReviews returns the RequiredPullRequestReviews field.
func (p *ProtectionRequest) GetRequiredStatusChecks() *RequiredStatusChecks
GetRequiredStatusChecks returns the RequiredStatusChecks field.
func (p *ProtectionRequest) GetRestrictions() *BranchRestrictionsRequest
GetRestrictions returns the Restrictions field.
ProtectionRule represents a single protection rule applied to the environment.
type ProtectionRule struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Type *string `json:"type,omitempty"` WaitTimer *int `json:"wait_timer,omitempty"` Reviewers []*RequiredReviewer `json:"reviewers,omitempty"` }
func (p *ProtectionRule) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *ProtectionRule) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *ProtectionRule) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (p *ProtectionRule) GetWaitTimer() int
GetWaitTimer returns the WaitTimer field if it's non-nil, zero value otherwise.
PublicEvent is triggered when a private repository is open sourced. According to GitHub: "Without a doubt: the best GitHub event." The Webhook event name is "public".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#public
type PublicEvent struct { // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *PublicEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PublicEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PublicEvent) GetSender() *User
GetSender returns the Sender field.
PublicKey represents the public key that should be used to encrypt secrets.
type PublicKey struct { KeyID *string `json:"key_id"` Key *string `json:"key"` }
func (p *PublicKey) GetKey() string
GetKey returns the Key field if it's non-nil, zero value otherwise.
func (p *PublicKey) GetKeyID() string
GetKeyID returns the KeyID field if it's non-nil, zero value otherwise.
func (p *PublicKey) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. This ensures GitHub Enterprise versions which return a numeric key id do not error out when unmarshaling.
PullRequest represents a GitHub pull request on a repository.
type PullRequest struct { ID *int64 `json:"id,omitempty"` Number *int `json:"number,omitempty"` State *string `json:"state,omitempty"` Locked *bool `json:"locked,omitempty"` Title *string `json:"title,omitempty"` Body *string `json:"body,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` ClosedAt *time.Time `json:"closed_at,omitempty"` MergedAt *time.Time `json:"merged_at,omitempty"` Labels []*Label `json:"labels,omitempty"` User *User `json:"user,omitempty"` Draft *bool `json:"draft,omitempty"` Merged *bool `json:"merged,omitempty"` Mergeable *bool `json:"mergeable,omitempty"` MergeableState *string `json:"mergeable_state,omitempty"` MergedBy *User `json:"merged_by,omitempty"` MergeCommitSHA *string `json:"merge_commit_sha,omitempty"` Rebaseable *bool `json:"rebaseable,omitempty"` Comments *int `json:"comments,omitempty"` Commits *int `json:"commits,omitempty"` Additions *int `json:"additions,omitempty"` Deletions *int `json:"deletions,omitempty"` ChangedFiles *int `json:"changed_files,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` IssueURL *string `json:"issue_url,omitempty"` StatusesURL *string `json:"statuses_url,omitempty"` DiffURL *string `json:"diff_url,omitempty"` PatchURL *string `json:"patch_url,omitempty"` CommitsURL *string `json:"commits_url,omitempty"` CommentsURL *string `json:"comments_url,omitempty"` ReviewCommentsURL *string `json:"review_comments_url,omitempty"` ReviewCommentURL *string `json:"review_comment_url,omitempty"` ReviewComments *int `json:"review_comments,omitempty"` Assignee *User `json:"assignee,omitempty"` Assignees []*User `json:"assignees,omitempty"` Milestone *Milestone `json:"milestone,omitempty"` MaintainerCanModify *bool `json:"maintainer_can_modify,omitempty"` AuthorAssociation *string `json:"author_association,omitempty"` NodeID *string `json:"node_id,omitempty"` RequestedReviewers []*User `json:"requested_reviewers,omitempty"` AutoMerge *PullRequestAutoMerge `json:"auto_merge,omitempty"` // RequestedTeams is populated as part of the PullRequestEvent. // See, https://docs.github.com/en/developers/webhooks-and-events/github-event-types#pullrequestevent for an example. RequestedTeams []*Team `json:"requested_teams,omitempty"` Links *PRLinks `json:"_links,omitempty"` Head *PullRequestBranch `json:"head,omitempty"` Base *PullRequestBranch `json:"base,omitempty"` // ActiveLockReason is populated only when LockReason is provided while locking the pull request. // Possible values are: "off-topic", "too heated", "resolved", and "spam". ActiveLockReason *string `json:"active_lock_reason,omitempty"` }
func (p *PullRequest) GetActiveLockReason() string
GetActiveLockReason returns the ActiveLockReason field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetAdditions() int
GetAdditions returns the Additions field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetAssignee() *User
GetAssignee returns the Assignee field.
func (p *PullRequest) GetAuthorAssociation() string
GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetAutoMerge() *PullRequestAutoMerge
GetAutoMerge returns the AutoMerge field.
func (p *PullRequest) GetBase() *PullRequestBranch
GetBase returns the Base field.
func (p *PullRequest) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetChangedFiles() int
GetChangedFiles returns the ChangedFiles field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetClosedAt() time.Time
GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetComments() int
GetComments returns the Comments field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetCommentsURL() string
GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetCommits() int
GetCommits returns the Commits field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetCommitsURL() string
GetCommitsURL returns the CommitsURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetDeletions() int
GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetDiffURL() string
GetDiffURL returns the DiffURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetDraft() bool
GetDraft returns the Draft field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetHead() *PullRequestBranch
GetHead returns the Head field.
func (p *PullRequest) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetIssueURL() string
GetIssueURL returns the IssueURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetLinks() *PRLinks
GetLinks returns the Links field.
func (p *PullRequest) GetLocked() bool
GetLocked returns the Locked field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetMaintainerCanModify() bool
GetMaintainerCanModify returns the MaintainerCanModify field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetMergeCommitSHA() string
GetMergeCommitSHA returns the MergeCommitSHA field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetMergeable() bool
GetMergeable returns the Mergeable field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetMergeableState() string
GetMergeableState returns the MergeableState field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetMerged() bool
GetMerged returns the Merged field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetMergedAt() time.Time
GetMergedAt returns the MergedAt field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetMergedBy() *User
GetMergedBy returns the MergedBy field.
func (p *PullRequest) GetMilestone() *Milestone
GetMilestone returns the Milestone field.
func (p *PullRequest) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetPatchURL() string
GetPatchURL returns the PatchURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetRebaseable() bool
GetRebaseable returns the Rebaseable field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetReviewCommentURL() string
GetReviewCommentURL returns the ReviewCommentURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetReviewComments() int
GetReviewComments returns the ReviewComments field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetReviewCommentsURL() string
GetReviewCommentsURL returns the ReviewCommentsURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetStatusesURL() string
GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (p *PullRequest) GetUser() *User
GetUser returns the User field.
func (p PullRequest) String() string
PullRequestAutoMerge represents the "auto_merge" response for a PullRequest.
type PullRequestAutoMerge struct { EnabledBy *User `json:"enabled_by,omitempty"` MergeMethod *string `json:"merge_method,omitempty"` CommitTitle *string `json:"commit_title,omitempty"` CommitMessage *string `json:"commit_message,omitempty"` }
func (p *PullRequestAutoMerge) GetCommitMessage() string
GetCommitMessage returns the CommitMessage field if it's non-nil, zero value otherwise.
func (p *PullRequestAutoMerge) GetCommitTitle() string
GetCommitTitle returns the CommitTitle field if it's non-nil, zero value otherwise.
func (p *PullRequestAutoMerge) GetEnabledBy() *User
GetEnabledBy returns the EnabledBy field.
func (p *PullRequestAutoMerge) GetMergeMethod() string
GetMergeMethod returns the MergeMethod field if it's non-nil, zero value otherwise.
PullRequestBranch represents a base or head branch in a GitHub pull request.
type PullRequestBranch struct { Label *string `json:"label,omitempty"` Ref *string `json:"ref,omitempty"` SHA *string `json:"sha,omitempty"` Repo *Repository `json:"repo,omitempty"` User *User `json:"user,omitempty"` }
func (p *PullRequestBranch) GetLabel() string
GetLabel returns the Label field if it's non-nil, zero value otherwise.
func (p *PullRequestBranch) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (p *PullRequestBranch) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PullRequestBranch) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (p *PullRequestBranch) GetUser() *User
GetUser returns the User field.
PullRequestBranchUpdateOptions specifies the optional parameters to the PullRequestsService.UpdateBranch method.
type PullRequestBranchUpdateOptions struct { // ExpectedHeadSHA specifies the most recent commit on the pull request's branch. // Default value is the SHA of the pull request's current HEAD ref. ExpectedHeadSHA *string `json:"expected_head_sha,omitempty"` }
func (p *PullRequestBranchUpdateOptions) GetExpectedHeadSHA() string
GetExpectedHeadSHA returns the ExpectedHeadSHA field if it's non-nil, zero value otherwise.
PullRequestBranchUpdateResponse specifies the response of pull request branch update.
type PullRequestBranchUpdateResponse struct { Message *string `json:"message,omitempty"` URL *string `json:"url,omitempty"` }
func (p *PullRequestBranchUpdateResponse) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (p *PullRequestBranchUpdateResponse) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
PullRequestComment represents a comment left on a pull request.
type PullRequestComment struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` InReplyTo *int64 `json:"in_reply_to_id,omitempty"` Body *string `json:"body,omitempty"` Path *string `json:"path,omitempty"` DiffHunk *string `json:"diff_hunk,omitempty"` PullRequestReviewID *int64 `json:"pull_request_review_id,omitempty"` Position *int `json:"position,omitempty"` OriginalPosition *int `json:"original_position,omitempty"` StartLine *int `json:"start_line,omitempty"` Line *int `json:"line,omitempty"` OriginalLine *int `json:"original_line,omitempty"` OriginalStartLine *int `json:"original_start_line,omitempty"` Side *string `json:"side,omitempty"` StartSide *string `json:"start_side,omitempty"` CommitID *string `json:"commit_id,omitempty"` OriginalCommitID *string `json:"original_commit_id,omitempty"` User *User `json:"user,omitempty"` Reactions *Reactions `json:"reactions,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` // AuthorAssociation is the comment author's relationship to the pull request's repository. // Possible values are "COLLABORATOR", "CONTRIBUTOR", "FIRST_TIMER", "FIRST_TIME_CONTRIBUTOR", "MEMBER", "OWNER", or "NONE". AuthorAssociation *string `json:"author_association,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` PullRequestURL *string `json:"pull_request_url,omitempty"` }
func (p *PullRequestComment) GetAuthorAssociation() string
GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetCommitID() string
GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetDiffHunk() string
GetDiffHunk returns the DiffHunk field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetInReplyTo() int64
GetInReplyTo returns the InReplyTo field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetLine() int
GetLine returns the Line field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetOriginalCommitID() string
GetOriginalCommitID returns the OriginalCommitID field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetOriginalLine() int
GetOriginalLine returns the OriginalLine field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetOriginalPosition() int
GetOriginalPosition returns the OriginalPosition field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetOriginalStartLine() int
GetOriginalStartLine returns the OriginalStartLine field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetPosition() int
GetPosition returns the Position field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetPullRequestReviewID() int64
GetPullRequestReviewID returns the PullRequestReviewID field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetPullRequestURL() string
GetPullRequestURL returns the PullRequestURL field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetReactions() *Reactions
GetReactions returns the Reactions field.
func (p *PullRequestComment) GetSide() string
GetSide returns the Side field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetStartLine() int
GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetStartSide() string
GetStartSide returns the StartSide field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (p *PullRequestComment) GetUser() *User
GetUser returns the User field.
func (p PullRequestComment) String() string
PullRequestEvent is triggered when a pull request is assigned, unassigned, labeled, unlabeled, opened, edited, closed, reopened, synchronize, ready_for_review, locked, unlocked, a pull request review is requested, or a review request is removed. The Webhook event name is "pull_request".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/github-event-types#pullrequestevent
type PullRequestEvent struct { // Action is the action that was performed. Possible values are: // "assigned", "unassigned", "review_requested", "review_request_removed", "labeled", "unlabeled", // "opened", "edited", "closed", "ready_for_review", "locked", "unlocked", or "reopened". // If the action is "closed" and the "merged" key is "false", the pull request was closed with unmerged commits. // If the action is "closed" and the "merged" key is "true", the pull request was merged. // While webhooks are also triggered when a pull request is synchronized, Events API timelines // don't include pull request events with the "synchronize" action. Action *string `json:"action,omitempty"` Assignee *User `json:"assignee,omitempty"` Number *int `json:"number,omitempty"` PullRequest *PullRequest `json:"pull_request,omitempty"` // The following fields are only populated by Webhook events. Changes *EditChange `json:"changes,omitempty"` // RequestedReviewer is populated in "review_requested", "review_request_removed" event deliveries. // A request affecting multiple reviewers at once is split into multiple // such event deliveries, each with a single, different RequestedReviewer. RequestedReviewer *User `json:"requested_reviewer,omitempty"` // In the event that a team is requested instead of a user, "requested_team" gets sent in place of // "requested_user" with the same delivery behavior. RequestedTeam *Team `json:"requested_team,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` Label *Label `json:"label,omitempty"` // Populated in "labeled" event deliveries. // The following field is only present when the webhook is triggered on // a repository belonging to an organization. Organization *Organization `json:"organization,omitempty"` // The following fields are only populated when the Action is "synchronize". Before *string `json:"before,omitempty"` After *string `json:"after,omitempty"` }
func (p *PullRequestEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *PullRequestEvent) GetAfter() string
GetAfter returns the After field if it's non-nil, zero value otherwise.
func (p *PullRequestEvent) GetAssignee() *User
GetAssignee returns the Assignee field.
func (p *PullRequestEvent) GetBefore() string
GetBefore returns the Before field if it's non-nil, zero value otherwise.
func (p *PullRequestEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (p *PullRequestEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PullRequestEvent) GetLabel() *Label
GetLabel returns the Label field.
func (p *PullRequestEvent) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (p *PullRequestEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (p *PullRequestEvent) GetPullRequest() *PullRequest
GetPullRequest returns the PullRequest field.
func (p *PullRequestEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PullRequestEvent) GetRequestedReviewer() *User
GetRequestedReviewer returns the RequestedReviewer field.
func (p *PullRequestEvent) GetRequestedTeam() *Team
GetRequestedTeam returns the RequestedTeam field.
func (p *PullRequestEvent) GetSender() *User
GetSender returns the Sender field.
PullRequestLinks object is added to the Issue object when it's an issue included in the IssueCommentEvent webhook payload, if the webhook is fired by a comment on a PR.
type PullRequestLinks struct { URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` DiffURL *string `json:"diff_url,omitempty"` PatchURL *string `json:"patch_url,omitempty"` }
func (p *PullRequestLinks) GetDiffURL() string
GetDiffURL returns the DiffURL field if it's non-nil, zero value otherwise.
func (p *PullRequestLinks) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *PullRequestLinks) GetPatchURL() string
GetPatchURL returns the PatchURL field if it's non-nil, zero value otherwise.
func (p *PullRequestLinks) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
PullRequestListCommentsOptions specifies the optional parameters to the PullRequestsService.ListComments method.
type PullRequestListCommentsOptions struct { // Sort specifies how to sort comments. Possible values are: created, updated. Sort string `url:"sort,omitempty"` // Direction in which to sort comments. Possible values are: asc, desc. Direction string `url:"direction,omitempty"` // Since filters comments by time. Since time.Time `url:"since,omitempty"` ListOptions }
PullRequestListOptions specifies the optional parameters to the PullRequestsService.List method.
type PullRequestListOptions struct { // State filters pull requests based on their state. Possible values are: // open, closed, all. Default is "open". State string `url:"state,omitempty"` // Head filters pull requests by head user and branch name in the format of: // "user:ref-name". Head string `url:"head,omitempty"` // Base filters pull requests by base branch name. Base string `url:"base,omitempty"` // Sort specifies how to sort pull requests. Possible values are: created, // updated, popularity, long-running. Default is "created". Sort string `url:"sort,omitempty"` // Direction in which to sort pull requests. Possible values are: asc, desc. // If Sort is "created" or not specified, Default is "desc", otherwise Default // is "asc" Direction string `url:"direction,omitempty"` ListOptions }
PullRequestMergeResult represents the result of merging a pull request.
type PullRequestMergeResult struct { SHA *string `json:"sha,omitempty"` Merged *bool `json:"merged,omitempty"` Message *string `json:"message,omitempty"` }
func (p *PullRequestMergeResult) GetMerged() bool
GetMerged returns the Merged field if it's non-nil, zero value otherwise.
func (p *PullRequestMergeResult) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (p *PullRequestMergeResult) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
PullRequestOptions lets you define how a pull request will be merged.
type PullRequestOptions struct { CommitTitle string // Title for the automatic commit message. (Optional.) SHA string // SHA that pull request head must match to allow merge. (Optional.) // The merge method to use. Possible values include: "merge", "squash", and "rebase" with the default being merge. (Optional.) MergeMethod string // If false, an empty string commit message will use the default commit message. If true, an empty string commit message will be used. DontDefaultIfBlank bool }
PullRequestReview represents a review of a pull request.
type PullRequestReview struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` User *User `json:"user,omitempty"` Body *string `json:"body,omitempty"` SubmittedAt *time.Time `json:"submitted_at,omitempty"` CommitID *string `json:"commit_id,omitempty"` HTMLURL *string `json:"html_url,omitempty"` PullRequestURL *string `json:"pull_request_url,omitempty"` State *string `json:"state,omitempty"` // AuthorAssociation is the comment author's relationship to the issue's repository. // Possible values are "COLLABORATOR", "CONTRIBUTOR", "FIRST_TIMER", "FIRST_TIME_CONTRIBUTOR", "MEMBER", "OWNER", or "NONE". AuthorAssociation *string `json:"author_association,omitempty"` }
func (p *PullRequestReview) GetAuthorAssociation() string
GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetCommitID() string
GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetPullRequestURL() string
GetPullRequestURL returns the PullRequestURL field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetSubmittedAt() time.Time
GetSubmittedAt returns the SubmittedAt field if it's non-nil, zero value otherwise.
func (p *PullRequestReview) GetUser() *User
GetUser returns the User field.
func (p PullRequestReview) String() string
PullRequestReviewCommentEvent is triggered when a comment is created on a portion of the unified diff of a pull request. The Webhook event name is "pull_request_review_comment".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#pull_request_review_comment
type PullRequestReviewCommentEvent struct { // Action is the action that was performed on the comment. // Possible values are: "created", "edited", "deleted". Action *string `json:"action,omitempty"` PullRequest *PullRequest `json:"pull_request,omitempty"` Comment *PullRequestComment `json:"comment,omitempty"` // The following fields are only populated by Webhook events. Changes *EditChange `json:"changes,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *PullRequestReviewCommentEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *PullRequestReviewCommentEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (p *PullRequestReviewCommentEvent) GetComment() *PullRequestComment
GetComment returns the Comment field.
func (p *PullRequestReviewCommentEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PullRequestReviewCommentEvent) GetPullRequest() *PullRequest
GetPullRequest returns the PullRequest field.
func (p *PullRequestReviewCommentEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PullRequestReviewCommentEvent) GetSender() *User
GetSender returns the Sender field.
PullRequestReviewDismissalRequest represents a request to dismiss a review.
type PullRequestReviewDismissalRequest struct { Message *string `json:"message,omitempty"` }
func (p *PullRequestReviewDismissalRequest) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (r PullRequestReviewDismissalRequest) String() string
PullRequestReviewEvent is triggered when a review is submitted on a pull request. The Webhook event name is "pull_request_review".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#pull_request_review
type PullRequestReviewEvent struct { // Action is always "submitted". Action *string `json:"action,omitempty"` Review *PullRequestReview `json:"review,omitempty"` PullRequest *PullRequest `json:"pull_request,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` // The following field is only present when the webhook is triggered on // a repository belonging to an organization. Organization *Organization `json:"organization,omitempty"` }
func (p *PullRequestReviewEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *PullRequestReviewEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PullRequestReviewEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (p *PullRequestReviewEvent) GetPullRequest() *PullRequest
GetPullRequest returns the PullRequest field.
func (p *PullRequestReviewEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PullRequestReviewEvent) GetReview() *PullRequestReview
GetReview returns the Review field.
func (p *PullRequestReviewEvent) GetSender() *User
GetSender returns the Sender field.
PullRequestReviewRequest represents a request to create a review.
type PullRequestReviewRequest struct { NodeID *string `json:"node_id,omitempty"` CommitID *string `json:"commit_id,omitempty"` Body *string `json:"body,omitempty"` Event *string `json:"event,omitempty"` Comments []*DraftReviewComment `json:"comments,omitempty"` }
func (p *PullRequestReviewRequest) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (p *PullRequestReviewRequest) GetCommitID() string
GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.
func (p *PullRequestReviewRequest) GetEvent() string
GetEvent returns the Event field if it's non-nil, zero value otherwise.
func (p *PullRequestReviewRequest) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r PullRequestReviewRequest) String() string
PullRequestReviewThreadEvent is triggered when a comment made as part of a review of a pull request is marked resolved or unresolved. The Webhook event name is "pull_request_review_thread".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#pull_request_review_thread
type PullRequestReviewThreadEvent struct { // Action is the action that was performed on the comment. // Possible values are: "resolved", "unresolved". Action *string `json:"action,omitempty"` Thread *PullRequestThread `json:"thread,omitempty"` PullRequest *PullRequest `json:"pull_request,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (p *PullRequestReviewThreadEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *PullRequestReviewThreadEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PullRequestReviewThreadEvent) GetPullRequest() *PullRequest
GetPullRequest returns the PullRequest field.
func (p *PullRequestReviewThreadEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PullRequestReviewThreadEvent) GetSender() *User
GetSender returns the Sender field.
func (p *PullRequestReviewThreadEvent) GetThread() *PullRequestThread
GetThread returns the Thread field.
PullRequestReviewsEnforcement represents the pull request reviews enforcement of a protected branch.
type PullRequestReviewsEnforcement struct { // Specifies which users and teams can dismiss pull request reviews. DismissalRestrictions *DismissalRestrictions `json:"dismissal_restrictions,omitempty"` // Specifies if approved reviews are dismissed automatically, when a new commit is pushed. DismissStaleReviews bool `json:"dismiss_stale_reviews"` // RequireCodeOwnerReviews specifies if an approved review is required in pull requests including files with a designated code owner. RequireCodeOwnerReviews bool `json:"require_code_owner_reviews"` // RequiredApprovingReviewCount specifies the number of approvals required before the pull request can be merged. // Valid values are 1-6. RequiredApprovingReviewCount int `json:"required_approving_review_count"` }
func (p *PullRequestReviewsEnforcement) GetDismissalRestrictions() *DismissalRestrictions
GetDismissalRestrictions returns the DismissalRestrictions field.
PullRequestReviewsEnforcementRequest represents request to set the pull request review enforcement of a protected branch. It is separate from PullRequestReviewsEnforcement above because the request structure is different from the response structure.
type PullRequestReviewsEnforcementRequest struct { // Specifies which users and teams should be allowed to dismiss pull request reviews. // User and team dismissal restrictions are only available for // organization-owned repositories. Must be nil for personal repositories. DismissalRestrictionsRequest *DismissalRestrictionsRequest `json:"dismissal_restrictions,omitempty"` // Specifies if approved reviews can be dismissed automatically, when a new commit is pushed. (Required) DismissStaleReviews bool `json:"dismiss_stale_reviews"` // RequireCodeOwnerReviews specifies if an approved review is required in pull requests including files with a designated code owner. RequireCodeOwnerReviews bool `json:"require_code_owner_reviews"` // RequiredApprovingReviewCount specifies the number of approvals required before the pull request can be merged. // Valid values are 1-6. RequiredApprovingReviewCount int `json:"required_approving_review_count"` }
func (p *PullRequestReviewsEnforcementRequest) GetDismissalRestrictionsRequest() *DismissalRestrictionsRequest
GetDismissalRestrictionsRequest returns the DismissalRestrictionsRequest field.
PullRequestReviewsEnforcementUpdate represents request to patch the pull request review enforcement of a protected branch. It is separate from PullRequestReviewsEnforcementRequest above because the patch request does not require all fields to be initialized.
type PullRequestReviewsEnforcementUpdate struct { // Specifies which users and teams can dismiss pull request reviews. Can be omitted. DismissalRestrictionsRequest *DismissalRestrictionsRequest `json:"dismissal_restrictions,omitempty"` // Specifies if approved reviews can be dismissed automatically, when a new commit is pushed. Can be omitted. DismissStaleReviews *bool `json:"dismiss_stale_reviews,omitempty"` // RequireCodeOwnerReviews specifies if merging pull requests is blocked until code owners have reviewed. RequireCodeOwnerReviews *bool `json:"require_code_owner_reviews,omitempty"` // RequiredApprovingReviewCount specifies the number of approvals required before the pull request can be merged. // Valid values are 1 - 6 or 0 to not require reviewers. RequiredApprovingReviewCount int `json:"required_approving_review_count"` }
func (p *PullRequestReviewsEnforcementUpdate) GetDismissStaleReviews() bool
GetDismissStaleReviews returns the DismissStaleReviews field if it's non-nil, zero value otherwise.
func (p *PullRequestReviewsEnforcementUpdate) GetDismissalRestrictionsRequest() *DismissalRestrictionsRequest
GetDismissalRestrictionsRequest returns the DismissalRestrictionsRequest field.
func (p *PullRequestReviewsEnforcementUpdate) GetRequireCodeOwnerReviews() bool
GetRequireCodeOwnerReviews returns the RequireCodeOwnerReviews field if it's non-nil, zero value otherwise.
PullRequestTargetEvent is triggered when a pull request is assigned, unassigned, labeled, unlabeled, opened, edited, closed, reopened, synchronize, ready_for_review, locked, unlocked, a pull request review is requested, or a review request is removed. The Webhook event name is "pull_request_target".
GitHub API docs: https://docs.github.com/en/actions/events-that-trigger-workflows#pull_request_target
type PullRequestTargetEvent struct { // Action is the action that was performed. Possible values are: // "assigned", "unassigned", "labeled", "unlabeled", "opened", "edited", "closed", "reopened", // "ready_for_review", "locked", "unlocked", "review_requested" or "review_request_removed". // If the action is "closed" and the "merged" key is "false", the pull request was closed with unmerged commits. // If the action is "closed" and the "merged" key is "true", the pull request was merged. // While webhooks are also triggered when a pull request is synchronized, Events API timelines // don't include pull request events with the "synchronize" action. Action *string `json:"action,omitempty"` Assignee *User `json:"assignee,omitempty"` Number *int `json:"number,omitempty"` PullRequest *PullRequest `json:"pull_request,omitempty"` // The following fields are only populated by Webhook events. Changes *EditChange `json:"changes,omitempty"` // RequestedReviewer is populated in "review_requested", "review_request_removed" event deliveries. // A request affecting multiple reviewers at once is split into multiple // such event deliveries, each with a single, different RequestedReviewer. RequestedReviewer *User `json:"requested_reviewer,omitempty"` // In the event that a team is requested instead of a user, "requested_team" gets sent in place of // "requested_user" with the same delivery behavior. RequestedTeam *Team `json:"requested_team,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` Label *Label `json:"label,omitempty"` // Populated in "labeled" event deliveries. // The following field is only present when the webhook is triggered on // a repository belonging to an organization. Organization *Organization `json:"organization,omitempty"` // The following fields are only populated when the Action is "synchronize". Before *string `json:"before,omitempty"` After *string `json:"after,omitempty"` }
func (p *PullRequestTargetEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *PullRequestTargetEvent) GetAfter() string
GetAfter returns the After field if it's non-nil, zero value otherwise.
func (p *PullRequestTargetEvent) GetAssignee() *User
GetAssignee returns the Assignee field.
func (p *PullRequestTargetEvent) GetBefore() string
GetBefore returns the Before field if it's non-nil, zero value otherwise.
func (p *PullRequestTargetEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (p *PullRequestTargetEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PullRequestTargetEvent) GetLabel() *Label
GetLabel returns the Label field.
func (p *PullRequestTargetEvent) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (p *PullRequestTargetEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (p *PullRequestTargetEvent) GetPullRequest() *PullRequest
GetPullRequest returns the PullRequest field.
func (p *PullRequestTargetEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (p *PullRequestTargetEvent) GetRequestedReviewer() *User
GetRequestedReviewer returns the RequestedReviewer field.
func (p *PullRequestTargetEvent) GetRequestedTeam() *Team
GetRequestedTeam returns the RequestedTeam field.
func (p *PullRequestTargetEvent) GetSender() *User
GetSender returns the Sender field.
PullRequestThread represents a thread of comments on a pull request.
type PullRequestThread struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Comments []*PullRequestComment `json:"comments,omitempty"` }
func (p *PullRequestThread) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PullRequestThread) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p PullRequestThread) String() string
PullRequestsService handles communication with the pull request related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/pulls/
type PullRequestsService service
func (s *PullRequestsService) Create(ctx context.Context, owner string, repo string, pull *NewPullRequest) (*PullRequest, *Response, error)
Create a new pull request on the specified repository.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#create-a-pull-request
▹ Example
func (s *PullRequestsService) CreateComment(ctx context.Context, owner, repo string, number int, comment *PullRequestComment) (*PullRequestComment, *Response, error)
CreateComment creates a new comment on the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/comments#create-a-review-comment-for-a-pull-request
func (s *PullRequestsService) CreateCommentInReplyTo(ctx context.Context, owner, repo string, number int, body string, commentID int64) (*PullRequestComment, *Response, error)
CreateCommentInReplyTo creates a new comment as a reply to an existing pull request comment.
GitHub API docs: https://docs.github.com/en/rest/pulls/comments#create-a-review-comment-for-a-pull-request
func (s *PullRequestsService) CreateReview(ctx context.Context, owner, repo string, number int, review *PullRequestReviewRequest) (*PullRequestReview, *Response, error)
CreateReview creates a new review on the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#create-a-review-for-a-pull-request
In order to use multi-line comments, you must use the "comfort fade" preview. This replaces the use of the "Position" field in comments with 4 new fields:
[Start]Side, and [Start]Line.
These new fields must be used for ALL comments (including single-line), with the following restrictions (empirically observed, so subject to change).
For single-line "comfort fade" comments, you must use:
Path: &path, // as before Body: &body, // as before Side: &"RIGHT" (or "LEFT") Line: &123, // NOT THE SAME AS POSITION, this is an actual line number.
If StartSide or StartLine is used with single-line comments, a 422 is returned.
For multi-line "comfort fade" comments, you must use:
Path: &path, // as before Body: &body, // as before StartSide: &"RIGHT" (or "LEFT") Side: &"RIGHT" (or "LEFT") StartLine: &120, Line: &125,
Suggested edits are made by commenting on the lines to replace, and including the suggested edit in a block like this (it may be surrounded in non-suggestion markdown):
```suggestion Use this instead. It is waaaaaay better. ```
func (s *PullRequestsService) DeleteComment(ctx context.Context, owner, repo string, commentID int64) (*Response, error)
DeleteComment deletes a pull request comment.
GitHub API docs: https://docs.github.com/en/rest/pulls/comments#delete-a-review-comment-for-a-pull-request
func (s *PullRequestsService) DeletePendingReview(ctx context.Context, owner, repo string, number int, reviewID int64) (*PullRequestReview, *Response, error)
DeletePendingReview deletes the specified pull request pending review.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#delete-a-pending-review-for-a-pull-request
func (s *PullRequestsService) DismissReview(ctx context.Context, owner, repo string, number int, reviewID int64, review *PullRequestReviewDismissalRequest) (*PullRequestReview, *Response, error)
DismissReview dismisses a specified review on the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#dismiss-a-review-for-a-pull-request
func (s *PullRequestsService) Edit(ctx context.Context, owner string, repo string, number int, pull *PullRequest) (*PullRequest, *Response, error)
Edit a pull request. pull must not be nil.
The following fields are editable: Title, Body, State, Base.Ref and MaintainerCanModify. Base.Ref updates the base branch of the pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#update-a-pull-request
func (s *PullRequestsService) EditComment(ctx context.Context, owner, repo string, commentID int64, comment *PullRequestComment) (*PullRequestComment, *Response, error)
EditComment updates a pull request comment. A non-nil comment.Body must be provided. Other comment fields should be left nil.
GitHub API docs: https://docs.github.com/en/rest/pulls/comments#update-a-review-comment-for-a-pull-request
func (s *PullRequestsService) Get(ctx context.Context, owner string, repo string, number int) (*PullRequest, *Response, error)
Get a single pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#get-a-pull-request
func (s *PullRequestsService) GetComment(ctx context.Context, owner, repo string, commentID int64) (*PullRequestComment, *Response, error)
GetComment fetches the specified pull request comment.
GitHub API docs: https://docs.github.com/en/rest/pulls/comments#get-a-review-comment-for-a-pull-request
func (s *PullRequestsService) GetRaw(ctx context.Context, owner string, repo string, number int, opts RawOptions) (string, *Response, error)
GetRaw gets a single pull request in raw (diff or patch) format.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#get-a-pull-request
func (s *PullRequestsService) GetReview(ctx context.Context, owner, repo string, number int, reviewID int64) (*PullRequestReview, *Response, error)
GetReview fetches the specified pull request review.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#get-a-review-for-a-pull-request
func (s *PullRequestsService) IsMerged(ctx context.Context, owner string, repo string, number int) (bool, *Response, error)
IsMerged checks if a pull request has been merged.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#check-if-a-pull-request-has-been-merged
func (s *PullRequestsService) List(ctx context.Context, owner string, repo string, opts *PullRequestListOptions) ([]*PullRequest, *Response, error)
List the pull requests for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#list-pull-requests
func (s *PullRequestsService) ListComments(ctx context.Context, owner, repo string, number int, opts *PullRequestListCommentsOptions) ([]*PullRequestComment, *Response, error)
ListComments lists all comments on the specified pull request. Specifying a pull request number of 0 will return all comments on all pull requests for the repository.
GitHub API docs: https://docs.github.com/en/rest/pulls/comments#list-review-comments-on-a-pull-request GitHub API docs: https://docs.github.com/en/rest/pulls/comments#list-review-comments-in-a-repository
func (s *PullRequestsService) ListCommits(ctx context.Context, owner string, repo string, number int, opts *ListOptions) ([]*RepositoryCommit, *Response, error)
ListCommits lists the commits in a pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#list-commits-on-a-pull-request
func (s *PullRequestsService) ListFiles(ctx context.Context, owner string, repo string, number int, opts *ListOptions) ([]*CommitFile, *Response, error)
ListFiles lists the files in a pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#list-pull-requests-files
func (s *PullRequestsService) ListPullRequestsWithCommit(ctx context.Context, owner, repo, sha string, opts *PullRequestListOptions) ([]*PullRequest, *Response, error)
ListPullRequestsWithCommit returns pull requests associated with a commit SHA.
The results may include open and closed pull requests. By default, the PullRequestListOptions State filters for "open".
GitHub API docs: https://docs.github.com/en/rest/commits/commits#list-pull-requests-associated-with-a-commit
func (s *PullRequestsService) ListReviewComments(ctx context.Context, owner, repo string, number int, reviewID int64, opts *ListOptions) ([]*PullRequestComment, *Response, error)
ListReviewComments lists all the comments for the specified review.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#list-comments-for-a-pull-request-review
func (s *PullRequestsService) ListReviewers(ctx context.Context, owner, repo string, number int, opts *ListOptions) (*Reviewers, *Response, error)
ListReviewers lists reviewers whose reviews have been requested on the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/review-requests#list-requested-reviewers-for-a-pull-request
func (s *PullRequestsService) ListReviews(ctx context.Context, owner, repo string, number int, opts *ListOptions) ([]*PullRequestReview, *Response, error)
ListReviews lists all reviews on the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#list-reviews-for-a-pull-request
func (s *PullRequestsService) Merge(ctx context.Context, owner string, repo string, number int, commitMessage string, options *PullRequestOptions) (*PullRequestMergeResult, *Response, error)
Merge a pull request. commitMessage is an extra detail to append to automatic commit message.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#merge-a-pull-request
func (s *PullRequestsService) RemoveReviewers(ctx context.Context, owner, repo string, number int, reviewers ReviewersRequest) (*Response, error)
RemoveReviewers removes the review request for the provided reviewers for the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/review-requests#remove-requested-reviewers-from-a-pull-request
func (s *PullRequestsService) RequestReviewers(ctx context.Context, owner, repo string, number int, reviewers ReviewersRequest) (*PullRequest, *Response, error)
RequestReviewers creates a review request for the provided reviewers for the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/review-requests#request-reviewers-for-a-pull-request
func (s *PullRequestsService) SubmitReview(ctx context.Context, owner, repo string, number int, reviewID int64, review *PullRequestReviewRequest) (*PullRequestReview, *Response, error)
SubmitReview submits a specified review on the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#submit-a-review-for-a-pull-request
func (s *PullRequestsService) UpdateBranch(ctx context.Context, owner, repo string, number int, opts *PullRequestBranchUpdateOptions) (*PullRequestBranchUpdateResponse, *Response, error)
UpdateBranch updates the pull request branch with latest upstream changes.
This method might return an AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it has now scheduled the update of the pull request branch in a background task. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#update-a-pull-request-branch
func (s *PullRequestsService) UpdateReview(ctx context.Context, owner, repo string, number int, reviewID int64, body string) (*PullRequestReview, *Response, error)
UpdateReview updates the review summary on the specified pull request.
GitHub API docs: https://docs.github.com/en/rest/pulls/reviews#update-a-review-for-a-pull-request
PullStats represents the number of total, merged, mergable and unmergeable pull-requests.
type PullStats struct { TotalPulls *int `json:"total_pulls,omitempty"` MergedPulls *int `json:"merged_pulls,omitempty"` MergablePulls *int `json:"mergeable_pulls,omitempty"` UnmergablePulls *int `json:"unmergeable_pulls,omitempty"` }
func (p *PullStats) GetMergablePulls() int
GetMergablePulls returns the MergablePulls field if it's non-nil, zero value otherwise.
func (p *PullStats) GetMergedPulls() int
GetMergedPulls returns the MergedPulls field if it's non-nil, zero value otherwise.
func (p *PullStats) GetTotalPulls() int
GetTotalPulls returns the TotalPulls field if it's non-nil, zero value otherwise.
func (p *PullStats) GetUnmergablePulls() int
GetUnmergablePulls returns the UnmergablePulls field if it's non-nil, zero value otherwise.
func (s PullStats) String() string
PunchCard represents the number of commits made during a given hour of a day of the week.
type PunchCard struct { Day *int // Day of the week (0-6: =Sunday - Saturday). Hour *int // Hour of day (0-23). Commits *int // Number of commits. }
func (p *PunchCard) GetCommits() int
GetCommits returns the Commits field if it's non-nil, zero value otherwise.
func (p *PunchCard) GetDay() int
GetDay returns the Day field if it's non-nil, zero value otherwise.
func (p *PunchCard) GetHour() int
GetHour returns the Hour field if it's non-nil, zero value otherwise.
PushEvent represents a git push to a GitHub repository.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#push
type PushEvent struct { PushID *int64 `json:"push_id,omitempty"` Head *string `json:"head,omitempty"` Ref *string `json:"ref,omitempty"` Size *int `json:"size,omitempty"` Commits []*HeadCommit `json:"commits,omitempty"` Before *string `json:"before,omitempty"` DistinctSize *int `json:"distinct_size,omitempty"` // The following fields are only populated by Webhook events. Action *string `json:"action,omitempty"` After *string `json:"after,omitempty"` Created *bool `json:"created,omitempty"` Deleted *bool `json:"deleted,omitempty"` Forced *bool `json:"forced,omitempty"` BaseRef *string `json:"base_ref,omitempty"` Compare *string `json:"compare,omitempty"` Repo *PushEventRepository `json:"repository,omitempty"` HeadCommit *HeadCommit `json:"head_commit,omitempty"` Pusher *User `json:"pusher,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` // The following field is only present when the webhook is triggered on // a repository belonging to an organization. Organization *Organization `json:"organization,omitempty"` }
func (p *PushEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetAfter() string
GetAfter returns the After field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetBaseRef() string
GetBaseRef returns the BaseRef field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetBefore() string
GetBefore returns the Before field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetCompare() string
GetCompare returns the Compare field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetCreated() bool
GetCreated returns the Created field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetDeleted() bool
GetDeleted returns the Deleted field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetDistinctSize() int
GetDistinctSize returns the DistinctSize field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetForced() bool
GetForced returns the Forced field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetHead() string
GetHead returns the Head field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetHeadCommit() *HeadCommit
GetHeadCommit returns the HeadCommit field.
func (p *PushEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (p *PushEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (p *PushEvent) GetPushID() int64
GetPushID returns the PushID field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetPusher() *User
GetPusher returns the Pusher field.
func (p *PushEvent) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (p *PushEvent) GetRepo() *PushEventRepository
GetRepo returns the Repo field.
func (p *PushEvent) GetSender() *User
GetSender returns the Sender field.
func (p *PushEvent) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (p PushEvent) String() string
PushEventRepoOwner is a basic representation of user/org in a PushEvent payload.
type PushEventRepoOwner struct { Name *string `json:"name,omitempty"` Email *string `json:"email,omitempty"` }
func (p *PushEventRepoOwner) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (p *PushEventRepoOwner) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
PushEventRepository represents the repo object in a PushEvent payload.
type PushEventRepository struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Name *string `json:"name,omitempty"` FullName *string `json:"full_name,omitempty"` Owner *User `json:"owner,omitempty"` Private *bool `json:"private,omitempty"` Description *string `json:"description,omitempty"` Fork *bool `json:"fork,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` PushedAt *Timestamp `json:"pushed_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` Homepage *string `json:"homepage,omitempty"` PullsURL *string `json:"pulls_url,omitempty"` Size *int `json:"size,omitempty"` StargazersCount *int `json:"stargazers_count,omitempty"` WatchersCount *int `json:"watchers_count,omitempty"` Language *string `json:"language,omitempty"` HasIssues *bool `json:"has_issues,omitempty"` HasDownloads *bool `json:"has_downloads,omitempty"` HasWiki *bool `json:"has_wiki,omitempty"` HasPages *bool `json:"has_pages,omitempty"` ForksCount *int `json:"forks_count,omitempty"` Archived *bool `json:"archived,omitempty"` Disabled *bool `json:"disabled,omitempty"` OpenIssuesCount *int `json:"open_issues_count,omitempty"` DefaultBranch *string `json:"default_branch,omitempty"` MasterBranch *string `json:"master_branch,omitempty"` Organization *string `json:"organization,omitempty"` URL *string `json:"url,omitempty"` ArchiveURL *string `json:"archive_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` StatusesURL *string `json:"statuses_url,omitempty"` GitURL *string `json:"git_url,omitempty"` SSHURL *string `json:"ssh_url,omitempty"` CloneURL *string `json:"clone_url,omitempty"` SVNURL *string `json:"svn_url,omitempty"` }
func (p *PushEventRepository) GetArchiveURL() string
GetArchiveURL returns the ArchiveURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetArchived() bool
GetArchived returns the Archived field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetCloneURL() string
GetCloneURL returns the CloneURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetDefaultBranch() string
GetDefaultBranch returns the DefaultBranch field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetDisabled() bool
GetDisabled returns the Disabled field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetFork() bool
GetFork returns the Fork field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetForksCount() int
GetForksCount returns the ForksCount field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetFullName() string
GetFullName returns the FullName field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetGitURL() string
GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetHasDownloads() bool
GetHasDownloads returns the HasDownloads field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetHasIssues() bool
GetHasIssues returns the HasIssues field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetHasPages() bool
GetHasPages returns the HasPages field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetHasWiki() bool
GetHasWiki returns the HasWiki field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetHomepage() string
GetHomepage returns the Homepage field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetLanguage() string
GetLanguage returns the Language field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetMasterBranch() string
GetMasterBranch returns the MasterBranch field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetOpenIssuesCount() int
GetOpenIssuesCount returns the OpenIssuesCount field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetOrganization() string
GetOrganization returns the Organization field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetOwner() *User
GetOwner returns the Owner field.
func (p *PushEventRepository) GetPrivate() bool
GetPrivate returns the Private field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetPullsURL() string
GetPullsURL returns the PullsURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetPushedAt() Timestamp
GetPushedAt returns the PushedAt field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetSSHURL() string
GetSSHURL returns the SSHURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetSVNURL() string
GetSVNURL returns the SVNURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetStargazersCount() int
GetStargazersCount returns the StargazersCount field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetStatusesURL() string
GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (p *PushEventRepository) GetWatchersCount() int
GetWatchersCount returns the WatchersCount field if it's non-nil, zero value otherwise.
Rate represents the rate limit for the current client.
type Rate struct { // The number of requests per hour the client is currently limited to. Limit int `json:"limit"` // The number of remaining requests the client can make this hour. Remaining int `json:"remaining"` // The time at which the current rate limit will reset. Reset Timestamp `json:"reset"` }
func (r Rate) String() string
RateLimitError occurs when GitHub returns 403 Forbidden response with a rate limit remaining value of 0.
type RateLimitError struct { Rate Rate // Rate specifies last known rate limit for the client Response *http.Response // HTTP response that caused this error Message string `json:"message"` // error message }
func (r *RateLimitError) Error() string
func (r *RateLimitError) Is(target error) bool
Is returns whether the provided error equals this error.
RateLimits represents the rate limits for the current client.
type RateLimits struct { // The rate limit for non-search API requests. Unauthenticated // requests are limited to 60 per hour. Authenticated requests are // limited to 5,000 per hour. // // GitHub API docs: https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting Core *Rate `json:"core"` // The rate limit for search API requests. Unauthenticated requests // are limited to 10 requests per minutes. Authenticated requests are // limited to 30 per minute. // // GitHub API docs: https://docs.github.com/en/rest/search#rate-limit Search *Rate `json:"search"` // GitHub API docs: https://docs.github.com/en/graphql/overview/resource-limitations#rate-limit GraphQL *Rate `json:"graphql"` // GitHub API dos: https://docs.github.com/en/rest/rate-limit IntegrationManifest *Rate `json:"integration_manifest"` SourceImport *Rate `json:"source_import"` CodeScanningUpload *Rate `json:"code_scanning_upload"` ActionsRunnerRegistration *Rate `json:"actions_runner_registration"` SCIM *Rate `json:"scim"` }
func (r *RateLimits) GetActionsRunnerRegistration() *Rate
GetActionsRunnerRegistration returns the ActionsRunnerRegistration field.
func (r *RateLimits) GetCodeScanningUpload() *Rate
GetCodeScanningUpload returns the CodeScanningUpload field.
func (r *RateLimits) GetCore() *Rate
GetCore returns the Core field.
func (r *RateLimits) GetGraphQL() *Rate
GetGraphQL returns the GraphQL field.
func (r *RateLimits) GetIntegrationManifest() *Rate
GetIntegrationManifest returns the IntegrationManifest field.
func (r *RateLimits) GetSCIM() *Rate
GetSCIM returns the SCIM field.
func (r *RateLimits) GetSearch() *Rate
GetSearch returns the Search field.
func (r *RateLimits) GetSourceImport() *Rate
GetSourceImport returns the SourceImport field.
func (r RateLimits) String() string
RawOptions specifies parameters when user wants to get raw format of a response instead of JSON.
type RawOptions struct { Type RawType }
RawType represents type of raw format of a request instead of JSON.
type RawType uint8
const ( // Diff format. Diff RawType = 1 + iota // Patch format. Patch )
Reaction represents a GitHub reaction.
type Reaction struct { // ID is the Reaction ID. ID *int64 `json:"id,omitempty"` User *User `json:"user,omitempty"` NodeID *string `json:"node_id,omitempty"` // Content is the type of reaction. // Possible values are: // "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes". Content *string `json:"content,omitempty"` }
func (r *Reaction) GetContent() string
GetContent returns the Content field if it's non-nil, zero value otherwise.
func (r *Reaction) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *Reaction) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *Reaction) GetUser() *User
GetUser returns the User field.
func (r Reaction) String() string
Reactions represents a summary of GitHub reactions.
type Reactions struct { TotalCount *int `json:"total_count,omitempty"` PlusOne *int `json:"+1,omitempty"` MinusOne *int `json:"-1,omitempty"` Laugh *int `json:"laugh,omitempty"` Confused *int `json:"confused,omitempty"` Heart *int `json:"heart,omitempty"` Hooray *int `json:"hooray,omitempty"` Rocket *int `json:"rocket,omitempty"` Eyes *int `json:"eyes,omitempty"` URL *string `json:"url,omitempty"` }
func (r *Reactions) GetConfused() int
GetConfused returns the Confused field if it's non-nil, zero value otherwise.
func (r *Reactions) GetEyes() int
GetEyes returns the Eyes field if it's non-nil, zero value otherwise.
func (r *Reactions) GetHeart() int
GetHeart returns the Heart field if it's non-nil, zero value otherwise.
func (r *Reactions) GetHooray() int
GetHooray returns the Hooray field if it's non-nil, zero value otherwise.
func (r *Reactions) GetLaugh() int
GetLaugh returns the Laugh field if it's non-nil, zero value otherwise.
func (r *Reactions) GetMinusOne() int
GetMinusOne returns the MinusOne field if it's non-nil, zero value otherwise.
func (r *Reactions) GetPlusOne() int
GetPlusOne returns the PlusOne field if it's non-nil, zero value otherwise.
func (r *Reactions) GetRocket() int
GetRocket returns the Rocket field if it's non-nil, zero value otherwise.
func (r *Reactions) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
func (r *Reactions) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
ReactionsService provides access to the reactions-related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/reactions
type ReactionsService service
func (s *ReactionsService) CreateCommentReaction(ctx context.Context, owner, repo string, id int64, content string) (*Reaction, *Response, error)
CreateCommentReaction creates a reaction for a commit comment. Note that if you have already created a reaction of type content, the previously created reaction will be returned with Status: 200 OK. The content should have one of the following values: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes".
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-a-commit-comment
func (s *ReactionsService) CreateIssueCommentReaction(ctx context.Context, owner, repo string, id int64, content string) (*Reaction, *Response, error)
CreateIssueCommentReaction creates a reaction for an issue comment. Note that if you have already created a reaction of type content, the previously created reaction will be returned with Status: 200 OK. The content should have one of the following values: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes".
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-an-issue-comment
func (s *ReactionsService) CreateIssueReaction(ctx context.Context, owner, repo string, number int, content string) (*Reaction, *Response, error)
CreateIssueReaction creates a reaction for an issue. Note that if you have already created a reaction of type content, the previously created reaction will be returned with Status: 200 OK. The content should have one of the following values: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes".
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-an-issue
func (s *ReactionsService) CreatePullRequestCommentReaction(ctx context.Context, owner, repo string, id int64, content string) (*Reaction, *Response, error)
CreatePullRequestCommentReaction creates a reaction for a pull request review comment. Note that if you have already created a reaction of type content, the previously created reaction will be returned with Status: 200 OK. The content should have one of the following values: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes".
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-a-pull-request-review-comment
func (s *ReactionsService) CreateReleaseReaction(ctx context.Context, owner, repo string, releaseID int64, content string) (*Reaction, *Response, error)
Create a reaction to a release. Note that a response with a Status: 200 OK means that you already added the reaction type to this release. The content should have one of the following values: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes".
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-a-release
func (s *ReactionsService) CreateTeamDiscussionCommentReaction(ctx context.Context, teamID int64, discussionNumber, commentNumber int, content string) (*Reaction, *Response, error)
CreateTeamDiscussionCommentReaction creates a reaction for a team discussion comment. The content should have one of the following values: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes".
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-a-team-discussion-comment-legacy
func (s *ReactionsService) CreateTeamDiscussionReaction(ctx context.Context, teamID int64, discussionNumber int, content string) (*Reaction, *Response, error)
CreateTeamDiscussionReaction creates a reaction for a team discussion. The content should have one of the following values: "+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", or "eyes".
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-a-team-discussion-legacy
func (s *ReactionsService) DeleteCommentReaction(ctx context.Context, owner, repo string, commentID, reactionID int64) (*Response, error)
DeleteCommentReaction deletes the reaction for a commit comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-a-commit-comment-reaction
func (s *ReactionsService) DeleteCommentReactionByID(ctx context.Context, repoID, commentID, reactionID int64) (*Response, error)
DeleteCommentReactionByID deletes the reaction for a commit comment by repository ID.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-a-commit-comment-reaction
func (s *ReactionsService) DeleteIssueCommentReaction(ctx context.Context, owner, repo string, commentID, reactionID int64) (*Response, error)
DeleteIssueCommentReaction deletes the reaction to an issue comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-an-issue-comment-reaction
func (s *ReactionsService) DeleteIssueCommentReactionByID(ctx context.Context, repoID, commentID, reactionID int64) (*Response, error)
DeleteIssueCommentReactionByID deletes the reaction to an issue comment by repository ID.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-an-issue-comment-reaction
func (s *ReactionsService) DeleteIssueReaction(ctx context.Context, owner, repo string, issueNumber int, reactionID int64) (*Response, error)
DeleteIssueReaction deletes the reaction to an issue.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-an-issue-reaction
func (s *ReactionsService) DeleteIssueReactionByID(ctx context.Context, repoID, issueNumber int, reactionID int64) (*Response, error)
DeleteIssueReactionByID deletes the reaction to an issue by repository ID.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-an-issue-reaction
func (s *ReactionsService) DeletePullRequestCommentReaction(ctx context.Context, owner, repo string, commentID, reactionID int64) (*Response, error)
DeletePullRequestCommentReaction deletes the reaction to a pull request review comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-a-pull-request-comment-reaction
func (s *ReactionsService) DeletePullRequestCommentReactionByID(ctx context.Context, repoID, commentID, reactionID int64) (*Response, error)
DeletePullRequestCommentReactionByID deletes the reaction to a pull request review comment by repository ID.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-a-pull-request-comment-reaction
func (s *ReactionsService) DeleteTeamDiscussionCommentReaction(ctx context.Context, org, teamSlug string, discussionNumber, commentNumber int, reactionID int64) (*Response, error)
DeleteTeamDiscussionCommentReaction deletes the reaction to a team discussion comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-team-discussion-comment-reaction
func (s *ReactionsService) DeleteTeamDiscussionCommentReactionByOrgIDAndTeamID(ctx context.Context, orgID, teamID, discussionNumber, commentNumber int, reactionID int64) (*Response, error)
DeleteTeamDiscussionCommentReactionByOrgIDAndTeamID deletes the reaction to a team discussion comment by organization ID and team ID.
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-a-team-discussion-comment
func (s *ReactionsService) DeleteTeamDiscussionReaction(ctx context.Context, org, teamSlug string, discussionNumber int, reactionID int64) (*Response, error)
DeleteTeamDiscussionReaction deletes the reaction to a team discussion.
GitHub API docs: https://docs.github.com/en/rest/reactions#delete-team-discussion-reaction
func (s *ReactionsService) DeleteTeamDiscussionReactionByOrgIDAndTeamID(ctx context.Context, orgID, teamID, discussionNumber int, reactionID int64) (*Response, error)
DeleteTeamDiscussionReactionByOrgIDAndTeamID deletes the reaction to a team discussion by organization ID and team ID.
GitHub API docs: https://docs.github.com/en/rest/reactions#create-reaction-for-a-team-discussion
func (s *ReactionsService) ListCommentReactions(ctx context.Context, owner, repo string, id int64, opts *ListCommentReactionOptions) ([]*Reaction, *Response, error)
ListCommentReactions lists the reactions for a commit comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#list-reactions-for-a-commit-comment
func (s *ReactionsService) ListIssueCommentReactions(ctx context.Context, owner, repo string, id int64, opts *ListOptions) ([]*Reaction, *Response, error)
ListIssueCommentReactions lists the reactions for an issue comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#list-reactions-for-an-issue-comment
func (s *ReactionsService) ListIssueReactions(ctx context.Context, owner, repo string, number int, opts *ListOptions) ([]*Reaction, *Response, error)
ListIssueReactions lists the reactions for an issue.
GitHub API docs: https://docs.github.com/en/rest/reactions#list-reactions-for-an-issue
func (s *ReactionsService) ListPullRequestCommentReactions(ctx context.Context, owner, repo string, id int64, opts *ListOptions) ([]*Reaction, *Response, error)
ListPullRequestCommentReactions lists the reactions for a pull request review comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#list-reactions-for-a-pull-request-review-comment
func (s *ReactionsService) ListTeamDiscussionCommentReactions(ctx context.Context, teamID int64, discussionNumber, commentNumber int, opts *ListOptions) ([]*Reaction, *Response, error)
ListTeamDiscussionCommentReactions lists the reactions for a team discussion comment.
GitHub API docs: https://docs.github.com/en/rest/reactions#list-reactions-for-a-team-discussion-comment-legacy
func (s *ReactionsService) ListTeamDiscussionReactions(ctx context.Context, teamID int64, discussionNumber int, opts *ListOptions) ([]*Reaction, *Response, error)
ListTeamDiscussionReactions lists the reactions for a team discussion.
GitHub API docs: https://docs.github.com/en/rest/reactions#list-reactions-for-a-team-discussion-legacy
Reference represents a GitHub reference.
type Reference struct { Ref *string `json:"ref"` URL *string `json:"url"` Object *GitObject `json:"object"` NodeID *string `json:"node_id,omitempty"` }
func (r *Reference) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *Reference) GetObject() *GitObject
GetObject returns the Object field.
func (r *Reference) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (r *Reference) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r Reference) String() string
ReferenceListOptions specifies optional parameters to the GitService.ListMatchingRefs method.
type ReferenceListOptions struct { Ref string `url:"-"` ListOptions }
RegistrationToken represents a token that can be used to add a self-hosted runner to a repository.
type RegistrationToken struct { Token *string `json:"token,omitempty"` ExpiresAt *Timestamp `json:"expires_at,omitempty"` }
func (r *RegistrationToken) GetExpiresAt() Timestamp
GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.
func (r *RegistrationToken) GetToken() string
GetToken returns the Token field if it's non-nil, zero value otherwise.
ReleaseAsset represents a GitHub release asset in a repository.
type ReleaseAsset struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` Name *string `json:"name,omitempty"` Label *string `json:"label,omitempty"` State *string `json:"state,omitempty"` ContentType *string `json:"content_type,omitempty"` Size *int `json:"size,omitempty"` DownloadCount *int `json:"download_count,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` BrowserDownloadURL *string `json:"browser_download_url,omitempty"` Uploader *User `json:"uploader,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (r *ReleaseAsset) GetBrowserDownloadURL() string
GetBrowserDownloadURL returns the BrowserDownloadURL field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetContentType() string
GetContentType returns the ContentType field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetDownloadCount() int
GetDownloadCount returns the DownloadCount field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetLabel() string
GetLabel returns the Label field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (r *ReleaseAsset) GetUploader() *User
GetUploader returns the Uploader field.
func (r ReleaseAsset) String() string
ReleaseEvent is triggered when a release is published, unpublished, created, edited, deleted, or prereleased. The Webhook event name is "release".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#release
type ReleaseEvent struct { // Action is the action that was performed. Possible values are: "published", "unpublished", // "created", "edited", "deleted", or "prereleased". Action *string `json:"action,omitempty"` Release *RepositoryRelease `json:"release,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (r *ReleaseEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (r *ReleaseEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (r *ReleaseEvent) GetRelease() *RepositoryRelease
GetRelease returns the Release field.
func (r *ReleaseEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (r *ReleaseEvent) GetSender() *User
GetSender returns the Sender field.
RemoveToken represents a token that can be used to remove a self-hosted runner from a repository.
type RemoveToken struct { Token *string `json:"token,omitempty"` ExpiresAt *Timestamp `json:"expires_at,omitempty"` }
func (r *RemoveToken) GetExpiresAt() Timestamp
GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.
func (r *RemoveToken) GetToken() string
GetToken returns the Token field if it's non-nil, zero value otherwise.
Rename contains details for 'renamed' events.
type Rename struct { From *string `json:"from,omitempty"` To *string `json:"to,omitempty"` }
func (r *Rename) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
func (r *Rename) GetTo() string
GetTo returns the To field if it's non-nil, zero value otherwise.
func (r Rename) String() string
RenameOrgResponse is the response given when renaming an Organization.
type RenameOrgResponse struct { Message *string `json:"message,omitempty"` URL *string `json:"url,omitempty"` }
func (r *RenameOrgResponse) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (r *RenameOrgResponse) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
RepoMergeUpstreamRequest represents a request to sync a branch of a forked repository to keep it up-to-date with the upstream repository.
type RepoMergeUpstreamRequest struct { Branch *string `json:"branch,omitempty"` }
func (r *RepoMergeUpstreamRequest) GetBranch() string
GetBranch returns the Branch field if it's non-nil, zero value otherwise.
RepoMergeUpstreamResult represents the result of syncing a branch of a forked repository with the upstream repository.
type RepoMergeUpstreamResult struct { Message *string `json:"message,omitempty"` MergeType *string `json:"merge_type,omitempty"` BaseBranch *string `json:"base_branch,omitempty"` }
func (r *RepoMergeUpstreamResult) GetBaseBranch() string
GetBaseBranch returns the BaseBranch field if it's non-nil, zero value otherwise.
func (r *RepoMergeUpstreamResult) GetMergeType() string
GetMergeType returns the MergeType field if it's non-nil, zero value otherwise.
func (r *RepoMergeUpstreamResult) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
RepoName represents a change of repository name.
type RepoName struct { From *string `json:"from,omitempty"` }
func (r *RepoName) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
RepoStats represents the number of total, root, fork, organization repositories together with the total number of pushes and wikis.
type RepoStats struct { TotalRepos *int `json:"total_repos,omitempty"` RootRepos *int `json:"root_repos,omitempty"` ForkRepos *int `json:"fork_repos,omitempty"` OrgRepos *int `json:"org_repos,omitempty"` TotalPushes *int `json:"total_pushes,omitempty"` TotalWikis *int `json:"total_wikis,omitempty"` }
func (r *RepoStats) GetForkRepos() int
GetForkRepos returns the ForkRepos field if it's non-nil, zero value otherwise.
func (r *RepoStats) GetOrgRepos() int
GetOrgRepos returns the OrgRepos field if it's non-nil, zero value otherwise.
func (r *RepoStats) GetRootRepos() int
GetRootRepos returns the RootRepos field if it's non-nil, zero value otherwise.
func (r *RepoStats) GetTotalPushes() int
GetTotalPushes returns the TotalPushes field if it's non-nil, zero value otherwise.
func (r *RepoStats) GetTotalRepos() int
GetTotalRepos returns the TotalRepos field if it's non-nil, zero value otherwise.
func (r *RepoStats) GetTotalWikis() int
GetTotalWikis returns the TotalWikis field if it's non-nil, zero value otherwise.
func (s RepoStats) String() string
RepoStatus represents the status of a repository at a particular reference.
type RepoStatus struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` URL *string `json:"url,omitempty"` // State is the current state of the repository. Possible values are: // pending, success, error, or failure. State *string `json:"state,omitempty"` // TargetURL is the URL of the page representing this status. It will be // linked from the GitHub UI to allow users to see the source of the status. TargetURL *string `json:"target_url,omitempty"` // Description is a short high level summary of the status. Description *string `json:"description,omitempty"` // A string label to differentiate this status from the statuses of other systems. Context *string `json:"context,omitempty"` // AvatarURL is the URL of the avatar of this status. AvatarURL *string `json:"avatar_url,omitempty"` Creator *User `json:"creator,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` }
func (r *RepoStatus) GetAvatarURL() string
GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetContext() string
GetContext returns the Context field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetCreator() *User
GetCreator returns the Creator field.
func (r *RepoStatus) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetTargetURL() string
GetTargetURL returns the TargetURL field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r *RepoStatus) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (r RepoStatus) String() string
RepositoriesSearchResult represents the result of a repositories search.
type RepositoriesSearchResult struct { Total *int `json:"total_count,omitempty"` IncompleteResults *bool `json:"incomplete_results,omitempty"` Repositories []*Repository `json:"items,omitempty"` }
func (r *RepositoriesSearchResult) GetIncompleteResults() bool
GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.
func (r *RepositoriesSearchResult) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
RepositoriesService handles communication with the repository related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/repos/
type RepositoriesService service
func (s *RepositoriesService) AddAdminEnforcement(ctx context.Context, owner, repo, branch string) (*AdminEnforcement, *Response, error)
AddAdminEnforcement adds admin enforcement to a protected branch. It requires admin access and branch protection to be enabled.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#set-admin-branch-protection
func (s *RepositoriesService) AddAppRestrictions(ctx context.Context, owner, repo, branch string, slug []string) ([]*App, *Response, error)
AddAppRestrictions grants the specified apps push access to a given protected branch. It requires the GitHub apps to have `write` access to the `content` permission.
Note: The list of users, apps, and teams in total is limited to 100 items.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#add-app-access-restrictions
func (s *RepositoriesService) AddAutolink(ctx context.Context, owner, repo string, opts *AutolinkOptions) (*Autolink, *Response, error)
AddAutolink creates an autolink reference for a repository. Users with admin access to the repository can create an autolink.
GitHub API docs: https://docs.github.com/en/rest/repos/autolinks#create-an-autolink-reference-for-a-repository
func (s *RepositoriesService) AddCollaborator(ctx context.Context, owner, repo, user string, opts *RepositoryAddCollaboratorOptions) (*CollaboratorInvitation, *Response, error)
AddCollaborator sends an invitation to the specified GitHub user to become a collaborator to the given repo.
GitHub API docs: https://docs.github.com/en/rest/collaborators/collaborators#add-a-repository-collaborator
func (s *RepositoriesService) CompareCommits(ctx context.Context, owner, repo string, base, head string, opts *ListOptions) (*CommitsComparison, *Response, error)
CompareCommits compares a range of commits with each other.
GitHub API docs: https://docs.github.com/en/rest/commits/commits#compare-two-commits
func (s *RepositoriesService) CompareCommitsRaw(ctx context.Context, owner, repo, base, head string, opts RawOptions) (string, *Response, error)
CompareCommitsRaw compares a range of commits with each other in raw (diff or patch) format.
Both "base" and "head" must be branch names in "repo". To compare branches across other repositories in the same network as "repo", use the format "<USERNAME>:branch".
GitHub API docs: https://docs.github.com/en/rest/commits/commits#compare-two-commits
func (s *RepositoriesService) Create(ctx context.Context, org string, repo *Repository) (*Repository, *Response, error)
Create a new repository. If an organization is specified, the new repository will be created under that org. If the empty string is specified, it will be created for the authenticated user.
Note that only a subset of the repo fields are used and repo must not be nil.
Also note that this method will return the response without actually waiting for GitHub to finish creating the repository and letting the changes propagate throughout its servers. You may set up a loop with exponential back-off to verify repository's creation.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#create-a-repository-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/repos/repos#create-an-organization-repository
func (s *RepositoriesService) CreateComment(ctx context.Context, owner, repo, sha string, comment *RepositoryComment) (*RepositoryComment, *Response, error)
CreateComment creates a comment for the given commit. Note: GitHub allows for comments to be created for non-existing files and positions.
GitHub API docs: https://docs.github.com/en/rest/commits/comments#create-a-commit-comment
func (s *RepositoriesService) CreateDeployment(ctx context.Context, owner, repo string, request *DeploymentRequest) (*Deployment, *Response, error)
CreateDeployment creates a new deployment for a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/deployments#create-a-deployment
func (s *RepositoriesService) CreateDeploymentStatus(ctx context.Context, owner, repo string, deployment int64, request *DeploymentStatusRequest) (*DeploymentStatus, *Response, error)
CreateDeploymentStatus creates a new status for a deployment.
GitHub API docs: https://docs.github.com/en/rest/deployments/statuses#create-a-deployment-status
func (s *RepositoriesService) CreateFile(ctx context.Context, owner, repo, path string, opts *RepositoryContentFileOptions) (*RepositoryContentResponse, *Response, error)
CreateFile creates a new file in a repository at the given path and returns the commit and file metadata.
GitHub API docs: https://docs.github.com/en/rest/repos/contents#create-or-update-file-contents
▹ Example
func (s *RepositoriesService) CreateFork(ctx context.Context, owner, repo string, opts *RepositoryCreateForkOptions) (*Repository, *Response, error)
CreateFork creates a fork of the specified repository.
This method might return an *AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it is now computing creating the fork in a background task. In this event, the Repository value will be returned, which includes the details about the pending fork. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/repos/forks#create-a-fork
func (s *RepositoriesService) CreateFromTemplate(ctx context.Context, templateOwner, templateRepo string, templateRepoReq *TemplateRepoRequest) (*Repository, *Response, error)
CreateFromTemplate generates a repository from a template.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#create-a-repository-using-a-template
func (s *RepositoriesService) CreateHook(ctx context.Context, owner, repo string, hook *Hook) (*Hook, *Response, error)
CreateHook creates a Hook for the specified repository. Config is a required field.
Note that only a subset of the hook fields are used and hook must not be nil.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repos#create-a-repository-webhook
func (s *RepositoriesService) CreateKey(ctx context.Context, owner string, repo string, key *Key) (*Key, *Response, error)
CreateKey adds a deploy key for a repository.
GitHub API docs: https://docs.github.com/en/rest/deploy-keys#create-a-deploy-key
func (s *RepositoriesService) CreateProject(ctx context.Context, owner, repo string, opts *ProjectOptions) (*Project, *Response, error)
CreateProject creates a GitHub Project for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#create-a-repository-project
func (s *RepositoriesService) CreateRelease(ctx context.Context, owner, repo string, release *RepositoryRelease) (*RepositoryRelease, *Response, error)
CreateRelease adds a new release for a repository.
Note that only a subset of the release fields are used. See RepositoryRelease for more information.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#create-a-release
func (s *RepositoriesService) CreateStatus(ctx context.Context, owner, repo, ref string, status *RepoStatus) (*RepoStatus, *Response, error)
CreateStatus creates a new status for a repository at the specified reference. Ref can be a SHA, a branch name, or a tag name.
GitHub API docs: https://docs.github.com/en/rest/commits/statuses#create-a-commit-status
func (s *RepositoriesService) CreateUpdateEnvironment(ctx context.Context, owner, repo, name string, environment *CreateUpdateEnvironment) (*Environment, *Response, error)
CreateUpdateEnvironment create or update a new environment for a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/environments#create-or-update-an-environment
func (s *RepositoriesService) Delete(ctx context.Context, owner, repo string) (*Response, error)
Delete a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#delete-a-repository
func (s *RepositoriesService) DeleteAutolink(ctx context.Context, owner, repo string, id int64) (*Response, error)
DeleteAutolink deletes a single autolink reference by ID that was configured for the given repository. Information about autolinks are only available to repository administrators.
GitHub API docs: https://docs.github.com/en/rest/repos/autolinks#delete-an-autolink-reference-from-a-repository
func (s *RepositoriesService) DeleteComment(ctx context.Context, owner, repo string, id int64) (*Response, error)
DeleteComment deletes a single comment from a repository.
GitHub API docs: https://docs.github.com/en/rest/commits/comments#delete-a-commit-comment
func (s *RepositoriesService) DeleteDeployment(ctx context.Context, owner, repo string, deploymentID int64) (*Response, error)
DeleteDeployment deletes an existing deployment for a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/deployments#delete-a-deployment
func (s *RepositoriesService) DeleteEnvironment(ctx context.Context, owner, repo, name string) (*Response, error)
DeleteEnvironment delete an environment from a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/environments#delete-an-environment
func (s *RepositoriesService) DeleteFile(ctx context.Context, owner, repo, path string, opts *RepositoryContentFileOptions) (*RepositoryContentResponse, *Response, error)
DeleteFile deletes a file from a repository and returns the commit. Requires the blob SHA of the file to be deleted.
GitHub API docs: https://docs.github.com/en/rest/repos/contents#delete-a-file
func (s *RepositoriesService) DeleteHook(ctx context.Context, owner, repo string, id int64) (*Response, error)
DeleteHook deletes a specified Hook.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repos#delete-a-repository-webhook
func (s *RepositoriesService) DeleteInvitation(ctx context.Context, owner, repo string, invitationID int64) (*Response, error)
DeleteInvitation deletes a repository invitation.
GitHub API docs: https://docs.github.com/en/rest/collaborators/invitations#delete-a-repository-invitation
func (s *RepositoriesService) DeleteKey(ctx context.Context, owner string, repo string, id int64) (*Response, error)
DeleteKey deletes a deploy key.
GitHub API docs: https://docs.github.com/en/rest/deploy-keys#delete-a-deploy-key
func (s *RepositoriesService) DeletePreReceiveHook(ctx context.Context, owner, repo string, id int64) (*Response, error)
DeletePreReceiveHook deletes a specified pre-receive hook.
GitHub API docs: https://developer.github.com/enterprise/2.13/v3/repos/pre_receive_hooks/#remove-enforcement-overrides-for-a-pre-receive-hook
func (s *RepositoriesService) DeleteRelease(ctx context.Context, owner, repo string, id int64) (*Response, error)
DeleteRelease delete a single release from a repository.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#delete-a-release
func (s *RepositoriesService) DeleteReleaseAsset(ctx context.Context, owner, repo string, id int64) (*Response, error)
DeleteReleaseAsset delete a single release asset from a repository.
GitHub API docs: https://docs.github.com/en/rest/releases/assets#delete-a-release-asset
func (s *RepositoriesService) DisableAutomatedSecurityFixes(ctx context.Context, owner, repository string) (*Response, error)
DisableAutomatedSecurityFixes disables vulnerability alerts and the dependency graph for a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#disable-automated-security-fixes
func (s *RepositoriesService) DisableDismissalRestrictions(ctx context.Context, owner, repo, branch string) (*PullRequestReviewsEnforcement, *Response, error)
DisableDismissalRestrictions disables dismissal restrictions of a protected branch. It requires admin access and branch protection to be enabled.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#update-pull-request-review-protection
func (s *RepositoriesService) DisablePages(ctx context.Context, owner, repo string) (*Response, error)
DisablePages disables GitHub Pages for the named repo.
GitHub API docs: https://docs.github.com/en/rest/pages#delete-a-github-pages-site
func (s *RepositoriesService) DisableVulnerabilityAlerts(ctx context.Context, owner, repository string) (*Response, error)
DisableVulnerabilityAlerts disables vulnerability alerts and the dependency graph for a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#disable-vulnerability-alerts
func (s *RepositoriesService) Dispatch(ctx context.Context, owner, repo string, opts DispatchRequestOptions) (*Repository, *Response, error)
Dispatch triggers a repository_dispatch event in a GitHub Actions workflow.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#create-a-repository-dispatch-event
func (s *RepositoriesService) DownloadContents(ctx context.Context, owner, repo, filepath string, opts *RepositoryContentGetOptions) (io.ReadCloser, *Response, error)
DownloadContents returns an io.ReadCloser that reads the contents of the specified file. This function will work with files of any size, as opposed to GetContents which is limited to 1 Mb files. It is the caller's responsibility to close the ReadCloser.
It is possible for the download to result in a failed response when the returned error is nil. Callers should check the returned Response status code to verify the content is from a successful response.
func (s *RepositoriesService) DownloadContentsWithMeta(ctx context.Context, owner, repo, filepath string, opts *RepositoryContentGetOptions) (io.ReadCloser, *RepositoryContent, *Response, error)
DownloadContentsWithMeta is identical to DownloadContents but additionally returns the RepositoryContent of the requested file. This additional data is useful for future operations involving the requested file. For merely reading the content of a file, DownloadContents is perfectly adequate.
It is possible for the download to result in a failed response when the returned error is nil. Callers should check the returned Response status code to verify the content is from a successful response.
func (s *RepositoriesService) DownloadReleaseAsset(ctx context.Context, owner, repo string, id int64, followRedirectsClient *http.Client) (rc io.ReadCloser, redirectURL string, err error)
DownloadReleaseAsset downloads a release asset or returns a redirect URL.
DownloadReleaseAsset returns an io.ReadCloser that reads the contents of the specified release asset. It is the caller's responsibility to close the ReadCloser. If a redirect is returned, the redirect URL will be returned as a string instead of the io.ReadCloser. Exactly one of rc and redirectURL will be zero.
followRedirectsClient can be passed to download the asset from a redirected location. Passing http.DefaultClient is recommended unless special circumstances exist, but it's possible to pass any http.Client. If nil is passed the redirectURL will be returned instead.
GitHub API docs: https://docs.github.com/en/rest/releases/assets#get-a-release-asset
func (s *RepositoriesService) Edit(ctx context.Context, owner, repo string, repository *Repository) (*Repository, *Response, error)
Edit updates a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#update-a-repository
func (s *RepositoriesService) EditActionsAllowed(ctx context.Context, org, repo string, actionsAllowed ActionsAllowed) (*ActionsAllowed, *Response, error)
EditActionsAllowed sets the allowed actions and reusable workflows for a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-a-repository
func (s *RepositoriesService) EditActionsPermissions(ctx context.Context, owner, repo string, actionsPermissionsRepository ActionsPermissionsRepository) (*ActionsPermissionsRepository, *Response, error)
EditActionsPermissions sets the permissions policy for repositories and allowed actions in a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#set-github-actions-permissions-for-a-repository
func (s *RepositoriesService) EditHook(ctx context.Context, owner, repo string, id int64, hook *Hook) (*Hook, *Response, error)
EditHook updates a specified Hook.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repos#update-a-repository-webhook
func (s *RepositoriesService) EditRelease(ctx context.Context, owner, repo string, id int64, release *RepositoryRelease) (*RepositoryRelease, *Response, error)
EditRelease edits a repository release.
Note that only a subset of the release fields are used. See RepositoryRelease for more information.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#update-a-release
func (s *RepositoriesService) EditReleaseAsset(ctx context.Context, owner, repo string, id int64, release *ReleaseAsset) (*ReleaseAsset, *Response, error)
EditReleaseAsset edits a repository release asset.
GitHub API docs: https://docs.github.com/en/rest/releases/assets#update-a-release-asset
func (s *RepositoriesService) EnableAutomatedSecurityFixes(ctx context.Context, owner, repository string) (*Response, error)
EnableAutomatedSecurityFixes enables the automated security fixes for a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#enable-automated-security-fixes
func (s *RepositoriesService) EnablePages(ctx context.Context, owner, repo string, pages *Pages) (*Pages, *Response, error)
EnablePages enables GitHub Pages for the named repo.
GitHub API docs: https://docs.github.com/en/rest/pages#create-a-github-pages-site
func (s *RepositoriesService) EnableVulnerabilityAlerts(ctx context.Context, owner, repository string) (*Response, error)
EnableVulnerabilityAlerts enables vulnerability alerts and the dependency graph for a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#enable-vulnerability-alerts
func (s *RepositoriesService) GenerateReleaseNotes(ctx context.Context, owner, repo string, opts *GenerateNotesOptions) (*RepositoryReleaseNotes, *Response, error)
GenerateReleaseNotes generates the release notes for the given tag.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#generate-release-notes-content-for-a-release
func (s *RepositoriesService) Get(ctx context.Context, owner, repo string) (*Repository, *Response, error)
Get fetches a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#update-a-repository
func (s *RepositoriesService) GetActionsAllowed(ctx context.Context, org, repo string) (*ActionsAllowed, *Response, error)
GetActionsAllowed gets the allowed actions and reusable workflows for a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-a-repository
func (s *RepositoriesService) GetActionsPermissions(ctx context.Context, owner, repo string) (*ActionsPermissionsRepository, *Response, error)
GetActionsPermissions gets the GitHub Actions permissions policy for repositories and allowed actions in a repository.
GitHub API docs: https://docs.github.com/en/rest/actions/permissions#get-github-actions-permissions-for-a-repository
func (s *RepositoriesService) GetAdminEnforcement(ctx context.Context, owner, repo, branch string) (*AdminEnforcement, *Response, error)
GetAdminEnforcement gets admin enforcement information of a protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#get-admin-branch-protection
func (s *RepositoriesService) GetArchiveLink(ctx context.Context, owner, repo string, archiveformat ArchiveFormat, opts *RepositoryContentGetOptions, followRedirects bool) (*url.URL, *Response, error)
GetArchiveLink returns an URL to download a tarball or zipball archive for a repository. The archiveFormat can be specified by either the github.Tarball or github.Zipball constant.
GitHub API docs: https://docs.github.com/en/rest/repos/contents/#get-archive-link
func (s *RepositoriesService) GetAutolink(ctx context.Context, owner, repo string, id int64) (*Autolink, *Response, error)
GetAutolink returns a single autolink reference by ID that was configured for the given repository. Information about autolinks are only available to repository administrators.
GitHub API docs: https://docs.github.com/en/rest/repos/autolinks#get-an-autolink-reference-of-a-repository
func (s *RepositoriesService) GetBranch(ctx context.Context, owner, repo, branch string, followRedirects bool) (*Branch, *Response, error)
GetBranch gets the specified branch for a repository.
GitHub API docs: https://docs.github.com/en/rest/branches/branches#get-a-branch
func (s *RepositoriesService) GetBranchProtection(ctx context.Context, owner, repo, branch string) (*Protection, *Response, error)
GetBranchProtection gets the protection of a given branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#get-branch-protection
func (s *RepositoriesService) GetByID(ctx context.Context, id int64) (*Repository, *Response, error)
GetByID fetches a repository.
Note: GetByID uses the undocumented GitHub API endpoint /repositories/:id.
func (s *RepositoriesService) GetCodeOfConduct(ctx context.Context, owner, repo string) (*CodeOfConduct, *Response, error)
GetCodeOfConduct gets the contents of a repository's code of conduct. Note that https://docs.github.com/en/rest/codes-of-conduct#about-the-codes-of-conduct-api says to use the GET /repos/{owner}/{repo} endpoint.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#update-a-repository
func (s *RepositoriesService) GetCombinedStatus(ctx context.Context, owner, repo, ref string, opts *ListOptions) (*CombinedStatus, *Response, error)
GetCombinedStatus returns the combined status of a repository at the specified reference. ref can be a SHA, a branch name, or a tag name.
GitHub API docs: https://docs.github.com/en/rest/commits/statuses#get-the-combined-status-for-a-specific-reference
func (s *RepositoriesService) GetComment(ctx context.Context, owner, repo string, id int64) (*RepositoryComment, *Response, error)
GetComment gets a single comment from a repository.
GitHub API docs: https://docs.github.com/en/rest/commits/comments#get-a-commit-comment
func (s *RepositoriesService) GetCommit(ctx context.Context, owner, repo, sha string, opts *ListOptions) (*RepositoryCommit, *Response, error)
GetCommit fetches the specified commit, including all details about it.
GitHub API docs: https://docs.github.com/en/rest/commits/commits#get-a-single-commit GitHub API docs: https://docs.github.com/en/rest/commits/commits#get-a-commit
func (s *RepositoriesService) GetCommitRaw(ctx context.Context, owner string, repo string, sha string, opts RawOptions) (string, *Response, error)
GetCommitRaw fetches the specified commit in raw (diff or patch) format.
GitHub API docs: https://docs.github.com/en/rest/commits/commits#get-a-commit
func (s *RepositoriesService) GetCommitSHA1(ctx context.Context, owner, repo, ref, lastSHA string) (string, *Response, error)
GetCommitSHA1 gets the SHA-1 of a commit reference. If a last-known SHA1 is supplied and no new commits have occurred, a 304 Unmodified response is returned.
GitHub API docs: https://docs.github.com/en/rest/commits/commits#get-a-commit
func (s *RepositoriesService) GetCommunityHealthMetrics(ctx context.Context, owner, repo string) (*CommunityHealthMetrics, *Response, error)
GetCommunityHealthMetrics retrieves all the community health metrics for a repository.
GitHub API docs: https://docs.github.com/en/rest/metrics/community#get-community-profile-metrics
func (s *RepositoriesService) GetContents(ctx context.Context, owner, repo, path string, opts *RepositoryContentGetOptions) (fileContent *RepositoryContent, directoryContent []*RepositoryContent, resp *Response, err error)
GetContents can return either the metadata and content of a single file (when path references a file) or the metadata of all the files and/or subdirectories of a directory (when path references a directory). To make it easy to distinguish between both result types and to mimic the API as much as possible, both result types will be returned but only one will contain a value and the other will be nil.
GitHub API docs: https://docs.github.com/en/rest/repos/contents#get-repository-content
func (s *RepositoriesService) GetDeployment(ctx context.Context, owner, repo string, deploymentID int64) (*Deployment, *Response, error)
GetDeployment returns a single deployment of a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/deployments#get-a-deployment
func (s *RepositoriesService) GetDeploymentStatus(ctx context.Context, owner, repo string, deploymentID, deploymentStatusID int64) (*DeploymentStatus, *Response, error)
GetDeploymentStatus returns a single deployment status of a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/statuses#get-a-deployment-status
func (s *RepositoriesService) GetEnvironment(ctx context.Context, owner, repo, name string) (*Environment, *Response, error)
GetEnvironment get a single environment for a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/environments#get-an-environment
func (s *RepositoriesService) GetHook(ctx context.Context, owner, repo string, id int64) (*Hook, *Response, error)
GetHook returns a single specified Hook.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repos#get-a-repository-webhook
func (s *RepositoriesService) GetHookDelivery(ctx context.Context, owner, repo string, hookID, deliveryID int64) (*HookDelivery, *Response, error)
GetHookDelivery returns a delivery for a webhook configured in a repository.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repo-deliveries#get-a-delivery-for-a-repository-webhook
func (s *RepositoriesService) GetKey(ctx context.Context, owner string, repo string, id int64) (*Key, *Response, error)
GetKey fetches a single deploy key.
GitHub API docs: https://docs.github.com/en/rest/deploy-keys#get-a-deploy-key
func (s *RepositoriesService) GetLatestPagesBuild(ctx context.Context, owner, repo string) (*PagesBuild, *Response, error)
GetLatestPagesBuild fetches the latest build information for a GitHub pages site.
GitHub API docs: https://docs.github.com/en/rest/pages#get-latest-pages-build
func (s *RepositoriesService) GetLatestRelease(ctx context.Context, owner, repo string) (*RepositoryRelease, *Response, error)
GetLatestRelease fetches the latest published release for the repository.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#get-the-latest-release
func (s *RepositoriesService) GetPageBuild(ctx context.Context, owner, repo string, id int64) (*PagesBuild, *Response, error)
GetPageBuild fetches the specific build information for a GitHub pages site.
GitHub API docs: https://docs.github.com/en/rest/pages#get-github-pages-build
func (s *RepositoriesService) GetPagesInfo(ctx context.Context, owner, repo string) (*Pages, *Response, error)
GetPagesInfo fetches information about a GitHub Pages site.
GitHub API docs: https://docs.github.com/en/rest/pages#get-a-github-pages-site
func (s *RepositoriesService) GetPermissionLevel(ctx context.Context, owner, repo, user string) (*RepositoryPermissionLevel, *Response, error)
GetPermissionLevel retrieves the specific permission level a collaborator has for a given repository.
GitHub API docs: https://docs.github.com/en/rest/collaborators/collaborators#get-repository-permissions-for-a-user
func (s *RepositoriesService) GetPreReceiveHook(ctx context.Context, owner, repo string, id int64) (*PreReceiveHook, *Response, error)
GetPreReceiveHook returns a single specified pre-receive hook.
GitHub API docs: https://developer.github.com/enterprise/2.13/v3/repos/pre_receive_hooks/#get-a-single-pre-receive-hook
func (s *RepositoriesService) GetPullRequestReviewEnforcement(ctx context.Context, owner, repo, branch string) (*PullRequestReviewsEnforcement, *Response, error)
GetPullRequestReviewEnforcement gets pull request review enforcement of a protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#get-pull-request-review-protection
func (s *RepositoriesService) GetReadme(ctx context.Context, owner, repo string, opts *RepositoryContentGetOptions) (*RepositoryContent, *Response, error)
GetReadme gets the Readme file for the repository.
GitHub API docs: https://docs.github.com/en/rest/repos/contents#get-a-repository-readme
▹ Example
func (s *RepositoriesService) GetRelease(ctx context.Context, owner, repo string, id int64) (*RepositoryRelease, *Response, error)
GetRelease fetches a single release.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#get-a-release
func (s *RepositoriesService) GetReleaseAsset(ctx context.Context, owner, repo string, id int64) (*ReleaseAsset, *Response, error)
GetReleaseAsset fetches a single release asset.
GitHub API docs: https://docs.github.com/en/rest/releases/assets#get-a-release-asset
func (s *RepositoriesService) GetReleaseByTag(ctx context.Context, owner, repo, tag string) (*RepositoryRelease, *Response, error)
GetReleaseByTag fetches a release with the specified tag.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#get-a-release-by-tag-name
func (s *RepositoriesService) GetRequiredStatusChecks(ctx context.Context, owner, repo, branch string) (*RequiredStatusChecks, *Response, error)
GetRequiredStatusChecks gets the required status checks for a given protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#get-status-checks-protection
func (s *RepositoriesService) GetSignaturesProtectedBranch(ctx context.Context, owner, repo, branch string) (*SignaturesProtectedBranch, *Response, error)
GetSignaturesProtectedBranch gets required signatures of protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#get-commit-signature-protection
func (s *RepositoriesService) GetVulnerabilityAlerts(ctx context.Context, owner, repository string) (bool, *Response, error)
GetVulnerabilityAlerts checks if vulnerability alerts are enabled for a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#check-if-vulnerability-alerts-are-enabled-for-a-repository
func (s *RepositoriesService) IsCollaborator(ctx context.Context, owner, repo, user string) (bool, *Response, error)
IsCollaborator checks whether the specified GitHub user has collaborator access to the given repo. Note: This will return false if the user is not a collaborator OR the user is not a GitHub user.
GitHub API docs: https://docs.github.com/en/rest/collaborators/collaborators#check-if-a-user-is-a-repository-collaborator
func (s *RepositoriesService) License(ctx context.Context, owner, repo string) (*RepositoryLicense, *Response, error)
License gets the contents of a repository's license if one is detected.
GitHub API docs: https://docs.github.com/en/rest/licenses#get-the-license-for-a-repository
func (s *RepositoriesService) List(ctx context.Context, user string, opts *RepositoryListOptions) ([]*Repository, *Response, error)
List the repositories for a user. Passing the empty string will list repositories for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-repositories-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-repositories-for-a-user
▹ Example
func (s *RepositoriesService) ListAll(ctx context.Context, opts *RepositoryListAllOptions) ([]*Repository, *Response, error)
ListAll lists all GitHub repositories in the order that they were created.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-public-repositories
func (s *RepositoriesService) ListAllTopics(ctx context.Context, owner, repo string) ([]string, *Response, error)
ListAllTopics lists topics for a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#get-all-repository-topics
func (s *RepositoriesService) ListApps(ctx context.Context, owner, repo, branch string) ([]*App, *Response, error)
ListApps lists the GitHub apps that have push access to a given protected branch. It requires the GitHub apps to have `write` access to the `content` permission.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#get-apps-with-access-to-the-protected-branch
func (s *RepositoriesService) ListAutolinks(ctx context.Context, owner, repo string, opts *ListOptions) ([]*Autolink, *Response, error)
ListAutolinks returns a list of autolinks configured for the given repository. Information about autolinks are only available to repository administrators.
GitHub API docs: https://docs.github.com/en/rest/repos/autolinks#list-all-autolinks-of-a-repository
func (s *RepositoriesService) ListBranches(ctx context.Context, owner string, repo string, opts *BranchListOptions) ([]*Branch, *Response, error)
ListBranches lists branches for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/branches/branches#list-branches
func (s *RepositoriesService) ListBranchesHeadCommit(ctx context.Context, owner, repo, sha string) ([]*BranchCommit, *Response, error)
ListBranchesHeadCommit gets all branches where the given commit SHA is the HEAD, or latest commit for the branch.
GitHub API docs: https://docs.github.com/en/rest/commits/commits#list-branches-for-head-commit
func (s *RepositoriesService) ListByOrg(ctx context.Context, org string, opts *RepositoryListByOrgOptions) ([]*Repository, *Response, error)
ListByOrg lists the repositories for an organization.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-organization-repositories
func (s *RepositoriesService) ListCodeFrequency(ctx context.Context, owner, repo string) ([]*WeeklyStats, *Response, error)
ListCodeFrequency returns a weekly aggregate of the number of additions and deletions pushed to a repository. Returned WeeklyStats will contain additions and deletions, but not total commits.
If this is the first time these statistics are requested for the given repository, this method will return an *AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it is now computing the requested statistics. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/metrics/statistics#get-the-weekly-commit-activity
func (s *RepositoriesService) ListCollaborators(ctx context.Context, owner, repo string, opts *ListCollaboratorsOptions) ([]*User, *Response, error)
ListCollaborators lists the GitHub users that have access to the repository.
GitHub API docs: https://docs.github.com/en/rest/collaborators/collaborators#list-repository-collaborators
func (s *RepositoriesService) ListComments(ctx context.Context, owner, repo string, opts *ListOptions) ([]*RepositoryComment, *Response, error)
ListComments lists all the comments for the repository.
GitHub API docs: https://docs.github.com/en/rest/commits/comments#list-commit-comments-for-a-repository
func (s *RepositoriesService) ListCommitActivity(ctx context.Context, owner, repo string) ([]*WeeklyCommitActivity, *Response, error)
ListCommitActivity returns the last year of commit activity grouped by week. The days array is a group of commits per day, starting on Sunday.
If this is the first time these statistics are requested for the given repository, this method will return an *AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it is now computing the requested statistics. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/metrics/statistics#get-the-last-year-of-commit-activity
func (s *RepositoriesService) ListCommitComments(ctx context.Context, owner, repo, sha string, opts *ListOptions) ([]*RepositoryComment, *Response, error)
ListCommitComments lists all the comments for a given commit SHA.
GitHub API docs: https://docs.github.com/en/rest/commits/comments#list-commit-comments
func (s *RepositoriesService) ListCommits(ctx context.Context, owner, repo string, opts *CommitsListOptions) ([]*RepositoryCommit, *Response, error)
ListCommits lists the commits of a repository.
GitHub API docs: https://docs.github.com/en/rest/commits/commits#list-commits
func (s *RepositoriesService) ListContributors(ctx context.Context, owner string, repository string, opts *ListContributorsOptions) ([]*Contributor, *Response, error)
ListContributors lists contributors for a repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-repository-contributors
func (s *RepositoriesService) ListContributorsStats(ctx context.Context, owner, repo string) ([]*ContributorStats, *Response, error)
ListContributorsStats gets a repo's contributor list with additions, deletions and commit counts.
If this is the first time these statistics are requested for the given repository, this method will return an *AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it is now computing the requested statistics. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/metrics/statistics#get-all-contributor-commit-activity
func (s *RepositoriesService) ListDeploymentStatuses(ctx context.Context, owner, repo string, deployment int64, opts *ListOptions) ([]*DeploymentStatus, *Response, error)
ListDeploymentStatuses lists the statuses of a given deployment of a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/statuses#list-deployment-statuses
func (s *RepositoriesService) ListDeployments(ctx context.Context, owner, repo string, opts *DeploymentsListOptions) ([]*Deployment, *Response, error)
ListDeployments lists the deployments of a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/deployments#list-deployments
func (s *RepositoriesService) ListEnvironments(ctx context.Context, owner, repo string, opts *EnvironmentListOptions) (*EnvResponse, *Response, error)
ListEnvironments lists all environments for a repository.
GitHub API docs: https://docs.github.com/en/rest/deployments/environments#get-all-environments
func (s *RepositoriesService) ListForks(ctx context.Context, owner, repo string, opts *RepositoryListForksOptions) ([]*Repository, *Response, error)
ListForks lists the forks of the specified repository.
GitHub API docs: https://docs.github.com/en/rest/repos/forks#list-forks
func (s *RepositoriesService) ListHookDeliveries(ctx context.Context, owner, repo string, id int64, opts *ListCursorOptions) ([]*HookDelivery, *Response, error)
ListHookDeliveries lists webhook deliveries for a webhook configured in a repository.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repo-deliveries#list-deliveries-for-a-repository-webhook
func (s *RepositoriesService) ListHooks(ctx context.Context, owner, repo string, opts *ListOptions) ([]*Hook, *Response, error)
ListHooks lists all Hooks for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repos#list-repository-webhooks
func (s *RepositoriesService) ListInvitations(ctx context.Context, owner, repo string, opts *ListOptions) ([]*RepositoryInvitation, *Response, error)
ListInvitations lists all currently-open repository invitations.
GitHub API docs: https://docs.github.com/en/rest/collaborators/invitations#list-repository-invitations
func (s *RepositoriesService) ListKeys(ctx context.Context, owner string, repo string, opts *ListOptions) ([]*Key, *Response, error)
ListKeys lists the deploy keys for a repository.
GitHub API docs: https://docs.github.com/en/rest/deploy-keys#list-deploy-keys
func (s *RepositoriesService) ListLanguages(ctx context.Context, owner string, repo string) (map[string]int, *Response, error)
ListLanguages lists languages for the specified repository. The returned map specifies the languages and the number of bytes of code written in that language. For example:
{ "C": 78769, "Python": 7769 }
GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-repository-languages
func (s *RepositoriesService) ListPagesBuilds(ctx context.Context, owner, repo string, opts *ListOptions) ([]*PagesBuild, *Response, error)
ListPagesBuilds lists the builds for a GitHub Pages site.
GitHub API docs: https://docs.github.com/en/rest/pages#list-github-pages-builds
func (s *RepositoriesService) ListParticipation(ctx context.Context, owner, repo string) (*RepositoryParticipation, *Response, error)
ListParticipation returns the total commit counts for the 'owner' and total commit counts in 'all'. 'all' is everyone combined, including the 'owner' in the last 52 weeks. If you’d like to get the commit counts for non-owners, you can subtract 'all' from 'owner'.
The array order is oldest week (index 0) to most recent week.
If this is the first time these statistics are requested for the given repository, this method will return an *AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it is now computing the requested statistics. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/metrics/statistics#get-the-weekly-commit-count
func (s *RepositoriesService) ListPreReceiveHooks(ctx context.Context, owner, repo string, opts *ListOptions) ([]*PreReceiveHook, *Response, error)
ListPreReceiveHooks lists all pre-receive hooks for the specified repository.
GitHub API docs: https://developer.github.com/enterprise/2.13/v3/repos/pre_receive_hooks/#list-pre-receive-hooks
func (s *RepositoriesService) ListProjects(ctx context.Context, owner, repo string, opts *ProjectListOptions) ([]*Project, *Response, error)
ListProjects lists the projects for a repo.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#list-repository-projects
func (s *RepositoriesService) ListPunchCard(ctx context.Context, owner, repo string) ([]*PunchCard, *Response, error)
ListPunchCard returns the number of commits per hour in each day.
If this is the first time these statistics are requested for the given repository, this method will return an *AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it is now computing the requested statistics. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/metrics/statistics#get-the-hourly-commit-count-for-each-day
func (s *RepositoriesService) ListReleaseAssets(ctx context.Context, owner, repo string, id int64, opts *ListOptions) ([]*ReleaseAsset, *Response, error)
ListReleaseAssets lists the release's assets.
GitHub API docs: https://docs.github.com/en/rest/releases/assets#list-release-assets
func (s *RepositoriesService) ListReleases(ctx context.Context, owner, repo string, opts *ListOptions) ([]*RepositoryRelease, *Response, error)
ListReleases lists the releases for a repository.
GitHub API docs: https://docs.github.com/en/rest/releases/releases#list-releases
func (s *RepositoriesService) ListRequiredStatusChecksContexts(ctx context.Context, owner, repo, branch string) (contexts []string, resp *Response, err error)
ListRequiredStatusChecksContexts lists the required status checks contexts for a given protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#get-all-status-check-contexts
func (s *RepositoriesService) ListStatuses(ctx context.Context, owner, repo, ref string, opts *ListOptions) ([]*RepoStatus, *Response, error)
ListStatuses lists the statuses of a repository at the specified reference. ref can be a SHA, a branch name, or a tag name.
GitHub API docs: https://docs.github.com/en/rest/commits/statuses#list-commit-statuses-for-a-reference
func (s *RepositoriesService) ListTags(ctx context.Context, owner string, repo string, opts *ListOptions) ([]*RepositoryTag, *Response, error)
ListTags lists tags for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-repository-tags
func (s *RepositoriesService) ListTeams(ctx context.Context, owner string, repo string, opts *ListOptions) ([]*Team, *Response, error)
ListTeams lists the teams for the specified repository.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-repository-teams
func (s *RepositoriesService) ListTrafficClones(ctx context.Context, owner, repo string, opts *TrafficBreakdownOptions) (*TrafficClones, *Response, error)
ListTrafficClones get total number of clones for the last 14 days and breaks it down either per day or week for the last 14 days.
GitHub API docs: https://docs.github.com/en/rest/metrics/traffic#get-repository-clones
func (s *RepositoriesService) ListTrafficPaths(ctx context.Context, owner, repo string) ([]*TrafficPath, *Response, error)
ListTrafficPaths list the top 10 popular content over the last 14 days.
GitHub API docs: https://docs.github.com/en/rest/metrics/traffic#get-top-referral-paths
func (s *RepositoriesService) ListTrafficReferrers(ctx context.Context, owner, repo string) ([]*TrafficReferrer, *Response, error)
ListTrafficReferrers list the top 10 referrers over the last 14 days.
GitHub API docs: https://docs.github.com/en/rest/metrics/traffic#get-top-referral-sources
func (s *RepositoriesService) ListTrafficViews(ctx context.Context, owner, repo string, opts *TrafficBreakdownOptions) (*TrafficViews, *Response, error)
ListTrafficViews get total number of views for the last 14 days and breaks it down either per day or week.
GitHub API docs: https://docs.github.com/en/rest/metrics/traffic#get-page-views
func (s *RepositoriesService) Merge(ctx context.Context, owner, repo string, request *RepositoryMergeRequest) (*RepositoryCommit, *Response, error)
Merge a branch in the specified repository.
GitHub API docs: https://docs.github.com/en/rest/branches/branches#merge-a-branch
func (s *RepositoriesService) MergeUpstream(ctx context.Context, owner, repo string, request *RepoMergeUpstreamRequest) (*RepoMergeUpstreamResult, *Response, error)
MergeUpstream syncs a branch of a forked repository to keep it up-to-date with the upstream repository.
GitHub API docs: https://docs.github.com/en/rest/branches/branches#sync-a-fork-branch-with-the-upstream-repository
func (s *RepositoriesService) OptionalSignaturesOnProtectedBranch(ctx context.Context, owner, repo, branch string) (*Response, error)
OptionalSignaturesOnProtectedBranch removes required signed commits on a given branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#delete-commit-signature-protection
func (s *RepositoriesService) PingHook(ctx context.Context, owner, repo string, id int64) (*Response, error)
PingHook triggers a 'ping' event to be sent to the Hook.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repos#ping-a-repository-webhook
func (s *RepositoriesService) RedeliverHookDelivery(ctx context.Context, owner, repo string, hookID, deliveryID int64) (*HookDelivery, *Response, error)
RedeliverHookDelivery redelivers a delivery for a webhook configured in a repository.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook
func (s *RepositoriesService) RemoveAdminEnforcement(ctx context.Context, owner, repo, branch string) (*Response, error)
RemoveAdminEnforcement removes admin enforcement from a protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#delete-admin-branch-protection
func (s *RepositoriesService) RemoveAppRestrictions(ctx context.Context, owner, repo, branch string, slug []string) ([]*App, *Response, error)
RemoveAppRestrictions removes the ability of an app to push to this branch. It requires the GitHub apps to have `write` access to the `content` permission.
Note: The list of users, apps, and teams in total is limited to 100 items.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#remove-app-access-restrictions
func (s *RepositoriesService) RemoveBranchProtection(ctx context.Context, owner, repo, branch string) (*Response, error)
RemoveBranchProtection removes the protection of a given branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#delete-branch-protection
func (s *RepositoriesService) RemoveCollaborator(ctx context.Context, owner, repo, user string) (*Response, error)
RemoveCollaborator removes the specified GitHub user as collaborator from the given repo. Note: Does not return error if a valid user that is not a collaborator is removed.
GitHub API docs: https://docs.github.com/en/rest/collaborators/collaborators#remove-a-repository-collaborator
func (s *RepositoriesService) RemovePullRequestReviewEnforcement(ctx context.Context, owner, repo, branch string) (*Response, error)
RemovePullRequestReviewEnforcement removes pull request enforcement of a protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#delete-pull-request-review-protection
func (s *RepositoriesService) RemoveRequiredStatusChecks(ctx context.Context, owner, repo, branch string) (*Response, error)
RemoveRequiredStatusChecks removes the required status checks for a given protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#remove-status-check-protection
func (s *RepositoriesService) RenameBranch(ctx context.Context, owner, repo, branch, newName string) (*Branch, *Response, error)
RenameBranch renames a branch in a repository.
To rename a non-default branch: Users must have push access. GitHub Apps must have the `contents:write` repository permission. To rename the default branch: Users must have admin or owner permissions. GitHub Apps must have the `administration:write` repository permission.
GitHub API docs: https://docs.github.com/en/rest/branches/branches#rename-a-branch
func (s *RepositoriesService) ReplaceAllTopics(ctx context.Context, owner, repo string, topics []string) ([]string, *Response, error)
ReplaceAllTopics replaces all repository topics.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#replace-all-repository-topics
func (s *RepositoriesService) ReplaceAppRestrictions(ctx context.Context, owner, repo, branch string, slug []string) ([]*App, *Response, error)
ReplaceAppRestrictions replaces the apps that have push access to a given protected branch. It removes all apps that previously had push access and grants push access to the new list of apps. It requires the GitHub apps to have `write` access to the `content` permission.
Note: The list of users, apps, and teams in total is limited to 100 items.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#set-app-access-restrictions
func (s *RepositoriesService) RequestPageBuild(ctx context.Context, owner, repo string) (*PagesBuild, *Response, error)
RequestPageBuild requests a build of a GitHub Pages site without needing to push new commit.
GitHub API docs: https://docs.github.com/en/rest/pages#request-a-github-pages-build
func (s *RepositoriesService) RequireSignaturesOnProtectedBranch(ctx context.Context, owner, repo, branch string) (*SignaturesProtectedBranch, *Response, error)
RequireSignaturesOnProtectedBranch makes signed commits required on a protected branch. It requires admin access and branch protection to be enabled.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#create-commit-signature-protection
func (s *RepositoriesService) TestHook(ctx context.Context, owner, repo string, id int64) (*Response, error)
TestHook triggers a test Hook by github.
GitHub API docs: https://docs.github.com/en/rest/webhooks/repos#test-the-push-repository-webhook
func (s *RepositoriesService) Transfer(ctx context.Context, owner, repo string, transfer TransferRequest) (*Repository, *Response, error)
Transfer transfers a repository from one account or organization to another.
This method might return an *AcceptedError and a status code of 202. This is because this is the status that GitHub returns to signify that it has now scheduled the transfer of the repository in a background task. A follow up request, after a delay of a second or so, should result in a successful request.
GitHub API docs: https://docs.github.com/en/rest/repos/repos#transfer-a-repository
func (s *RepositoriesService) UpdateBranchProtection(ctx context.Context, owner, repo, branch string, preq *ProtectionRequest) (*Protection, *Response, error)
UpdateBranchProtection updates the protection of a given branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#update-branch-protection
func (s *RepositoriesService) UpdateComment(ctx context.Context, owner, repo string, id int64, comment *RepositoryComment) (*RepositoryComment, *Response, error)
UpdateComment updates the body of a single comment.
GitHub API docs: https://docs.github.com/en/rest/commits/comments#update-a-commit-comment
func (s *RepositoriesService) UpdateFile(ctx context.Context, owner, repo, path string, opts *RepositoryContentFileOptions) (*RepositoryContentResponse, *Response, error)
UpdateFile updates a file in a repository at the given path and returns the commit and file metadata. Requires the blob SHA of the file being updated.
GitHub API docs: https://docs.github.com/en/rest/repos/contents#create-or-update-file-contents
func (s *RepositoriesService) UpdateInvitation(ctx context.Context, owner, repo string, invitationID int64, permissions string) (*RepositoryInvitation, *Response, error)
UpdateInvitation updates the permissions associated with a repository invitation.
permissions represents the permissions that the associated user will have on the repository. Possible values are: "read", "write", "admin".
GitHub API docs: https://docs.github.com/en/rest/collaborators/invitations#update-a-repository-invitation
func (s *RepositoriesService) UpdatePages(ctx context.Context, owner, repo string, opts *PagesUpdate) (*Response, error)
UpdatePages updates GitHub Pages for the named repo.
GitHub API docs: https://docs.github.com/en/rest/pages#update-information-about-a-github-pages-site
func (s *RepositoriesService) UpdatePreReceiveHook(ctx context.Context, owner, repo string, id int64, hook *PreReceiveHook) (*PreReceiveHook, *Response, error)
UpdatePreReceiveHook updates a specified pre-receive hook.
GitHub API docs: https://developer.github.com/enterprise/2.13/v3/repos/pre_receive_hooks/#update-pre-receive-hook-enforcement
func (s *RepositoriesService) UpdatePullRequestReviewEnforcement(ctx context.Context, owner, repo, branch string, patch *PullRequestReviewsEnforcementUpdate) (*PullRequestReviewsEnforcement, *Response, error)
UpdatePullRequestReviewEnforcement patches pull request review enforcement of a protected branch. It requires admin access and branch protection to be enabled.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#update-pull-request-review-protection
func (s *RepositoriesService) UpdateRequiredStatusChecks(ctx context.Context, owner, repo, branch string, sreq *RequiredStatusChecksRequest) (*RequiredStatusChecks, *Response, error)
UpdateRequiredStatusChecks updates the required status checks for a given protected branch.
GitHub API docs: https://docs.github.com/en/rest/branches/branch-protection#update-status-check-protection
func (s *RepositoriesService) UploadReleaseAsset(ctx context.Context, owner, repo string, id int64, opts *UploadOptions, file *os.File) (*ReleaseAsset, *Response, error)
UploadReleaseAsset creates an asset by uploading a file into a release repository. To upload assets that cannot be represented by an os.File, call NewUploadRequest directly.
GitHub API docs: https://docs.github.com/en/rest/releases/assets#upload-a-release-asset
Repository represents a GitHub repository.
type Repository struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Owner *User `json:"owner,omitempty"` Name *string `json:"name,omitempty"` FullName *string `json:"full_name,omitempty"` Description *string `json:"description,omitempty"` Homepage *string `json:"homepage,omitempty"` CodeOfConduct *CodeOfConduct `json:"code_of_conduct,omitempty"` DefaultBranch *string `json:"default_branch,omitempty"` MasterBranch *string `json:"master_branch,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` PushedAt *Timestamp `json:"pushed_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` HTMLURL *string `json:"html_url,omitempty"` CloneURL *string `json:"clone_url,omitempty"` GitURL *string `json:"git_url,omitempty"` MirrorURL *string `json:"mirror_url,omitempty"` SSHURL *string `json:"ssh_url,omitempty"` SVNURL *string `json:"svn_url,omitempty"` Language *string `json:"language,omitempty"` Fork *bool `json:"fork,omitempty"` ForksCount *int `json:"forks_count,omitempty"` NetworkCount *int `json:"network_count,omitempty"` OpenIssuesCount *int `json:"open_issues_count,omitempty"` OpenIssues *int `json:"open_issues,omitempty"` // Deprecated: Replaced by OpenIssuesCount. For backward compatibility OpenIssues is still populated. StargazersCount *int `json:"stargazers_count,omitempty"` SubscribersCount *int `json:"subscribers_count,omitempty"` WatchersCount *int `json:"watchers_count,omitempty"` // Deprecated: Replaced by StargazersCount. For backward compatibility WatchersCount is still populated. Watchers *int `json:"watchers,omitempty"` // Deprecated: Replaced by StargazersCount. For backward compatibility Watchers is still populated. Size *int `json:"size,omitempty"` AutoInit *bool `json:"auto_init,omitempty"` Parent *Repository `json:"parent,omitempty"` Source *Repository `json:"source,omitempty"` TemplateRepository *Repository `json:"template_repository,omitempty"` Organization *Organization `json:"organization,omitempty"` Permissions map[string]bool `json:"permissions,omitempty"` AllowRebaseMerge *bool `json:"allow_rebase_merge,omitempty"` AllowUpdateBranch *bool `json:"allow_update_branch,omitempty"` AllowSquashMerge *bool `json:"allow_squash_merge,omitempty"` AllowMergeCommit *bool `json:"allow_merge_commit,omitempty"` AllowAutoMerge *bool `json:"allow_auto_merge,omitempty"` AllowForking *bool `json:"allow_forking,omitempty"` DeleteBranchOnMerge *bool `json:"delete_branch_on_merge,omitempty"` UseSquashPRTitleAsDefault *bool `json:"use_squash_pr_title_as_default,omitempty"` Topics []string `json:"topics,omitempty"` Archived *bool `json:"archived,omitempty"` Disabled *bool `json:"disabled,omitempty"` // Only provided when using RepositoriesService.Get while in preview License *License `json:"license,omitempty"` // Additional mutable fields when creating and editing a repository Private *bool `json:"private,omitempty"` HasIssues *bool `json:"has_issues,omitempty"` HasWiki *bool `json:"has_wiki,omitempty"` HasPages *bool `json:"has_pages,omitempty"` HasProjects *bool `json:"has_projects,omitempty"` HasDownloads *bool `json:"has_downloads,omitempty"` IsTemplate *bool `json:"is_template,omitempty"` LicenseTemplate *string `json:"license_template,omitempty"` GitignoreTemplate *string `json:"gitignore_template,omitempty"` // Options for configuring Advanced Security and Secret Scanning SecurityAndAnalysis *SecurityAndAnalysis `json:"security_and_analysis,omitempty"` // Creating an organization repository. Required for non-owners. TeamID *int64 `json:"team_id,omitempty"` // API URLs URL *string `json:"url,omitempty"` ArchiveURL *string `json:"archive_url,omitempty"` AssigneesURL *string `json:"assignees_url,omitempty"` BlobsURL *string `json:"blobs_url,omitempty"` BranchesURL *string `json:"branches_url,omitempty"` CollaboratorsURL *string `json:"collaborators_url,omitempty"` CommentsURL *string `json:"comments_url,omitempty"` CommitsURL *string `json:"commits_url,omitempty"` CompareURL *string `json:"compare_url,omitempty"` ContentsURL *string `json:"contents_url,omitempty"` ContributorsURL *string `json:"contributors_url,omitempty"` DeploymentsURL *string `json:"deployments_url,omitempty"` DownloadsURL *string `json:"downloads_url,omitempty"` EventsURL *string `json:"events_url,omitempty"` ForksURL *string `json:"forks_url,omitempty"` GitCommitsURL *string `json:"git_commits_url,omitempty"` GitRefsURL *string `json:"git_refs_url,omitempty"` GitTagsURL *string `json:"git_tags_url,omitempty"` HooksURL *string `json:"hooks_url,omitempty"` IssueCommentURL *string `json:"issue_comment_url,omitempty"` IssueEventsURL *string `json:"issue_events_url,omitempty"` IssuesURL *string `json:"issues_url,omitempty"` KeysURL *string `json:"keys_url,omitempty"` LabelsURL *string `json:"labels_url,omitempty"` LanguagesURL *string `json:"languages_url,omitempty"` MergesURL *string `json:"merges_url,omitempty"` MilestonesURL *string `json:"milestones_url,omitempty"` NotificationsURL *string `json:"notifications_url,omitempty"` PullsURL *string `json:"pulls_url,omitempty"` ReleasesURL *string `json:"releases_url,omitempty"` StargazersURL *string `json:"stargazers_url,omitempty"` StatusesURL *string `json:"statuses_url,omitempty"` SubscribersURL *string `json:"subscribers_url,omitempty"` SubscriptionURL *string `json:"subscription_url,omitempty"` TagsURL *string `json:"tags_url,omitempty"` TreesURL *string `json:"trees_url,omitempty"` TeamsURL *string `json:"teams_url,omitempty"` // TextMatches is only populated from search results that request text matches // See: search.go and https://docs.github.com/en/rest/search/#text-match-metadata TextMatches []*TextMatch `json:"text_matches,omitempty"` // Visibility is only used for Create and Edit endpoints. The visibility field // overrides the field parameter when both are used. // Can be one of public, private or internal. Visibility *string `json:"visibility,omitempty"` // RoleName is only returned by the API 'check team permissions for a repository'. // See: teams.go (IsTeamRepoByID) https://docs.github.com/en/rest/teams/teams#check-team-permissions-for-a-repository RoleName *string `json:"role_name,omitempty"` }
func (r *Repository) GetAllowAutoMerge() bool
GetAllowAutoMerge returns the AllowAutoMerge field if it's non-nil, zero value otherwise.
func (r *Repository) GetAllowForking() bool
GetAllowForking returns the AllowForking field if it's non-nil, zero value otherwise.
func (r *Repository) GetAllowMergeCommit() bool
GetAllowMergeCommit returns the AllowMergeCommit field if it's non-nil, zero value otherwise.
func (r *Repository) GetAllowRebaseMerge() bool
GetAllowRebaseMerge returns the AllowRebaseMerge field if it's non-nil, zero value otherwise.
func (r *Repository) GetAllowSquashMerge() bool
GetAllowSquashMerge returns the AllowSquashMerge field if it's non-nil, zero value otherwise.
func (r *Repository) GetAllowUpdateBranch() bool
GetAllowUpdateBranch returns the AllowUpdateBranch field if it's non-nil, zero value otherwise.
func (r *Repository) GetArchiveURL() string
GetArchiveURL returns the ArchiveURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetArchived() bool
GetArchived returns the Archived field if it's non-nil, zero value otherwise.
func (r *Repository) GetAssigneesURL() string
GetAssigneesURL returns the AssigneesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetAutoInit() bool
GetAutoInit returns the AutoInit field if it's non-nil, zero value otherwise.
func (r *Repository) GetBlobsURL() string
GetBlobsURL returns the BlobsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetBranchesURL() string
GetBranchesURL returns the BranchesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetCloneURL() string
GetCloneURL returns the CloneURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetCodeOfConduct() *CodeOfConduct
GetCodeOfConduct returns the CodeOfConduct field.
func (r *Repository) GetCollaboratorsURL() string
GetCollaboratorsURL returns the CollaboratorsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetCommentsURL() string
GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetCommitsURL() string
GetCommitsURL returns the CommitsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetCompareURL() string
GetCompareURL returns the CompareURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetContentsURL() string
GetContentsURL returns the ContentsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetContributorsURL() string
GetContributorsURL returns the ContributorsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (r *Repository) GetDefaultBranch() string
GetDefaultBranch returns the DefaultBranch field if it's non-nil, zero value otherwise.
func (r *Repository) GetDeleteBranchOnMerge() bool
GetDeleteBranchOnMerge returns the DeleteBranchOnMerge field if it's non-nil, zero value otherwise.
func (r *Repository) GetDeploymentsURL() string
GetDeploymentsURL returns the DeploymentsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (r *Repository) GetDisabled() bool
GetDisabled returns the Disabled field if it's non-nil, zero value otherwise.
func (r *Repository) GetDownloadsURL() string
GetDownloadsURL returns the DownloadsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetEventsURL() string
GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetFork() bool
GetFork returns the Fork field if it's non-nil, zero value otherwise.
func (r *Repository) GetForksCount() int
GetForksCount returns the ForksCount field if it's non-nil, zero value otherwise.
func (r *Repository) GetForksURL() string
GetForksURL returns the ForksURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetFullName() string
GetFullName returns the FullName field if it's non-nil, zero value otherwise.
func (r *Repository) GetGitCommitsURL() string
GetGitCommitsURL returns the GitCommitsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetGitRefsURL() string
GetGitRefsURL returns the GitRefsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetGitTagsURL() string
GetGitTagsURL returns the GitTagsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetGitURL() string
GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetGitignoreTemplate() string
GetGitignoreTemplate returns the GitignoreTemplate field if it's non-nil, zero value otherwise.
func (r *Repository) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetHasDownloads() bool
GetHasDownloads returns the HasDownloads field if it's non-nil, zero value otherwise.
func (r *Repository) GetHasIssues() bool
GetHasIssues returns the HasIssues field if it's non-nil, zero value otherwise.
func (r *Repository) GetHasPages() bool
GetHasPages returns the HasPages field if it's non-nil, zero value otherwise.
func (r *Repository) GetHasProjects() bool
GetHasProjects returns the HasProjects field if it's non-nil, zero value otherwise.
func (r *Repository) GetHasWiki() bool
GetHasWiki returns the HasWiki field if it's non-nil, zero value otherwise.
func (r *Repository) GetHomepage() string
GetHomepage returns the Homepage field if it's non-nil, zero value otherwise.
func (r *Repository) GetHooksURL() string
GetHooksURL returns the HooksURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *Repository) GetIsTemplate() bool
GetIsTemplate returns the IsTemplate field if it's non-nil, zero value otherwise.
func (r *Repository) GetIssueCommentURL() string
GetIssueCommentURL returns the IssueCommentURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetIssueEventsURL() string
GetIssueEventsURL returns the IssueEventsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetIssuesURL() string
GetIssuesURL returns the IssuesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetKeysURL() string
GetKeysURL returns the KeysURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetLabelsURL() string
GetLabelsURL returns the LabelsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetLanguage() string
GetLanguage returns the Language field if it's non-nil, zero value otherwise.
func (r *Repository) GetLanguagesURL() string
GetLanguagesURL returns the LanguagesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetLicense() *License
GetLicense returns the License field.
func (r *Repository) GetLicenseTemplate() string
GetLicenseTemplate returns the LicenseTemplate field if it's non-nil, zero value otherwise.
func (r *Repository) GetMasterBranch() string
GetMasterBranch returns the MasterBranch field if it's non-nil, zero value otherwise.
func (r *Repository) GetMergesURL() string
GetMergesURL returns the MergesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetMilestonesURL() string
GetMilestonesURL returns the MilestonesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetMirrorURL() string
GetMirrorURL returns the MirrorURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *Repository) GetNetworkCount() int
GetNetworkCount returns the NetworkCount field if it's non-nil, zero value otherwise.
func (r *Repository) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *Repository) GetNotificationsURL() string
GetNotificationsURL returns the NotificationsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetOpenIssues() int
GetOpenIssues returns the OpenIssues field if it's non-nil, zero value otherwise.
func (r *Repository) GetOpenIssuesCount() int
GetOpenIssuesCount returns the OpenIssuesCount field if it's non-nil, zero value otherwise.
func (r *Repository) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (r *Repository) GetOwner() *User
GetOwner returns the Owner field.
func (r *Repository) GetParent() *Repository
GetParent returns the Parent field.
func (r *Repository) GetPermissions() map[string]bool
GetPermissions returns the Permissions map if it's non-nil, an empty map otherwise.
func (r *Repository) GetPrivate() bool
GetPrivate returns the Private field if it's non-nil, zero value otherwise.
func (r *Repository) GetPullsURL() string
GetPullsURL returns the PullsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetPushedAt() Timestamp
GetPushedAt returns the PushedAt field if it's non-nil, zero value otherwise.
func (r *Repository) GetReleasesURL() string
GetReleasesURL returns the ReleasesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetRoleName() string
GetRoleName returns the RoleName field if it's non-nil, zero value otherwise.
func (r *Repository) GetSSHURL() string
GetSSHURL returns the SSHURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetSVNURL() string
GetSVNURL returns the SVNURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetSecurityAndAnalysis() *SecurityAndAnalysis
GetSecurityAndAnalysis returns the SecurityAndAnalysis field.
func (r *Repository) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (r *Repository) GetSource() *Repository
GetSource returns the Source field.
func (r *Repository) GetStargazersCount() int
GetStargazersCount returns the StargazersCount field if it's non-nil, zero value otherwise.
func (r *Repository) GetStargazersURL() string
GetStargazersURL returns the StargazersURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetStatusesURL() string
GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetSubscribersCount() int
GetSubscribersCount returns the SubscribersCount field if it's non-nil, zero value otherwise.
func (r *Repository) GetSubscribersURL() string
GetSubscribersURL returns the SubscribersURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetSubscriptionURL() string
GetSubscriptionURL returns the SubscriptionURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetTagsURL() string
GetTagsURL returns the TagsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetTeamID() int64
GetTeamID returns the TeamID field if it's non-nil, zero value otherwise.
func (r *Repository) GetTeamsURL() string
GetTeamsURL returns the TeamsURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetTemplateRepository() *Repository
GetTemplateRepository returns the TemplateRepository field.
func (r *Repository) GetTreesURL() string
GetTreesURL returns the TreesURL field if it's non-nil, zero value otherwise.
func (r *Repository) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r *Repository) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (r *Repository) GetUseSquashPRTitleAsDefault() bool
GetUseSquashPRTitleAsDefault returns the UseSquashPRTitleAsDefault field if it's non-nil, zero value otherwise.
func (r *Repository) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
func (r *Repository) GetWatchers() int
GetWatchers returns the Watchers field if it's non-nil, zero value otherwise.
func (r *Repository) GetWatchersCount() int
GetWatchersCount returns the WatchersCount field if it's non-nil, zero value otherwise.
func (r Repository) String() string
RepositoryActiveCommitters represents active committers on each repository.
type RepositoryActiveCommitters struct { Name *string `json:"name,omitempty"` AdvancedSecurityCommitters *int `json:"advanced_security_committers,omitempty"` AdvancedSecurityCommittersBreakdown []*AdvancedSecurityCommittersBreakdown `json:"advanced_security_committers_breakdown,omitempty"` }
func (r *RepositoryActiveCommitters) GetAdvancedSecurityCommitters() int
GetAdvancedSecurityCommitters returns the AdvancedSecurityCommitters field if it's non-nil, zero value otherwise.
func (r *RepositoryActiveCommitters) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
RepositoryAddCollaboratorOptions specifies the optional parameters to the RepositoriesService.AddCollaborator method.
type RepositoryAddCollaboratorOptions struct { // Permission specifies the permission to grant the user on this repository. // Possible values are: // pull - team members can pull, but not push to or administer this repository // push - team members can pull and push, but not administer this repository // admin - team members can pull, push and administer this repository // maintain - team members can manage the repository without access to sensitive or destructive actions. // triage - team members can proactively manage issues and pull requests without write access. // // Default value is "push". This option is only valid for organization-owned repositories. Permission string `json:"permission,omitempty"` }
RepositoryComment represents a comment for a commit, file, or line in a repository.
type RepositoryComment struct { HTMLURL *string `json:"html_url,omitempty"` URL *string `json:"url,omitempty"` ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` CommitID *string `json:"commit_id,omitempty"` User *User `json:"user,omitempty"` Reactions *Reactions `json:"reactions,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` // User-mutable fields Body *string `json:"body"` // User-initialized fields Path *string `json:"path,omitempty"` Position *int `json:"position,omitempty"` }
func (r *RepositoryComment) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetCommitID() string
GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetPosition() int
GetPosition returns the Position field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetReactions() *Reactions
GetReactions returns the Reactions field.
func (r *RepositoryComment) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetUpdatedAt() time.Time
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (r *RepositoryComment) GetUser() *User
GetUser returns the User field.
func (r RepositoryComment) String() string
RepositoryCommit represents a commit in a repo. Note that it's wrapping a Commit, so author/committer information is in two places, but contain different details about them: in RepositoryCommit "github details", in Commit - "git details".
type RepositoryCommit struct { NodeID *string `json:"node_id,omitempty"` SHA *string `json:"sha,omitempty"` Commit *Commit `json:"commit,omitempty"` Author *User `json:"author,omitempty"` Committer *User `json:"committer,omitempty"` Parents []*Commit `json:"parents,omitempty"` HTMLURL *string `json:"html_url,omitempty"` URL *string `json:"url,omitempty"` CommentsURL *string `json:"comments_url,omitempty"` // Details about how many changes were made in this commit. Only filled in during GetCommit! Stats *CommitStats `json:"stats,omitempty"` // Details about which files, and how this commit touched. Only filled in during GetCommit! Files []*CommitFile `json:"files,omitempty"` }
func (r *RepositoryCommit) GetAuthor() *User
GetAuthor returns the Author field.
func (r *RepositoryCommit) GetCommentsURL() string
GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.
func (r *RepositoryCommit) GetCommit() *Commit
GetCommit returns the Commit field.
func (r *RepositoryCommit) GetCommitter() *User
GetCommitter returns the Committer field.
func (r *RepositoryCommit) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (r *RepositoryCommit) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *RepositoryCommit) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (r *RepositoryCommit) GetStats() *CommitStats
GetStats returns the Stats field.
func (r *RepositoryCommit) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r RepositoryCommit) String() string
RepositoryContent represents a file or directory in a github repository.
type RepositoryContent struct { Type *string `json:"type,omitempty"` // Target is only set if the type is "symlink" and the target is not a normal file. // If Target is set, Path will be the symlink path. Target *string `json:"target,omitempty"` Encoding *string `json:"encoding,omitempty"` Size *int `json:"size,omitempty"` Name *string `json:"name,omitempty"` Path *string `json:"path,omitempty"` // Content contains the actual file content, which may be encoded. // Callers should call GetContent which will decode the content if // necessary. Content *string `json:"content,omitempty"` SHA *string `json:"sha,omitempty"` URL *string `json:"url,omitempty"` GitURL *string `json:"git_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` DownloadURL *string `json:"download_url,omitempty"` }
func (r *RepositoryContent) GetContent() (string, error)
GetContent returns the content of r, decoding it if necessary.
func (r *RepositoryContent) GetDownloadURL() string
GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetEncoding() string
GetEncoding returns the Encoding field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetGitURL() string
GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetTarget() string
GetTarget returns the Target field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (r *RepositoryContent) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r RepositoryContent) String() string
String converts RepositoryContent to a string. It's primarily for testing.
RepositoryContentFileOptions specifies optional parameters for CreateFile, UpdateFile, and DeleteFile.
type RepositoryContentFileOptions struct { Message *string `json:"message,omitempty"` Content []byte `json:"content,omitempty"` // unencoded SHA *string `json:"sha,omitempty"` Branch *string `json:"branch,omitempty"` Author *CommitAuthor `json:"author,omitempty"` Committer *CommitAuthor `json:"committer,omitempty"` }
func (r *RepositoryContentFileOptions) GetAuthor() *CommitAuthor
GetAuthor returns the Author field.
func (r *RepositoryContentFileOptions) GetBranch() string
GetBranch returns the Branch field if it's non-nil, zero value otherwise.
func (r *RepositoryContentFileOptions) GetCommitter() *CommitAuthor
GetCommitter returns the Committer field.
func (r *RepositoryContentFileOptions) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (r *RepositoryContentFileOptions) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
RepositoryContentGetOptions represents an optional ref parameter, which can be a SHA, branch, or tag
type RepositoryContentGetOptions struct { Ref string `url:"ref,omitempty"` }
RepositoryContentResponse holds the parsed response from CreateFile, UpdateFile, and DeleteFile.
type RepositoryContentResponse struct { Content *RepositoryContent `json:"content,omitempty"` Commit `json:"commit,omitempty"` }
func (r *RepositoryContentResponse) GetContent() *RepositoryContent
GetContent returns the Content field.
RepositoryCreateForkOptions specifies the optional parameters to the RepositoriesService.CreateFork method.
type RepositoryCreateForkOptions struct { // The organization to fork the repository into. Organization string `url:"organization,omitempty"` }
RepositoryDispatchEvent is triggered when a client sends a POST request to the repository dispatch event endpoint.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#repository_dispatch
type RepositoryDispatchEvent struct { // Action is the event_type that submitted with the repository dispatch payload. Value can be any string. Action *string `json:"action,omitempty"` Branch *string `json:"branch,omitempty"` ClientPayload json.RawMessage `json:"client_payload,omitempty"` Repo *Repository `json:"repository,omitempty"` // The following fields are only populated by Webhook events. Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (r *RepositoryDispatchEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (r *RepositoryDispatchEvent) GetBranch() string
GetBranch returns the Branch field if it's non-nil, zero value otherwise.
func (r *RepositoryDispatchEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (r *RepositoryDispatchEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (r *RepositoryDispatchEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (r *RepositoryDispatchEvent) GetSender() *User
GetSender returns the Sender field.
RepositoryEvent is triggered when a repository is created, archived, unarchived, renamed, edited, transferred, made public, or made private. Organization hooks are also trigerred when a repository is deleted. The Webhook event name is "repository".
Events of this type are not visible in timelines, they are only used to trigger organization webhooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#repository
type RepositoryEvent struct { // Action is the action that was performed. Possible values are: "created", // "deleted" (organization hooks only), "archived", "unarchived", "edited", "renamed", // "transferred", "publicized", or "privatized". Action *string `json:"action,omitempty"` Repo *Repository `json:"repository,omitempty"` // The following fields are only populated by Webhook events. Changes *EditChange `json:"changes,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (r *RepositoryEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (r *RepositoryEvent) GetChanges() *EditChange
GetChanges returns the Changes field.
func (r *RepositoryEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (r *RepositoryEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (r *RepositoryEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (r *RepositoryEvent) GetSender() *User
GetSender returns the Sender field.
RepositoryImportEvent represents the activity related to a repository being imported to GitHub.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#repository_import
type RepositoryImportEvent struct { // Status represents the final state of the import. This can be one of "success", "cancelled", or "failure". Status *string `json:"status,omitempty"` Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` }
func (r *RepositoryImportEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (r *RepositoryImportEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (r *RepositoryImportEvent) GetSender() *User
GetSender returns the Sender field.
func (r *RepositoryImportEvent) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
RepositoryInvitation represents an invitation to collaborate on a repo.
type RepositoryInvitation struct { ID *int64 `json:"id,omitempty"` Repo *Repository `json:"repository,omitempty"` Invitee *User `json:"invitee,omitempty"` Inviter *User `json:"inviter,omitempty"` // Permissions represents the permissions that the associated user will have // on the repository. Possible values are: "read", "write", "admin". Permissions *string `json:"permissions,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` }
func (r *RepositoryInvitation) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (r *RepositoryInvitation) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (r *RepositoryInvitation) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *RepositoryInvitation) GetInvitee() *User
GetInvitee returns the Invitee field.
func (r *RepositoryInvitation) GetInviter() *User
GetInviter returns the Inviter field.
func (r *RepositoryInvitation) GetPermissions() string
GetPermissions returns the Permissions field if it's non-nil, zero value otherwise.
func (r *RepositoryInvitation) GetRepo() *Repository
GetRepo returns the Repo field.
func (r *RepositoryInvitation) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
RepositoryLicense represents the license for a repository.
type RepositoryLicense struct { Name *string `json:"name,omitempty"` Path *string `json:"path,omitempty"` SHA *string `json:"sha,omitempty"` Size *int `json:"size,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` GitURL *string `json:"git_url,omitempty"` DownloadURL *string `json:"download_url,omitempty"` Type *string `json:"type,omitempty"` Content *string `json:"content,omitempty"` Encoding *string `json:"encoding,omitempty"` License *License `json:"license,omitempty"` }
func (r *RepositoryLicense) GetContent() string
GetContent returns the Content field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetDownloadURL() string
GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetEncoding() string
GetEncoding returns the Encoding field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetGitURL() string
GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetLicense() *License
GetLicense returns the License field.
func (r *RepositoryLicense) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (r *RepositoryLicense) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (l RepositoryLicense) String() string
RepositoryListAllOptions specifies the optional parameters to the RepositoriesService.ListAll method.
type RepositoryListAllOptions struct { // ID of the last repository seen Since int64 `url:"since,omitempty"` }
RepositoryListByOrgOptions specifies the optional parameters to the RepositoriesService.ListByOrg method.
type RepositoryListByOrgOptions struct { // Type of repositories to list. Possible values are: all, public, private, // forks, sources, member. Default is "all". Type string `url:"type,omitempty"` // How to sort the repository list. Can be one of created, updated, pushed, // full_name. Default is "created". Sort string `url:"sort,omitempty"` // Direction in which to sort repositories. Can be one of asc or desc. // Default when using full_name: asc; otherwise desc. Direction string `url:"direction,omitempty"` ListOptions }
RepositoryListForksOptions specifies the optional parameters to the RepositoriesService.ListForks method.
type RepositoryListForksOptions struct { // How to sort the forks list. Possible values are: newest, oldest, // watchers. Default is "newest". Sort string `url:"sort,omitempty"` ListOptions }
RepositoryListOptions specifies the optional parameters to the RepositoriesService.List method.
type RepositoryListOptions struct { // Visibility of repositories to list. Can be one of all, public, or private. // Default: all Visibility string `url:"visibility,omitempty"` // List repos of given affiliation[s]. // Comma-separated list of values. Can include: // * owner: Repositories that are owned by the authenticated user. // * collaborator: Repositories that the user has been added to as a // collaborator. // * organization_member: Repositories that the user has access to through // being a member of an organization. This includes every repository on // every team that the user is on. // Default: owner,collaborator,organization_member Affiliation string `url:"affiliation,omitempty"` // Type of repositories to list. // Can be one of all, owner, public, private, member. Default: all // Will cause a 422 error if used in the same request as visibility or // affiliation. Type string `url:"type,omitempty"` // How to sort the repository list. Can be one of created, updated, pushed, // full_name. Default: full_name Sort string `url:"sort,omitempty"` // Direction in which to sort repositories. Can be one of asc or desc. // Default: when using full_name: asc; otherwise desc Direction string `url:"direction,omitempty"` ListOptions }
RepositoryMergeRequest represents a request to merge a branch in a repository.
type RepositoryMergeRequest struct { Base *string `json:"base,omitempty"` Head *string `json:"head,omitempty"` CommitMessage *string `json:"commit_message,omitempty"` }
func (r *RepositoryMergeRequest) GetBase() string
GetBase returns the Base field if it's non-nil, zero value otherwise.
func (r *RepositoryMergeRequest) GetCommitMessage() string
GetCommitMessage returns the CommitMessage field if it's non-nil, zero value otherwise.
func (r *RepositoryMergeRequest) GetHead() string
GetHead returns the Head field if it's non-nil, zero value otherwise.
RepositoryParticipation is the number of commits by everyone who has contributed to the repository (including the owner) as well as the number of commits by the owner themself.
type RepositoryParticipation struct { All []int `json:"all,omitempty"` Owner []int `json:"owner,omitempty"` }
func (r RepositoryParticipation) String() string
RepositoryPermissionLevel represents the permission level an organization member has for a given repository.
type RepositoryPermissionLevel struct { // Possible values: "admin", "write", "read", "none" Permission *string `json:"permission,omitempty"` User *User `json:"user,omitempty"` }
func (r *RepositoryPermissionLevel) GetPermission() string
GetPermission returns the Permission field if it's non-nil, zero value otherwise.
func (r *RepositoryPermissionLevel) GetUser() *User
GetUser returns the User field.
RepositoryRelease represents a GitHub release in a repository.
type RepositoryRelease struct { TagName *string `json:"tag_name,omitempty"` TargetCommitish *string `json:"target_commitish,omitempty"` Name *string `json:"name,omitempty"` Body *string `json:"body,omitempty"` Draft *bool `json:"draft,omitempty"` Prerelease *bool `json:"prerelease,omitempty"` DiscussionCategoryName *string `json:"discussion_category_name,omitempty"` GenerateReleaseNotes *bool `json:"generate_release_notes,omitempty"` // The following fields are not used in CreateRelease or EditRelease: ID *int64 `json:"id,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` PublishedAt *Timestamp `json:"published_at,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` AssetsURL *string `json:"assets_url,omitempty"` Assets []*ReleaseAsset `json:"assets,omitempty"` UploadURL *string `json:"upload_url,omitempty"` ZipballURL *string `json:"zipball_url,omitempty"` TarballURL *string `json:"tarball_url,omitempty"` Author *User `json:"author,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (r *RepositoryRelease) GetAssetsURL() string
GetAssetsURL returns the AssetsURL field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetAuthor() *User
GetAuthor returns the Author field.
func (r *RepositoryRelease) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetDiscussionCategoryName() string
GetDiscussionCategoryName returns the DiscussionCategoryName field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetDraft() bool
GetDraft returns the Draft field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetGenerateReleaseNotes() bool
GetGenerateReleaseNotes returns the GenerateReleaseNotes field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetPrerelease() bool
GetPrerelease returns the Prerelease field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetPublishedAt() Timestamp
GetPublishedAt returns the PublishedAt field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetTagName() string
GetTagName returns the TagName field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetTarballURL() string
GetTarballURL returns the TarballURL field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetTargetCommitish() string
GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetUploadURL() string
GetUploadURL returns the UploadURL field if it's non-nil, zero value otherwise.
func (r *RepositoryRelease) GetZipballURL() string
GetZipballURL returns the ZipballURL field if it's non-nil, zero value otherwise.
func (r RepositoryRelease) String() string
RepositoryReleaseNotes represents a GitHub-generated release notes.
type RepositoryReleaseNotes struct { Name string `json:"name"` Body string `json:"body"` }
RepositoryTag represents a repository tag.
type RepositoryTag struct { Name *string `json:"name,omitempty"` Commit *Commit `json:"commit,omitempty"` ZipballURL *string `json:"zipball_url,omitempty"` TarballURL *string `json:"tarball_url,omitempty"` }
func (r *RepositoryTag) GetCommit() *Commit
GetCommit returns the Commit field.
func (r *RepositoryTag) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *RepositoryTag) GetTarballURL() string
GetTarballURL returns the TarballURL field if it's non-nil, zero value otherwise.
func (r *RepositoryTag) GetZipballURL() string
GetZipballURL returns the ZipballURL field if it's non-nil, zero value otherwise.
RepositoryVulnerabilityAlert represents a repository security alert.
type RepositoryVulnerabilityAlert struct { ID *int64 `json:"id,omitempty"` AffectedRange *string `json:"affected_range,omitempty"` AffectedPackageName *string `json:"affected_package_name,omitempty"` ExternalReference *string `json:"external_reference,omitempty"` ExternalIdentifier *string `json:"external_identifier,omitempty"` GitHubSecurityAdvisoryID *string `json:"ghsa_id,omitempty"` Severity *string `json:"severity,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` FixedIn *string `json:"fixed_in,omitempty"` Dismisser *User `json:"dismisser,omitempty"` DismissReason *string `json:"dismiss_reason,omitempty"` DismissedAt *Timestamp `json:"dismissed_at,omitempty"` }
func (r *RepositoryVulnerabilityAlert) GetAffectedPackageName() string
GetAffectedPackageName returns the AffectedPackageName field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetAffectedRange() string
GetAffectedRange returns the AffectedRange field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetDismissReason() string
GetDismissReason returns the DismissReason field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetDismissedAt() Timestamp
GetDismissedAt returns the DismissedAt field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetDismisser() *User
GetDismisser returns the Dismisser field.
func (r *RepositoryVulnerabilityAlert) GetExternalIdentifier() string
GetExternalIdentifier returns the ExternalIdentifier field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetExternalReference() string
GetExternalReference returns the ExternalReference field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetFixedIn() string
GetFixedIn returns the FixedIn field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetGitHubSecurityAdvisoryID() string
GetGitHubSecurityAdvisoryID returns the GitHubSecurityAdvisoryID field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlert) GetSeverity() string
GetSeverity returns the Severity field if it's non-nil, zero value otherwise.
RepositoryVulnerabilityAlertEvent is triggered when a security alert is created, dismissed, or resolved.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#repository_vulnerability_alert
type RepositoryVulnerabilityAlertEvent struct { // Action is the action that was performed. Possible values are: "create", "dismiss", "resolve". Action *string `json:"action,omitempty"` // The security alert of the vulnerable dependency. Alert *RepositoryVulnerabilityAlert `json:"alert,omitempty"` // The repository of the vulnerable dependency. Repository *Repository `json:"repository,omitempty"` // The following fields are only populated by Webhook events. Installation *Installation `json:"installation,omitempty"` // The user that triggered the event. Sender *User `json:"sender,omitempty"` }
func (r *RepositoryVulnerabilityAlertEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (r *RepositoryVulnerabilityAlertEvent) GetAlert() *RepositoryVulnerabilityAlert
GetAlert returns the Alert field.
func (r *RepositoryVulnerabilityAlertEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (r *RepositoryVulnerabilityAlertEvent) GetRepository() *Repository
GetRepository returns the Repository field.
func (r *RepositoryVulnerabilityAlertEvent) GetSender() *User
GetSender returns the Sender field.
RequestedAction is included in a CheckRunEvent when a user has invoked an action, i.e. when the CheckRunEvent's Action field is "requested_action".
type RequestedAction struct { Identifier string `json:"identifier"` // The integrator reference of the action requested by the user. }
RequireLinearHistory represents the configuration to enforce branches with no merge commit.
type RequireLinearHistory struct { Enabled bool `json:"enabled"` }
RequiredConversationResolution, if enabled, requires all comments on the pull request to be resolved before it can be merged to a protected branch.
type RequiredConversationResolution struct { Enabled bool `json:"enabled"` }
RequiredReviewer represents a required reviewer.
type RequiredReviewer struct { Type *string `json:"type,omitempty"` Reviewer interface{} `json:"reviewer,omitempty"` }
func (r *RequiredReviewer) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (r *RequiredReviewer) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface. This helps us handle the fact that RequiredReviewer can have either a User or Team type reviewer field.
RequiredStatusCheck represents a status check of a protected branch.
type RequiredStatusCheck struct { // The name of the required check. Context string `json:"context"` // The ID of the GitHub App that must provide this check. // Omit this field to automatically select the GitHub App // that has recently provided this check, // or any app if it was not set by a GitHub App. // Pass -1 to explicitly allow any app to set the status. AppID *int64 `json:"app_id,omitempty"` }
func (r *RequiredStatusCheck) GetAppID() int64
GetAppID returns the AppID field if it's non-nil, zero value otherwise.
RequiredStatusChecks represents the protection status of a individual branch.
type RequiredStatusChecks struct { // Require branches to be up to date before merging. (Required.) Strict bool `json:"strict"` // The list of status checks to require in order to merge into this // branch. (Deprecated. Note: only one of Contexts/Checks can be populated, // but at least one must be populated). Contexts []string `json:"contexts,omitempty"` // The list of status checks to require in order to merge into this // branch. Checks []*RequiredStatusCheck `json:"checks,omitempty"` }
RequiredStatusChecksRequest represents a request to edit a protected branch's status checks.
type RequiredStatusChecksRequest struct { Strict *bool `json:"strict,omitempty"` // Note: if both Contexts and Checks are populated, // the GitHub API will only use Checks. Contexts []string `json:"contexts,omitempty"` Checks []*RequiredStatusCheck `json:"checks,omitempty"` }
func (r *RequiredStatusChecksRequest) GetStrict() bool
GetStrict returns the Strict field if it's non-nil, zero value otherwise.
Response is a GitHub API response. This wraps the standard http.Response returned from GitHub and provides convenient access to things like pagination links.
type Response struct { *http.Response // These fields provide the page values for paginating through a set of // results. Any or all of these may be set to the zero value for // responses that are not part of a paginated set, or for which there // are no additional pages. // // These fields support what is called "offset pagination" and should // be used with the ListOptions struct. NextPage int PrevPage int FirstPage int LastPage int // Additionally, some APIs support "cursor pagination" instead of offset. // This means that a token points directly to the next record which // can lead to O(1) performance compared to O(n) performance provided // by offset pagination. // // For APIs that support cursor pagination (such as // TeamsService.ListIDPGroupsInOrganization), the following field // will be populated to point to the next page. // // To use this token, set ListCursorOptions.Page to this value before // calling the endpoint again. NextPageToken string // For APIs that support cursor pagination, such as RepositoriesService.ListHookDeliveries, // the following field will be populated to point to the next page. // Set ListCursorOptions.Cursor to this value when calling the endpoint again. Cursor string // For APIs that support before/after pagination, such as OrganizationsService.AuditLog. Before string After string // Explicitly specify the Rate type so Rate's String() receiver doesn't // propagate to Response. Rate Rate // token's expiration date TokenExpiration Timestamp }
Reviewers represents reviewers of a pull request.
type Reviewers struct { Users []*User `json:"users,omitempty"` Teams []*Team `json:"teams,omitempty"` }
ReviewersRequest specifies users and teams for a pull request review request.
type ReviewersRequest struct { NodeID *string `json:"node_id,omitempty"` Reviewers []string `json:"reviewers,omitempty"` TeamReviewers []string `json:"team_reviewers,omitempty"` }
func (r *ReviewersRequest) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
Rule represents the complete details of GitHub Code Scanning alert type.
type Rule struct { ID *string `json:"id,omitempty"` Severity *string `json:"severity,omitempty"` Description *string `json:"description,omitempty"` Name *string `json:"name,omitempty"` SecuritySeverityLevel *string `json:"security_severity_level,omitempty"` FullDescription *string `json:"full_description,omitempty"` Tags []string `json:"tags,omitempty"` Help *string `json:"help,omitempty"` }
func (r *Rule) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (r *Rule) GetFullDescription() string
GetFullDescription returns the FullDescription field if it's non-nil, zero value otherwise.
func (r *Rule) GetHelp() string
GetHelp returns the Help field if it's non-nil, zero value otherwise.
func (r *Rule) GetID() string
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *Rule) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *Rule) GetSecuritySeverityLevel() string
GetSecuritySeverityLevel returns the SecuritySeverityLevel field if it's non-nil, zero value otherwise.
func (r *Rule) GetSeverity() string
GetSeverity returns the Severity field if it's non-nil, zero value otherwise.
Runner represents a self-hosted runner registered with a repository.
type Runner struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` OS *string `json:"os,omitempty"` Status *string `json:"status,omitempty"` Busy *bool `json:"busy,omitempty"` Labels []*RunnerLabels `json:"labels,omitempty"` }
func (r *Runner) GetBusy() bool
GetBusy returns the Busy field if it's non-nil, zero value otherwise.
func (r *Runner) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *Runner) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *Runner) GetOS() string
GetOS returns the OS field if it's non-nil, zero value otherwise.
func (r *Runner) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
RunnerApplicationDownload represents a binary for the self-hosted runner application that can be downloaded.
type RunnerApplicationDownload struct { OS *string `json:"os,omitempty"` Architecture *string `json:"architecture,omitempty"` DownloadURL *string `json:"download_url,omitempty"` Filename *string `json:"filename,omitempty"` TempDownloadToken *string `json:"temp_download_token,omitempty"` SHA256Checksum *string `json:"sha256_checksum,omitempty"` }
func (r *RunnerApplicationDownload) GetArchitecture() string
GetArchitecture returns the Architecture field if it's non-nil, zero value otherwise.
func (r *RunnerApplicationDownload) GetDownloadURL() string
GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.
func (r *RunnerApplicationDownload) GetFilename() string
GetFilename returns the Filename field if it's non-nil, zero value otherwise.
func (r *RunnerApplicationDownload) GetOS() string
GetOS returns the OS field if it's non-nil, zero value otherwise.
func (r *RunnerApplicationDownload) GetSHA256Checksum() string
GetSHA256Checksum returns the SHA256Checksum field if it's non-nil, zero value otherwise.
func (r *RunnerApplicationDownload) GetTempDownloadToken() string
GetTempDownloadToken returns the TempDownloadToken field if it's non-nil, zero value otherwise.
RunnerGroup represents a self-hosted runner group configured in an organization.
type RunnerGroup struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` Visibility *string `json:"visibility,omitempty"` Default *bool `json:"default,omitempty"` SelectedRepositoriesURL *string `json:"selected_repositories_url,omitempty"` RunnersURL *string `json:"runners_url,omitempty"` Inherited *bool `json:"inherited,omitempty"` AllowsPublicRepositories *bool `json:"allows_public_repositories,omitempty"` }
func (r *RunnerGroup) GetAllowsPublicRepositories() bool
GetAllowsPublicRepositories returns the AllowsPublicRepositories field if it's non-nil, zero value otherwise.
func (r *RunnerGroup) GetDefault() bool
GetDefault returns the Default field if it's non-nil, zero value otherwise.
func (r *RunnerGroup) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *RunnerGroup) GetInherited() bool
GetInherited returns the Inherited field if it's non-nil, zero value otherwise.
func (r *RunnerGroup) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *RunnerGroup) GetRunnersURL() string
GetRunnersURL returns the RunnersURL field if it's non-nil, zero value otherwise.
func (r *RunnerGroup) GetSelectedRepositoriesURL() string
GetSelectedRepositoriesURL returns the SelectedRepositoriesURL field if it's non-nil, zero value otherwise.
func (r *RunnerGroup) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
RunnerGroups represents a collection of self-hosted runner groups configured for an organization.
type RunnerGroups struct { TotalCount int `json:"total_count"` RunnerGroups []*RunnerGroup `json:"runner_groups"` }
RunnerLabels represents a collection of labels attached to each runner.
type RunnerLabels struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` }
func (r *RunnerLabels) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (r *RunnerLabels) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (r *RunnerLabels) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
Runners represents a collection of self-hosted runners for a repository.
type Runners struct { TotalCount int `json:"total_count"` Runners []*Runner `json:"runners"` }
SCIMService provides access to SCIM related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/scim
type SCIMService service
func (s *SCIMService) DeleteSCIMUserFromOrg(ctx context.Context, org, scimUserID string) (*Response, error)
DeleteSCIMUserFromOrg deletes SCIM user from an organization.
GitHub API docs: https://docs.github.com/en/rest/scim#delete-a-scim-user-from-an-organization
func (s *SCIMService) GetSCIMProvisioningInfoForUser(ctx context.Context, org, scimUserID string) (*Response, error)
GetSCIMProvisioningInfoForUser returns SCIM provisioning information for a user.
GitHub API docs: https://docs.github.com/en/rest/scim#supported-scim-user-attributes
func (s *SCIMService) ListSCIMProvisionedIdentities(ctx context.Context, org string, opts *ListSCIMProvisionedIdentitiesOptions) (*Response, error)
ListSCIMProvisionedIdentities lists SCIM provisioned identities.
GitHub API docs: https://docs.github.com/en/rest/scim#list-scim-provisioned-identities
func (s *SCIMService) ProvisionAndInviteSCIMUser(ctx context.Context, org string, opts *SCIMUserAttributes) (*Response, error)
ProvisionAndInviteSCIMUser provisions organization membership for a user, and sends an activation email to the email address.
GitHub API docs: https://docs.github.com/en/rest/scim#provision-and-invite-a-scim-user
func (s *SCIMService) UpdateAttributeForSCIMUser(ctx context.Context, org, scimUserID string, opts *UpdateAttributeForSCIMUserOptions) (*Response, error)
UpdateAttributeForSCIMUser updates an attribute for an SCIM user.
GitHub API docs: https://docs.github.com/en/rest/scim#update-an-attribute-for-a-scim-user
func (s *SCIMService) UpdateProvisionedOrgMembership(ctx context.Context, org, scimUserID string, opts *SCIMUserAttributes) (*Response, error)
UpdateProvisionedOrgMembership updates a provisioned organization membership.
GitHub API docs: https://docs.github.com/en/rest/scim#update-a-provisioned-organization-membership
SCIMUserAttributes represents supported SCIM User attributes.
GitHub API docs: https://docs.github.com/en/rest/scim#supported-scim-user-attributes
type SCIMUserAttributes struct { UserName string `json:"userName"` // Configured by the admin. Could be an email, login, or username. (Required.) Name SCIMUserName `json:"name"` // (Required.) DisplayName *string `json:"displayName,omitempty"` // The name of the user, suitable for display to end-users. (Optional.) Emails []*SCIMUserEmail `json:"emails"` // User emails. (Required.) Schemas []string `json:"schemas,omitempty"` // (Optional.) ExternalID *string `json:"externalId,omitempty"` // (Optional.) Groups []string `json:"groups,omitempty"` // (Optional.) Active *bool `json:"active,omitempty"` // (Optional.) }
func (s *SCIMUserAttributes) GetActive() bool
GetActive returns the Active field if it's non-nil, zero value otherwise.
func (s *SCIMUserAttributes) GetDisplayName() string
GetDisplayName returns the DisplayName field if it's non-nil, zero value otherwise.
func (s *SCIMUserAttributes) GetExternalID() string
GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.
SCIMUserEmail represents SCIM user email.
type SCIMUserEmail struct { Value string `json:"value"` // (Required.) Primary *bool `json:"primary,omitempty"` // (Optional.) Type *string `json:"type,omitempty"` // (Optional.) }
func (s *SCIMUserEmail) GetPrimary() bool
GetPrimary returns the Primary field if it's non-nil, zero value otherwise.
func (s *SCIMUserEmail) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
SCIMUserName represents SCIM user information.
type SCIMUserName struct { GivenName string `json:"givenName"` // The first name of the user. (Required.) FamilyName string `json:"familyName"` // The family name of the user. (Required.) Formatted *string `json:"formatted,omitempty"` // (Optional.) }
func (s *SCIMUserName) GetFormatted() string
GetFormatted returns the Formatted field if it's non-nil, zero value otherwise.
SarifAnalysis specifies the results of a code scanning job.
GitHub API docs: https://docs.github.com/en/rest/code-scanning
type SarifAnalysis struct { CommitSHA *string `json:"commit_sha,omitempty"` Ref *string `json:"ref,omitempty"` Sarif *string `json:"sarif,omitempty"` CheckoutURI *string `json:"checkout_uri,omitempty"` StartedAt *Timestamp `json:"started_at,omitempty"` ToolName *string `json:"tool_name,omitempty"` }
func (s *SarifAnalysis) GetCheckoutURI() string
GetCheckoutURI returns the CheckoutURI field if it's non-nil, zero value otherwise.
func (s *SarifAnalysis) GetCommitSHA() string
GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.
func (s *SarifAnalysis) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (s *SarifAnalysis) GetSarif() string
GetSarif returns the Sarif field if it's non-nil, zero value otherwise.
func (s *SarifAnalysis) GetStartedAt() Timestamp
GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.
func (s *SarifAnalysis) GetToolName() string
GetToolName returns the ToolName field if it's non-nil, zero value otherwise.
SarifID identifies a sarif analysis upload.
GitHub API docs: https://docs.github.com/en/rest/code-scanning
type SarifID struct { ID *string `json:"id,omitempty"` URL *string `json:"url,omitempty"` }
func (s *SarifID) GetID() string
GetID returns the ID field if it's non-nil, zero value otherwise.
func (s *SarifID) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
ScanningAnalysis represents an individual GitHub Code Scanning ScanningAnalysis on a single repository.
GitHub API docs: https://docs.github.com/en/rest/code-scanning
type ScanningAnalysis struct { ID *int64 `json:"id,omitempty"` Ref *string `json:"ref,omitempty"` CommitSHA *string `json:"commit_sha,omitempty"` AnalysisKey *string `json:"analysis_key,omitempty"` Environment *string `json:"environment,omitempty"` Error *string `json:"error,omitempty"` Category *string `json:"category,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` ResultsCount *int `json:"results_count,omitempty"` RulesCount *int `json:"rules_count,omitempty"` URL *string `json:"url,omitempty"` SarifID *string `json:"sarif_id,omitempty"` Tool *Tool `json:"tool,omitempty"` Deletable *bool `json:"deletable,omitempty"` Warning *string `json:"warning,omitempty"` }
func (s *ScanningAnalysis) GetAnalysisKey() string
GetAnalysisKey returns the AnalysisKey field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetCategory() string
GetCategory returns the Category field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetCommitSHA() string
GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetDeletable() bool
GetDeletable returns the Deletable field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetEnvironment() string
GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetError() string
GetError returns the Error field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetResultsCount() int
GetResultsCount returns the ResultsCount field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetRulesCount() int
GetRulesCount returns the RulesCount field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetSarifID() string
GetSarifID returns the SarifID field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetTool() *Tool
GetTool returns the Tool field.
func (s *ScanningAnalysis) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (s *ScanningAnalysis) GetWarning() string
GetWarning returns the Warning field if it's non-nil, zero value otherwise.
Scope models a GitHub authorization scope.
GitHub API docs: https://docs.github.com/en/rest/oauth/#scopes
type Scope string
This is the set of scopes for GitHub API V3
const ( ScopeNone Scope = "(no scope)" // REVISIT: is this actually returned, or just a documentation artifact? ScopeUser Scope = "user" ScopeUserEmail Scope = "user:email" ScopeUserFollow Scope = "user:follow" ScopePublicRepo Scope = "public_repo" ScopeRepo Scope = "repo" ScopeRepoDeployment Scope = "repo_deployment" ScopeRepoStatus Scope = "repo:status" ScopeDeleteRepo Scope = "delete_repo" ScopeNotifications Scope = "notifications" ScopeGist Scope = "gist" ScopeReadRepoHook Scope = "read:repo_hook" ScopeWriteRepoHook Scope = "write:repo_hook" ScopeAdminRepoHook Scope = "admin:repo_hook" ScopeAdminOrgHook Scope = "admin:org_hook" ScopeReadOrg Scope = "read:org" ScopeWriteOrg Scope = "write:org" ScopeAdminOrg Scope = "admin:org" ScopeReadPublicKey Scope = "read:public_key" ScopeWritePublicKey Scope = "write:public_key" ScopeAdminPublicKey Scope = "admin:public_key" ScopeReadGPGKey Scope = "read:gpg_key" ScopeWriteGPGKey Scope = "write:gpg_key" ScopeAdminGPGKey Scope = "admin:gpg_key" ScopeSecurityEvents Scope = "security_events" )
SearchOptions specifies optional parameters to the SearchService methods.
type SearchOptions struct { // How to sort the search results. Possible values are: // - for repositories: stars, fork, updated // - for commits: author-date, committer-date // - for code: indexed // - for issues: comments, created, updated // - for users: followers, repositories, joined // // Default is to sort by best match. Sort string `url:"sort,omitempty"` // Sort order if sort parameter is provided. Possible values are: asc, // desc. Default is desc. Order string `url:"order,omitempty"` // Whether to retrieve text match metadata with a query TextMatch bool `url:"-"` ListOptions }
SearchService provides access to the search related functions in the GitHub API.
Each method takes a query string defining the search keywords and any search qualifiers. For example, when searching issues, the query "gopher is:issue language:go" will search for issues containing the word "gopher" in Go repositories. The method call
opts := &github.SearchOptions{Sort: "created", Order: "asc"} cl.Search.Issues(ctx, "gopher is:issue language:go", opts)
will search for such issues, sorting by creation date in ascending order (i.e., oldest first).
If query includes multiple conditions, it MUST NOT include "+" as the condition separator. You have to use " " as the separator instead. For example, querying with "language:c++" and "leveldb", then query should be "language:c++ leveldb" but not "language:c+++leveldb".
GitHub API docs: https://docs.github.com/en/rest/search/
type SearchService service
func (s *SearchService) Code(ctx context.Context, query string, opts *SearchOptions) (*CodeSearchResult, *Response, error)
Code searches code via various criteria.
GitHub API docs: https://docs.github.com/en/rest/search#search-code
func (s *SearchService) Commits(ctx context.Context, query string, opts *SearchOptions) (*CommitsSearchResult, *Response, error)
Commits searches commits via various criteria.
GitHub API docs: https://docs.github.com/en/rest/search#search-commits
func (s *SearchService) Issues(ctx context.Context, query string, opts *SearchOptions) (*IssuesSearchResult, *Response, error)
Issues searches issues via various criteria.
GitHub API docs: https://docs.github.com/en/rest/search#search-issues-and-pull-requests
func (s *SearchService) Labels(ctx context.Context, repoID int64, query string, opts *SearchOptions) (*LabelsSearchResult, *Response, error)
Labels searches labels in the repository with ID repoID via various criteria.
GitHub API docs: https://docs.github.com/en/rest/search#search-labels
func (s *SearchService) Repositories(ctx context.Context, query string, opts *SearchOptions) (*RepositoriesSearchResult, *Response, error)
Repositories searches repositories via various criteria.
GitHub API docs: https://docs.github.com/en/rest/search#search-repositories
func (s *SearchService) Topics(ctx context.Context, query string, opts *SearchOptions) (*TopicsSearchResult, *Response, error)
Topics finds topics via various criteria. Results are sorted by best match. Please see https://help.github.com/en/articles/searching-topics for more information about search qualifiers.
GitHub API docs: https://docs.github.com/en/rest/search#search-topics
func (s *SearchService) Users(ctx context.Context, query string, opts *SearchOptions) (*UsersSearchResult, *Response, error)
Users searches users via various criteria.
GitHub API docs: https://docs.github.com/en/rest/search#search-users
Secret represents a repository action secret.
type Secret struct { Name string `json:"name"` CreatedAt Timestamp `json:"created_at"` UpdatedAt Timestamp `json:"updated_at"` Visibility string `json:"visibility,omitempty"` SelectedRepositoriesURL string `json:"selected_repositories_url,omitempty"` }
SecretScanning specifies the state of secret scanning on a repository.
GitHub API docs: https://docs.github.com/en/code-security/secret-security/about-secret-scanning
type SecretScanning struct { Status *string `json:"status,omitempty"` }
func (s *SecretScanning) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (s SecretScanning) String() string
SecretScanningAlert represents a GitHub secret scanning alert.
type SecretScanningAlert struct { Number *int `json:"number,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` LocationsURL *string `json:"locations_url,omitempty"` State *string `json:"state,omitempty"` Resolution *string `json:"resolution,omitempty"` ResolvedAt *Timestamp `json:"resolved_at,omitempty"` ResolvedBy *User `json:"resolved_by,omitempty"` SecretType *string `json:"secret_type,omitempty"` Secret *string `json:"secret,omitempty"` }
func (s *SecretScanningAlert) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetLocationsURL() string
GetLocationsURL returns the LocationsURL field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetResolution() string
GetResolution returns the Resolution field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetResolvedAt() Timestamp
GetResolvedAt returns the ResolvedAt field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetResolvedBy() *User
GetResolvedBy returns the ResolvedBy field.
func (s *SecretScanningAlert) GetSecret() string
GetSecret returns the Secret field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetSecretType() string
GetSecretType returns the SecretType field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlert) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
SecretScanningAlertEvent is triggered when a secret scanning alert occurs in a repository. The Webhook name is secret_scanning_alert.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#secret_scanning_alert
type SecretScanningAlertEvent struct { // Action is the action that was performed. Possible values are: "created", "resolved", or "reopened". Action *string `json:"action,omitempty"` // Alert is the secret scanning alert involved in the event. Alert *SecretScanningAlert `json:"alert,omitempty"` // Only populated by the "resolved" and "reopen" actions Sender *User `json:"sender,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Organization *Organization `json:"organization,omitempty"` Enterprise *Enterprise `json:"enterprise,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (s *SecretScanningAlertEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertEvent) GetAlert() *SecretScanningAlert
GetAlert returns the Alert field.
func (s *SecretScanningAlertEvent) GetEnterprise() *Enterprise
GetEnterprise returns the Enterprise field.
func (s *SecretScanningAlertEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (s *SecretScanningAlertEvent) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (s *SecretScanningAlertEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (s *SecretScanningAlertEvent) GetSender() *User
GetSender returns the Sender field.
SecretScanningAlertListOptions specifies optional parameters to the SecretScanningService.ListAlertsForEnterprise method.
type SecretScanningAlertListOptions struct { // State of the secret scanning alerts to list. Set to open or resolved to only list secret scanning alerts in a specific state. State string `url:"state,omitempty"` // A comma-separated list of secret types to return. By default all secret types are returned. SecretType string `url:"secret_type,omitempty"` // A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. // Valid resolutions are false_positive, wont_fix, revoked, pattern_edited, pattern_deleted or used_in_tests. Resolution string `url:"resolution,omitempty"` ListCursorOptions }
SecretScanningAlertLocation represents the location for a secret scanning alert.
type SecretScanningAlertLocation struct { Type *string `json:"type,omitempty"` Details *SecretScanningAlertLocationDetails `json:"details,omitempty"` }
func (s *SecretScanningAlertLocation) GetDetails() *SecretScanningAlertLocationDetails
GetDetails returns the Details field.
func (s *SecretScanningAlertLocation) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
SecretScanningAlertLocationDetails represents the location details for a secret scanning alert.
type SecretScanningAlertLocationDetails struct { Path *string `json:"path,omitempty"` Startline *int `json:"start_line,omitempty"` EndLine *int `json:"end_line,omitempty"` StartColumn *int `json:"start_column,omitempty"` EndColumn *int `json:"end_column,omitempty"` BlobSHA *string `json:"blob_sha,omitempty"` BlobURL *string `json:"blob_url,omitempty"` CommitSHA *string `json:"commit_sha,omitempty"` CommitURL *string `json:"commit_url,omitempty"` }
func (s *SecretScanningAlertLocationDetails) GetBlobSHA() string
GetBlobSHA returns the BlobSHA field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetBlobURL() string
GetBlobURL returns the BlobURL field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetCommitSHA() string
GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetCommitURL() string
GetCommitURL returns the CommitURL field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetEndColumn() int
GetEndColumn returns the EndColumn field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetEndLine() int
GetEndLine returns the EndLine field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetStartColumn() int
GetStartColumn returns the StartColumn field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertLocationDetails) GetStartline() int
GetStartline returns the Startline field if it's non-nil, zero value otherwise.
SecretScanningAlertUpdateOptions specifies optional parameters to the SecretScanningService.UpdateAlert method.
type SecretScanningAlertUpdateOptions struct { // Required. Sets the state of the secret scanning alert. Can be either open or resolved. // You must provide resolution when you set the state to resolved. State *string `url:"state,omitempty"` // A comma-separated list of secret types to return. By default all secret types are returned. SecretType *string `url:"secret_type,omitempty"` // Required when the state is resolved. The reason for resolving the alert. Can be one of false_positive, // wont_fix, revoked, or used_in_tests. Resolution *string `url:"resolution,omitempty"` }
func (s *SecretScanningAlertUpdateOptions) GetResolution() string
GetResolution returns the Resolution field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertUpdateOptions) GetSecretType() string
GetSecretType returns the SecretType field if it's non-nil, zero value otherwise.
func (s *SecretScanningAlertUpdateOptions) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
SecretScanningService handles communication with the secret scanning related methods of the GitHub API.
type SecretScanningService service
func (s *SecretScanningService) GetAlert(ctx context.Context, owner, repo string, number int64) (*SecretScanningAlert, *Response, error)
Gets a single secret scanning alert detected in a private repository.
To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.
GitHub API docs: https://docs.github.com/en/enterprise-server@3.5/rest/secret-scanning#get-a-secret-scanning-alert
func (s *SecretScanningService) ListAlertsForEnterprise(ctx context.Context, enterprise string, opts *SecretScanningAlertListOptions) ([]*SecretScanningAlert, *Response, error)
Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest.
To use this endpoint, you must be a member of the enterprise, and you must use an access token with the repo scope or security_events scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager.
GitHub API docs: https://docs.github.com/en/enterprise-server@3.5/rest/secret-scanning#list-secret-scanning-alerts-for-an-enterprise
func (s *SecretScanningService) ListAlertsForOrg(ctx context.Context, org string, opts *SecretScanningAlertListOptions) ([]*SecretScanningAlert, *Response, error)
Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest.
To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.
GitHub API docs: https://docs.github.com/en/enterprise-server@3.5/rest/secret-scanning#list-secret-scanning-alerts-for-an-organization
func (s *SecretScanningService) ListAlertsForRepo(ctx context.Context, owner, repo string, opts *SecretScanningAlertListOptions) ([]*SecretScanningAlert, *Response, error)
Lists secret scanning alerts for a private repository, from newest to oldest.
To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.
GitHub API docs: https://docs.github.com/en/enterprise-server@3.5/rest/secret-scanning#list-secret-scanning-alerts-for-a-repository
func (s *SecretScanningService) ListLocationsForAlert(ctx context.Context, owner, repo string, number int64, opts *ListOptions) ([]*SecretScanningAlertLocation, *Response, error)
Lists all locations for a given secret scanning alert for a private repository.
To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.
GitHub API docs: https://docs.github.com/en/enterprise-server@3.5/rest/secret-scanning#list-locations-for-a-secret-scanning-alert
func (s *SecretScanningService) UpdateAlert(ctx context.Context, owner, repo string, number int64, opts *SecretScanningAlertUpdateOptions) (*SecretScanningAlert, *Response, error)
Updates the status of a secret scanning alert in a private repository.
To use this endpoint, you must be an administrator for the repository or organization, and you must use an access token with the repo scope or security_events scope.
GitHub API docs: https://docs.github.com/en/enterprise-server@3.5/rest/secret-scanning#update-a-secret-scanning-alert
Secrets represents one item from the ListSecrets response.
type Secrets struct { TotalCount int `json:"total_count"` Secrets []*Secret `json:"secrets"` }
SecurityAdvisory represents the advisory object in SecurityAdvisoryEvent payload.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#security_advisory
type SecurityAdvisory struct { GHSAID *string `json:"ghsa_id,omitempty"` Summary *string `json:"summary,omitempty"` Description *string `json:"description,omitempty"` Severity *string `json:"severity,omitempty"` Identifiers []*AdvisoryIdentifier `json:"identifiers,omitempty"` References []*AdvisoryReference `json:"references,omitempty"` PublishedAt *Timestamp `json:"published_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` WithdrawnAt *Timestamp `json:"withdrawn_at,omitempty"` Vulnerabilities []*AdvisoryVulnerability `json:"vulnerabilities,omitempty"` }
func (s *SecurityAdvisory) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (s *SecurityAdvisory) GetGHSAID() string
GetGHSAID returns the GHSAID field if it's non-nil, zero value otherwise.
func (s *SecurityAdvisory) GetPublishedAt() Timestamp
GetPublishedAt returns the PublishedAt field if it's non-nil, zero value otherwise.
func (s *SecurityAdvisory) GetSeverity() string
GetSeverity returns the Severity field if it's non-nil, zero value otherwise.
func (s *SecurityAdvisory) GetSummary() string
GetSummary returns the Summary field if it's non-nil, zero value otherwise.
func (s *SecurityAdvisory) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (s *SecurityAdvisory) GetWithdrawnAt() Timestamp
GetWithdrawnAt returns the WithdrawnAt field if it's non-nil, zero value otherwise.
SecurityAdvisoryEvent is triggered when a security-related vulnerability is found in software on GitHub.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#security_advisory
type SecurityAdvisoryEvent struct { Action *string `json:"action,omitempty"` SecurityAdvisory *SecurityAdvisory `json:"security_advisory,omitempty"` }
func (s *SecurityAdvisoryEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (s *SecurityAdvisoryEvent) GetSecurityAdvisory() *SecurityAdvisory
GetSecurityAdvisory returns the SecurityAdvisory field.
SecurityAndAnalysis specifies the optional advanced security features that are enabled on a given repository.
type SecurityAndAnalysis struct { AdvancedSecurity *AdvancedSecurity `json:"advanced_security,omitempty"` SecretScanning *SecretScanning `json:"secret_scanning,omitempty"` }
func (s *SecurityAndAnalysis) GetAdvancedSecurity() *AdvancedSecurity
GetAdvancedSecurity returns the AdvancedSecurity field.
func (s *SecurityAndAnalysis) GetSecretScanning() *SecretScanning
GetSecretScanning returns the SecretScanning field.
func (s SecurityAndAnalysis) String() string
SelectedRepoIDs are the repository IDs that have access to the secret.
type SelectedRepoIDs []int64
SelectedReposList represents the list of repositories selected for an organization secret.
type SelectedReposList struct { TotalCount *int `json:"total_count,omitempty"` Repositories []*Repository `json:"repositories,omitempty"` }
func (s *SelectedReposList) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
ServiceHook represents a hook that has configuration settings, a list of available events, and default events.
type ServiceHook struct { Name *string `json:"name,omitempty"` Events []string `json:"events,omitempty"` SupportedEvents []string `json:"supported_events,omitempty"` Schema [][]string `json:"schema,omitempty"` }
func (s *ServiceHook) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (s *ServiceHook) String() string
SetRepoAccessRunnerGroupRequest represents a request to replace the list of repositories that can access a self-hosted runner group configured in an organization.
type SetRepoAccessRunnerGroupRequest struct { // Updated list of repository IDs that should be given access to the runner group. SelectedRepositoryIDs []int64 `json:"selected_repository_ids"` }
SetRunnerGroupRunnersRequest represents a request to replace the list of self-hosted runners that are part of an organization runner group.
type SetRunnerGroupRunnersRequest struct { // Updated list of runner IDs that should be given access to the runner group. Runners []int64 `json:"runners"` }
SignatureVerification represents GPG signature verification.
type SignatureVerification struct { Verified *bool `json:"verified,omitempty"` Reason *string `json:"reason,omitempty"` Signature *string `json:"signature,omitempty"` Payload *string `json:"payload,omitempty"` }
func (s *SignatureVerification) GetPayload() string
GetPayload returns the Payload field if it's non-nil, zero value otherwise.
func (s *SignatureVerification) GetReason() string
GetReason returns the Reason field if it's non-nil, zero value otherwise.
func (s *SignatureVerification) GetSignature() string
GetSignature returns the Signature field if it's non-nil, zero value otherwise.
func (s *SignatureVerification) GetVerified() bool
GetVerified returns the Verified field if it's non-nil, zero value otherwise.
SignaturesProtectedBranch represents the protection status of an individual branch.
type SignaturesProtectedBranch struct { URL *string `json:"url,omitempty"` // Commits pushed to matching branches must have verified signatures. Enabled *bool `json:"enabled,omitempty"` }
func (s *SignaturesProtectedBranch) GetEnabled() bool
GetEnabled returns the Enabled field if it's non-nil, zero value otherwise.
func (s *SignaturesProtectedBranch) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
Source represents a reference's source.
type Source struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` Actor *User `json:"actor,omitempty"` Type *string `json:"type,omitempty"` Issue *Issue `json:"issue,omitempty"` }
func (s *Source) GetActor() *User
GetActor returns the Actor field.
func (s *Source) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (s *Source) GetIssue() *Issue
GetIssue returns the Issue field.
func (s *Source) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (s *Source) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
SourceImportAuthor identifies an author imported from a source repository.
GitHub API docs: https://docs.github.com/en/rest/migration/source_imports/#get-commit-authors
type SourceImportAuthor struct { ID *int64 `json:"id,omitempty"` RemoteID *string `json:"remote_id,omitempty"` RemoteName *string `json:"remote_name,omitempty"` Email *string `json:"email,omitempty"` Name *string `json:"name,omitempty"` URL *string `json:"url,omitempty"` ImportURL *string `json:"import_url,omitempty"` }
func (s *SourceImportAuthor) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (s *SourceImportAuthor) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (s *SourceImportAuthor) GetImportURL() string
GetImportURL returns the ImportURL field if it's non-nil, zero value otherwise.
func (s *SourceImportAuthor) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (s *SourceImportAuthor) GetRemoteID() string
GetRemoteID returns the RemoteID field if it's non-nil, zero value otherwise.
func (s *SourceImportAuthor) GetRemoteName() string
GetRemoteName returns the RemoteName field if it's non-nil, zero value otherwise.
func (s *SourceImportAuthor) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (a SourceImportAuthor) String() string
StarEvent is triggered when a star is added or removed from a repository. The Webhook event name is "star".
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#star
type StarEvent struct { // Action is the action that was performed. Possible values are: "created" or "deleted". Action *string `json:"action,omitempty"` // StarredAt is the time the star was created. It will be null for the "deleted" action. StarredAt *Timestamp `json:"starred_at,omitempty"` // The following fields are only populated by Webhook events. Org *Organization `json:"organization,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (s *StarEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (s *StarEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (s *StarEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (s *StarEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (s *StarEvent) GetSender() *User
GetSender returns the Sender field.
func (s *StarEvent) GetStarredAt() Timestamp
GetStarredAt returns the StarredAt field if it's non-nil, zero value otherwise.
Stargazer represents a user that has starred a repository.
type Stargazer struct { StarredAt *Timestamp `json:"starred_at,omitempty"` User *User `json:"user,omitempty"` }
func (s *Stargazer) GetStarredAt() Timestamp
GetStarredAt returns the StarredAt field if it's non-nil, zero value otherwise.
func (s *Stargazer) GetUser() *User
GetUser returns the User field.
StarredRepository is returned by ListStarred.
type StarredRepository struct { StarredAt *Timestamp `json:"starred_at,omitempty"` Repository *Repository `json:"repo,omitempty"` }
func (s *StarredRepository) GetRepository() *Repository
GetRepository returns the Repository field.
func (s *StarredRepository) GetStarredAt() Timestamp
GetStarredAt returns the StarredAt field if it's non-nil, zero value otherwise.
StatusEvent is triggered when the status of a Git commit changes. The Webhook event name is "status".
Events of this type are not visible in timelines, they are only used to trigger hooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#status
type StatusEvent struct { SHA *string `json:"sha,omitempty"` // State is the new state. Possible values are: "pending", "success", "failure", "error". State *string `json:"state,omitempty"` Description *string `json:"description,omitempty"` TargetURL *string `json:"target_url,omitempty"` Branches []*Branch `json:"branches,omitempty"` // The following fields are only populated by Webhook events. ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` Context *string `json:"context,omitempty"` Commit *RepositoryCommit `json:"commit,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (s *StatusEvent) GetCommit() *RepositoryCommit
GetCommit returns the Commit field.
func (s *StatusEvent) GetContext() string
GetContext returns the Context field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (s *StatusEvent) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (s *StatusEvent) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetSender() *User
GetSender returns the Sender field.
func (s *StatusEvent) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetTargetURL() string
GetTargetURL returns the TargetURL field if it's non-nil, zero value otherwise.
func (s *StatusEvent) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
StorageBilling represents a GitHub Storage billing.
type StorageBilling struct { DaysLeftInBillingCycle int `json:"days_left_in_billing_cycle"` EstimatedPaidStorageForMonth float64 `json:"estimated_paid_storage_for_month"` EstimatedStorageForMonth int `json:"estimated_storage_for_month"` }
Subscription identifies a repository or thread subscription.
type Subscription struct { Subscribed *bool `json:"subscribed,omitempty"` Ignored *bool `json:"ignored,omitempty"` Reason *string `json:"reason,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` URL *string `json:"url,omitempty"` // only populated for repository subscriptions RepositoryURL *string `json:"repository_url,omitempty"` // only populated for thread subscriptions ThreadURL *string `json:"thread_url,omitempty"` }
func (s *Subscription) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (s *Subscription) GetIgnored() bool
GetIgnored returns the Ignored field if it's non-nil, zero value otherwise.
func (s *Subscription) GetReason() string
GetReason returns the Reason field if it's non-nil, zero value otherwise.
func (s *Subscription) GetRepositoryURL() string
GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.
func (s *Subscription) GetSubscribed() bool
GetSubscribed returns the Subscribed field if it's non-nil, zero value otherwise.
func (s *Subscription) GetThreadURL() string
GetThreadURL returns the ThreadURL field if it's non-nil, zero value otherwise.
func (s *Subscription) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
Tag represents a tag object.
type Tag struct { Tag *string `json:"tag,omitempty"` SHA *string `json:"sha,omitempty"` URL *string `json:"url,omitempty"` Message *string `json:"message,omitempty"` Tagger *CommitAuthor `json:"tagger,omitempty"` Object *GitObject `json:"object,omitempty"` Verification *SignatureVerification `json:"verification,omitempty"` NodeID *string `json:"node_id,omitempty"` }
func (t *Tag) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (t *Tag) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (t *Tag) GetObject() *GitObject
GetObject returns the Object field.
func (t *Tag) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (t *Tag) GetTag() string
GetTag returns the Tag field if it's non-nil, zero value otherwise.
func (t *Tag) GetTagger() *CommitAuthor
GetTagger returns the Tagger field.
func (t *Tag) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (t *Tag) GetVerification() *SignatureVerification
GetVerification returns the Verification field.
TaskStep represents a single task step from a sequence of tasks of a job.
type TaskStep struct { Name *string `json:"name,omitempty"` Status *string `json:"status,omitempty"` Conclusion *string `json:"conclusion,omitempty"` Number *int64 `json:"number,omitempty"` StartedAt *Timestamp `json:"started_at,omitempty"` CompletedAt *Timestamp `json:"completed_at,omitempty"` }
func (t *TaskStep) GetCompletedAt() Timestamp
GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.
func (t *TaskStep) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (t *TaskStep) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (t *TaskStep) GetNumber() int64
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (t *TaskStep) GetStartedAt() Timestamp
GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.
func (t *TaskStep) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
Team represents a team within a GitHub organization. Teams are used to manage access to an organization's repositories.
type Team struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Name *string `json:"name,omitempty"` Description *string `json:"description,omitempty"` URL *string `json:"url,omitempty"` Slug *string `json:"slug,omitempty"` // Permission specifies the default permission for repositories owned by the team. Permission *string `json:"permission,omitempty"` // Permissions identifies the permissions that a team has on a given // repository. This is only populated when calling Repositories.ListTeams. Permissions map[string]bool `json:"permissions,omitempty"` // Privacy identifies the level of privacy this team should have. // Possible values are: // secret - only visible to organization owners and members of this team // closed - visible to all members of this organization // Default is "secret". Privacy *string `json:"privacy,omitempty"` MembersCount *int `json:"members_count,omitempty"` ReposCount *int `json:"repos_count,omitempty"` Organization *Organization `json:"organization,omitempty"` HTMLURL *string `json:"html_url,omitempty"` MembersURL *string `json:"members_url,omitempty"` RepositoriesURL *string `json:"repositories_url,omitempty"` Parent *Team `json:"parent,omitempty"` // LDAPDN is only available in GitHub Enterprise and when the team // membership is synchronized with LDAP. LDAPDN *string `json:"ldap_dn,omitempty"` }
func (t *Team) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (t *Team) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (t *Team) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (t *Team) GetLDAPDN() string
GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.
func (t *Team) GetMembersCount() int
GetMembersCount returns the MembersCount field if it's non-nil, zero value otherwise.
func (t *Team) GetMembersURL() string
GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise.
func (t *Team) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (t *Team) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (t *Team) GetOrganization() *Organization
GetOrganization returns the Organization field.
func (t *Team) GetParent() *Team
GetParent returns the Parent field.
func (t *Team) GetPermission() string
GetPermission returns the Permission field if it's non-nil, zero value otherwise.
func (t *Team) GetPermissions() map[string]bool
GetPermissions returns the Permissions map if it's non-nil, an empty map otherwise.
func (t *Team) GetPrivacy() string
GetPrivacy returns the Privacy field if it's non-nil, zero value otherwise.
func (t *Team) GetReposCount() int
GetReposCount returns the ReposCount field if it's non-nil, zero value otherwise.
func (t *Team) GetRepositoriesURL() string
GetRepositoriesURL returns the RepositoriesURL field if it's non-nil, zero value otherwise.
func (t *Team) GetSlug() string
GetSlug returns the Slug field if it's non-nil, zero value otherwise.
func (t *Team) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (t Team) String() string
TeamAddEvent is triggered when a repository is added to a team. The Webhook event name is "team_add".
Events of this type are not visible in timelines. These events are only used to trigger hooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#team_add
type TeamAddEvent struct { Team *Team `json:"team,omitempty"` Repo *Repository `json:"repository,omitempty"` // The following fields are only populated by Webhook events. Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (t *TeamAddEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (t *TeamAddEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (t *TeamAddEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (t *TeamAddEvent) GetSender() *User
GetSender returns the Sender field.
func (t *TeamAddEvent) GetTeam() *Team
GetTeam returns the Team field.
TeamAddTeamMembershipOptions specifies the optional parameters to the TeamsService.AddTeamMembership method.
type TeamAddTeamMembershipOptions struct { // Role specifies the role the user should have in the team. Possible // values are: // member - a normal member of the team // maintainer - a team maintainer. Able to add/remove other team // members, promote other team members to team // maintainer, and edit the team’s name and description // // Default value is "member". Role string `json:"role,omitempty"` }
TeamAddTeamRepoOptions specifies the optional parameters to the TeamsService.AddTeamRepoByID and TeamsService.AddTeamRepoBySlug methods.
type TeamAddTeamRepoOptions struct { // Permission specifies the permission to grant the team on this repository. // Possible values are: // pull - team members can pull, but not push to or administer this repository // push - team members can pull and push, but not administer this repository // admin - team members can pull, push and administer this repository // maintain - team members can manage the repository without access to sensitive or destructive actions. // triage - team members can proactively manage issues and pull requests without write access. // // If not specified, the team's permission attribute will be used. Permission string `json:"permission,omitempty"` }
TeamChange represents the changes when a team has been edited.
type TeamChange struct { Description *TeamDescription `json:"description,omitempty"` Name *TeamName `json:"name,omitempty"` Privacy *TeamPrivacy `json:"privacy,omitempty"` Repository *TeamRepository `json:"repository,omitempty"` }
func (t *TeamChange) GetDescription() *TeamDescription
GetDescription returns the Description field.
func (t *TeamChange) GetName() *TeamName
GetName returns the Name field.
func (t *TeamChange) GetPrivacy() *TeamPrivacy
GetPrivacy returns the Privacy field.
func (t *TeamChange) GetRepository() *TeamRepository
GetRepository returns the Repository field.
TeamDescription represents a team description change.
type TeamDescription struct { From *string `json:"from,omitempty"` }
func (t *TeamDescription) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
TeamDiscussion represents a GitHub dicussion in a team.
type TeamDiscussion struct { Author *User `json:"author,omitempty"` Body *string `json:"body,omitempty"` BodyHTML *string `json:"body_html,omitempty"` BodyVersion *string `json:"body_version,omitempty"` CommentsCount *int `json:"comments_count,omitempty"` CommentsURL *string `json:"comments_url,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` LastEditedAt *Timestamp `json:"last_edited_at,omitempty"` HTMLURL *string `json:"html_url,omitempty"` NodeID *string `json:"node_id,omitempty"` Number *int `json:"number,omitempty"` Pinned *bool `json:"pinned,omitempty"` Private *bool `json:"private,omitempty"` TeamURL *string `json:"team_url,omitempty"` Title *string `json:"title,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` URL *string `json:"url,omitempty"` Reactions *Reactions `json:"reactions,omitempty"` }
func (t *TeamDiscussion) GetAuthor() *User
GetAuthor returns the Author field.
func (t *TeamDiscussion) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetBodyHTML() string
GetBodyHTML returns the BodyHTML field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetBodyVersion() string
GetBodyVersion returns the BodyVersion field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetCommentsCount() int
GetCommentsCount returns the CommentsCount field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetCommentsURL() string
GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetLastEditedAt() Timestamp
GetLastEditedAt returns the LastEditedAt field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetNumber() int
GetNumber returns the Number field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetPinned() bool
GetPinned returns the Pinned field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetPrivate() bool
GetPrivate returns the Private field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetReactions() *Reactions
GetReactions returns the Reactions field.
func (t *TeamDiscussion) GetTeamURL() string
GetTeamURL returns the TeamURL field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (t *TeamDiscussion) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (d TeamDiscussion) String() string
TeamEvent is triggered when an organization's team is created, modified or deleted. The Webhook event name is "team".
Events of this type are not visible in timelines. These events are only used to trigger hooks.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#team
type TeamEvent struct { Action *string `json:"action,omitempty"` Team *Team `json:"team,omitempty"` Changes *TeamChange `json:"changes,omitempty"` Repo *Repository `json:"repository,omitempty"` // The following fields are only populated by Webhook events. Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (t *TeamEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (t *TeamEvent) GetChanges() *TeamChange
GetChanges returns the Changes field.
func (t *TeamEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (t *TeamEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (t *TeamEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (t *TeamEvent) GetSender() *User
GetSender returns the Sender field.
func (t *TeamEvent) GetTeam() *Team
GetTeam returns the Team field.
TeamLDAPMapping represents the mapping between a GitHub team and an LDAP group.
type TeamLDAPMapping struct { ID *int64 `json:"id,omitempty"` LDAPDN *string `json:"ldap_dn,omitempty"` URL *string `json:"url,omitempty"` Name *string `json:"name,omitempty"` Slug *string `json:"slug,omitempty"` Description *string `json:"description,omitempty"` Privacy *string `json:"privacy,omitempty"` Permission *string `json:"permission,omitempty"` MembersURL *string `json:"members_url,omitempty"` RepositoriesURL *string `json:"repositories_url,omitempty"` }
func (t *TeamLDAPMapping) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetLDAPDN() string
GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetMembersURL() string
GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetPermission() string
GetPermission returns the Permission field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetPrivacy() string
GetPrivacy returns the Privacy field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetRepositoriesURL() string
GetRepositoriesURL returns the RepositoriesURL field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetSlug() string
GetSlug returns the Slug field if it's non-nil, zero value otherwise.
func (t *TeamLDAPMapping) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (m TeamLDAPMapping) String() string
TeamListTeamMembersOptions specifies the optional parameters to the TeamsService.ListTeamMembers method.
type TeamListTeamMembersOptions struct { // Role filters members returned by their role in the team. Possible // values are "all", "member", "maintainer". Default is "all". Role string `url:"role,omitempty"` ListOptions }
TeamName represents a team name change.
type TeamName struct { From *string `json:"from,omitempty"` }
func (t *TeamName) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
TeamPermissions represents a team permission change.
type TeamPermissions struct { From *TeamPermissionsFrom `json:"from,omitempty"` }
func (t *TeamPermissions) GetFrom() *TeamPermissionsFrom
GetFrom returns the From field.
TeamPermissionsFrom represents a team permission change.
type TeamPermissionsFrom struct { Admin *bool `json:"admin,omitempty"` Pull *bool `json:"pull,omitempty"` Push *bool `json:"push,omitempty"` }
func (t *TeamPermissionsFrom) GetAdmin() bool
GetAdmin returns the Admin field if it's non-nil, zero value otherwise.
func (t *TeamPermissionsFrom) GetPull() bool
GetPull returns the Pull field if it's non-nil, zero value otherwise.
func (t *TeamPermissionsFrom) GetPush() bool
GetPush returns the Push field if it's non-nil, zero value otherwise.
TeamPrivacy represents a team privacy change.
type TeamPrivacy struct { From *string `json:"from,omitempty"` }
func (t *TeamPrivacy) GetFrom() string
GetFrom returns the From field if it's non-nil, zero value otherwise.
TeamProjectOptions specifies the optional parameters to the TeamsService.AddTeamProject method.
type TeamProjectOptions struct { // Permission specifies the permission to grant to the team for this project. // Possible values are: // "read" - team members can read, but not write to or administer this project. // "write" - team members can read and write, but not administer this project. // "admin" - team members can read, write and administer this project. // Permission *string `json:"permission,omitempty"` }
func (t *TeamProjectOptions) GetPermission() string
GetPermission returns the Permission field if it's non-nil, zero value otherwise.
TeamRepository represents a team repository permission change.
type TeamRepository struct { Permissions *TeamPermissions `json:"permissions,omitempty"` }
func (t *TeamRepository) GetPermissions() *TeamPermissions
GetPermissions returns the Permissions field.
TeamsService provides access to the team-related functions in the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/teams/
type TeamsService service
func (s *TeamsService) AddTeamMembershipByID(ctx context.Context, orgID, teamID int64, user string, opts *TeamAddTeamMembershipOptions) (*Membership, *Response, error)
AddTeamMembershipByID adds or invites a user to a team, given a specified organization ID, by team ID.
GitHub API docs: https://docs.github.com/en/rest/teams/members#add-or-update-team-membership-for-a-user
func (s *TeamsService) AddTeamMembershipBySlug(ctx context.Context, org, slug, user string, opts *TeamAddTeamMembershipOptions) (*Membership, *Response, error)
AddTeamMembershipBySlug adds or invites a user to a team, given a specified organization name, by team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/members#add-or-update-team-membership-for-a-user
func (s *TeamsService) AddTeamProjectByID(ctx context.Context, orgID, teamID, projectID int64, opts *TeamProjectOptions) (*Response, error)
AddTeamProjectByID adds an organization project to a team given the team ID. To add a project to a team or update the team's permission on a project, the authenticated user must have admin permissions for the project.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#add-or-update-team-project-permissions
func (s *TeamsService) AddTeamProjectBySlug(ctx context.Context, org, slug string, projectID int64, opts *TeamProjectOptions) (*Response, error)
AddTeamProjectBySlug adds an organization project to a team given the team slug. To add a project to a team or update the team's permission on a project, the authenticated user must have admin permissions for the project.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#add-or-update-team-project-permissions
func (s *TeamsService) AddTeamRepoByID(ctx context.Context, orgID, teamID int64, owner, repo string, opts *TeamAddTeamRepoOptions) (*Response, error)
AddTeamRepoByID adds a repository to be managed by the specified team given the team ID. The specified repository must be owned by the organization to which the team belongs, or a direct fork of a repository owned by the organization.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#add-or-update-team-repository-permissions
func (s *TeamsService) AddTeamRepoBySlug(ctx context.Context, org, slug, owner, repo string, opts *TeamAddTeamRepoOptions) (*Response, error)
AddTeamRepoBySlug adds a repository to be managed by the specified team given the team slug. The specified repository must be owned by the organization to which the team belongs, or a direct fork of a repository owned by the organization.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#add-or-update-team-repository-permissions
func (s *TeamsService) CreateCommentByID(ctx context.Context, orgID, teamID int64, discsusionNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)
CreateCommentByID creates a new comment on a team discussion by team ID. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#create-a-discussion-comment
func (s *TeamsService) CreateCommentBySlug(ctx context.Context, org, slug string, discsusionNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)
CreateCommentBySlug creates a new comment on a team discussion by team slug. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#create-a-discussion-comment
func (s *TeamsService) CreateDiscussionByID(ctx context.Context, orgID, teamID int64, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)
CreateDiscussionByID creates a new discussion post on a team's page given Organization and Team ID. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#create-a-discussion
func (s *TeamsService) CreateDiscussionBySlug(ctx context.Context, org, slug string, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)
CreateDiscussionBySlug creates a new discussion post on a team's page given Organization name and Team's slug. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#create-a-discussion
func (s *TeamsService) CreateOrUpdateIDPGroupConnectionsByID(ctx context.Context, orgID, teamID int64, opts IDPGroupList) (*IDPGroupList, *Response, error)
CreateOrUpdateIDPGroupConnectionsByID creates, updates, or removes a connection between a team and an IDP group given organization and team IDs.
GitHub API docs: https://docs.github.com/en/rest/teams/team-sync#create-or-update-idp-group-connections
func (s *TeamsService) CreateOrUpdateIDPGroupConnectionsBySlug(ctx context.Context, org, slug string, opts IDPGroupList) (*IDPGroupList, *Response, error)
CreateOrUpdateIDPGroupConnectionsBySlug creates, updates, or removes a connection between a team and an IDP group given organization name and team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/team-sync#create-or-update-idp-group-connections
func (s *TeamsService) CreateTeam(ctx context.Context, org string, team NewTeam) (*Team, *Response, error)
CreateTeam creates a new team within an organization.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#create-a-team
func (s *TeamsService) DeleteCommentByID(ctx context.Context, orgID, teamID int64, discussionNumber, commentNumber int) (*Response, error)
DeleteCommentByID deletes a comment on a team discussion by team ID. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#delete-a-discussion-comment
func (s *TeamsService) DeleteCommentBySlug(ctx context.Context, org, slug string, discussionNumber, commentNumber int) (*Response, error)
DeleteCommentBySlug deletes a comment on a team discussion by team slug. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#delete-a-discussion-comment
func (s *TeamsService) DeleteDiscussionByID(ctx context.Context, orgID, teamID int64, discussionNumber int) (*Response, error)
DeleteDiscussionByID deletes a discussion from team's page given Organization and Team ID. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#delete-a-discussion
func (s *TeamsService) DeleteDiscussionBySlug(ctx context.Context, org, slug string, discussionNumber int) (*Response, error)
DeleteDiscussionBySlug deletes a discussion from team's page given Organization name and Team's slug. Authenticated user must grant write:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#delete-a-discussion
func (s *TeamsService) DeleteTeamByID(ctx context.Context, orgID, teamID int64) (*Response, error)
DeleteTeamByID deletes a team referenced by ID.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#delete-a-team
func (s *TeamsService) DeleteTeamBySlug(ctx context.Context, org, slug string) (*Response, error)
DeleteTeamBySlug deletes a team reference by slug.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#delete-a-team
func (s *TeamsService) EditCommentByID(ctx context.Context, orgID, teamID int64, discussionNumber, commentNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)
EditCommentByID edits the body text of a discussion comment by team ID. Authenticated user must grant write:discussion scope. User is allowed to edit body of a comment only.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#update-a-discussion-comment
func (s *TeamsService) EditCommentBySlug(ctx context.Context, org, slug string, discussionNumber, commentNumber int, comment DiscussionComment) (*DiscussionComment, *Response, error)
EditCommentBySlug edits the body text of a discussion comment by team slug. Authenticated user must grant write:discussion scope. User is allowed to edit body of a comment only.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#update-a-discussion-comment
func (s *TeamsService) EditDiscussionByID(ctx context.Context, orgID, teamID int64, discussionNumber int, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)
EditDiscussionByID edits the title and body text of a discussion post given Organization and Team ID. Authenticated user must grant write:discussion scope. User is allowed to change Title and Body of a discussion only.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#update-a-discussion
func (s *TeamsService) EditDiscussionBySlug(ctx context.Context, org, slug string, discussionNumber int, discussion TeamDiscussion) (*TeamDiscussion, *Response, error)
EditDiscussionBySlug edits the title and body text of a discussion post given Organization name and Team's slug. Authenticated user must grant write:discussion scope. User is allowed to change Title and Body of a discussion only.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#update-a-discussion
func (s *TeamsService) EditTeamByID(ctx context.Context, orgID, teamID int64, team NewTeam, removeParent bool) (*Team, *Response, error)
EditTeamByID edits a team, given an organization ID, selected by ID.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#update-a-team
func (s *TeamsService) EditTeamBySlug(ctx context.Context, org, slug string, team NewTeam, removeParent bool) (*Team, *Response, error)
EditTeamBySlug edits a team, given an organization name, by slug.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#update-a-team
func (s *TeamsService) GetCommentByID(ctx context.Context, orgID, teamID int64, discussionNumber, commentNumber int) (*DiscussionComment, *Response, error)
GetCommentByID gets a specific comment on a team discussion by team ID. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#get-a-discussion-comment
func (s *TeamsService) GetCommentBySlug(ctx context.Context, org, slug string, discussionNumber, commentNumber int) (*DiscussionComment, *Response, error)
GetCommentBySlug gets a specific comment on a team discussion by team slug. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#get-a-discussion-comment
func (s *TeamsService) GetDiscussionByID(ctx context.Context, orgID, teamID int64, discussionNumber int) (*TeamDiscussion, *Response, error)
GetDiscussionByID gets a specific discussion on a team's page given Organization and Team ID. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#get-a-discussion
func (s *TeamsService) GetDiscussionBySlug(ctx context.Context, org, slug string, discussionNumber int) (*TeamDiscussion, *Response, error)
GetDiscussionBySlug gets a specific discussion on a team's page given Organization name and Team's slug. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#get-a-discussion
func (s *TeamsService) GetExternalGroup(ctx context.Context, org string, groupID int64) (*ExternalGroup, *Response, error)
GetExternalGroup fetches an external group.
GitHub API docs: https://docs.github.com/en/enterprise-cloud@latest/rest/teams/external-groups#get-an-external-group
func (s *TeamsService) GetTeamByID(ctx context.Context, orgID, teamID int64) (*Team, *Response, error)
GetTeamByID fetches a team, given a specified organization ID, by ID.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#get-a-team-by-name
func (s *TeamsService) GetTeamBySlug(ctx context.Context, org, slug string) (*Team, *Response, error)
GetTeamBySlug fetches a team, given a specified organization name, by slug.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#get-a-team-by-name
func (s *TeamsService) GetTeamMembershipByID(ctx context.Context, orgID, teamID int64, user string) (*Membership, *Response, error)
GetTeamMembershipByID returns the membership status for a user in a team, given a specified organization ID, by team ID.
GitHub API docs: https://docs.github.com/en/rest/teams/members#list-team-members
func (s *TeamsService) GetTeamMembershipBySlug(ctx context.Context, org, slug, user string) (*Membership, *Response, error)
GetTeamMembershipBySlug returns the membership status for a user in a team, given a specified organization name, by team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/members#get-team-membership-for-a-user
func (s *TeamsService) IsTeamRepoByID(ctx context.Context, orgID, teamID int64, owner, repo string) (*Repository, *Response, error)
IsTeamRepoByID checks if a team, given its ID, manages the specified repository. If the repository is managed by team, a Repository is returned which includes the permissions team has for that repo.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#check-team-permissions-for-a-repository
func (s *TeamsService) IsTeamRepoBySlug(ctx context.Context, org, slug, owner, repo string) (*Repository, *Response, error)
IsTeamRepoBySlug checks if a team, given its slug, manages the specified repository. If the repository is managed by team, a Repository is returned which includes the permissions team has for that repo.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#check-team-permissions-for-a-repository
func (s *TeamsService) ListChildTeamsByParentID(ctx context.Context, orgID, teamID int64, opts *ListOptions) ([]*Team, *Response, error)
ListChildTeamsByParentID lists child teams for a parent team given parent ID.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-child-teams
func (s *TeamsService) ListChildTeamsByParentSlug(ctx context.Context, org, slug string, opts *ListOptions) ([]*Team, *Response, error)
ListChildTeamsByParentSlug lists child teams for a parent team given parent slug.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-child-teams
func (s *TeamsService) ListCommentsByID(ctx context.Context, orgID, teamID int64, discussionNumber int, options *DiscussionCommentListOptions) ([]*DiscussionComment, *Response, error)
ListCommentsByID lists all comments on a team discussion by team ID. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#list-discussion-comments
func (s *TeamsService) ListCommentsBySlug(ctx context.Context, org, slug string, discussionNumber int, options *DiscussionCommentListOptions) ([]*DiscussionComment, *Response, error)
ListCommentsBySlug lists all comments on a team discussion by team slug. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussion-comments#list-discussion-comments
func (s *TeamsService) ListDiscussionsByID(ctx context.Context, orgID, teamID int64, opts *DiscussionListOptions) ([]*TeamDiscussion, *Response, error)
ListDiscussionsByID lists all discussions on team's page given Organization and Team ID. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#list-discussions
func (s *TeamsService) ListDiscussionsBySlug(ctx context.Context, org, slug string, opts *DiscussionListOptions) ([]*TeamDiscussion, *Response, error)
ListDiscussionsBySlug lists all discussions on team's page given Organization name and Team's slug. Authenticated user must grant read:discussion scope.
GitHub API docs: https://docs.github.com/en/rest/teams/discussions#list-discussions
func (s *TeamsService) ListExternalGroups(ctx context.Context, org string, opts *ListExternalGroupsOptions) (*ExternalGroupList, *Response, error)
ListExternalGroups lists external groups connected to a team on GitHub.
GitHub API docs: https://docs.github.com/en/enterprise-cloud@latest/rest/teams/external-groups#list-external-groups-in-an-organization
func (s *TeamsService) ListIDPGroupsForTeamByID(ctx context.Context, orgID, teamID int64) (*IDPGroupList, *Response, error)
ListIDPGroupsForTeamByID lists IDP groups connected to a team on GitHub given organization and team IDs.
GitHub API docs: https://docs.github.com/en/rest/teams/team-sync#list-idp-groups-for-a-team
func (s *TeamsService) ListIDPGroupsForTeamBySlug(ctx context.Context, org, slug string) (*IDPGroupList, *Response, error)
ListIDPGroupsForTeamBySlug lists IDP groups connected to a team on GitHub given organization name and team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/team-sync#list-idp-groups-for-a-team
func (s *TeamsService) ListIDPGroupsInOrganization(ctx context.Context, org string, opts *ListCursorOptions) (*IDPGroupList, *Response, error)
ListIDPGroupsInOrganization lists IDP groups available in an organization.
GitHub API docs: https://docs.github.com/en/rest/teams/team-sync#list-idp-groups-for-an-organization
func (s *TeamsService) ListPendingTeamInvitationsByID(ctx context.Context, orgID, teamID int64, opts *ListOptions) ([]*Invitation, *Response, error)
ListPendingTeamInvitationsByID gets pending invitation list of a team, given a specified organization ID, by team ID.
GitHub API docs: https://docs.github.com/en/rest/teams/members#list-pending-team-invitations
func (s *TeamsService) ListPendingTeamInvitationsBySlug(ctx context.Context, org, slug string, opts *ListOptions) ([]*Invitation, *Response, error)
ListPendingTeamInvitationsBySlug get pending invitation list of a team, given a specified organization name, by team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/members#list-pending-team-invitations
func (s *TeamsService) ListTeamMembersByID(ctx context.Context, orgID, teamID int64, opts *TeamListTeamMembersOptions) ([]*User, *Response, error)
ListTeamMembersByID lists all of the users who are members of a team, given a specified organization ID, by team ID.
GitHub API docs: https://docs.github.com/en/rest/teams/members#list-team-members
func (s *TeamsService) ListTeamMembersBySlug(ctx context.Context, org, slug string, opts *TeamListTeamMembersOptions) ([]*User, *Response, error)
ListTeamMembersBySlug lists all of the users who are members of a team, given a specified organization name, by team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/members#list-team-members
func (s *TeamsService) ListTeamProjectsByID(ctx context.Context, orgID, teamID int64) ([]*Project, *Response, error)
ListTeamProjectsByID lists the organization projects for a team given the team ID.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-team-projects
func (s *TeamsService) ListTeamProjectsBySlug(ctx context.Context, org, slug string) ([]*Project, *Response, error)
ListTeamProjectsBySlug lists the organization projects for a team given the team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-team-projects
func (s *TeamsService) ListTeamReposByID(ctx context.Context, orgID, teamID int64, opts *ListOptions) ([]*Repository, *Response, error)
ListTeamReposByID lists the repositories given a team ID that the specified team has access to.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-team-repositories
func (s *TeamsService) ListTeamReposBySlug(ctx context.Context, org, slug string, opts *ListOptions) ([]*Repository, *Response, error)
ListTeamReposBySlug lists the repositories given a team slug that the specified team has access to.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-team-repositories
func (s *TeamsService) ListTeams(ctx context.Context, org string, opts *ListOptions) ([]*Team, *Response, error)
ListTeams lists all of the teams for an organization.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-teams
▹ Example
func (s *TeamsService) ListUserTeams(ctx context.Context, opts *ListOptions) ([]*Team, *Response, error)
ListUserTeams lists a user's teams GitHub API docs: https://docs.github.com/en/rest/teams/teams#list-teams-for-the-authenticated-user
func (s *TeamsService) RemoveConnectedExternalGroup(ctx context.Context, org, slug string) (*Response, error)
RemoveConnectedExternalGroup removes the connection between an external group and a team.
GitHub API docs: https://docs.github.com/en/enterprise-cloud@latest/rest/teams/external-groups#remove-the-connection-between-an-external-group-and-a-team
func (s *TeamsService) RemoveTeamMembershipByID(ctx context.Context, orgID, teamID int64, user string) (*Response, error)
RemoveTeamMembershipByID removes a user from a team, given a specified organization ID, by team ID.
GitHub API docs: https://docs.github.com/en/rest/teams/members#remove-team-membership-for-a-user
func (s *TeamsService) RemoveTeamMembershipBySlug(ctx context.Context, org, slug, user string) (*Response, error)
RemoveTeamMembershipBySlug removes a user from a team, given a specified organization name, by team slug.
GitHub API docs: https://docs.github.com/en/rest/teams/members#remove-team-membership-for-a-user
func (s *TeamsService) RemoveTeamProjectByID(ctx context.Context, orgID, teamID, projectID int64) (*Response, error)
RemoveTeamProjectByID removes an organization project from a team given team ID. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have "read" access to both the team and project, or "admin" access to the team or project. Note: This endpoint removes the project from the team, but does not delete it.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#remove-a-project-from-a-team
func (s *TeamsService) RemoveTeamProjectBySlug(ctx context.Context, org, slug string, projectID int64) (*Response, error)
RemoveTeamProjectBySlug removes an organization project from a team given team slug. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have "read" access to both the team and project, or "admin" access to the team or project. Note: This endpoint removes the project from the team, but does not delete it.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#remove-a-project-from-a-team
func (s *TeamsService) RemoveTeamRepoByID(ctx context.Context, orgID, teamID int64, owner, repo string) (*Response, error)
RemoveTeamRepoByID removes a repository from being managed by the specified team given the team ID. Note that this does not delete the repository, it just removes it from the team.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#remove-a-repository-from-a-team
func (s *TeamsService) RemoveTeamRepoBySlug(ctx context.Context, org, slug, owner, repo string) (*Response, error)
RemoveTeamRepoBySlug removes a repository from being managed by the specified team given the team slug. Note that this does not delete the repository, it just removes it from the team.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#remove-a-repository-from-a-team
func (s *TeamsService) ReviewTeamProjectsByID(ctx context.Context, orgID, teamID, projectID int64) (*Project, *Response, error)
ReviewTeamProjectsByID checks whether a team, given its ID, has read, write, or admin permissions for an organization project.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#check-team-permissions-for-a-project
func (s *TeamsService) ReviewTeamProjectsBySlug(ctx context.Context, org, slug string, projectID int64) (*Project, *Response, error)
ReviewTeamProjectsBySlug checks whether a team, given its slug, has read, write, or admin permissions for an organization project.
GitHub API docs: https://docs.github.com/en/rest/teams/teams#check-team-permissions-for-a-project
func (s *TeamsService) UpdateConnectedExternalGroup(ctx context.Context, org, slug string, eg *ExternalGroup) (*ExternalGroup, *Response, error)
UpdateConnectedExternalGroup updates the connection between an external group and a team.
GitHub API docs: https://docs.github.com/en/enterprise-cloud@latest/rest/teams/external-groups#update-the-connection-between-an-external-group-and-a-team
TemplateRepoRequest represents a request to create a repository from a template.
type TemplateRepoRequest struct { // Name is required when creating a repo. Name *string `json:"name,omitempty"` Owner *string `json:"owner,omitempty"` Description *string `json:"description,omitempty"` IncludeAllBranches *bool `json:"include_all_branches,omitempty"` Private *bool `json:"private,omitempty"` }
func (t *TemplateRepoRequest) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (t *TemplateRepoRequest) GetIncludeAllBranches() bool
GetIncludeAllBranches returns the IncludeAllBranches field if it's non-nil, zero value otherwise.
func (t *TemplateRepoRequest) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (t *TemplateRepoRequest) GetOwner() string
GetOwner returns the Owner field if it's non-nil, zero value otherwise.
func (t *TemplateRepoRequest) GetPrivate() bool
GetPrivate returns the Private field if it's non-nil, zero value otherwise.
TextMatch represents a text match for a SearchResult
type TextMatch struct { ObjectURL *string `json:"object_url,omitempty"` ObjectType *string `json:"object_type,omitempty"` Property *string `json:"property,omitempty"` Fragment *string `json:"fragment,omitempty"` Matches []*Match `json:"matches,omitempty"` }
func (t *TextMatch) GetFragment() string
GetFragment returns the Fragment field if it's non-nil, zero value otherwise.
func (t *TextMatch) GetObjectType() string
GetObjectType returns the ObjectType field if it's non-nil, zero value otherwise.
func (t *TextMatch) GetObjectURL() string
GetObjectURL returns the ObjectURL field if it's non-nil, zero value otherwise.
func (t *TextMatch) GetProperty() string
GetProperty returns the Property field if it's non-nil, zero value otherwise.
func (tm TextMatch) String() string
Timeline represents an event that occurred around an Issue or Pull Request.
It is similar to an IssueEvent but may contain more information. GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/events/issue-event-types
type Timeline struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` CommitURL *string `json:"commit_url,omitempty"` // The User object that generated the event. Actor *User `json:"actor,omitempty"` // The person who commented on the issue. User *User `json:"user,omitempty"` // The person who authored the commit. Author *CommitAuthor `json:"author,omitempty"` // The person who committed the commit on behalf of the author. Committer *CommitAuthor `json:"committer,omitempty"` // The SHA of the commit in the pull request. SHA *string `json:"sha,omitempty"` // The commit message. Message *string `json:"message,omitempty"` // Event identifies the actual type of Event that occurred. Possible values // are: // // assigned // The issue was assigned to the assignee. // // closed // The issue was closed by the actor. When the commit_id is present, it // identifies the commit that closed the issue using "closes / fixes #NN" // syntax. // // commented // A comment was added to the issue. // // committed // A commit was added to the pull request's 'HEAD' branch. Only provided // for pull requests. // // cross-referenced // The issue was referenced from another issue. The 'source' attribute // contains the 'id', 'actor', and 'url' of the reference's source. // // demilestoned // The issue was removed from a milestone. // // head_ref_deleted // The pull request's branch was deleted. // // head_ref_restored // The pull request's branch was restored. // // labeled // A label was added to the issue. // // locked // The issue was locked by the actor. // // mentioned // The actor was @mentioned in an issue body. // // merged // The issue was merged by the actor. The 'commit_id' attribute is the // SHA1 of the HEAD commit that was merged. // // milestoned // The issue was added to a milestone. // // referenced // The issue was referenced from a commit message. The 'commit_id' // attribute is the commit SHA1 of where that happened. // // renamed // The issue title was changed. // // reopened // The issue was reopened by the actor. // // reviewed // The pull request was reviewed. // // subscribed // The actor subscribed to receive notifications for an issue. // // unassigned // The assignee was unassigned from the issue. // // unlabeled // A label was removed from the issue. // // unlocked // The issue was unlocked by the actor. // // unsubscribed // The actor unsubscribed to stop receiving notifications for an issue. // Event *string `json:"event,omitempty"` // The string SHA of a commit that referenced this Issue or Pull Request. CommitID *string `json:"commit_id,omitempty"` // The timestamp indicating when the event occurred. CreatedAt *time.Time `json:"created_at,omitempty"` // The Label object including `name` and `color` attributes. Only provided for // 'labeled' and 'unlabeled' events. Label *Label `json:"label,omitempty"` // The User object which was assigned to (or unassigned from) this Issue or // Pull Request. Only provided for 'assigned' and 'unassigned' events. Assignee *User `json:"assignee,omitempty"` Assigner *User `json:"assigner,omitempty"` // The Milestone object including a 'title' attribute. // Only provided for 'milestoned' and 'demilestoned' events. Milestone *Milestone `json:"milestone,omitempty"` // The 'id', 'actor', and 'url' for the source of a reference from another issue. // Only provided for 'cross-referenced' events. Source *Source `json:"source,omitempty"` // An object containing rename details including 'from' and 'to' attributes. // Only provided for 'renamed' events. Rename *Rename `json:"rename,omitempty"` ProjectCard *ProjectCard `json:"project_card,omitempty"` // The state of a submitted review. Can be one of: 'commented', // 'changes_requested' or 'approved'. // Only provided for 'reviewed' events. State *string `json:"state,omitempty"` // The person requested to review the pull request. Reviewer *User `json:"requested_reviewer,omitempty"` // The person who requested a review. Requester *User `json:"review_requester,omitempty"` // The review summary text. Body *string `json:"body,omitempty"` SubmittedAt *time.Time `json:"submitted_at,omitempty"` }
func (t *Timeline) GetActor() *User
GetActor returns the Actor field.
func (t *Timeline) GetAssignee() *User
GetAssignee returns the Assignee field.
func (t *Timeline) GetAssigner() *User
GetAssigner returns the Assigner field.
func (t *Timeline) GetAuthor() *CommitAuthor
GetAuthor returns the Author field.
func (t *Timeline) GetBody() string
GetBody returns the Body field if it's non-nil, zero value otherwise.
func (t *Timeline) GetCommitID() string
GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.
func (t *Timeline) GetCommitURL() string
GetCommitURL returns the CommitURL field if it's non-nil, zero value otherwise.
func (t *Timeline) GetCommitter() *CommitAuthor
GetCommitter returns the Committer field.
func (t *Timeline) GetCreatedAt() time.Time
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (t *Timeline) GetEvent() string
GetEvent returns the Event field if it's non-nil, zero value otherwise.
func (t *Timeline) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (t *Timeline) GetLabel() *Label
GetLabel returns the Label field.
func (t *Timeline) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (t *Timeline) GetMilestone() *Milestone
GetMilestone returns the Milestone field.
func (t *Timeline) GetProjectCard() *ProjectCard
GetProjectCard returns the ProjectCard field.
func (t *Timeline) GetRename() *Rename
GetRename returns the Rename field.
func (t *Timeline) GetRequester() *User
GetRequester returns the Requester field.
func (t *Timeline) GetReviewer() *User
GetReviewer returns the Reviewer field.
func (t *Timeline) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (t *Timeline) GetSource() *Source
GetSource returns the Source field.
func (t *Timeline) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (t *Timeline) GetSubmittedAt() time.Time
GetSubmittedAt returns the SubmittedAt field if it's non-nil, zero value otherwise.
func (t *Timeline) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (t *Timeline) GetUser() *User
GetUser returns the User field.
Timestamp represents a time that can be unmarshalled from a JSON string formatted as either an RFC3339 or Unix timestamp. This is necessary for some fields since the GitHub API is inconsistent in how it represents times. All exported methods of time.Time can be called on Timestamp.
type Timestamp struct { time.Time }
func (t Timestamp) Equal(u Timestamp) bool
Equal reports whether t and u are equal based on time.Equal
func (t Timestamp) String() string
func (t *Timestamp) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON implements the json.Unmarshaler interface. Time is expected in RFC3339 or Unix format.
Tool represents the tool used to generate a GitHub Code Scanning Alert.
type Tool struct { Name *string `json:"name,omitempty"` GUID *string `json:"guid,omitempty"` Version *string `json:"version,omitempty"` }
func (t *Tool) GetGUID() string
GetGUID returns the GUID field if it's non-nil, zero value otherwise.
func (t *Tool) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (t *Tool) GetVersion() string
GetVersion returns the Version field if it's non-nil, zero value otherwise.
type TopicResult struct { Name *string `json:"name,omitempty"` DisplayName *string `json:"display_name,omitempty"` ShortDescription *string `json:"short_description,omitempty"` Description *string `json:"description,omitempty"` CreatedBy *string `json:"created_by,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *string `json:"updated_at,omitempty"` Featured *bool `json:"featured,omitempty"` Curated *bool `json:"curated,omitempty"` Score *float64 `json:"score,omitempty"` }
func (t *TopicResult) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetCreatedBy() string
GetCreatedBy returns the CreatedBy field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetCurated() bool
GetCurated returns the Curated field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetDescription() string
GetDescription returns the Description field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetDisplayName() string
GetDisplayName returns the DisplayName field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetFeatured() bool
GetFeatured returns the Featured field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetScore() *float64
GetScore returns the Score field.
func (t *TopicResult) GetShortDescription() string
GetShortDescription returns the ShortDescription field if it's non-nil, zero value otherwise.
func (t *TopicResult) GetUpdatedAt() string
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
TopicsSearchResult represents the result of a topics search.
type TopicsSearchResult struct { Total *int `json:"total_count,omitempty"` IncompleteResults *bool `json:"incomplete_results,omitempty"` Topics []*TopicResult `json:"items,omitempty"` }
func (t *TopicsSearchResult) GetIncompleteResults() bool
GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.
func (t *TopicsSearchResult) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
TrafficBreakdownOptions specifies the parameters to methods that support breakdown per day or week. Can be one of: day, week. Default: day.
type TrafficBreakdownOptions struct { Per string `url:"per,omitempty"` }
TrafficClones represent information about the number of clones in the last 14 days.
type TrafficClones struct { Clones []*TrafficData `json:"clones,omitempty"` Count *int `json:"count,omitempty"` Uniques *int `json:"uniques,omitempty"` }
func (t *TrafficClones) GetCount() int
GetCount returns the Count field if it's non-nil, zero value otherwise.
func (t *TrafficClones) GetUniques() int
GetUniques returns the Uniques field if it's non-nil, zero value otherwise.
TrafficData represent information about a specific timestamp in views or clones list.
type TrafficData struct { Timestamp *Timestamp `json:"timestamp,omitempty"` Count *int `json:"count,omitempty"` Uniques *int `json:"uniques,omitempty"` }
func (t *TrafficData) GetCount() int
GetCount returns the Count field if it's non-nil, zero value otherwise.
func (t *TrafficData) GetTimestamp() Timestamp
GetTimestamp returns the Timestamp field if it's non-nil, zero value otherwise.
func (t *TrafficData) GetUniques() int
GetUniques returns the Uniques field if it's non-nil, zero value otherwise.
TrafficPath represent information about the traffic on a path of the repo.
type TrafficPath struct { Path *string `json:"path,omitempty"` Title *string `json:"title,omitempty"` Count *int `json:"count,omitempty"` Uniques *int `json:"uniques,omitempty"` }
func (t *TrafficPath) GetCount() int
GetCount returns the Count field if it's non-nil, zero value otherwise.
func (t *TrafficPath) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (t *TrafficPath) GetTitle() string
GetTitle returns the Title field if it's non-nil, zero value otherwise.
func (t *TrafficPath) GetUniques() int
GetUniques returns the Uniques field if it's non-nil, zero value otherwise.
TrafficReferrer represent information about traffic from a referrer .
type TrafficReferrer struct { Referrer *string `json:"referrer,omitempty"` Count *int `json:"count,omitempty"` Uniques *int `json:"uniques,omitempty"` }
func (t *TrafficReferrer) GetCount() int
GetCount returns the Count field if it's non-nil, zero value otherwise.
func (t *TrafficReferrer) GetReferrer() string
GetReferrer returns the Referrer field if it's non-nil, zero value otherwise.
func (t *TrafficReferrer) GetUniques() int
GetUniques returns the Uniques field if it's non-nil, zero value otherwise.
TrafficViews represent information about the number of views in the last 14 days.
type TrafficViews struct { Views []*TrafficData `json:"views,omitempty"` Count *int `json:"count,omitempty"` Uniques *int `json:"uniques,omitempty"` }
func (t *TrafficViews) GetCount() int
GetCount returns the Count field if it's non-nil, zero value otherwise.
func (t *TrafficViews) GetUniques() int
GetUniques returns the Uniques field if it's non-nil, zero value otherwise.
TransferRequest represents a request to transfer a repository.
type TransferRequest struct { NewOwner string `json:"new_owner"` TeamID []int64 `json:"team_ids,omitempty"` }
Tree represents a GitHub tree.
type Tree struct { SHA *string `json:"sha,omitempty"` Entries []*TreeEntry `json:"tree,omitempty"` // Truncated is true if the number of items in the tree // exceeded GitHub's maximum limit and the Entries were truncated // in the response. Only populated for requests that fetch // trees like Git.GetTree. Truncated *bool `json:"truncated,omitempty"` }
func (t *Tree) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (t *Tree) GetTruncated() bool
GetTruncated returns the Truncated field if it's non-nil, zero value otherwise.
func (t Tree) String() string
TreeEntry represents the contents of a tree structure. TreeEntry can represent either a blob, a commit (in the case of a submodule), or another tree.
type TreeEntry struct { SHA *string `json:"sha,omitempty"` Path *string `json:"path,omitempty"` Mode *string `json:"mode,omitempty"` Type *string `json:"type,omitempty"` Size *int `json:"size,omitempty"` Content *string `json:"content,omitempty"` URL *string `json:"url,omitempty"` }
func (t *TreeEntry) GetContent() string
GetContent returns the Content field if it's non-nil, zero value otherwise.
func (t *TreeEntry) GetMode() string
GetMode returns the Mode field if it's non-nil, zero value otherwise.
func (t *TreeEntry) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (t *TreeEntry) GetSHA() string
GetSHA returns the SHA field if it's non-nil, zero value otherwise.
func (t *TreeEntry) GetSize() int
GetSize returns the Size field if it's non-nil, zero value otherwise.
func (t *TreeEntry) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (t *TreeEntry) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (t *TreeEntry) MarshalJSON() ([]byte, error)
func (t TreeEntry) String() string
TwoFactorAuthError occurs when using HTTP Basic Authentication for a user that has two-factor authentication enabled. The request can be reattempted by providing a one-time password in the request.
type TwoFactorAuthError ErrorResponse
func (r *TwoFactorAuthError) Error() string
UnauthenticatedRateLimitedTransport allows you to make unauthenticated calls that need to use a higher rate limit associated with your OAuth application.
t := &github.UnauthenticatedRateLimitedTransport{ ClientID: "your app's client ID", ClientSecret: "your app's client secret", } client := github.NewClient(t.Client())
This will add the client id and secret as a base64-encoded string in the format ClientID:ClientSecret and apply it as an "Authorization": "Basic" header.
See https://docs.github.com/en/rest/#unauthenticated-rate-limited-requests for more information.
type UnauthenticatedRateLimitedTransport struct { // ClientID is the GitHub OAuth client ID of the current application, which // can be found by selecting its entry in the list at // https://github.com/settings/applications. ClientID string // ClientSecret is the GitHub OAuth client secret of the current // application. ClientSecret string // Transport is the underlying HTTP transport to use when making requests. // It will default to http.DefaultTransport if nil. Transport http.RoundTripper }
func (t *UnauthenticatedRateLimitedTransport) Client() *http.Client
Client returns an *http.Client that makes requests which are subject to the rate limit of your OAuth application.
func (t *UnauthenticatedRateLimitedTransport) RoundTrip(req *http.Request) (*http.Response, error)
RoundTrip implements the RoundTripper interface.
UpdateAttributeForSCIMUserOperations represents operations for UpdateAttributeForSCIMUser.
type UpdateAttributeForSCIMUserOperations struct { Op string `json:"op"` // (Required.) Path *string `json:"path,omitempty"` // (Optional.) Value json.RawMessage `json:"value,omitempty"` // (Optional.) }
func (u *UpdateAttributeForSCIMUserOperations) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
UpdateAttributeForSCIMUserOptions represents options for UpdateAttributeForSCIMUser.
GitHub API docs: https://docs.github.com/en/rest/scim#update-an-attribute-for-a-scim-user--parameters
type UpdateAttributeForSCIMUserOptions struct { Schemas []string `json:"schemas,omitempty"` // (Optional.) Operations UpdateAttributeForSCIMUserOperations `json:"operations"` // Set of operations to be performed. (Required.) }
UpdateCheckRunOptions sets up parameters needed to update a CheckRun.
type UpdateCheckRunOptions struct { Name string `json:"name"` // The name of the check (e.g., "code-coverage"). (Required.) DetailsURL *string `json:"details_url,omitempty"` // The URL of the integrator's site that has the full details of the check. (Optional.) ExternalID *string `json:"external_id,omitempty"` // A reference for the run on the integrator's system. (Optional.) Status *string `json:"status,omitempty"` // The current status. Can be one of "queued", "in_progress", or "completed". Default: "queued". (Optional.) Conclusion *string `json:"conclusion,omitempty"` // Can be one of "success", "failure", "neutral", "cancelled", "skipped", "timed_out", or "action_required". (Optional. Required if you provide a status of "completed".) CompletedAt *Timestamp `json:"completed_at,omitempty"` // The time the check completed. (Optional. Required if you provide conclusion.) Output *CheckRunOutput `json:"output,omitempty"` // Provide descriptive details about the run. (Optional) Actions []*CheckRunAction `json:"actions,omitempty"` // Possible further actions the integrator can perform, which a user may trigger. (Optional.) }
func (u *UpdateCheckRunOptions) GetCompletedAt() Timestamp
GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.
func (u *UpdateCheckRunOptions) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (u *UpdateCheckRunOptions) GetDetailsURL() string
GetDetailsURL returns the DetailsURL field if it's non-nil, zero value otherwise.
func (u *UpdateCheckRunOptions) GetExternalID() string
GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.
func (u *UpdateCheckRunOptions) GetOutput() *CheckRunOutput
GetOutput returns the Output field.
func (u *UpdateCheckRunOptions) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
UpdateRunnerGroupRequest represents a request to update a Runner group for an organization.
type UpdateRunnerGroupRequest struct { Name *string `json:"name,omitempty"` Visibility *string `json:"visibility,omitempty"` AllowsPublicRepositories *bool `json:"allows_public_repositories,omitempty"` }
func (u *UpdateRunnerGroupRequest) GetAllowsPublicRepositories() bool
GetAllowsPublicRepositories returns the AllowsPublicRepositories field if it's non-nil, zero value otherwise.
func (u *UpdateRunnerGroupRequest) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (u *UpdateRunnerGroupRequest) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
UploadOptions specifies the parameters to methods that support uploads.
type UploadOptions struct { Name string `url:"name,omitempty"` Label string `url:"label,omitempty"` MediaType string `url:"-"` }
User represents a GitHub user.
type User struct { Login *string `json:"login,omitempty"` ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` AvatarURL *string `json:"avatar_url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` GravatarID *string `json:"gravatar_id,omitempty"` Name *string `json:"name,omitempty"` Company *string `json:"company,omitempty"` Blog *string `json:"blog,omitempty"` Location *string `json:"location,omitempty"` Email *string `json:"email,omitempty"` Hireable *bool `json:"hireable,omitempty"` Bio *string `json:"bio,omitempty"` TwitterUsername *string `json:"twitter_username,omitempty"` PublicRepos *int `json:"public_repos,omitempty"` PublicGists *int `json:"public_gists,omitempty"` Followers *int `json:"followers,omitempty"` Following *int `json:"following,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` SuspendedAt *Timestamp `json:"suspended_at,omitempty"` Type *string `json:"type,omitempty"` SiteAdmin *bool `json:"site_admin,omitempty"` TotalPrivateRepos *int `json:"total_private_repos,omitempty"` OwnedPrivateRepos *int `json:"owned_private_repos,omitempty"` PrivateGists *int `json:"private_gists,omitempty"` DiskUsage *int `json:"disk_usage,omitempty"` Collaborators *int `json:"collaborators,omitempty"` TwoFactorAuthentication *bool `json:"two_factor_authentication,omitempty"` Plan *Plan `json:"plan,omitempty"` LdapDn *string `json:"ldap_dn,omitempty"` // API URLs URL *string `json:"url,omitempty"` EventsURL *string `json:"events_url,omitempty"` FollowingURL *string `json:"following_url,omitempty"` FollowersURL *string `json:"followers_url,omitempty"` GistsURL *string `json:"gists_url,omitempty"` OrganizationsURL *string `json:"organizations_url,omitempty"` ReceivedEventsURL *string `json:"received_events_url,omitempty"` ReposURL *string `json:"repos_url,omitempty"` StarredURL *string `json:"starred_url,omitempty"` SubscriptionsURL *string `json:"subscriptions_url,omitempty"` // TextMatches is only populated from search results that request text matches // See: search.go and https://docs.github.com/en/rest/search/#text-match-metadata TextMatches []*TextMatch `json:"text_matches,omitempty"` // Permissions and RoleName identify the permissions and role that a user has on a given // repository. These are only populated when calling Repositories.ListCollaborators. Permissions map[string]bool `json:"permissions,omitempty"` RoleName *string `json:"role_name,omitempty"` }
func (u *User) GetAvatarURL() string
GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.
func (u *User) GetBio() string
GetBio returns the Bio field if it's non-nil, zero value otherwise.
func (u *User) GetBlog() string
GetBlog returns the Blog field if it's non-nil, zero value otherwise.
func (u *User) GetCollaborators() int
GetCollaborators returns the Collaborators field if it's non-nil, zero value otherwise.
func (u *User) GetCompany() string
GetCompany returns the Company field if it's non-nil, zero value otherwise.
func (u *User) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (u *User) GetDiskUsage() int
GetDiskUsage returns the DiskUsage field if it's non-nil, zero value otherwise.
func (u *User) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (u *User) GetEventsURL() string
GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.
func (u *User) GetFollowers() int
GetFollowers returns the Followers field if it's non-nil, zero value otherwise.
func (u *User) GetFollowersURL() string
GetFollowersURL returns the FollowersURL field if it's non-nil, zero value otherwise.
func (u *User) GetFollowing() int
GetFollowing returns the Following field if it's non-nil, zero value otherwise.
func (u *User) GetFollowingURL() string
GetFollowingURL returns the FollowingURL field if it's non-nil, zero value otherwise.
func (u *User) GetGistsURL() string
GetGistsURL returns the GistsURL field if it's non-nil, zero value otherwise.
func (u *User) GetGravatarID() string
GetGravatarID returns the GravatarID field if it's non-nil, zero value otherwise.
func (u *User) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (u *User) GetHireable() bool
GetHireable returns the Hireable field if it's non-nil, zero value otherwise.
func (u *User) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (u *User) GetLdapDn() string
GetLdapDn returns the LdapDn field if it's non-nil, zero value otherwise.
func (u *User) GetLocation() string
GetLocation returns the Location field if it's non-nil, zero value otherwise.
func (u *User) GetLogin() string
GetLogin returns the Login field if it's non-nil, zero value otherwise.
func (u *User) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (u *User) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (u *User) GetOrganizationsURL() string
GetOrganizationsURL returns the OrganizationsURL field if it's non-nil, zero value otherwise.
func (u *User) GetOwnedPrivateRepos() int
GetOwnedPrivateRepos returns the OwnedPrivateRepos field if it's non-nil, zero value otherwise.
func (u *User) GetPermissions() map[string]bool
GetPermissions returns the Permissions map if it's non-nil, an empty map otherwise.
func (u *User) GetPlan() *Plan
GetPlan returns the Plan field.
func (u *User) GetPrivateGists() int
GetPrivateGists returns the PrivateGists field if it's non-nil, zero value otherwise.
func (u *User) GetPublicGists() int
GetPublicGists returns the PublicGists field if it's non-nil, zero value otherwise.
func (u *User) GetPublicRepos() int
GetPublicRepos returns the PublicRepos field if it's non-nil, zero value otherwise.
func (u *User) GetReceivedEventsURL() string
GetReceivedEventsURL returns the ReceivedEventsURL field if it's non-nil, zero value otherwise.
func (u *User) GetReposURL() string
GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.
func (u *User) GetRoleName() string
GetRoleName returns the RoleName field if it's non-nil, zero value otherwise.
func (u *User) GetSiteAdmin() bool
GetSiteAdmin returns the SiteAdmin field if it's non-nil, zero value otherwise.
func (u *User) GetStarredURL() string
GetStarredURL returns the StarredURL field if it's non-nil, zero value otherwise.
func (u *User) GetSubscriptionsURL() string
GetSubscriptionsURL returns the SubscriptionsURL field if it's non-nil, zero value otherwise.
func (u *User) GetSuspendedAt() Timestamp
GetSuspendedAt returns the SuspendedAt field if it's non-nil, zero value otherwise.
func (u *User) GetTotalPrivateRepos() int
GetTotalPrivateRepos returns the TotalPrivateRepos field if it's non-nil, zero value otherwise.
func (u *User) GetTwitterUsername() string
GetTwitterUsername returns the TwitterUsername field if it's non-nil, zero value otherwise.
func (u *User) GetTwoFactorAuthentication() bool
GetTwoFactorAuthentication returns the TwoFactorAuthentication field if it's non-nil, zero value otherwise.
func (u *User) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (u *User) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (u *User) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (u User) String() string
UserAuthorization represents the impersonation response.
type UserAuthorization struct { ID *int64 `json:"id,omitempty"` URL *string `json:"url,omitempty"` Scopes []string `json:"scopes,omitempty"` Token *string `json:"token,omitempty"` TokenLastEight *string `json:"token_last_eight,omitempty"` HashedToken *string `json:"hashed_token,omitempty"` App *OAuthAPP `json:"app,omitempty"` Note *string `json:"note,omitempty"` NoteURL *string `json:"note_url,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` Fingerprint *string `json:"fingerprint,omitempty"` }
func (u *UserAuthorization) GetApp() *OAuthAPP
GetApp returns the App field.
func (u *UserAuthorization) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetFingerprint() string
GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetHashedToken() string
GetHashedToken returns the HashedToken field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetNote() string
GetNote returns the Note field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetNoteURL() string
GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetToken() string
GetToken returns the Token field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetTokenLastEight() string
GetTokenLastEight returns the TokenLastEight field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (u *UserAuthorization) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
UserContext represents the contextual information about user.
type UserContext struct { Message *string `json:"message,omitempty"` Octicon *string `json:"octicon,omitempty"` }
func (u *UserContext) GetMessage() string
GetMessage returns the Message field if it's non-nil, zero value otherwise.
func (u *UserContext) GetOcticon() string
GetOcticon returns the Octicon field if it's non-nil, zero value otherwise.
UserEmail represents user's email address
type UserEmail struct { Email *string `json:"email,omitempty"` Primary *bool `json:"primary,omitempty"` Verified *bool `json:"verified,omitempty"` Visibility *string `json:"visibility,omitempty"` }
func (u *UserEmail) GetEmail() string
GetEmail returns the Email field if it's non-nil, zero value otherwise.
func (u *UserEmail) GetPrimary() bool
GetPrimary returns the Primary field if it's non-nil, zero value otherwise.
func (u *UserEmail) GetVerified() bool
GetVerified returns the Verified field if it's non-nil, zero value otherwise.
func (u *UserEmail) GetVisibility() string
GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.
UserEvent is triggered when a user is created or deleted. The Webhook event name is "user".
Only global webhooks can subscribe to this event type.
GitHub API docs: https://developer.github.com/enterprise/v3/activity/events/types/#userevent-enterprise
type UserEvent struct { User *User `json:"user,omitempty"` // The action performed. Possible values are: "created" or "deleted". Action *string `json:"action,omitempty"` Enterprise *Enterprise `json:"enterprise,omitempty"` Sender *User `json:"sender,omitempty"` // The following fields are only populated by Webhook events. Installation *Installation `json:"installation,omitempty"` }
func (u *UserEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (u *UserEvent) GetEnterprise() *Enterprise
GetEnterprise returns the Enterprise field.
func (u *UserEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (u *UserEvent) GetSender() *User
GetSender returns the Sender field.
func (u *UserEvent) GetUser() *User
GetUser returns the User field.
UserLDAPMapping represents the mapping between a GitHub user and an LDAP user.
type UserLDAPMapping struct { ID *int64 `json:"id,omitempty"` LDAPDN *string `json:"ldap_dn,omitempty"` Login *string `json:"login,omitempty"` AvatarURL *string `json:"avatar_url,omitempty"` GravatarID *string `json:"gravatar_id,omitempty"` Type *string `json:"type,omitempty"` SiteAdmin *bool `json:"site_admin,omitempty"` URL *string `json:"url,omitempty"` EventsURL *string `json:"events_url,omitempty"` FollowingURL *string `json:"following_url,omitempty"` FollowersURL *string `json:"followers_url,omitempty"` GistsURL *string `json:"gists_url,omitempty"` OrganizationsURL *string `json:"organizations_url,omitempty"` ReceivedEventsURL *string `json:"received_events_url,omitempty"` ReposURL *string `json:"repos_url,omitempty"` StarredURL *string `json:"starred_url,omitempty"` SubscriptionsURL *string `json:"subscriptions_url,omitempty"` }
func (u *UserLDAPMapping) GetAvatarURL() string
GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetEventsURL() string
GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetFollowersURL() string
GetFollowersURL returns the FollowersURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetFollowingURL() string
GetFollowingURL returns the FollowingURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetGistsURL() string
GetGistsURL returns the GistsURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetGravatarID() string
GetGravatarID returns the GravatarID field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetLDAPDN() string
GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetLogin() string
GetLogin returns the Login field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetOrganizationsURL() string
GetOrganizationsURL returns the OrganizationsURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetReceivedEventsURL() string
GetReceivedEventsURL returns the ReceivedEventsURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetReposURL() string
GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetSiteAdmin() bool
GetSiteAdmin returns the SiteAdmin field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetStarredURL() string
GetStarredURL returns the StarredURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetSubscriptionsURL() string
GetSubscriptionsURL returns the SubscriptionsURL field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetType() string
GetType returns the Type field if it's non-nil, zero value otherwise.
func (u *UserLDAPMapping) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (m UserLDAPMapping) String() string
UserListOptions specifies optional parameters to the UsersService.ListAll method.
type UserListOptions struct { // ID of the last user seen Since int64 `url:"since,omitempty"` // Note: Pagination is powered exclusively by the Since parameter, // ListOptions.Page has no effect. // ListOptions.PerPage controls an undocumented GitHub API parameter. ListOptions }
UserMigration represents a GitHub migration (archival).
type UserMigration struct { ID *int64 `json:"id,omitempty"` GUID *string `json:"guid,omitempty"` // State is the current state of a migration. // Possible values are: // "pending" which means the migration hasn't started yet, // "exporting" which means the migration is in progress, // "exported" which means the migration finished successfully, or // "failed" which means the migration failed. State *string `json:"state,omitempty"` // LockRepositories indicates whether repositories are locked (to prevent // manipulation) while migrating data. LockRepositories *bool `json:"lock_repositories,omitempty"` // ExcludeAttachments indicates whether attachments should be excluded from // the migration (to reduce migration archive file size). ExcludeAttachments *bool `json:"exclude_attachments,omitempty"` URL *string `json:"url,omitempty"` CreatedAt *string `json:"created_at,omitempty"` UpdatedAt *string `json:"updated_at,omitempty"` Repositories []*Repository `json:"repositories,omitempty"` }
func (u *UserMigration) GetCreatedAt() string
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (u *UserMigration) GetExcludeAttachments() bool
GetExcludeAttachments returns the ExcludeAttachments field if it's non-nil, zero value otherwise.
func (u *UserMigration) GetGUID() string
GetGUID returns the GUID field if it's non-nil, zero value otherwise.
func (u *UserMigration) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (u *UserMigration) GetLockRepositories() bool
GetLockRepositories returns the LockRepositories field if it's non-nil, zero value otherwise.
func (u *UserMigration) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (u *UserMigration) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (u *UserMigration) GetUpdatedAt() string
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (m UserMigration) String() string
UserMigrationOptions specifies the optional parameters to Migration methods.
type UserMigrationOptions struct { // LockRepositories indicates whether repositories should be locked (to prevent // manipulation) while migrating data. LockRepositories bool // ExcludeAttachments indicates whether attachments should be excluded from // the migration (to reduce migration archive file size). ExcludeAttachments bool }
UserStats represents the number of total, admin and suspended users.
type UserStats struct { TotalUsers *int `json:"total_users,omitempty"` AdminUsers *int `json:"admin_users,omitempty"` SuspendedUsers *int `json:"suspended_users,omitempty"` }
func (u *UserStats) GetAdminUsers() int
GetAdminUsers returns the AdminUsers field if it's non-nil, zero value otherwise.
func (u *UserStats) GetSuspendedUsers() int
GetSuspendedUsers returns the SuspendedUsers field if it's non-nil, zero value otherwise.
func (u *UserStats) GetTotalUsers() int
GetTotalUsers returns the TotalUsers field if it's non-nil, zero value otherwise.
func (s UserStats) String() string
UserSuspendOptions represents the reason a user is being suspended.
type UserSuspendOptions struct { Reason *string `json:"reason,omitempty"` }
func (u *UserSuspendOptions) GetReason() string
GetReason returns the Reason field if it's non-nil, zero value otherwise.
UsersSearchResult represents the result of a users search.
type UsersSearchResult struct { Total *int `json:"total_count,omitempty"` IncompleteResults *bool `json:"incomplete_results,omitempty"` Users []*User `json:"items,omitempty"` }
func (u *UsersSearchResult) GetIncompleteResults() bool
GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.
func (u *UsersSearchResult) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
UsersService handles communication with the user related methods of the GitHub API.
GitHub API docs: https://docs.github.com/en/rest/users/
type UsersService service
func (s *UsersService) AcceptInvitation(ctx context.Context, invitationID int64) (*Response, error)
AcceptInvitation accepts the currently-open repository invitation for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/collaborators/invitations#accept-a-repository-invitation
func (s *UsersService) AddEmails(ctx context.Context, emails []string) ([]*UserEmail, *Response, error)
AddEmails adds email addresses of the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/emails#add-an-email-address-for-the-authenticated-user
func (s *UsersService) BlockUser(ctx context.Context, user string) (*Response, error)
BlockUser blocks specified user for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/blocking#block-a-user
func (s *UsersService) CreateGPGKey(ctx context.Context, armoredPublicKey string) (*GPGKey, *Response, error)
CreateGPGKey creates a GPG key. It requires authenticatation via Basic Auth or OAuth with at least write:gpg_key scope.
GitHub API docs: https://docs.github.com/en/rest/users/gpg-keys#create-a-gpg-key
func (s *UsersService) CreateKey(ctx context.Context, key *Key) (*Key, *Response, error)
CreateKey adds a public key for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/keys#create-a-public-ssh-key-for-the-authenticated-user
func (s *UsersService) CreateProject(ctx context.Context, opts *CreateUserProjectOptions) (*Project, *Response, error)
CreateProject creates a GitHub Project for the current user.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#create-a-user-project
func (s *UsersService) DeclineInvitation(ctx context.Context, invitationID int64) (*Response, error)
DeclineInvitation declines the currently-open repository invitation for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/collaborators/invitations#decline-a-repository-invitation
func (s *UsersService) DeleteEmails(ctx context.Context, emails []string) (*Response, error)
DeleteEmails deletes email addresses from authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/emails#delete-an-email-address-for-the-authenticated-user
func (s *UsersService) DeleteGPGKey(ctx context.Context, id int64) (*Response, error)
DeleteGPGKey deletes a GPG key. It requires authentication via Basic Auth or via OAuth with at least admin:gpg_key scope.
GitHub API docs: https://docs.github.com/en/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user
func (s *UsersService) DeleteKey(ctx context.Context, id int64) (*Response, error)
DeleteKey deletes a public key.
GitHub API docs: https://docs.github.com/en/rest/users/keys#delete-a-public-ssh-key-for-the-authenticated-user
func (s *UsersService) DeletePackage(ctx context.Context, user, packageType, packageName string) (*Response, error)
Delete a package from a user. Passing the empty string for "user" will delete the package for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#delete-a-package-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/packages#delete-a-package-for-a-user
func (s *UsersService) DemoteSiteAdmin(ctx context.Context, user string) (*Response, error)
DemoteSiteAdmin demotes a user from site administrator of a GitHub Enterprise instance.
GitHub API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#demote-a-site-administrator-to-an-ordinary-user
func (s *UsersService) Edit(ctx context.Context, user *User) (*User, *Response, error)
Edit the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/users#update-the-authenticated-user
func (s *UsersService) Follow(ctx context.Context, user string) (*Response, error)
Follow will cause the authenticated user to follow the specified user.
GitHub API docs: https://docs.github.com/en/rest/users/followers#follow-a-user
func (s *UsersService) Get(ctx context.Context, user string) (*User, *Response, error)
Get fetches a user. Passing the empty string will fetch the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/users#get-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/users/users#get-a-user
func (s *UsersService) GetByID(ctx context.Context, id int64) (*User, *Response, error)
GetByID fetches a user.
Note: GetByID uses the undocumented GitHub API endpoint /user/:id.
func (s *UsersService) GetGPGKey(ctx context.Context, id int64) (*GPGKey, *Response, error)
GetGPGKey gets extended details for a single GPG key. It requires authentication via Basic Auth or via OAuth with at least read:gpg_key scope.
GitHub API docs: https://docs.github.com/en/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user
func (s *UsersService) GetHovercard(ctx context.Context, user string, opts *HovercardOptions) (*Hovercard, *Response, error)
GetHovercard fetches contextual information about user. It requires authentication via Basic Auth or via OAuth with the repo scope.
GitHub API docs: https://docs.github.com/en/rest/users/users#get-contextual-information-for-a-user
func (s *UsersService) GetKey(ctx context.Context, id int64) (*Key, *Response, error)
GetKey fetches a single public key.
GitHub API docs: https://docs.github.com/en/rest/users/keys#get-a-public-ssh-key-for-the-authenticated-user
func (s *UsersService) GetPackage(ctx context.Context, user, packageType, packageName string) (*Package, *Response, error)
Get a package by name for a user. Passing the empty string for "user" will get the package for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#get-a-package-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/packages#get-a-package-for-a-user
func (s *UsersService) IsBlocked(ctx context.Context, user string) (bool, *Response, error)
IsBlocked reports whether specified user is blocked by the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/blocking#check-if-a-user-is-blocked-by-the-authenticated-user
func (s *UsersService) IsFollowing(ctx context.Context, user, target string) (bool, *Response, error)
IsFollowing checks if "user" is following "target". Passing the empty string for "user" will check if the authenticated user is following "target".
GitHub API docs: https://docs.github.com/en/rest/users/followers#check-if-a-person-is-followed-by-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/users/followers#check-if-a-user-follows-another-user
func (s *UsersService) ListAll(ctx context.Context, opts *UserListOptions) ([]*User, *Response, error)
ListAll lists all GitHub users.
To paginate through all users, populate 'Since' with the ID of the last user.
GitHub API docs: https://docs.github.com/en/rest/users/users#list-users
▹ Example
func (s *UsersService) ListBlockedUsers(ctx context.Context, opts *ListOptions) ([]*User, *Response, error)
ListBlockedUsers lists all the blocked users by the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/blocking#list-users-blocked-by-the-authenticated-user
func (s *UsersService) ListEmails(ctx context.Context, opts *ListOptions) ([]*UserEmail, *Response, error)
ListEmails lists all email addresses for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/emails#list-email-addresses-for-the-authenticated-user
func (s *UsersService) ListFollowers(ctx context.Context, user string, opts *ListOptions) ([]*User, *Response, error)
ListFollowers lists the followers for a user. Passing the empty string will fetch followers for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/followers#list-followers-of-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/users/followers#list-followers-of-a-user
func (s *UsersService) ListFollowing(ctx context.Context, user string, opts *ListOptions) ([]*User, *Response, error)
ListFollowing lists the people that a user is following. Passing the empty string will list people the authenticated user is following.
GitHub API docs: https://docs.github.com/en/rest/users/followers#list-the-people-the-authenticated-user-follows GitHub API docs: https://docs.github.com/en/rest/users/followers#list-the-people-a-user-follows
func (s *UsersService) ListGPGKeys(ctx context.Context, user string, opts *ListOptions) ([]*GPGKey, *Response, error)
ListGPGKeys lists the public GPG keys for a user. Passing the empty string will fetch keys for the authenticated user. It requires authentication via Basic Auth or via OAuth with at least read:gpg_key scope.
GitHub API docs: https://docs.github.com/en/rest/users/gpg-keys#list-gpg-keys-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/users/gpg-keys#list-gpg-keys-for-a-user
func (s *UsersService) ListInvitations(ctx context.Context, opts *ListOptions) ([]*RepositoryInvitation, *Response, error)
ListInvitations lists all currently-open repository invitations for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/collaborators/invitations#list-repository-invitations-for-the-authenticated-user
func (s *UsersService) ListKeys(ctx context.Context, user string, opts *ListOptions) ([]*Key, *Response, error)
ListKeys lists the verified public keys for a user. Passing the empty string will fetch keys for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/keys#list-public-ssh-keys-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/users/keys#list-public-keys-for-a-user
func (s *UsersService) ListPackages(ctx context.Context, user string, opts *PackageListOptions) ([]*Package, *Response, error)
List the packages for a user. Passing the empty string for "user" will list packages for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#list-packages-for-the-authenticated-users-namespace GitHub API docs: https://docs.github.com/en/rest/packages#list-packages-for-a-user
func (s *UsersService) ListProjects(ctx context.Context, user string, opts *ProjectListOptions) ([]*Project, *Response, error)
ListProjects lists the projects for the specified user.
GitHub API docs: https://docs.github.com/en/rest/projects/projects#list-user-projects
func (s *UsersService) PackageDeleteVersion(ctx context.Context, user, packageType, packageName string, packageVersionID int64) (*Response, error)
Delete a package version for a user. Passing the empty string for "user" will delete the version for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#delete-a-package-version-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/packages#delete-package-version-for-a-user
func (s *UsersService) PackageGetAllVersions(ctx context.Context, user, packageType, packageName string, opts *PackageListOptions) ([]*PackageVersion, *Response, error)
Get all versions of a package for a user. Passing the empty string for "user" will get versions for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/packages#get-all-package-versions-for-a-package-owned-by-a-user
func (s *UsersService) PackageGetVersion(ctx context.Context, user, packageType, packageName string, packageVersionID int64) (*PackageVersion, *Response, error)
Get a specific version of a package for a user. Passing the empty string for "user" will get the version for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#get-a-package-version-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/packages#get-a-package-version-for-a-user
func (s *UsersService) PackageRestoreVersion(ctx context.Context, user, packageType, packageName string, packageVersionID int64) (*Response, error)
Restore a package version to a user. Passing the empty string for "user" will restore the version for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#restore-a-package-version-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/packages#restore-package-version-for-a-user
func (s *UsersService) PromoteSiteAdmin(ctx context.Context, user string) (*Response, error)
PromoteSiteAdmin promotes a user to a site administrator of a GitHub Enterprise instance.
GitHub API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#promote-an-ordinary-user-to-a-site-administrator
func (s *UsersService) RestorePackage(ctx context.Context, user, packageType, packageName string) (*Response, error)
Restore a package to a user. Passing the empty string for "user" will restore the package for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/packages#restore-a-package-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/packages#restore-a-package-for-a-user
func (s *UsersService) Suspend(ctx context.Context, user string, opts *UserSuspendOptions) (*Response, error)
Suspend a user on a GitHub Enterprise instance.
GitHub API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#suspend-a-user
func (s *UsersService) UnblockUser(ctx context.Context, user string) (*Response, error)
UnblockUser unblocks specified user for the authenticated user.
GitHub API docs: https://docs.github.com/en/rest/users/blocking#unblock-a-user
func (s *UsersService) Unfollow(ctx context.Context, user string) (*Response, error)
Unfollow will cause the authenticated user to unfollow the specified user.
GitHub API docs: https://docs.github.com/en/rest/users/followers#unfollow-a-user
func (s *UsersService) Unsuspend(ctx context.Context, user string) (*Response, error)
Unsuspend a user on a GitHub Enterprise instance.
GitHub API docs: https://developer.github.com/enterprise/v3/enterprise-admin/users/#unsuspend-a-user
VulnerabilityPackage represents the package object for an Advisory Vulnerability.
type VulnerabilityPackage struct { Ecosystem *string `json:"ecosystem,omitempty"` Name *string `json:"name,omitempty"` }
func (v *VulnerabilityPackage) GetEcosystem() string
GetEcosystem returns the Ecosystem field if it's non-nil, zero value otherwise.
func (v *VulnerabilityPackage) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
WatchEvent is related to starring a repository, not watching. See this API blog post for an explanation: https://developer.github.com/changes/2012-09-05-watcher-api/
The event’s actor is the user who starred a repository, and the event’s repository is the repository that was starred.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#watch
type WatchEvent struct { // Action is the action that was performed. Possible value is: "started". Action *string `json:"action,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (w *WatchEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (w *WatchEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (w *WatchEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (w *WatchEvent) GetSender() *User
GetSender returns the Sender field.
WebHookAuthor represents the author or committer of a commit, as specified in a WebHookCommit. The commit author may not correspond to a GitHub User.
Deprecated: Please use CommitAuthor instead. NOTE Breaking API change: the `Username` field is now called `Login`.
type WebHookAuthor = CommitAuthor
WebHookCommit represents the commit variant we receive from GitHub in a WebHookPayload.
Deprecated: Please use HeadCommit instead.
type WebHookCommit = HeadCommit
WebHookPayload represents the data that is received from GitHub when a push event hook is triggered. The format of these payloads pre-date most of the GitHub v3 API, so there are lots of minor incompatibilities with the types defined in the rest of the API. Therefore, several types are duplicated here to account for these differences.
GitHub API docs: https://help.github.com/articles/post-receive-hooks
Deprecated: Please use PushEvent instead.
type WebHookPayload = PushEvent
WeeklyCommitActivity represents the weekly commit activity for a repository. The days array is a group of commits per day, starting on Sunday.
type WeeklyCommitActivity struct { Days []int `json:"days,omitempty"` Total *int `json:"total,omitempty"` Week *Timestamp `json:"week,omitempty"` }
func (w *WeeklyCommitActivity) GetTotal() int
GetTotal returns the Total field if it's non-nil, zero value otherwise.
func (w *WeeklyCommitActivity) GetWeek() Timestamp
GetWeek returns the Week field if it's non-nil, zero value otherwise.
func (w WeeklyCommitActivity) String() string
WeeklyStats represents the number of additions, deletions and commits a Contributor made in a given week.
type WeeklyStats struct { Week *Timestamp `json:"w,omitempty"` Additions *int `json:"a,omitempty"` Deletions *int `json:"d,omitempty"` Commits *int `json:"c,omitempty"` }
func (w *WeeklyStats) GetAdditions() int
GetAdditions returns the Additions field if it's non-nil, zero value otherwise.
func (w *WeeklyStats) GetCommits() int
GetCommits returns the Commits field if it's non-nil, zero value otherwise.
func (w *WeeklyStats) GetDeletions() int
GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.
func (w *WeeklyStats) GetWeek() Timestamp
GetWeek returns the Week field if it's non-nil, zero value otherwise.
func (w WeeklyStats) String() string
Workflow represents a repository action workflow.
type Workflow struct { ID *int64 `json:"id,omitempty"` NodeID *string `json:"node_id,omitempty"` Name *string `json:"name,omitempty"` Path *string `json:"path,omitempty"` State *string `json:"state,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` BadgeURL *string `json:"badge_url,omitempty"` }
func (w *Workflow) GetBadgeURL() string
GetBadgeURL returns the BadgeURL field if it's non-nil, zero value otherwise.
func (w *Workflow) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (w *Workflow) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (w *Workflow) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (w *Workflow) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (w *Workflow) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (w *Workflow) GetPath() string
GetPath returns the Path field if it's non-nil, zero value otherwise.
func (w *Workflow) GetState() string
GetState returns the State field if it's non-nil, zero value otherwise.
func (w *Workflow) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (w *Workflow) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
WorkflowBill specifies billable time for a specific environment in a workflow.
type WorkflowBill struct { TotalMS *int64 `json:"total_ms,omitempty"` }
func (w *WorkflowBill) GetTotalMS() int64
GetTotalMS returns the TotalMS field if it's non-nil, zero value otherwise.
WorkflowDispatchEvent is triggered when someone triggers a workflow run on GitHub or sends a POST request to the create a workflow dispatch event endpoint.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#workflow_dispatch
type WorkflowDispatchEvent struct { Inputs json.RawMessage `json:"inputs,omitempty"` Ref *string `json:"ref,omitempty"` Workflow *string `json:"workflow,omitempty"` // The following fields are only populated by Webhook events. Repo *Repository `json:"repository,omitempty"` Org *Organization `json:"organization,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (w *WorkflowDispatchEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (w *WorkflowDispatchEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (w *WorkflowDispatchEvent) GetRef() string
GetRef returns the Ref field if it's non-nil, zero value otherwise.
func (w *WorkflowDispatchEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (w *WorkflowDispatchEvent) GetSender() *User
GetSender returns the Sender field.
func (w *WorkflowDispatchEvent) GetWorkflow() string
GetWorkflow returns the Workflow field if it's non-nil, zero value otherwise.
WorkflowEnvironment represents different runner environments available for a workflow.
type WorkflowEnvironment struct { Ubuntu *WorkflowBill `json:"UBUNTU,omitempty"` MacOS *WorkflowBill `json:"MACOS,omitempty"` Windows *WorkflowBill `json:"WINDOWS,omitempty"` }
func (w *WorkflowEnvironment) GetMacOS() *WorkflowBill
GetMacOS returns the MacOS field.
func (w *WorkflowEnvironment) GetUbuntu() *WorkflowBill
GetUbuntu returns the Ubuntu field.
func (w *WorkflowEnvironment) GetWindows() *WorkflowBill
GetWindows returns the Windows field.
WorkflowJob represents a repository action workflow job.
type WorkflowJob struct { ID *int64 `json:"id,omitempty"` RunID *int64 `json:"run_id,omitempty"` RunURL *string `json:"run_url,omitempty"` NodeID *string `json:"node_id,omitempty"` HeadSHA *string `json:"head_sha,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` Status *string `json:"status,omitempty"` Conclusion *string `json:"conclusion,omitempty"` StartedAt *Timestamp `json:"started_at,omitempty"` CompletedAt *Timestamp `json:"completed_at,omitempty"` Name *string `json:"name,omitempty"` Steps []*TaskStep `json:"steps,omitempty"` CheckRunURL *string `json:"check_run_url,omitempty"` // Labels represents runner labels from the `runs-on:` key from a GitHub Actions workflow. Labels []string `json:"labels,omitempty"` RunnerID *int64 `json:"runner_id,omitempty"` RunnerName *string `json:"runner_name,omitempty"` RunnerGroupID *int64 `json:"runner_group_id,omitempty"` RunnerGroupName *string `json:"runner_group_name,omitempty"` }
func (w *WorkflowJob) GetCheckRunURL() string
GetCheckRunURL returns the CheckRunURL field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetCompletedAt() Timestamp
GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetHeadSHA() string
GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetRunID() int64
GetRunID returns the RunID field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetRunURL() string
GetRunURL returns the RunURL field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetRunnerGroupID() int64
GetRunnerGroupID returns the RunnerGroupID field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetRunnerGroupName() string
GetRunnerGroupName returns the RunnerGroupName field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetRunnerID() int64
GetRunnerID returns the RunnerID field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetRunnerName() string
GetRunnerName returns the RunnerName field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetStartedAt() Timestamp
GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (w *WorkflowJob) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
WorkflowJobEvent is triggered when a job is queued, started or completed.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job
type WorkflowJobEvent struct { WorkflowJob *WorkflowJob `json:"workflow_job,omitempty"` Action *string `json:"action,omitempty"` // Org is not nil when the webhook is configured for an organization or the event // occurs from activity in a repository owned by an organization. Org *Organization `json:"organization,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (w *WorkflowJobEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (w *WorkflowJobEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (w *WorkflowJobEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (w *WorkflowJobEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (w *WorkflowJobEvent) GetSender() *User
GetSender returns the Sender field.
func (w *WorkflowJobEvent) GetWorkflowJob() *WorkflowJob
GetWorkflowJob returns the WorkflowJob field.
WorkflowRun represents a repository action workflow run.
type WorkflowRun struct { ID *int64 `json:"id,omitempty"` Name *string `json:"name,omitempty"` NodeID *string `json:"node_id,omitempty"` HeadBranch *string `json:"head_branch,omitempty"` HeadSHA *string `json:"head_sha,omitempty"` RunNumber *int `json:"run_number,omitempty"` RunAttempt *int `json:"run_attempt,omitempty"` Event *string `json:"event,omitempty"` Status *string `json:"status,omitempty"` Conclusion *string `json:"conclusion,omitempty"` WorkflowID *int64 `json:"workflow_id,omitempty"` CheckSuiteID *int64 `json:"check_suite_id,omitempty"` CheckSuiteNodeID *string `json:"check_suite_node_id,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` PullRequests []*PullRequest `json:"pull_requests,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` RunStartedAt *Timestamp `json:"run_started_at,omitempty"` JobsURL *string `json:"jobs_url,omitempty"` LogsURL *string `json:"logs_url,omitempty"` CheckSuiteURL *string `json:"check_suite_url,omitempty"` ArtifactsURL *string `json:"artifacts_url,omitempty"` CancelURL *string `json:"cancel_url,omitempty"` RerunURL *string `json:"rerun_url,omitempty"` PreviousAttemptURL *string `json:"previous_attempt_url,omitempty"` HeadCommit *HeadCommit `json:"head_commit,omitempty"` WorkflowURL *string `json:"workflow_url,omitempty"` Repository *Repository `json:"repository,omitempty"` HeadRepository *Repository `json:"head_repository,omitempty"` Actor *User `json:"actor,omitempty"` }
func (w *WorkflowRun) GetActor() *User
GetActor returns the Actor field.
func (w *WorkflowRun) GetArtifactsURL() string
GetArtifactsURL returns the ArtifactsURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetCancelURL() string
GetCancelURL returns the CancelURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetCheckSuiteID() int64
GetCheckSuiteID returns the CheckSuiteID field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetCheckSuiteNodeID() string
GetCheckSuiteNodeID returns the CheckSuiteNodeID field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetCheckSuiteURL() string
GetCheckSuiteURL returns the CheckSuiteURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetConclusion() string
GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetCreatedAt() Timestamp
GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetEvent() string
GetEvent returns the Event field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetHTMLURL() string
GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetHeadBranch() string
GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetHeadCommit() *HeadCommit
GetHeadCommit returns the HeadCommit field.
func (w *WorkflowRun) GetHeadRepository() *Repository
GetHeadRepository returns the HeadRepository field.
func (w *WorkflowRun) GetHeadSHA() string
GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetID() int64
GetID returns the ID field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetJobsURL() string
GetJobsURL returns the JobsURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetLogsURL() string
GetLogsURL returns the LogsURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetName() string
GetName returns the Name field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetNodeID() string
GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetPreviousAttemptURL() string
GetPreviousAttemptURL returns the PreviousAttemptURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetRepository() *Repository
GetRepository returns the Repository field.
func (w *WorkflowRun) GetRerunURL() string
GetRerunURL returns the RerunURL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetRunAttempt() int
GetRunAttempt returns the RunAttempt field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetRunNumber() int
GetRunNumber returns the RunNumber field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetRunStartedAt() Timestamp
GetRunStartedAt returns the RunStartedAt field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetStatus() string
GetStatus returns the Status field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetURL() string
GetURL returns the URL field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetUpdatedAt() Timestamp
GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetWorkflowID() int64
GetWorkflowID returns the WorkflowID field if it's non-nil, zero value otherwise.
func (w *WorkflowRun) GetWorkflowURL() string
GetWorkflowURL returns the WorkflowURL field if it's non-nil, zero value otherwise.
WorkflowRunAttemptOptions specifies optional parameters to GetWorkflowRunAttempt.
type WorkflowRunAttemptOptions struct { ExcludePullRequests *bool `url:"exclude_pull_requests,omitempty"` }
func (w *WorkflowRunAttemptOptions) GetExcludePullRequests() bool
GetExcludePullRequests returns the ExcludePullRequests field if it's non-nil, zero value otherwise.
WorkflowRunBill specifies billable time for a specific environment in a workflow run.
type WorkflowRunBill struct { TotalMS *int64 `json:"total_ms,omitempty"` Jobs *int `json:"jobs,omitempty"` JobRuns []*WorkflowRunJobRun `json:"job_runs,omitempty"` }
func (w *WorkflowRunBill) GetJobs() int
GetJobs returns the Jobs field if it's non-nil, zero value otherwise.
func (w *WorkflowRunBill) GetTotalMS() int64
GetTotalMS returns the TotalMS field if it's non-nil, zero value otherwise.
WorkflowRunEnvironment represents different runner environments available for a workflow run.
type WorkflowRunEnvironment struct { Ubuntu *WorkflowRunBill `json:"UBUNTU,omitempty"` MacOS *WorkflowRunBill `json:"MACOS,omitempty"` Windows *WorkflowRunBill `json:"WINDOWS,omitempty"` }
func (w *WorkflowRunEnvironment) GetMacOS() *WorkflowRunBill
GetMacOS returns the MacOS field.
func (w *WorkflowRunEnvironment) GetUbuntu() *WorkflowRunBill
GetUbuntu returns the Ubuntu field.
func (w *WorkflowRunEnvironment) GetWindows() *WorkflowRunBill
GetWindows returns the Windows field.
WorkflowRunEvent is triggered when a GitHub Actions workflow run is requested or completed.
GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#workflow_run
type WorkflowRunEvent struct { Action *string `json:"action,omitempty"` Workflow *Workflow `json:"workflow,omitempty"` WorkflowRun *WorkflowRun `json:"workflow_run,omitempty"` // The following fields are only populated by Webhook events. Org *Organization `json:"organization,omitempty"` Repo *Repository `json:"repository,omitempty"` Sender *User `json:"sender,omitempty"` Installation *Installation `json:"installation,omitempty"` }
func (w *WorkflowRunEvent) GetAction() string
GetAction returns the Action field if it's non-nil, zero value otherwise.
func (w *WorkflowRunEvent) GetInstallation() *Installation
GetInstallation returns the Installation field.
func (w *WorkflowRunEvent) GetOrg() *Organization
GetOrg returns the Org field.
func (w *WorkflowRunEvent) GetRepo() *Repository
GetRepo returns the Repo field.
func (w *WorkflowRunEvent) GetSender() *User
GetSender returns the Sender field.
func (w *WorkflowRunEvent) GetWorkflow() *Workflow
GetWorkflow returns the Workflow field.
func (w *WorkflowRunEvent) GetWorkflowRun() *WorkflowRun
GetWorkflowRun returns the WorkflowRun field.
WorkflowRunJobRun represents a usage of individual jobs of a specific workflow run.
type WorkflowRunJobRun struct { JobID *int `json:"job_id,omitempty"` DurationMS *int64 `json:"duration_ms,omitempty"` }
func (w *WorkflowRunJobRun) GetDurationMS() int64
GetDurationMS returns the DurationMS field if it's non-nil, zero value otherwise.
func (w *WorkflowRunJobRun) GetJobID() int
GetJobID returns the JobID field if it's non-nil, zero value otherwise.
WorkflowRunUsage represents a usage of a specific workflow run.
type WorkflowRunUsage struct { Billable *WorkflowRunEnvironment `json:"billable,omitempty"` RunDurationMS *int64 `json:"run_duration_ms,omitempty"` }
func (w *WorkflowRunUsage) GetBillable() *WorkflowRunEnvironment
GetBillable returns the Billable field.
func (w *WorkflowRunUsage) GetRunDurationMS() int64
GetRunDurationMS returns the RunDurationMS field if it's non-nil, zero value otherwise.
WorkflowRuns represents a slice of repository action workflow run.
type WorkflowRuns struct { TotalCount *int `json:"total_count,omitempty"` WorkflowRuns []*WorkflowRun `json:"workflow_runs,omitempty"` }
func (w *WorkflowRuns) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.
WorkflowUsage represents a usage of a specific workflow.
type WorkflowUsage struct { Billable *WorkflowEnvironment `json:"billable,omitempty"` }
func (w *WorkflowUsage) GetBillable() *WorkflowEnvironment
GetBillable returns the Billable field.
Workflows represents a slice of repository action workflows.
type Workflows struct { TotalCount *int `json:"total_count,omitempty"` Workflows []*Workflow `json:"workflows,omitempty"` }
func (w *Workflows) GetTotalCount() int
GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.