github

package
v49.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2023 License: BSD-3-Clause Imports: 26 Imported by: 76

Documentation

Overview

Package github provides a client for using the GitHub API.

Usage:

import "github.com/google/go-github/v49/github"	// with go modules enabled (GO111MODULE=on or outside GOPATH)
import "github.com/google/go-github/github"     // with go modules disabled

Construct a new GitHub client, then use the various services on the client to access different parts of the GitHub API. For example:

client := github.NewClient(nil)

// list all organizations for user "willnorris"
orgs, _, err := client.Organizations.List(ctx, "willnorris", nil)

Some API methods have optional parameters that can be passed. For example:

client := github.NewClient(nil)

// list public repositories for org "github"
opt := &github.RepositoryListByOrgOptions{Type: "public"}
repos, _, err := client.Repositories.ListByOrg(ctx, "github", opt)

The services of a client divide the API into logical chunks and correspond to the structure of the GitHub API documentation at https://docs.github.com/en/rest .

NOTE: Using the https://godoc.org/context package, one can easily pass cancelation signals and deadlines to various services of the client for handling a request. In case there is no context available, then context.Background() can be used as a starting point.

For more sample code snippets, head over to the https://github.com/google/go-github/tree/master/example directory.

Authentication

The go-github library does not directly handle authentication. Instead, when creating a new client, pass an http.Client that can handle authentication for you. The easiest and recommended way to do this is using the golang.org/x/oauth2 library, but you can always use any other library that provides an http.Client. If you have an OAuth2 access token (for example, a personal API token), you can use it with the oauth2 library using:

import "golang.org/x/oauth2"

func main() {
	ctx := context.Background()
	ts := oauth2.StaticTokenSource(
		&oauth2.Token{AccessToken: "... your access token ..."},
	)
	tc := oauth2.NewClient(ctx, ts)

	client := github.NewClient(tc)

	// list all repositories for the authenticated user
	repos, _, err := client.Repositories.List(ctx, "", nil)
}

Note that when using an authenticated Client, all calls made by the client will include the specified OAuth token. Therefore, authenticated clients should almost never be shared between different users.

See the oauth2 docs for complete instructions on using that library.

For API methods that require HTTP Basic Authentication, use the BasicAuthTransport.

GitHub Apps authentication can be provided by the https://github.com/bradleyfalzon/ghinstallation package. It supports both authentication as an installation, using an installation access token, and as an app, using a JWT.

To authenticate as an installation:

import "github.com/bradleyfalzon/ghinstallation"

func main() {
	// Wrap the shared transport for use with the integration ID 1 authenticating with installation ID 99.
	itr, err := ghinstallation.NewKeyFromFile(http.DefaultTransport, 1, 99, "2016-10-19.private-key.pem")
	if err != nil {
		// Handle error.
	}

	// Use installation transport with client
	client := github.NewClient(&http.Client{Transport: itr})

	// Use client...
}

To authenticate as an app, using a JWT:

import "github.com/bradleyfalzon/ghinstallation"

func main() {
	// Wrap the shared transport for use with the application ID 1.
	atr, err := ghinstallation.NewAppsTransportKeyFromFile(http.DefaultTransport, 1, "2016-10-19.private-key.pem")
	if err != nil {
		// Handle error.
	}

	// Use app transport with client
	client := github.NewClient(&http.Client{Transport: atr})

	// Use client...
}

Rate Limiting

GitHub imposes a rate limit on all API clients. Unauthenticated clients are limited to 60 requests per hour, while authenticated clients can make up to 5,000 requests per hour. The Search API has a custom rate limit. Unauthenticated clients are limited to 10 requests per minute, while authenticated clients can make up to 30 requests per minute. To receive the higher rate limit when making calls that are not issued on behalf of a user, use UnauthenticatedRateLimitedTransport.

The returned Response.Rate value contains the rate limit information from the most recent API call. If a recent enough response isn't available, you can use RateLimits to fetch the most up-to-date rate limit data for the client.

To detect an API rate limit error, you can check if its type is *github.RateLimitError. For secondary rate limits, you can check if its type is *github.AbuseRateLimitError:

repos, _, err := client.Repositories.List(ctx, "", nil)
if _, ok := err.(*github.RateLimitError); ok {
	log.Println("hit rate limit")
}
if _, ok := err.(*github.AbuseRateLimitError); ok {
	log.Println("hit secondary rate limit")
}

Learn more about GitHub rate limiting at https://docs.github.com/en/rest/rate-limit .

Accepted Status

Some endpoints may return a 202 Accepted status code, meaning that the information required is not yet ready and was scheduled to be gathered on the GitHub side. Methods known to behave like this are documented specifying this behavior.

To detect this condition of error, you can check if its type is *github.AcceptedError:

stats, _, err := client.Repositories.ListContributorsStats(ctx, org, repo)
if _, ok := err.(*github.AcceptedError); ok {
	log.Println("scheduled on GitHub side")
}

Conditional Requests

The GitHub API has good support for conditional requests which will help prevent you from burning through your rate limit, as well as help speed up your application. go-github does not handle conditional requests directly, but is instead designed to work with a caching http.Transport. We recommend using https://github.com/gregjones/httpcache for that.

Learn more about GitHub conditional requests at https://docs.github.com/en/rest/overview/resources-in-the-rest-api#conditional-requests.

Creating and Updating Resources

All structs for GitHub resources use pointer values for all non-repeated fields. This allows distinguishing between unset fields and those set to a zero-value. Helper functions have been provided to easily create these pointers for string, bool, and int values. For example:

// create a new private repository named "foo"
repo := &github.Repository{
	Name:    github.String("foo"),
	Private: github.Bool(true),
}
client.Repositories.Create(ctx, "", repo)

Users who have worked with protocol buffers should find this pattern familiar.

Pagination

All requests for resource collections (repos, pull requests, issues, etc.) support pagination. Pagination options are described in the github.ListOptions struct and passed to the list methods directly or as an embedded type of a more specific list options struct (for example github.PullRequestListOptions). Pages information is available via the github.Response struct.

client := github.NewClient(nil)

opt := &github.RepositoryListByOrgOptions{
	ListOptions: github.ListOptions{PerPage: 10},
}
// get all pages of results
var allRepos []*github.Repository
for {
	repos, resp, err := client.Repositories.ListByOrg(ctx, "github", opt)
	if err != nil {
		return err
	}
	allRepos = append(allRepos, repos...)
	if resp.NextPage == 0 {
		break
	}
	opt.Page = resp.NextPage
}

Index

Examples

Constants

View Source
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"
)
View Source
const (
	Version = "v49.1.0"
)

Variables

View Source
var ErrBranchNotProtected = errors.New("branch is not protected")
View Source
var ErrMixedCommentStyles = errors.New("cannot use both position and side/line form comments")

Functions

func Bool

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

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

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

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

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

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

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

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

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

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

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

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

Types

type APIMeta

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

	// An array of IP addresses in CIDR format specifying the addresses
	// which serve GitHub websites.
	Web []string `json:"web,omitempty"`

	// An array of IP addresses in CIDR format specifying the addresses
	// which serve GitHub APIs.
	API []string `json:"api,omitempty"`
}

APIMeta represents metadata about the GitHub API.

func (*APIMeta) GetSSHKeyFingerprints

func (a *APIMeta) GetSSHKeyFingerprints() map[string]string

GetSSHKeyFingerprints returns the SSHKeyFingerprints map if it's non-nil, an empty map otherwise.

func (*APIMeta) GetVerifiablePasswordAuthentication

func (a *APIMeta) GetVerifiablePasswordAuthentication() bool

GetVerifiablePasswordAuthentication returns the VerifiablePasswordAuthentication field if it's non-nil, zero value otherwise.

type AbuseRateLimitError

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
}

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".

func (*AbuseRateLimitError) Error

func (r *AbuseRateLimitError) Error() string

func (*AbuseRateLimitError) GetRetryAfter

func (a *AbuseRateLimitError) GetRetryAfter() time.Duration

GetRetryAfter returns the RetryAfter field if it's non-nil, zero value otherwise.

func (*AbuseRateLimitError) Is

func (r *AbuseRateLimitError) Is(target error) bool

Is returns whether the provided error equals this error.

type AcceptedError

type AcceptedError struct {
	// Raw contains the response body.
	Raw []byte
}

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.

func (*AcceptedError) Error

func (*AcceptedError) Error() string

func (*AcceptedError) Is

func (ae *AcceptedError) Is(target error) bool

Is returns whether the provided error equals this error.

type ActionBilling

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

ActionBilling represents a GitHub Action billing.

type ActionsAllowed

type ActionsAllowed struct {
	GithubOwnedAllowed *bool    `json:"github_owned_allowed,omitempty"`
	VerifiedAllowed    *bool    `json:"verified_allowed,omitempty"`
	PatternsAllowed    []string `json:"patterns_allowed,omitempty"`
}

ActionsAllowed represents selected actions that are allowed.

GitHub API docs: https://docs.github.com/en/rest/actions/permissions

func (*ActionsAllowed) GetGithubOwnedAllowed

func (a *ActionsAllowed) GetGithubOwnedAllowed() bool

GetGithubOwnedAllowed returns the GithubOwnedAllowed field if it's non-nil, zero value otherwise.

func (*ActionsAllowed) GetVerifiedAllowed

func (a *ActionsAllowed) GetVerifiedAllowed() bool

GetVerifiedAllowed returns the VerifiedAllowed field if it's non-nil, zero value otherwise.

func (ActionsAllowed) String

func (a ActionsAllowed) String() string

type ActionsCache added in v49.1.0

type ActionsCache struct {
	ID             *int64     `json:"id,omitempty" url:"-"`
	Ref            *string    `json:"ref,omitempty" url:"ref"`
	Key            *string    `json:"key,omitempty" url:"key"`
	Version        *string    `json:"version,omitempty" url:"-"`
	LastAccessedAt *Timestamp `json:"last_accessed_at,omitempty" url:"-"`
	CreatedAt      *Timestamp `json:"created_at,omitempty" url:"-"`
	SizeInBytes    *int64     `json:"size_in_bytes,omitempty" url:"-"`
}

ActionsCache represents a GitHub action cache.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#about-the-cache-api

func (*ActionsCache) GetCreatedAt added in v49.1.0

func (a *ActionsCache) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*ActionsCache) GetID added in v49.1.0

func (a *ActionsCache) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*ActionsCache) GetKey added in v49.1.0

func (a *ActionsCache) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*ActionsCache) GetLastAccessedAt added in v49.1.0

func (a *ActionsCache) GetLastAccessedAt() Timestamp

GetLastAccessedAt returns the LastAccessedAt field if it's non-nil, zero value otherwise.

func (*ActionsCache) GetRef added in v49.1.0

func (a *ActionsCache) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*ActionsCache) GetSizeInBytes added in v49.1.0

func (a *ActionsCache) GetSizeInBytes() int64

GetSizeInBytes returns the SizeInBytes field if it's non-nil, zero value otherwise.

func (*ActionsCache) GetVersion added in v49.1.0

func (a *ActionsCache) GetVersion() string

GetVersion returns the Version field if it's non-nil, zero value otherwise.

type ActionsCacheList added in v49.1.0

type ActionsCacheList struct {
	TotalCount    int             `json:"total_count"`
	ActionsCaches []*ActionsCache `json:"actions_caches,omitempty"`
}

ActionsCacheList represents a list of GitHub actions Cache.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#list-github-actions-caches-for-a-repository

type ActionsCacheListOptions added in v49.1.0

type ActionsCacheListOptions struct {
	ListOptions
	// The Git reference for the results you want to list.
	// The ref for a branch can be formatted either as refs/heads/<branch name>
	// or simply <branch name>. To reference a pull request use refs/pull/<number>/merge
	Ref *string `url:"ref,omitempty"`
	Key *string `url:"key,omitempty"`
	// Can be one of: "created_at", "last_accessed_at", "size_in_bytes". Default: "last_accessed_at"
	Sort *string `url:"sort,omitempty"`
	// Can be one of: "asc", "desc" Default: desc
	Direction *string `url:"direction,omitempty"`
}

ActionsCacheListOptions represents a list of all possible optional Query parameters for ListCaches method.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#list-github-actions-caches-for-a-repository

func (*ActionsCacheListOptions) GetDirection added in v49.1.0

func (a *ActionsCacheListOptions) GetDirection() string

GetDirection returns the Direction field if it's non-nil, zero value otherwise.

func (*ActionsCacheListOptions) GetKey added in v49.1.0

func (a *ActionsCacheListOptions) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*ActionsCacheListOptions) GetRef added in v49.1.0

func (a *ActionsCacheListOptions) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*ActionsCacheListOptions) GetSort added in v49.1.0

func (a *ActionsCacheListOptions) GetSort() string

GetSort returns the Sort field if it's non-nil, zero value otherwise.

type ActionsCacheUsage added in v49.1.0

type ActionsCacheUsage struct {
	FullName                string `json:"full_name"`
	ActiveCachesSizeInBytes int64  `json:"active_caches_size_in_bytes"`
	ActiveCachesCount       int    `json:"active_caches_count"`
}

ActionsCacheUsage represents a GitHub Actions Cache Usage object.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#get-github-actions-cache-usage-for-a-repository

type ActionsCacheUsageList added in v49.1.0

type ActionsCacheUsageList struct {
	TotalCount     int                  `json:"total_count"`
	RepoCacheUsage []*ActionsCacheUsage `json:"repository_cache_usages,omitempty"`
}

ActionsCacheUsageList represents a list of repositories with GitHub Actions cache usage for an organization.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#get-github-actions-cache-usage-for-a-repository

type ActionsEnabledOnOrgRepos

type ActionsEnabledOnOrgRepos struct {
	TotalCount   int           `json:"total_count"`
	Repositories []*Repository `json:"repositories"`
}

ActionsEnabledOnOrgRepos represents all the repositories in an organization for which Actions is enabled.

type ActionsPermissions

type ActionsPermissions struct {
	EnabledRepositories *string `json:"enabled_repositories,omitempty"`
	AllowedActions      *string `json:"allowed_actions,omitempty"`
	SelectedActionsURL  *string `json:"selected_actions_url,omitempty"`
}

ActionsPermissions represents a policy for repositories and allowed actions in an organization.

GitHub API docs: https://docs.github.com/en/rest/actions/permissions

func (*ActionsPermissions) GetAllowedActions

func (a *ActionsPermissions) GetAllowedActions() string

GetAllowedActions returns the AllowedActions field if it's non-nil, zero value otherwise.

func (*ActionsPermissions) GetEnabledRepositories

func (a *ActionsPermissions) GetEnabledRepositories() string

GetEnabledRepositories returns the EnabledRepositories field if it's non-nil, zero value otherwise.

func (*ActionsPermissions) GetSelectedActionsURL

func (a *ActionsPermissions) GetSelectedActionsURL() string

GetSelectedActionsURL returns the SelectedActionsURL field if it's non-nil, zero value otherwise.

func (ActionsPermissions) String

func (a ActionsPermissions) String() string

type ActionsPermissionsRepository

type ActionsPermissionsRepository struct {
	Enabled            *bool   `json:"enabled,omitempty"`
	AllowedActions     *string `json:"allowed_actions,omitempty"`
	SelectedActionsURL *string `json:"selected_actions_url,omitempty"`
}

ActionsPermissionsRepository represents a policy for repositories and allowed actions in a repository.

GitHub API docs: https://docs.github.com/en/rest/actions/permissions

func (*ActionsPermissionsRepository) GetAllowedActions

func (a *ActionsPermissionsRepository) GetAllowedActions() string

GetAllowedActions returns the AllowedActions field if it's non-nil, zero value otherwise.

func (*ActionsPermissionsRepository) GetEnabled

func (a *ActionsPermissionsRepository) GetEnabled() bool

GetEnabled returns the Enabled field if it's non-nil, zero value otherwise.

func (*ActionsPermissionsRepository) GetSelectedActionsURL

func (a *ActionsPermissionsRepository) GetSelectedActionsURL() string

GetSelectedActionsURL returns the SelectedActionsURL field if it's non-nil, zero value otherwise.

func (ActionsPermissionsRepository) String

type ActionsService

type ActionsService service

ActionsService handles communication with the actions related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/actions/

func (*ActionsService) AddEnabledReposInOrg

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 (*ActionsService) AddRepositoryAccessRunnerGroup

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 (*ActionsService) AddRunnerGroupRunners

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 (*ActionsService) AddSelectedRepoToOrgSecret

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 (*ActionsService) CancelWorkflowRunByID

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 (*ActionsService) CreateOrUpdateEnvSecret

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 (*ActionsService) CreateOrUpdateOrgSecret

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 (*ActionsService) CreateOrUpdateRepoSecret

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 (*ActionsService) CreateOrganizationRegistrationToken

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 (*ActionsService) CreateOrganizationRemoveToken

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 (*ActionsService) CreateOrganizationRunnerGroup

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 (*ActionsService) CreateRegistrationToken

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 (*ActionsService) CreateRemoveToken

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 (*ActionsService) CreateWorkflowDispatchEventByFileName

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 (*ActionsService) CreateWorkflowDispatchEventByID

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 (*ActionsService) DeleteArtifact

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 (*ActionsService) DeleteCachesByID added in v49.1.0

func (s *ActionsService) DeleteCachesByID(ctx context.Context, owner, repo string, cacheID int64) (*Response, error)

DeleteCachesByID deletes a GitHub Actions cache for a repository, using a cache ID.

Permissions: You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-a-github-actions-cache-for-a-repository-using-a-cache-id

func (*ActionsService) DeleteCachesByKey added in v49.1.0

func (s *ActionsService) DeleteCachesByKey(ctx context.Context, owner, repo, key string, ref *string) (*Response, error)

DeleteCachesByKey deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref. The ref for a branch can be formatted either as "refs/heads/<branch name>" or simply "<branch name>". To reference a pull request use "refs/pull/<number>/merge". If you don't want to use ref just pass nil in parameter.

Permissions: You must authenticate using an access token with the repo scope to use this endpoint. GitHub Apps must have the actions:write permission to use this endpoint.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#delete-github-actions-caches-for-a-repository-using-a-cache-key

func (*ActionsService) DeleteEnvSecret

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 (*ActionsService) DeleteOrgSecret

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 (*ActionsService) DeleteOrganizationRunnerGroup

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 (*ActionsService) DeleteRepoSecret

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 (*ActionsService) DeleteWorkflowRun

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 (*ActionsService) DeleteWorkflowRunLogs

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 (*ActionsService) DisableWorkflowByFileName

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 (*ActionsService) DisableWorkflowByID

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 (*ActionsService) DownloadArtifact

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 (*ActionsService) EnableWorkflowByFileName

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 (*ActionsService) EnableWorkflowByID

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 (*ActionsService) GetArtifact

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 (*ActionsService) GetCacheUsageForRepo added in v49.1.0

func (s *ActionsService) GetCacheUsageForRepo(ctx context.Context, owner, repo string) (*ActionsCacheUsage, *Response, error)

GetCacheUsageForRepo gets GitHub Actions cache usage for a repository. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

Permissions: Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the repo scope. GitHub Apps must have the actions:read permission to use this endpoint.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#get-github-actions-cache-usage-for-a-repository

func (*ActionsService) GetEnvPublicKey

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 (*ActionsService) GetEnvSecret

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 (*ActionsService) GetOrgOIDCSubjectClaimCustomTemplate added in v49.1.0

func (s *ActionsService) GetOrgOIDCSubjectClaimCustomTemplate(ctx context.Context, org string) (*OIDCSubjectClaimCustomTemplate, *Response, error)

GetOrgOIDCSubjectClaimCustomTemplate gets the subject claim customization template for an organization.

GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-an-organization

func (*ActionsService) GetOrgPublicKey

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 (*ActionsService) GetOrgSecret

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 (*ActionsService) GetOrganizationRunner

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 (*ActionsService) GetOrganizationRunnerGroup

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 (*ActionsService) GetRepoOIDCSubjectClaimCustomTemplate added in v49.1.0

func (s *ActionsService) GetRepoOIDCSubjectClaimCustomTemplate(ctx context.Context, owner, repo string) (*OIDCSubjectClaimCustomTemplate, *Response, error)

GetRepoOIDCSubjectClaimCustomTemplate gets the subject claim customization template for a repository.

GitHub API docs: https://docs.github.com/en/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository

func (*ActionsService) GetRepoPublicKey

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 (*ActionsService) GetRepoSecret

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 (*ActionsService) GetRunner

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 (*ActionsService) GetTotalCacheUsageForEnterprise added in v49.1.0

func (s *ActionsService) GetTotalCacheUsageForEnterprise(ctx context.Context, enterprise string) (*TotalCacheUsage, *Response, error)

GetTotalCacheUsageForEnterprise gets the total GitHub Actions cache usage for an enterprise. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

Permissions: You must authenticate using an access token with the "admin:enterprise" scope to use this endpoint.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#get-github-actions-cache-usage-for-an-enterprise

func (*ActionsService) GetTotalCacheUsageForOrg added in v49.1.0

func (s *ActionsService) GetTotalCacheUsageForOrg(ctx context.Context, org string) (*TotalCacheUsage, *Response, error)

GetTotalCacheUsageForOrg gets the total GitHub Actions cache usage for an organization. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

Permissions: You must authenticate using an access token with the read:org scope to use this endpoint. GitHub Apps must have the organization_admistration:read permission to use this endpoint.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#get-github-actions-cache-usage-for-an-organization

func (*ActionsService) GetWorkflowByFileName

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 (*ActionsService) GetWorkflowByID

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 (*ActionsService) GetWorkflowJobByID

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 (*ActionsService) GetWorkflowJobLogs

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 (*ActionsService) GetWorkflowRunAttempt

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 (*ActionsService) GetWorkflowRunByID

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 (*ActionsService) GetWorkflowRunLogs

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 (*ActionsService) GetWorkflowRunUsageByID

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 (*ActionsService) GetWorkflowUsageByFileName

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 (*ActionsService) GetWorkflowUsageByID

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 (*ActionsService) ListArtifacts

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 (*ActionsService) ListCacheUsageByRepoForOrg added in v49.1.0

func (s *ActionsService) ListCacheUsageByRepoForOrg(ctx context.Context, org string, opts *ListOptions) (*ActionsCacheUsageList, *Response, error)

ListCacheUsageByRepoForOrg lists repositories and their GitHub Actions cache usage for an organization. The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.

Permissions: You must authenticate using an access token with the read:org scope to use this endpoint. GitHub Apps must have the organization_admistration:read permission to use this endpoint.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#list-repositories-with-github-actions-cache-usage-for-an-organization

func (*ActionsService) ListCaches added in v49.1.0

func (s *ActionsService) ListCaches(ctx context.Context, owner, repo string, opts *ActionsCacheListOptions) (*ActionsCacheList, *Response, error)

ListCaches lists the GitHub Actions caches for a repository. You must authenticate using an access token with the repo scope to use this endpoint.

Permissions: must have the actions:read permission to use this endpoint.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#list-github-actions-caches-for-a-repository

func (*ActionsService) ListEnabledReposInOrg

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 (*ActionsService) ListEnvSecrets

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 (*ActionsService) ListOrgSecrets

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 (*ActionsService) ListOrganizationRunnerApplicationDownloads

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 (*ActionsService) ListOrganizationRunnerGroups

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 (*ActionsService) ListOrganizationRunners

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 (*ActionsService) ListRepoSecrets

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 (*ActionsService) ListRepositoryAccessRunnerGroup

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 (*ActionsService) ListRepositoryWorkflowRuns

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 (*ActionsService) ListRunnerApplicationDownloads

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 (*ActionsService) ListRunnerGroupRunners

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 (*ActionsService) ListRunners

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 (*ActionsService) ListSelectedReposForOrgSecret

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 (*ActionsService) ListWorkflowJobs

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 (*ActionsService) ListWorkflowRunArtifacts

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 (*ActionsService) ListWorkflowRunsByFileName

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 (*ActionsService) ListWorkflowRunsByID

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 (*ActionsService) ListWorkflows

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 (*ActionsService) PendingDeployments

func (s *ActionsService) PendingDeployments(ctx context.Context, owner, repo string, runID int64, request *PendingDeploymentsRequest) ([]*Deployment, *Response, error)

PendingDeployments approve or reject pending deployments that are waiting on approval by a required reviewer.

GitHub API docs: https://docs.github.com/en/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run

func (*ActionsService) RemoveEnabledRepoInOrg

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 (*ActionsService) RemoveOrganizationRunner

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 (*ActionsService) RemoveRepositoryAccessRunnerGroup

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 (*ActionsService) RemoveRunner

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 (*ActionsService) RemoveRunnerGroupRunners

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 (*ActionsService) RemoveSelectedRepoFromOrgSecret

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 (*ActionsService) RerunFailedJobsByID

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 (*ActionsService) RerunJobByID

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 (*ActionsService) RerunWorkflowByID

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 (*ActionsService) SetEnabledReposInOrg

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 (*ActionsService) SetOrgOIDCSubjectClaimCustomTemplate added in v49.1.0

func (s *ActionsService) SetOrgOIDCSubjectClaimCustomTemplate(ctx context.Context, org string, template *OIDCSubjectClaimCustomTemplate) (*Response, error)

SetOrgOIDCSubjectClaimCustomTemplate sets the subject claim customization for an organization.

GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-an-organization

func (*ActionsService) SetRepoOIDCSubjectClaimCustomTemplate added in v49.1.0

func (s *ActionsService) SetRepoOIDCSubjectClaimCustomTemplate(ctx context.Context, owner, repo string, template *OIDCSubjectClaimCustomTemplate) (*Response, error)

SetRepoOIDCSubjectClaimCustomTemplate sets the subject claim customization for a repository.

GitHub API docs: https://docs.github.com/en/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository

func (*ActionsService) SetRepositoryAccessRunnerGroup

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 (*ActionsService) SetRunnerGroupRunners

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 (*ActionsService) SetSelectedReposForOrgSecret

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 (*ActionsService) UpdateOrganizationRunnerGroup

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

type ActiveCommitters

type ActiveCommitters struct {
	TotalAdvancedSecurityCommitters int                           `json:"total_advanced_security_committers"`
	Repositories                    []*RepositoryActiveCommitters `json:"repositories,omitempty"`
}

ActiveCommitters represents the total active committers across all repositories in an Organization.

type ActivityListStarredOptions

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
}

ActivityListStarredOptions specifies the optional parameters to the ActivityService.ListStarred method.

type ActivityService

type ActivityService service

ActivityService handles communication with the activity related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/activity/

func (*ActivityService) DeleteRepositorySubscription

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 (*ActivityService) DeleteThreadSubscription

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 (*ActivityService) GetRepositorySubscription

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 (*ActivityService) GetThread

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 (*ActivityService) GetThreadSubscription

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 (*ActivityService) IsStarred

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 (*ActivityService) ListEvents

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 (*ActivityService) ListEventsForOrganization

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 (*ActivityService) ListEventsForRepoNetwork

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 (*ActivityService) ListEventsPerformedByUser

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 (*ActivityService) ListEventsReceivedByUser

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 (*ActivityService) ListFeeds

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 (*ActivityService) ListIssueEventsForRepository

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 (*ActivityService) ListNotifications

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 (*ActivityService) ListRepositoryEvents

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 (*ActivityService) ListRepositoryNotifications

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 (*ActivityService) ListStargazers

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 (*ActivityService) ListStarred

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 (*ActivityService) ListUserEventsForOrganization

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 (*ActivityService) ListWatched

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 (*ActivityService) ListWatchers

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 (*ActivityService) MarkNotificationsRead

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 (*ActivityService) MarkRepositoryNotificationsRead

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 (*ActivityService) MarkThreadRead

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 (*ActivityService) SetRepositorySubscription

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 (*ActivityService) SetThreadSubscription

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 (*ActivityService) Star

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 (*ActivityService) Unstar

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

type AdminEnforcedChanges

type AdminEnforcedChanges struct {
	From *bool `json:"from,omitempty"`
}

AdminEnforcedChanges represents the changes made to the AdminEnforced policy.

func (*AdminEnforcedChanges) GetFrom

func (a *AdminEnforcedChanges) GetFrom() bool

GetFrom returns the From field if it's non-nil, zero value otherwise.

type AdminEnforcement

type AdminEnforcement struct {
	URL     *string `json:"url,omitempty"`
	Enabled bool    `json:"enabled"`
}

AdminEnforcement represents the configuration to enforce required status checks for repository administrators.

func (*AdminEnforcement) GetURL

func (a *AdminEnforcement) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type AdminService

type AdminService service

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

func (*AdminService) CreateOrg

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 (*AdminService) CreateUser

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 (*AdminService) CreateUserImpersonation

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 (*AdminService) DeleteUser

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 (*AdminService) DeleteUserImpersonation

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 (*AdminService) GetAdminStats

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 (*AdminService) RenameOrg

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 (*AdminService) RenameOrgByName

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 (*AdminService) UpdateTeamLDAPMapping

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 (*AdminService) UpdateUserLDAPMapping

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

type AdminStats

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

AdminStats represents a variety of stats of a GitHub Enterprise installation.

func (*AdminStats) GetComments

func (a *AdminStats) GetComments() *CommentStats

GetComments returns the Comments field.

func (*AdminStats) GetGists

func (a *AdminStats) GetGists() *GistStats

GetGists returns the Gists field.

func (*AdminStats) GetHooks

func (a *AdminStats) GetHooks() *HookStats

GetHooks returns the Hooks field.

func (*AdminStats) GetIssues

func (a *AdminStats) GetIssues() *IssueStats

GetIssues returns the Issues field.

func (*AdminStats) GetMilestones

func (a *AdminStats) GetMilestones() *MilestoneStats

GetMilestones returns the Milestones field.

func (*AdminStats) GetOrgs

func (a *AdminStats) GetOrgs() *OrgStats

GetOrgs returns the Orgs field.

func (*AdminStats) GetPages

func (a *AdminStats) GetPages() *PageStats

GetPages returns the Pages field.

func (*AdminStats) GetPulls

func (a *AdminStats) GetPulls() *PullStats

GetPulls returns the Pulls field.

func (*AdminStats) GetRepos

func (a *AdminStats) GetRepos() *RepoStats

GetRepos returns the Repos field.

func (*AdminStats) GetUsers

func (a *AdminStats) GetUsers() *UserStats

GetUsers returns the Users field.

func (AdminStats) String

func (s AdminStats) String() string

type AdvancedSecurity

type AdvancedSecurity struct {
	Status *string `json:"status,omitempty"`
}

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

func (*AdvancedSecurity) GetStatus

func (a *AdvancedSecurity) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (AdvancedSecurity) String

func (a AdvancedSecurity) String() string

type AdvancedSecurityCommittersBreakdown

type AdvancedSecurityCommittersBreakdown struct {
	UserLogin      *string `json:"user_login,omitempty"`
	LastPushedDate *string `json:"last_pushed_date,omitempty"`
}

AdvancedSecurityCommittersBreakdown represents the user activity breakdown for ActiveCommitters.

func (*AdvancedSecurityCommittersBreakdown) GetLastPushedDate

func (a *AdvancedSecurityCommittersBreakdown) GetLastPushedDate() string

GetLastPushedDate returns the LastPushedDate field if it's non-nil, zero value otherwise.

func (*AdvancedSecurityCommittersBreakdown) GetUserLogin

func (a *AdvancedSecurityCommittersBreakdown) GetUserLogin() string

GetUserLogin returns the UserLogin field if it's non-nil, zero value otherwise.

type AdvisoryCVSs

type AdvisoryCVSs struct {
	Score        *float64 `json:"score,omitempty"`
	VectorString *string  `json:"vector_string,omitempty"`
}

AdvisoryCVSs represents the advisory pertaining to the Common Vulnerability Scoring System.

func (*AdvisoryCVSs) GetScore

func (a *AdvisoryCVSs) GetScore() *float64

GetScore returns the Score field.

func (*AdvisoryCVSs) GetVectorString

func (a *AdvisoryCVSs) GetVectorString() string

GetVectorString returns the VectorString field if it's non-nil, zero value otherwise.

type AdvisoryCWEs

type AdvisoryCWEs struct {
	CWEID *string `json:"cwe_id,omitempty"`
	Name  *string `json:"name,omitempty"`
}

AdvisoryCWEs reprensent the advisory pertaining to Common Weakness Enumeration.

func (*AdvisoryCWEs) GetCWEID

func (a *AdvisoryCWEs) GetCWEID() string

GetCWEID returns the CWEID field if it's non-nil, zero value otherwise.

func (*AdvisoryCWEs) GetName

func (a *AdvisoryCWEs) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

type AdvisoryIdentifier

type AdvisoryIdentifier struct {
	Value *string `json:"value,omitempty"`
	Type  *string `json:"type,omitempty"`
}

AdvisoryIdentifier represents the identifier for a Security Advisory.

func (*AdvisoryIdentifier) GetType

func (a *AdvisoryIdentifier) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*AdvisoryIdentifier) GetValue

func (a *AdvisoryIdentifier) GetValue() string

GetValue returns the Value field if it's non-nil, zero value otherwise.

type AdvisoryReference

type AdvisoryReference struct {
	URL *string `json:"url,omitempty"`
}

AdvisoryReference represents the reference url for the security advisory.

func (*AdvisoryReference) GetURL

func (a *AdvisoryReference) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type AdvisoryVulnerability

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

AdvisoryVulnerability represents the vulnerability object for a Security Advisory.

func (*AdvisoryVulnerability) GetFirstPatchedVersion

func (a *AdvisoryVulnerability) GetFirstPatchedVersion() *FirstPatchedVersion

GetFirstPatchedVersion returns the FirstPatchedVersion field.

func (*AdvisoryVulnerability) GetPackage

GetPackage returns the Package field.

func (*AdvisoryVulnerability) GetSeverity

func (a *AdvisoryVulnerability) GetSeverity() string

GetSeverity returns the Severity field if it's non-nil, zero value otherwise.

func (*AdvisoryVulnerability) GetVulnerableVersionRange

func (a *AdvisoryVulnerability) GetVulnerableVersionRange() string

GetVulnerableVersionRange returns the VulnerableVersionRange field if it's non-nil, zero value otherwise.

type Alert

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"`
	DismissedComment   *string               `json:"dismissed_comment,omitempty"`
	InstancesURL       *string               `json:"instances_url,omitempty"`
}

Alert represents an individual GitHub Code Scanning Alert on a single repository.

GitHub API docs: https://docs.github.com/en/rest/code-scanning

func (*Alert) GetClosedAt

func (a *Alert) GetClosedAt() Timestamp

GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.

func (*Alert) GetClosedBy

func (a *Alert) GetClosedBy() *User

GetClosedBy returns the ClosedBy field.

func (*Alert) GetCreatedAt

func (a *Alert) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Alert) GetDismissedAt

func (a *Alert) GetDismissedAt() Timestamp

GetDismissedAt returns the DismissedAt field if it's non-nil, zero value otherwise.

func (*Alert) GetDismissedBy

func (a *Alert) GetDismissedBy() *User

GetDismissedBy returns the DismissedBy field.

func (*Alert) GetDismissedComment

func (a *Alert) GetDismissedComment() string

GetDismissedComment returns the DismissedComment field if it's non-nil, zero value otherwise.

func (*Alert) GetDismissedReason

func (a *Alert) GetDismissedReason() string

GetDismissedReason returns the DismissedReason field if it's non-nil, zero value otherwise.

func (*Alert) GetFixedAt

func (a *Alert) GetFixedAt() Timestamp

GetFixedAt returns the FixedAt field if it's non-nil, zero value otherwise.

func (*Alert) GetHTMLURL

func (a *Alert) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Alert) GetInstancesURL

func (a *Alert) GetInstancesURL() string

GetInstancesURL returns the InstancesURL field if it's non-nil, zero value otherwise.

func (*Alert) GetMostRecentInstance

func (a *Alert) GetMostRecentInstance() *MostRecentInstance

GetMostRecentInstance returns the MostRecentInstance field.

func (*Alert) GetNumber

func (a *Alert) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*Alert) GetRepository

func (a *Alert) GetRepository() *Repository

GetRepository returns the Repository field.

func (*Alert) GetRule

func (a *Alert) GetRule() *Rule

GetRule returns the Rule field.

func (*Alert) GetRuleDescription

func (a *Alert) GetRuleDescription() string

GetRuleDescription returns the RuleDescription field if it's non-nil, zero value otherwise.

func (*Alert) GetRuleID

func (a *Alert) GetRuleID() string

GetRuleID returns the RuleID field if it's non-nil, zero value otherwise.

func (*Alert) GetRuleSeverity

func (a *Alert) GetRuleSeverity() string

GetRuleSeverity returns the RuleSeverity field if it's non-nil, zero value otherwise.

func (*Alert) GetState

func (a *Alert) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Alert) GetTool

func (a *Alert) GetTool() *Tool

GetTool returns the Tool field.

func (*Alert) GetURL

func (a *Alert) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Alert) GetUpdatedAt

func (a *Alert) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Alert) ID

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.

type AlertListOptions

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

	ListCursorOptions

	// Add ListOptions so offset pagination with integer type "page" query parameter is accepted
	// since ListCursorOptions accepts "page" as string only.
	ListOptions
}

AlertListOptions specifies optional parameters to the CodeScanningService.ListAlerts method.

type AllowDeletions

type AllowDeletions struct {
	Enabled bool `json:"enabled"`
}

AllowDeletions represents the configuration to accept deletion of protected branches.

type AllowDeletionsEnforcementLevelChanges

type AllowDeletionsEnforcementLevelChanges struct {
	From *string `json:"from,omitempty"`
}

AllowDeletionsEnforcementLevelChanges represents the changes made to the AllowDeletionsEnforcementLevel policy.

func (*AllowDeletionsEnforcementLevelChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type AllowForcePushes

type AllowForcePushes struct {
	Enabled bool `json:"enabled"`
}

AllowForcePushes represents the configuration to accept forced pushes on protected branches.

type AllowForkSyncing

type AllowForkSyncing struct {
	Enabled *bool `json:"enabled,omitempty"`
}

AllowForkSyncing represents whether users can pull changes from upstream when the branch is locked.

func (*AllowForkSyncing) GetEnabled

func (a *AllowForkSyncing) GetEnabled() bool

GetEnabled returns the Enabled field if it's non-nil, zero value otherwise.

type AnalysesListOptions

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
}

AnalysesListOptions specifies optional parameters to the CodeScanningService.ListAnalysesForRepo method.

func (*AnalysesListOptions) GetRef

func (a *AnalysesListOptions) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*AnalysesListOptions) GetSarifID

func (a *AnalysesListOptions) GetSarifID() string

GetSarifID returns the SarifID field if it's non-nil, zero value otherwise.

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

App represents a GitHub App.

func (*App) GetCreatedAt

func (a *App) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*App) GetDescription

func (a *App) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*App) GetExternalURL

func (a *App) GetExternalURL() string

GetExternalURL returns the ExternalURL field if it's non-nil, zero value otherwise.

func (*App) GetHTMLURL

func (a *App) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*App) GetID

func (a *App) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*App) GetName

func (a *App) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*App) GetNodeID

func (a *App) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*App) GetOwner

func (a *App) GetOwner() *User

GetOwner returns the Owner field.

func (*App) GetPermissions

func (a *App) GetPermissions() *InstallationPermissions

GetPermissions returns the Permissions field.

func (*App) GetSlug

func (a *App) GetSlug() string

GetSlug returns the Slug field if it's non-nil, zero value otherwise.

func (*App) GetUpdatedAt

func (a *App) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type AppConfig

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

AppConfig describes the configuration of a GitHub App.

func (*AppConfig) GetClientID

func (a *AppConfig) GetClientID() string

GetClientID returns the ClientID field if it's non-nil, zero value otherwise.

func (*AppConfig) GetClientSecret

func (a *AppConfig) GetClientSecret() string

GetClientSecret returns the ClientSecret field if it's non-nil, zero value otherwise.

func (*AppConfig) GetCreatedAt

func (a *AppConfig) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*AppConfig) GetDescription

func (a *AppConfig) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*AppConfig) GetExternalURL

func (a *AppConfig) GetExternalURL() string

GetExternalURL returns the ExternalURL field if it's non-nil, zero value otherwise.

func (*AppConfig) GetHTMLURL

func (a *AppConfig) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*AppConfig) GetID

func (a *AppConfig) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*AppConfig) GetName

func (a *AppConfig) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*AppConfig) GetNodeID

func (a *AppConfig) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*AppConfig) GetOwner

func (a *AppConfig) GetOwner() *User

GetOwner returns the Owner field.

func (*AppConfig) GetPEM

func (a *AppConfig) GetPEM() string

GetPEM returns the PEM field if it's non-nil, zero value otherwise.

func (*AppConfig) GetSlug

func (a *AppConfig) GetSlug() string

GetSlug returns the Slug field if it's non-nil, zero value otherwise.

func (*AppConfig) GetUpdatedAt

func (a *AppConfig) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*AppConfig) GetWebhookSecret

func (a *AppConfig) GetWebhookSecret() string

GetWebhookSecret returns the WebhookSecret field if it's non-nil, zero value otherwise.

type AppsService

type AppsService service

AppsService provides access to the installation related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/apps/

func (*AppsService) AddRepository

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 (*AppsService) CompleteAppManifest

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 (*AppsService) CreateAttachment

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 (*AppsService) CreateInstallationToken

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 (*AppsService) DeleteInstallation

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 (*AppsService) FindOrganizationInstallation

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 (*AppsService) FindRepositoryInstallation

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 (*AppsService) FindRepositoryInstallationByID

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 (*AppsService) FindUserInstallation

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 (*AppsService) Get

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 (*AppsService) GetHookConfig

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 (*AppsService) GetHookDelivery

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 (*AppsService) GetInstallation

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 (*AppsService) ListHookDeliveries

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 (*AppsService) ListInstallations

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 (*AppsService) ListRepos

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 (*AppsService) ListUserInstallations

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 (*AppsService) ListUserRepos

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 (*AppsService) RedeliverHookDelivery

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 (*AppsService) RemoveRepository

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 (*AppsService) RevokeInstallationToken

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 (*AppsService) SuspendInstallation

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 (*AppsService) UnsuspendInstallation

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 (*AppsService) UpdateHookConfig

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

type ArchiveFormat

type ArchiveFormat string

ArchiveFormat is used to define the archive type when calling GetArchiveLink.

const (
	// Tarball specifies an archive in gzipped tar format.
	Tarball ArchiveFormat = "tarball"

	// Zipball specifies an archive in zip format.
	Zipball ArchiveFormat = "zipball"
)

type Artifact

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

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

func (*Artifact) GetArchiveDownloadURL

func (a *Artifact) GetArchiveDownloadURL() string

GetArchiveDownloadURL returns the ArchiveDownloadURL field if it's non-nil, zero value otherwise.

func (*Artifact) GetCreatedAt

func (a *Artifact) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Artifact) GetExpired

func (a *Artifact) GetExpired() bool

GetExpired returns the Expired field if it's non-nil, zero value otherwise.

func (*Artifact) GetExpiresAt

func (a *Artifact) GetExpiresAt() Timestamp

GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.

func (*Artifact) GetID

func (a *Artifact) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Artifact) GetName

func (a *Artifact) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Artifact) GetNodeID

func (a *Artifact) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Artifact) GetSizeInBytes

func (a *Artifact) GetSizeInBytes() int64

GetSizeInBytes returns the SizeInBytes field if it's non-nil, zero value otherwise.

type ArtifactList

type ArtifactList struct {
	TotalCount *int64      `json:"total_count,omitempty"`
	Artifacts  []*Artifact `json:"artifacts,omitempty"`
}

ArtifactList represents a list of GitHub artifacts.

GitHub API docs: https://docs.github.com/en/rest/actions/artifacts#artifacts

func (*ArtifactList) GetTotalCount

func (a *ArtifactList) GetTotalCount() int64

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type Attachment

type Attachment struct {
	ID    *int64  `json:"id,omitempty"`
	Title *string `json:"title,omitempty"`
	Body  *string `json:"body,omitempty"`
}

Attachment represents a GitHub Apps attachment.

func (*Attachment) GetBody

func (a *Attachment) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*Attachment) GetID

func (a *Attachment) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Attachment) GetTitle

func (a *Attachment) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

type AuditEntry

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"`
	RunAttempt            *int64      `json:"run_attempt,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"`
}

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

func (*AuditEntry) GetAction

func (a *AuditEntry) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetActive

func (a *AuditEntry) GetActive() bool

GetActive returns the Active field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetActiveWas

func (a *AuditEntry) GetActiveWas() bool

GetActiveWas returns the ActiveWas field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetActor

func (a *AuditEntry) GetActor() string

GetActor returns the Actor field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetBlockedUser

func (a *AuditEntry) GetBlockedUser() string

GetBlockedUser returns the BlockedUser field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetBusiness

func (a *AuditEntry) GetBusiness() string

GetBusiness returns the Business field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetCancelledAt

func (a *AuditEntry) GetCancelledAt() Timestamp

GetCancelledAt returns the CancelledAt field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetCompletedAt

func (a *AuditEntry) GetCompletedAt() Timestamp

GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetConclusion

func (a *AuditEntry) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetConfig

func (a *AuditEntry) GetConfig() *HookConfig

GetConfig returns the Config field.

func (*AuditEntry) GetConfigWas

func (a *AuditEntry) GetConfigWas() *HookConfig

GetConfigWas returns the ConfigWas field.

func (*AuditEntry) GetContentType

func (a *AuditEntry) GetContentType() string

GetContentType returns the ContentType field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetCreatedAt

func (a *AuditEntry) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetDeployKeyFingerprint

func (a *AuditEntry) GetDeployKeyFingerprint() string

GetDeployKeyFingerprint returns the DeployKeyFingerprint field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetDocumentID

func (a *AuditEntry) GetDocumentID() string

GetDocumentID returns the DocumentID field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetEmoji

func (a *AuditEntry) GetEmoji() string

GetEmoji returns the Emoji field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetEnvironmentName

func (a *AuditEntry) GetEnvironmentName() string

GetEnvironmentName returns the EnvironmentName field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetEvent

func (a *AuditEntry) GetEvent() string

GetEvent returns the Event field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetExplanation

func (a *AuditEntry) GetExplanation() string

GetExplanation returns the Explanation field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetFingerprint

func (a *AuditEntry) GetFingerprint() string

GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetHeadBranch

func (a *AuditEntry) GetHeadBranch() string

GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetHeadSHA

func (a *AuditEntry) GetHeadSHA() string

GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetHookID

func (a *AuditEntry) GetHookID() int64

GetHookID returns the HookID field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetIsHostedRunner

func (a *AuditEntry) GetIsHostedRunner() bool

GetIsHostedRunner returns the IsHostedRunner field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetJobName

func (a *AuditEntry) GetJobName() string

GetJobName returns the JobName field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetLimitedAvailability

func (a *AuditEntry) GetLimitedAvailability() bool

GetLimitedAvailability returns the LimitedAvailability field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetMessage

func (a *AuditEntry) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetName

func (a *AuditEntry) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetOldUser

func (a *AuditEntry) GetOldUser() string

GetOldUser returns the OldUser field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetOpenSSHPublicKey

func (a *AuditEntry) GetOpenSSHPublicKey() string

GetOpenSSHPublicKey returns the OpenSSHPublicKey field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetOrg

func (a *AuditEntry) GetOrg() string

GetOrg returns the Org field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetPreviousVisibility

func (a *AuditEntry) GetPreviousVisibility() string

GetPreviousVisibility returns the PreviousVisibility field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetReadOnly

func (a *AuditEntry) GetReadOnly() string

GetReadOnly returns the ReadOnly field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRepo

func (a *AuditEntry) GetRepo() string

GetRepo returns the Repo field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRepository

func (a *AuditEntry) GetRepository() string

GetRepository returns the Repository field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRepositoryPublic

func (a *AuditEntry) GetRepositoryPublic() bool

GetRepositoryPublic returns the RepositoryPublic field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRunAttempt

func (a *AuditEntry) GetRunAttempt() int64

GetRunAttempt returns the RunAttempt field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRunnerGroupID

func (a *AuditEntry) GetRunnerGroupID() int64

GetRunnerGroupID returns the RunnerGroupID field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRunnerGroupName

func (a *AuditEntry) GetRunnerGroupName() string

GetRunnerGroupName returns the RunnerGroupName field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRunnerID

func (a *AuditEntry) GetRunnerID() int64

GetRunnerID returns the RunnerID field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetRunnerName

func (a *AuditEntry) GetRunnerName() string

GetRunnerName returns the RunnerName field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetSourceVersion

func (a *AuditEntry) GetSourceVersion() string

GetSourceVersion returns the SourceVersion field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetStartedAt

func (a *AuditEntry) GetStartedAt() Timestamp

GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetTargetLogin

func (a *AuditEntry) GetTargetLogin() string

GetTargetLogin returns the TargetLogin field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetTargetVersion

func (a *AuditEntry) GetTargetVersion() string

GetTargetVersion returns the TargetVersion field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetTeam

func (a *AuditEntry) GetTeam() string

GetTeam returns the Team field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetTimestamp

func (a *AuditEntry) GetTimestamp() Timestamp

GetTimestamp returns the Timestamp field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetTransportProtocol

func (a *AuditEntry) GetTransportProtocol() int

GetTransportProtocol returns the TransportProtocol field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetTransportProtocolName

func (a *AuditEntry) GetTransportProtocolName() string

GetTransportProtocolName returns the TransportProtocolName field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetTriggerID

func (a *AuditEntry) GetTriggerID() int64

GetTriggerID returns the TriggerID field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetUser

func (a *AuditEntry) GetUser() string

GetUser returns the User field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetVisibility

func (a *AuditEntry) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetWorkflowID

func (a *AuditEntry) GetWorkflowID() int64

GetWorkflowID returns the WorkflowID field if it's non-nil, zero value otherwise.

func (*AuditEntry) GetWorkflowRunID

func (a *AuditEntry) GetWorkflowRunID() int64

GetWorkflowRunID returns the WorkflowRunID field if it's non-nil, zero value otherwise.

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

Authorization represents an individual GitHub authorization.

func (*Authorization) GetApp

func (a *Authorization) GetApp() *AuthorizationApp

GetApp returns the App field.

func (*Authorization) GetCreatedAt

func (a *Authorization) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Authorization) GetFingerprint

func (a *Authorization) GetFingerprint() string

GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.

func (*Authorization) GetHashedToken

func (a *Authorization) GetHashedToken() string

GetHashedToken returns the HashedToken field if it's non-nil, zero value otherwise.

func (*Authorization) GetID

func (a *Authorization) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Authorization) GetNote

func (a *Authorization) GetNote() string

GetNote returns the Note field if it's non-nil, zero value otherwise.

func (*Authorization) GetNoteURL

func (a *Authorization) GetNoteURL() string

GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.

func (*Authorization) GetToken

func (a *Authorization) GetToken() string

GetToken returns the Token field if it's non-nil, zero value otherwise.

func (*Authorization) GetTokenLastEight

func (a *Authorization) GetTokenLastEight() string

GetTokenLastEight returns the TokenLastEight field if it's non-nil, zero value otherwise.

func (*Authorization) GetURL

func (a *Authorization) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Authorization) GetUpdatedAt

func (a *Authorization) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Authorization) GetUser

func (a *Authorization) GetUser() *User

GetUser returns the User field.

func (Authorization) String

func (a Authorization) String() string

type AuthorizationApp

type AuthorizationApp struct {
	URL      *string `json:"url,omitempty"`
	Name     *string `json:"name,omitempty"`
	ClientID *string `json:"client_id,omitempty"`
}

AuthorizationApp represents an individual GitHub app (in the context of authorization).

func (*AuthorizationApp) GetClientID

func (a *AuthorizationApp) GetClientID() string

GetClientID returns the ClientID field if it's non-nil, zero value otherwise.

func (*AuthorizationApp) GetName

func (a *AuthorizationApp) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*AuthorizationApp) GetURL

func (a *AuthorizationApp) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (AuthorizationApp) String

func (a AuthorizationApp) String() string

type AuthorizationRequest

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

AuthorizationRequest represents a request to create an authorization.

func (*AuthorizationRequest) GetClientID

func (a *AuthorizationRequest) GetClientID() string

GetClientID returns the ClientID field if it's non-nil, zero value otherwise.

func (*AuthorizationRequest) GetClientSecret

func (a *AuthorizationRequest) GetClientSecret() string

GetClientSecret returns the ClientSecret field if it's non-nil, zero value otherwise.

func (*AuthorizationRequest) GetFingerprint

func (a *AuthorizationRequest) GetFingerprint() string

GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.

func (*AuthorizationRequest) GetNote

func (a *AuthorizationRequest) GetNote() string

GetNote returns the Note field if it's non-nil, zero value otherwise.

func (*AuthorizationRequest) GetNoteURL

func (a *AuthorizationRequest) GetNoteURL() string

GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.

func (AuthorizationRequest) String

func (a AuthorizationRequest) String() string

type AuthorizationUpdateRequest

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

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

func (*AuthorizationUpdateRequest) GetFingerprint

func (a *AuthorizationUpdateRequest) GetFingerprint() string

GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.

func (*AuthorizationUpdateRequest) GetNote

func (a *AuthorizationUpdateRequest) GetNote() string

GetNote returns the Note field if it's non-nil, zero value otherwise.

func (*AuthorizationUpdateRequest) GetNoteURL

func (a *AuthorizationUpdateRequest) GetNoteURL() string

GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.

func (AuthorizationUpdateRequest) String

type AuthorizationsService

type AuthorizationsService service

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

func (*AuthorizationsService) Check

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 (*AuthorizationsService) CreateImpersonation

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 (*AuthorizationsService) DeleteGrant

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 (*AuthorizationsService) DeleteImpersonation

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 (*AuthorizationsService) Reset

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 (*AuthorizationsService) Revoke

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

type AuthorizedActorNames

type AuthorizedActorNames struct {
	From []string `json:"from,omitempty"`
}

AuthorizedActorNames represents who are authorized to edit the branch protection rules.

type AuthorizedActorsOnly

type AuthorizedActorsOnly struct {
	From *bool `json:"from,omitempty"`
}

AuthorizedActorsOnly represents if the branch rule can be edited by authorized actors only.

func (*AuthorizedActorsOnly) GetFrom

func (a *AuthorizedActorsOnly) GetFrom() bool

GetFrom returns the From field if it's non-nil, zero value otherwise.

type AuthorizedDismissalActorsOnlyChanges

type AuthorizedDismissalActorsOnlyChanges struct {
	From *bool `json:"from,omitempty"`
}

AuthorizedDismissalActorsOnlyChanges represents the changes made to the AuthorizedDismissalActorsOnly policy.

func (*AuthorizedDismissalActorsOnlyChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type AutoTriggerCheck

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.)
}

AutoTriggerCheck enables or disables automatic creation of CheckSuite events upon pushes to the repository.

func (*AutoTriggerCheck) GetAppID

func (a *AutoTriggerCheck) GetAppID() int64

GetAppID returns the AppID field if it's non-nil, zero value otherwise.

func (*AutoTriggerCheck) GetSetting

func (a *AutoTriggerCheck) GetSetting() bool

GetSetting returns the Setting field if it's non-nil, zero value otherwise.

type Autolink struct {
	ID             *int64  `json:"id,omitempty"`
	KeyPrefix      *string `json:"key_prefix,omitempty"`
	URLTemplate    *string `json:"url_template,omitempty"`
	IsAlphanumeric *bool   `json:"is_alphanumeric,omitempty"`
}

Autolink represents autolinks to external resources like JIRA issues and Zendesk tickets.

func (*Autolink) GetID

func (a *Autolink) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Autolink) GetIsAlphanumeric

func (a *Autolink) GetIsAlphanumeric() bool

GetIsAlphanumeric returns the IsAlphanumeric field if it's non-nil, zero value otherwise.

func (*Autolink) GetKeyPrefix

func (a *Autolink) GetKeyPrefix() string

GetKeyPrefix returns the KeyPrefix field if it's non-nil, zero value otherwise.

func (*Autolink) GetURLTemplate

func (a *Autolink) GetURLTemplate() string

GetURLTemplate returns the URLTemplate field if it's non-nil, zero value otherwise.

type AutolinkOptions

type AutolinkOptions struct {
	KeyPrefix      *string `json:"key_prefix,omitempty"`
	URLTemplate    *string `json:"url_template,omitempty"`
	IsAlphanumeric *bool   `json:"is_alphanumeric,omitempty"`
}

AutolinkOptions specifies parameters for RepositoriesService.AddAutolink method.

func (*AutolinkOptions) GetIsAlphanumeric

func (a *AutolinkOptions) GetIsAlphanumeric() bool

GetIsAlphanumeric returns the IsAlphanumeric field if it's non-nil, zero value otherwise.

func (*AutolinkOptions) GetKeyPrefix

func (a *AutolinkOptions) GetKeyPrefix() string

GetKeyPrefix returns the KeyPrefix field if it's non-nil, zero value otherwise.

func (*AutolinkOptions) GetURLTemplate

func (a *AutolinkOptions) GetURLTemplate() string

GetURLTemplate returns the URLTemplate field if it's non-nil, zero value otherwise.

type BasicAuthTransport

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
}

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.

func (*BasicAuthTransport) Client

func (t *BasicAuthTransport) Client() *http.Client

Client returns an *http.Client that makes requests that are authenticated using HTTP Basic Authentication.

func (*BasicAuthTransport) RoundTrip

func (t *BasicAuthTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip implements the RoundTripper interface.

type BillingService

type BillingService service

BillingService provides access to the billing related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/billing

func (*BillingService) GetActionsBillingOrg

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 (*BillingService) GetActionsBillingUser

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 (*BillingService) GetAdvancedSecurityActiveCommittersOrg

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 (*BillingService) GetPackagesBillingOrg

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 (*BillingService) GetPackagesBillingUser

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 (*BillingService) GetStorageBillingOrg

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 (*BillingService) GetStorageBillingUser

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

type Blob

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

Blob represents a blob object.

func (*Blob) GetContent

func (b *Blob) GetContent() string

GetContent returns the Content field if it's non-nil, zero value otherwise.

func (*Blob) GetEncoding

func (b *Blob) GetEncoding() string

GetEncoding returns the Encoding field if it's non-nil, zero value otherwise.

func (*Blob) GetNodeID

func (b *Blob) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Blob) GetSHA

func (b *Blob) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*Blob) GetSize

func (b *Blob) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*Blob) GetURL

func (b *Blob) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type Branch

type Branch struct {
	Name      *string           `json:"name,omitempty"`
	Commit    *RepositoryCommit `json:"commit,omitempty"`
	Protected *bool             `json:"protected,omitempty"`
}

Branch represents a repository branch

func (*Branch) GetCommit

func (b *Branch) GetCommit() *RepositoryCommit

GetCommit returns the Commit field.

func (*Branch) GetName

func (b *Branch) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Branch) GetProtected

func (b *Branch) GetProtected() bool

GetProtected returns the Protected field if it's non-nil, zero value otherwise.

type BranchCommit

type BranchCommit struct {
	Name      *string `json:"name,omitempty"`
	Commit    *Commit `json:"commit,omitempty"`
	Protected *bool   `json:"protected,omitempty"`
}

BranchCommit is the result of listing branches with commit SHA.

func (*BranchCommit) GetCommit

func (b *BranchCommit) GetCommit() *Commit

GetCommit returns the Commit field.

func (*BranchCommit) GetName

func (b *BranchCommit) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*BranchCommit) GetProtected

func (b *BranchCommit) GetProtected() bool

GetProtected returns the Protected field if it's non-nil, zero value otherwise.

type BranchListOptions

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
}

BranchListOptions specifies the optional parameters to the RepositoriesService.ListBranches method.

func (*BranchListOptions) GetProtected

func (b *BranchListOptions) GetProtected() bool

GetProtected returns the Protected field if it's non-nil, zero value otherwise.

type BranchPolicy

type BranchPolicy struct {
	ProtectedBranches    *bool `json:"protected_branches,omitempty"`
	CustomBranchPolicies *bool `json:"custom_branch_policies,omitempty"`
}

BranchPolicy represents the options for whether a branch deployment policy is applied to this environment.

func (*BranchPolicy) GetCustomBranchPolicies

func (b *BranchPolicy) GetCustomBranchPolicies() bool

GetCustomBranchPolicies returns the CustomBranchPolicies field if it's non-nil, zero value otherwise.

func (*BranchPolicy) GetProtectedBranches

func (b *BranchPolicy) GetProtectedBranches() bool

GetProtectedBranches returns the ProtectedBranches field if it's non-nil, zero value otherwise.

type BranchProtectionRule

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

BranchProtectionRule represents the rule applied to a repositories branch.

func (*BranchProtectionRule) GetAdminEnforced

func (b *BranchProtectionRule) GetAdminEnforced() bool

GetAdminEnforced returns the AdminEnforced field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetAllowDeletionsEnforcementLevel

func (b *BranchProtectionRule) GetAllowDeletionsEnforcementLevel() string

GetAllowDeletionsEnforcementLevel returns the AllowDeletionsEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetAllowForcePushesEnforcementLevel

func (b *BranchProtectionRule) GetAllowForcePushesEnforcementLevel() string

GetAllowForcePushesEnforcementLevel returns the AllowForcePushesEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetAuthorizedActorsOnly

func (b *BranchProtectionRule) GetAuthorizedActorsOnly() bool

GetAuthorizedActorsOnly returns the AuthorizedActorsOnly field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetAuthorizedDismissalActorsOnly

func (b *BranchProtectionRule) GetAuthorizedDismissalActorsOnly() bool

GetAuthorizedDismissalActorsOnly returns the AuthorizedDismissalActorsOnly field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetCreatedAt

func (b *BranchProtectionRule) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetDismissStaleReviewsOnPush

func (b *BranchProtectionRule) GetDismissStaleReviewsOnPush() bool

GetDismissStaleReviewsOnPush returns the DismissStaleReviewsOnPush field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetID

func (b *BranchProtectionRule) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetIgnoreApprovalsFromContributors

func (b *BranchProtectionRule) GetIgnoreApprovalsFromContributors() bool

GetIgnoreApprovalsFromContributors returns the IgnoreApprovalsFromContributors field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetLinearHistoryRequirementEnforcementLevel

func (b *BranchProtectionRule) GetLinearHistoryRequirementEnforcementLevel() string

GetLinearHistoryRequirementEnforcementLevel returns the LinearHistoryRequirementEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetMergeQueueEnforcementLevel

func (b *BranchProtectionRule) GetMergeQueueEnforcementLevel() string

GetMergeQueueEnforcementLevel returns the MergeQueueEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetName

func (b *BranchProtectionRule) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetPullRequestReviewsEnforcementLevel

func (b *BranchProtectionRule) GetPullRequestReviewsEnforcementLevel() string

GetPullRequestReviewsEnforcementLevel returns the PullRequestReviewsEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetRepositoryID

func (b *BranchProtectionRule) GetRepositoryID() int64

GetRepositoryID returns the RepositoryID field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetRequireCodeOwnerReview

func (b *BranchProtectionRule) GetRequireCodeOwnerReview() bool

GetRequireCodeOwnerReview returns the RequireCodeOwnerReview field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetRequiredApprovingReviewCount

func (b *BranchProtectionRule) GetRequiredApprovingReviewCount() int

GetRequiredApprovingReviewCount returns the RequiredApprovingReviewCount field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetRequiredConversationResolutionLevel

func (b *BranchProtectionRule) GetRequiredConversationResolutionLevel() string

GetRequiredConversationResolutionLevel returns the RequiredConversationResolutionLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetRequiredDeploymentsEnforcementLevel

func (b *BranchProtectionRule) GetRequiredDeploymentsEnforcementLevel() string

GetRequiredDeploymentsEnforcementLevel returns the RequiredDeploymentsEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetRequiredStatusChecksEnforcementLevel

func (b *BranchProtectionRule) GetRequiredStatusChecksEnforcementLevel() string

GetRequiredStatusChecksEnforcementLevel returns the RequiredStatusChecksEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetSignatureRequirementEnforcementLevel

func (b *BranchProtectionRule) GetSignatureRequirementEnforcementLevel() string

GetSignatureRequirementEnforcementLevel returns the SignatureRequirementEnforcementLevel field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetStrictRequiredStatusChecksPolicy

func (b *BranchProtectionRule) GetStrictRequiredStatusChecksPolicy() bool

GetStrictRequiredStatusChecksPolicy returns the StrictRequiredStatusChecksPolicy field if it's non-nil, zero value otherwise.

func (*BranchProtectionRule) GetUpdatedAt

func (b *BranchProtectionRule) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type BranchProtectionRuleEvent

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

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

func (*BranchProtectionRuleEvent) GetAction

func (b *BranchProtectionRuleEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*BranchProtectionRuleEvent) GetChanges

GetChanges returns the Changes field.

func (*BranchProtectionRuleEvent) GetInstallation

func (b *BranchProtectionRuleEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*BranchProtectionRuleEvent) GetOrg

GetOrg returns the Org field.

func (*BranchProtectionRuleEvent) GetRepo

func (b *BranchProtectionRuleEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*BranchProtectionRuleEvent) GetRule

GetRule returns the Rule field.

func (*BranchProtectionRuleEvent) GetSender

func (b *BranchProtectionRuleEvent) GetSender() *User

GetSender returns the Sender field.

type BranchRestrictions

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

BranchRestrictions represents the restriction that only certain users or teams may push to a branch.

type BranchRestrictionsRequest

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

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 BypassPullRequestAllowances

type BypassPullRequestAllowances struct {
	// The list of users allowed to bypass pull request requirements.
	Users []*User `json:"users"`
	// The list of teams allowed to bypass pull request requirements.
	Teams []*Team `json:"teams"`
	// The list of apps allowed to bypass pull request requirements.
	Apps []*App `json:"apps"`
}

BypassPullRequestAllowances represents the people, teams, or apps who are allowed to bypass required pull requests.

type BypassPullRequestAllowancesRequest

type BypassPullRequestAllowancesRequest struct {
	// The list of user logins allowed to bypass pull request requirements.
	Users []string `json:"users"`
	// The list of team slugs allowed to bypass pull request requirements.
	Teams []string `json:"teams"`
	// The list of app slugs allowed to bypass pull request requirements.
	Apps []string `json:"apps"`
}

BypassPullRequestAllowancesRequest represents the people, teams, or apps who are allowed to bypass required pull requests. It is separate from BypassPullRequestAllowances above because the request structure is different from the response structure.

type CheckRun

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

CheckRun represents a GitHub check run on a repository associated with a GitHub app.

func (*CheckRun) GetApp

func (c *CheckRun) GetApp() *App

GetApp returns the App field.

func (*CheckRun) GetCheckSuite

func (c *CheckRun) GetCheckSuite() *CheckSuite

GetCheckSuite returns the CheckSuite field.

func (*CheckRun) GetCompletedAt

func (c *CheckRun) GetCompletedAt() Timestamp

GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.

func (*CheckRun) GetConclusion

func (c *CheckRun) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*CheckRun) GetDetailsURL

func (c *CheckRun) GetDetailsURL() string

GetDetailsURL returns the DetailsURL field if it's non-nil, zero value otherwise.

func (*CheckRun) GetExternalID

func (c *CheckRun) GetExternalID() string

GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.

func (*CheckRun) GetHTMLURL

func (c *CheckRun) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*CheckRun) GetHeadSHA

func (c *CheckRun) GetHeadSHA() string

GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.

func (*CheckRun) GetID

func (c *CheckRun) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*CheckRun) GetName

func (c *CheckRun) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*CheckRun) GetNodeID

func (c *CheckRun) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*CheckRun) GetOutput

func (c *CheckRun) GetOutput() *CheckRunOutput

GetOutput returns the Output field.

func (*CheckRun) GetStartedAt

func (c *CheckRun) GetStartedAt() Timestamp

GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.

func (*CheckRun) GetStatus

func (c *CheckRun) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*CheckRun) GetURL

func (c *CheckRun) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (CheckRun) String

func (c CheckRun) String() string

type CheckRunAction

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.)
}

CheckRunAction exposes further actions the integrator can perform, which a user may trigger.

type CheckRunAnnotation

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

CheckRunAnnotation represents an annotation object for a CheckRun output.

func (*CheckRunAnnotation) GetAnnotationLevel

func (c *CheckRunAnnotation) GetAnnotationLevel() string

GetAnnotationLevel returns the AnnotationLevel field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetEndColumn

func (c *CheckRunAnnotation) GetEndColumn() int

GetEndColumn returns the EndColumn field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetEndLine

func (c *CheckRunAnnotation) GetEndLine() int

GetEndLine returns the EndLine field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetMessage

func (c *CheckRunAnnotation) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetPath

func (c *CheckRunAnnotation) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetRawDetails

func (c *CheckRunAnnotation) GetRawDetails() string

GetRawDetails returns the RawDetails field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetStartColumn

func (c *CheckRunAnnotation) GetStartColumn() int

GetStartColumn returns the StartColumn field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetStartLine

func (c *CheckRunAnnotation) GetStartLine() int

GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.

func (*CheckRunAnnotation) GetTitle

func (c *CheckRunAnnotation) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

type CheckRunEvent

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

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

func (*CheckRunEvent) GetAction

func (c *CheckRunEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*CheckRunEvent) GetCheckRun

func (c *CheckRunEvent) GetCheckRun() *CheckRun

GetCheckRun returns the CheckRun field.

func (*CheckRunEvent) GetInstallation

func (c *CheckRunEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*CheckRunEvent) GetOrg

func (c *CheckRunEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*CheckRunEvent) GetRepo

func (c *CheckRunEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*CheckRunEvent) GetRequestedAction

func (c *CheckRunEvent) GetRequestedAction() *RequestedAction

GetRequestedAction returns the RequestedAction field.

func (*CheckRunEvent) GetSender

func (c *CheckRunEvent) GetSender() *User

GetSender returns the Sender field.

type CheckRunImage

type CheckRunImage struct {
	Alt      *string `json:"alt,omitempty"`
	ImageURL *string `json:"image_url,omitempty"`
	Caption  *string `json:"caption,omitempty"`
}

CheckRunImage represents an image object for a CheckRun output.

func (*CheckRunImage) GetAlt

func (c *CheckRunImage) GetAlt() string

GetAlt returns the Alt field if it's non-nil, zero value otherwise.

func (*CheckRunImage) GetCaption

func (c *CheckRunImage) GetCaption() string

GetCaption returns the Caption field if it's non-nil, zero value otherwise.

func (*CheckRunImage) GetImageURL

func (c *CheckRunImage) GetImageURL() string

GetImageURL returns the ImageURL field if it's non-nil, zero value otherwise.

type CheckRunOutput

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

CheckRunOutput represents the output of a CheckRun.

func (*CheckRunOutput) GetAnnotationsCount

func (c *CheckRunOutput) GetAnnotationsCount() int

GetAnnotationsCount returns the AnnotationsCount field if it's non-nil, zero value otherwise.

func (*CheckRunOutput) GetAnnotationsURL

func (c *CheckRunOutput) GetAnnotationsURL() string

GetAnnotationsURL returns the AnnotationsURL field if it's non-nil, zero value otherwise.

func (*CheckRunOutput) GetSummary

func (c *CheckRunOutput) GetSummary() string

GetSummary returns the Summary field if it's non-nil, zero value otherwise.

func (*CheckRunOutput) GetText

func (c *CheckRunOutput) GetText() string

GetText returns the Text field if it's non-nil, zero value otherwise.

func (*CheckRunOutput) GetTitle

func (c *CheckRunOutput) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

type CheckSuite

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

CheckSuite represents a suite of check runs.

func (*CheckSuite) GetAfterSHA

func (c *CheckSuite) GetAfterSHA() string

GetAfterSHA returns the AfterSHA field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetApp

func (c *CheckSuite) GetApp() *App

GetApp returns the App field.

func (*CheckSuite) GetBeforeSHA

func (c *CheckSuite) GetBeforeSHA() string

GetBeforeSHA returns the BeforeSHA field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetConclusion

func (c *CheckSuite) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetCreatedAt

func (c *CheckSuite) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetHeadBranch

func (c *CheckSuite) GetHeadBranch() string

GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetHeadCommit

func (c *CheckSuite) GetHeadCommit() *Commit

GetHeadCommit returns the HeadCommit field.

func (*CheckSuite) GetHeadSHA

func (c *CheckSuite) GetHeadSHA() string

GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetID

func (c *CheckSuite) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetNodeID

func (c *CheckSuite) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetRepository

func (c *CheckSuite) GetRepository() *Repository

GetRepository returns the Repository field.

func (*CheckSuite) GetStatus

func (c *CheckSuite) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetURL

func (c *CheckSuite) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*CheckSuite) GetUpdatedAt

func (c *CheckSuite) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (CheckSuite) String

func (c CheckSuite) String() string

type CheckSuiteEvent

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

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

func (*CheckSuiteEvent) GetAction

func (c *CheckSuiteEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*CheckSuiteEvent) GetCheckSuite

func (c *CheckSuiteEvent) GetCheckSuite() *CheckSuite

GetCheckSuite returns the CheckSuite field.

func (*CheckSuiteEvent) GetInstallation

func (c *CheckSuiteEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*CheckSuiteEvent) GetOrg

func (c *CheckSuiteEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*CheckSuiteEvent) GetRepo

func (c *CheckSuiteEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*CheckSuiteEvent) GetSender

func (c *CheckSuiteEvent) GetSender() *User

GetSender returns the Sender field.

type CheckSuitePreferenceOptions

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.
}

CheckSuitePreferenceOptions set options for check suite preferences for a repository.

type CheckSuitePreferenceResults

type CheckSuitePreferenceResults struct {
	Preferences *PreferenceList `json:"preferences,omitempty"`
	Repository  *Repository     `json:"repository,omitempty"`
}

CheckSuitePreferenceResults represents the results of the preference set operation.

func (*CheckSuitePreferenceResults) GetPreferences

func (c *CheckSuitePreferenceResults) GetPreferences() *PreferenceList

GetPreferences returns the Preferences field.

func (*CheckSuitePreferenceResults) GetRepository

func (c *CheckSuitePreferenceResults) GetRepository() *Repository

GetRepository returns the Repository field.

type ChecksService

type ChecksService service

ChecksService provides access to the Checks API in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/checks/

func (*ChecksService) CreateCheckRun

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 (*ChecksService) CreateCheckSuite

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 (*ChecksService) GetCheckRun

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 (*ChecksService) GetCheckSuite

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 (*ChecksService) ListCheckRunAnnotations

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 (*ChecksService) ListCheckRunsCheckSuite

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 (*ChecksService) ListCheckRunsForRef

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 (*ChecksService) ListCheckSuitesForRef

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 (*ChecksService) ReRequestCheckRun

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 (*ChecksService) ReRequestCheckSuite

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 (*ChecksService) SetCheckSuitePreferences

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 (*ChecksService) UpdateCheckRun

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

type Client

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
}

A Client manages communication with the GitHub API.

func NewClient

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

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 (*Client) APIMeta

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 (*Client) BareDo

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 (*Client) Client

func (c *Client) Client() *http.Client

Client returns the http.Client used by this GitHub client.

func (*Client) Do

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 (*Client) GetCodeOfConduct

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 (*Client) ListCodesOfConduct

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 (*Client) ListEmojis

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 (*Client) ListServiceHooks

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 (*Client) Markdown

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
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v49/github"
)

func main() {
	client := github.NewClient(nil)

	input := "# heading #\n\nLink to issue #1"
	opt := &github.MarkdownOptions{Mode: "gfm", Context: "google/go-github"}

	ctx := context.Background()
	output, _, err := client.Markdown(ctx, input, opt)
	if err != nil {
		fmt.Println(err)
	}

	fmt.Println(output)
}
Output:

func (*Client) NewFormRequest

func (c *Client) NewFormRequest(urlStr string, body io.Reader, opts ...RequestOption) (*http.Request, error)

NewFormRequest 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. Body is sent with Content-Type: application/x-www-form-urlencoded.

func (*Client) NewRequest

func (c *Client) NewRequest(method, urlStr string, body interface{}, opts ...RequestOption) (*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 (*Client) NewUploadRequest

func (c *Client) NewUploadRequest(urlStr string, reader io.Reader, size int64, mediaType string, opts ...RequestOption) (*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 (*Client) Octocat

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 (*Client) RateLimits

func (c *Client) RateLimits(ctx context.Context) (*RateLimits, *Response, error)

RateLimits returns the rate limits for the current client.

func (*Client) Zen

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/

type CodeOfConduct

type CodeOfConduct struct {
	Name *string `json:"name,omitempty"`
	Key  *string `json:"key,omitempty"`
	URL  *string `json:"url,omitempty"`
	Body *string `json:"body,omitempty"`
}

CodeOfConduct represents a code of conduct.

func (*CodeOfConduct) GetBody

func (c *CodeOfConduct) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*CodeOfConduct) GetKey

func (c *CodeOfConduct) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*CodeOfConduct) GetName

func (c *CodeOfConduct) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*CodeOfConduct) GetURL

func (c *CodeOfConduct) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*CodeOfConduct) String

func (c *CodeOfConduct) String() string

type CodeResult

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

CodeResult represents a single search result.

func (*CodeResult) GetHTMLURL

func (c *CodeResult) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*CodeResult) GetName

func (c *CodeResult) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*CodeResult) GetPath

func (c *CodeResult) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*CodeResult) GetRepository

func (c *CodeResult) GetRepository() *Repository

GetRepository returns the Repository field.

func (*CodeResult) GetSHA

func (c *CodeResult) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (CodeResult) String

func (c CodeResult) String() string

type CodeScanningAlertEvent

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

	Installation *Installation `json:"installation,omitempty"`
}

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

func (*CodeScanningAlertEvent) GetAction

func (c *CodeScanningAlertEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*CodeScanningAlertEvent) GetAlert

func (c *CodeScanningAlertEvent) GetAlert() *Alert

GetAlert returns the Alert field.

func (*CodeScanningAlertEvent) GetCommitOID

func (c *CodeScanningAlertEvent) GetCommitOID() string

GetCommitOID returns the CommitOID field if it's non-nil, zero value otherwise.

func (*CodeScanningAlertEvent) GetInstallation

func (c *CodeScanningAlertEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*CodeScanningAlertEvent) GetOrg

func (c *CodeScanningAlertEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*CodeScanningAlertEvent) GetRef

func (c *CodeScanningAlertEvent) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*CodeScanningAlertEvent) GetRepo

func (c *CodeScanningAlertEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*CodeScanningAlertEvent) GetSender

func (c *CodeScanningAlertEvent) GetSender() *User

GetSender returns the Sender field.

type CodeScanningService

type CodeScanningService service

CodeScanningService handles communication with the code scanning related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/code-scanning

func (*CodeScanningService) GetAlert

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 (*CodeScanningService) GetAnalysis

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 (*CodeScanningService) ListAlertsForOrg

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 (*CodeScanningService) ListAlertsForRepo

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 (*CodeScanningService) ListAnalysesForRepo

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 (*CodeScanningService) UploadSarif

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

type CodeSearchResult

type CodeSearchResult struct {
	Total             *int          `json:"total_count,omitempty"`
	IncompleteResults *bool         `json:"incomplete_results,omitempty"`
	CodeResults       []*CodeResult `json:"items,omitempty"`
}

CodeSearchResult represents the result of a code search.

func (*CodeSearchResult) GetIncompleteResults

func (c *CodeSearchResult) GetIncompleteResults() bool

GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.

func (*CodeSearchResult) GetTotal

func (c *CodeSearchResult) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type CodeownersError

type CodeownersError struct {
	Line       int     `json:"line"`
	Column     int     `json:"column"`
	Kind       string  `json:"kind"`
	Source     string  `json:"source"`
	Suggestion *string `json:"suggestion,omitempty"`
	Message    string  `json:"message"`
	Path       string  `json:"path"`
}

CodeownersError represents a syntax error detected in the CODEOWNERS file.

func (*CodeownersError) GetSuggestion

func (c *CodeownersError) GetSuggestion() string

GetSuggestion returns the Suggestion field if it's non-nil, zero value otherwise.

type CodeownersErrors

type CodeownersErrors struct {
	Errors []*CodeownersError `json:"errors"`
}

CodeownersErrors represents a list of syntax errors detected in the CODEOWNERS file.

type CollaboratorInvitation

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

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

func (*CollaboratorInvitation) GetCreatedAt

func (c *CollaboratorInvitation) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*CollaboratorInvitation) GetHTMLURL

func (c *CollaboratorInvitation) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*CollaboratorInvitation) GetID

func (c *CollaboratorInvitation) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*CollaboratorInvitation) GetInvitee

func (c *CollaboratorInvitation) GetInvitee() *User

GetInvitee returns the Invitee field.

func (*CollaboratorInvitation) GetInviter

func (c *CollaboratorInvitation) GetInviter() *User

GetInviter returns the Inviter field.

func (*CollaboratorInvitation) GetPermissions

func (c *CollaboratorInvitation) GetPermissions() string

GetPermissions returns the Permissions field if it's non-nil, zero value otherwise.

func (*CollaboratorInvitation) GetRepo

func (c *CollaboratorInvitation) GetRepo() *Repository

GetRepo returns the Repo field.

func (*CollaboratorInvitation) GetURL

func (c *CollaboratorInvitation) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type CombinedStatus

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

CombinedStatus represents the combined status of a repository at a particular reference.

func (*CombinedStatus) GetCommitURL

func (c *CombinedStatus) GetCommitURL() string

GetCommitURL returns the CommitURL field if it's non-nil, zero value otherwise.

func (*CombinedStatus) GetName

func (c *CombinedStatus) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*CombinedStatus) GetRepositoryURL

func (c *CombinedStatus) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*CombinedStatus) GetSHA

func (c *CombinedStatus) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*CombinedStatus) GetState

func (c *CombinedStatus) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*CombinedStatus) GetTotalCount

func (c *CombinedStatus) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

func (CombinedStatus) String

func (s CombinedStatus) String() string

type Comment

type Comment struct {
	CreatedAt *time.Time `json:"created_at,omitempty"`
	Body      string     `json:"body"`
}

Comment represents comments of issue to import.

func (*Comment) GetCreatedAt

func (c *Comment) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

type CommentStats

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

CommentStats represents the number of total comments on commits, gists, issues and pull requests.

func (*CommentStats) GetTotalCommitComments

func (c *CommentStats) GetTotalCommitComments() int

GetTotalCommitComments returns the TotalCommitComments field if it's non-nil, zero value otherwise.

func (*CommentStats) GetTotalGistComments

func (c *CommentStats) GetTotalGistComments() int

GetTotalGistComments returns the TotalGistComments field if it's non-nil, zero value otherwise.

func (*CommentStats) GetTotalIssueComments

func (c *CommentStats) GetTotalIssueComments() int

GetTotalIssueComments returns the TotalIssueComments field if it's non-nil, zero value otherwise.

func (*CommentStats) GetTotalPullRequestComments

func (c *CommentStats) GetTotalPullRequestComments() int

GetTotalPullRequestComments returns the TotalPullRequestComments field if it's non-nil, zero value otherwise.

func (CommentStats) String

func (s CommentStats) String() string

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

Commit represents a GitHub commit.

func (*Commit) GetAuthor

func (c *Commit) GetAuthor() *CommitAuthor

GetAuthor returns the Author field.

func (*Commit) GetCommentCount

func (c *Commit) GetCommentCount() int

GetCommentCount returns the CommentCount field if it's non-nil, zero value otherwise.

func (*Commit) GetCommitter

func (c *Commit) GetCommitter() *CommitAuthor

GetCommitter returns the Committer field.

func (*Commit) GetHTMLURL

func (c *Commit) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Commit) GetMessage

func (c *Commit) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*Commit) GetNodeID

func (c *Commit) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Commit) GetSHA

func (c *Commit) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*Commit) GetStats

func (c *Commit) GetStats() *CommitStats

GetStats returns the Stats field.

func (*Commit) GetTree

func (c *Commit) GetTree() *Tree

GetTree returns the Tree field.

func (*Commit) GetURL

func (c *Commit) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Commit) GetVerification

func (c *Commit) GetVerification() *SignatureVerification

GetVerification returns the Verification field.

func (Commit) String

func (c Commit) String() string

type CommitAuthor

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.
}

CommitAuthor represents the author or committer of a commit. The commit author may not correspond to a GitHub User.

func (*CommitAuthor) GetDate

func (c *CommitAuthor) GetDate() time.Time

GetDate returns the Date field if it's non-nil, zero value otherwise.

func (*CommitAuthor) GetEmail

func (c *CommitAuthor) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*CommitAuthor) GetLogin

func (c *CommitAuthor) GetLogin() string

GetLogin returns the Login field if it's non-nil, zero value otherwise.

func (*CommitAuthor) GetName

func (c *CommitAuthor) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (CommitAuthor) String

func (c CommitAuthor) String() string

type CommitCommentEvent

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

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

func (*CommitCommentEvent) GetAction

func (c *CommitCommentEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*CommitCommentEvent) GetComment

func (c *CommitCommentEvent) GetComment() *RepositoryComment

GetComment returns the Comment field.

func (*CommitCommentEvent) GetInstallation

func (c *CommitCommentEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*CommitCommentEvent) GetRepo

func (c *CommitCommentEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*CommitCommentEvent) GetSender

func (c *CommitCommentEvent) GetSender() *User

GetSender returns the Sender field.

type CommitFile

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

CommitFile represents a file modified in a commit.

func (*CommitFile) GetAdditions

func (c *CommitFile) GetAdditions() int

GetAdditions returns the Additions field if it's non-nil, zero value otherwise.

func (*CommitFile) GetBlobURL

func (c *CommitFile) GetBlobURL() string

GetBlobURL returns the BlobURL field if it's non-nil, zero value otherwise.

func (*CommitFile) GetChanges

func (c *CommitFile) GetChanges() int

GetChanges returns the Changes field if it's non-nil, zero value otherwise.

func (*CommitFile) GetContentsURL

func (c *CommitFile) GetContentsURL() string

GetContentsURL returns the ContentsURL field if it's non-nil, zero value otherwise.

func (*CommitFile) GetDeletions

func (c *CommitFile) GetDeletions() int

GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.

func (*CommitFile) GetFilename

func (c *CommitFile) GetFilename() string

GetFilename returns the Filename field if it's non-nil, zero value otherwise.

func (*CommitFile) GetPatch

func (c *CommitFile) GetPatch() string

GetPatch returns the Patch field if it's non-nil, zero value otherwise.

func (*CommitFile) GetPreviousFilename

func (c *CommitFile) GetPreviousFilename() string

GetPreviousFilename returns the PreviousFilename field if it's non-nil, zero value otherwise.

func (*CommitFile) GetRawURL

func (c *CommitFile) GetRawURL() string

GetRawURL returns the RawURL field if it's non-nil, zero value otherwise.

func (*CommitFile) GetSHA

func (c *CommitFile) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*CommitFile) GetStatus

func (c *CommitFile) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (CommitFile) String

func (c CommitFile) String() string

type CommitResult

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

CommitResult represents a commit object as returned in commit search endpoint response.

func (*CommitResult) GetAuthor

func (c *CommitResult) GetAuthor() *User

GetAuthor returns the Author field.

func (*CommitResult) GetCommentsURL

func (c *CommitResult) GetCommentsURL() string

GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.

func (*CommitResult) GetCommit

func (c *CommitResult) GetCommit() *Commit

GetCommit returns the Commit field.

func (*CommitResult) GetCommitter

func (c *CommitResult) GetCommitter() *User

GetCommitter returns the Committer field.

func (*CommitResult) GetHTMLURL

func (c *CommitResult) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*CommitResult) GetRepository

func (c *CommitResult) GetRepository() *Repository

GetRepository returns the Repository field.

func (*CommitResult) GetSHA

func (c *CommitResult) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*CommitResult) GetScore

func (c *CommitResult) GetScore() *float64

GetScore returns the Score field.

func (*CommitResult) GetURL

func (c *CommitResult) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type CommitStats

type CommitStats struct {
	Additions *int `json:"additions,omitempty"`
	Deletions *int `json:"deletions,omitempty"`
	Total     *int `json:"total,omitempty"`
}

CommitStats represents the number of additions / deletions from a file in a given RepositoryCommit or GistCommit.

func (*CommitStats) GetAdditions

func (c *CommitStats) GetAdditions() int

GetAdditions returns the Additions field if it's non-nil, zero value otherwise.

func (*CommitStats) GetDeletions

func (c *CommitStats) GetDeletions() int

GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.

func (*CommitStats) GetTotal

func (c *CommitStats) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

func (CommitStats) String

func (c CommitStats) String() string

type CommitsComparison

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.
}

CommitsComparison is the result of comparing two commits. See CompareCommits() for details.

func (*CommitsComparison) GetAheadBy

func (c *CommitsComparison) GetAheadBy() int

GetAheadBy returns the AheadBy field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetBaseCommit

func (c *CommitsComparison) GetBaseCommit() *RepositoryCommit

GetBaseCommit returns the BaseCommit field.

func (*CommitsComparison) GetBehindBy

func (c *CommitsComparison) GetBehindBy() int

GetBehindBy returns the BehindBy field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetDiffURL

func (c *CommitsComparison) GetDiffURL() string

GetDiffURL returns the DiffURL field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetHTMLURL

func (c *CommitsComparison) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetMergeBaseCommit

func (c *CommitsComparison) GetMergeBaseCommit() *RepositoryCommit

GetMergeBaseCommit returns the MergeBaseCommit field.

func (*CommitsComparison) GetPatchURL

func (c *CommitsComparison) GetPatchURL() string

GetPatchURL returns the PatchURL field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetPermalinkURL

func (c *CommitsComparison) GetPermalinkURL() string

GetPermalinkURL returns the PermalinkURL field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetStatus

func (c *CommitsComparison) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetTotalCommits

func (c *CommitsComparison) GetTotalCommits() int

GetTotalCommits returns the TotalCommits field if it's non-nil, zero value otherwise.

func (*CommitsComparison) GetURL

func (c *CommitsComparison) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (CommitsComparison) String

func (c CommitsComparison) String() string

type CommitsListOptions

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
}

CommitsListOptions specifies the optional parameters to the RepositoriesService.ListCommits method.

type CommitsSearchResult

type CommitsSearchResult struct {
	Total             *int            `json:"total_count,omitempty"`
	IncompleteResults *bool           `json:"incomplete_results,omitempty"`
	Commits           []*CommitResult `json:"items,omitempty"`
}

CommitsSearchResult represents the result of a commits search.

func (*CommitsSearchResult) GetIncompleteResults

func (c *CommitsSearchResult) GetIncompleteResults() bool

GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.

func (*CommitsSearchResult) GetTotal

func (c *CommitsSearchResult) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type CommunityHealthFiles

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

CommunityHealthFiles represents the different files in the community health metrics response.

func (*CommunityHealthFiles) GetCodeOfConduct

func (c *CommunityHealthFiles) GetCodeOfConduct() *Metric

GetCodeOfConduct returns the CodeOfConduct field.

func (*CommunityHealthFiles) GetCodeOfConductFile

func (c *CommunityHealthFiles) GetCodeOfConductFile() *Metric

GetCodeOfConductFile returns the CodeOfConductFile field.

func (*CommunityHealthFiles) GetContributing

func (c *CommunityHealthFiles) GetContributing() *Metric

GetContributing returns the Contributing field.

func (*CommunityHealthFiles) GetIssueTemplate

func (c *CommunityHealthFiles) GetIssueTemplate() *Metric

GetIssueTemplate returns the IssueTemplate field.

func (*CommunityHealthFiles) GetLicense

func (c *CommunityHealthFiles) GetLicense() *Metric

GetLicense returns the License field.

func (*CommunityHealthFiles) GetPullRequestTemplate

func (c *CommunityHealthFiles) GetPullRequestTemplate() *Metric

GetPullRequestTemplate returns the PullRequestTemplate field.

func (*CommunityHealthFiles) GetReadme

func (c *CommunityHealthFiles) GetReadme() *Metric

GetReadme returns the Readme field.

type CommunityHealthMetrics

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

CommunityHealthMetrics represents a response containing the community metrics of a repository.

func (*CommunityHealthMetrics) GetContentReportsEnabled

func (c *CommunityHealthMetrics) GetContentReportsEnabled() bool

GetContentReportsEnabled returns the ContentReportsEnabled field if it's non-nil, zero value otherwise.

func (*CommunityHealthMetrics) GetDescription

func (c *CommunityHealthMetrics) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*CommunityHealthMetrics) GetDocumentation

func (c *CommunityHealthMetrics) GetDocumentation() string

GetDocumentation returns the Documentation field if it's non-nil, zero value otherwise.

func (*CommunityHealthMetrics) GetFiles

GetFiles returns the Files field.

func (*CommunityHealthMetrics) GetHealthPercentage

func (c *CommunityHealthMetrics) GetHealthPercentage() int

GetHealthPercentage returns the HealthPercentage field if it's non-nil, zero value otherwise.

func (*CommunityHealthMetrics) GetUpdatedAt

func (c *CommunityHealthMetrics) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type ContentReference

type ContentReference struct {
	ID        *int64  `json:"id,omitempty"`
	NodeID    *string `json:"node_id,omitempty"`
	Reference *string `json:"reference,omitempty"`
}

ContentReference represents a reference to a URL in an issue or pull request.

func (*ContentReference) GetID

func (c *ContentReference) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*ContentReference) GetNodeID

func (c *ContentReference) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*ContentReference) GetReference

func (c *ContentReference) GetReference() string

GetReference returns the Reference field if it's non-nil, zero value otherwise.

type ContentReferenceEvent

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

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

func (*ContentReferenceEvent) GetAction

func (c *ContentReferenceEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*ContentReferenceEvent) GetContentReference

func (c *ContentReferenceEvent) GetContentReference() *ContentReference

GetContentReference returns the ContentReference field.

func (*ContentReferenceEvent) GetInstallation

func (c *ContentReferenceEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*ContentReferenceEvent) GetRepo

func (c *ContentReferenceEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*ContentReferenceEvent) GetSender

func (c *ContentReferenceEvent) GetSender() *User

GetSender returns the Sender field.

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

Contributor represents a repository contributor

func (*Contributor) GetAvatarURL

func (c *Contributor) GetAvatarURL() string

GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetContributions

func (c *Contributor) GetContributions() int

GetContributions returns the Contributions field if it's non-nil, zero value otherwise.

func (*Contributor) GetEmail

func (c *Contributor) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*Contributor) GetEventsURL

func (c *Contributor) GetEventsURL() string

GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetFollowersURL

func (c *Contributor) GetFollowersURL() string

GetFollowersURL returns the FollowersURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetFollowingURL

func (c *Contributor) GetFollowingURL() string

GetFollowingURL returns the FollowingURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetGistsURL

func (c *Contributor) GetGistsURL() string

GetGistsURL returns the GistsURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetGravatarID

func (c *Contributor) GetGravatarID() string

GetGravatarID returns the GravatarID field if it's non-nil, zero value otherwise.

func (*Contributor) GetHTMLURL

func (c *Contributor) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetID

func (c *Contributor) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Contributor) GetLogin

func (c *Contributor) GetLogin() string

GetLogin returns the Login field if it's non-nil, zero value otherwise.

func (*Contributor) GetName

func (c *Contributor) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Contributor) GetNodeID

func (c *Contributor) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Contributor) GetOrganizationsURL

func (c *Contributor) GetOrganizationsURL() string

GetOrganizationsURL returns the OrganizationsURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetReceivedEventsURL

func (c *Contributor) GetReceivedEventsURL() string

GetReceivedEventsURL returns the ReceivedEventsURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetReposURL

func (c *Contributor) GetReposURL() string

GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetSiteAdmin

func (c *Contributor) GetSiteAdmin() bool

GetSiteAdmin returns the SiteAdmin field if it's non-nil, zero value otherwise.

func (*Contributor) GetStarredURL

func (c *Contributor) GetStarredURL() string

GetStarredURL returns the StarredURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetSubscriptionsURL

func (c *Contributor) GetSubscriptionsURL() string

GetSubscriptionsURL returns the SubscriptionsURL field if it's non-nil, zero value otherwise.

func (*Contributor) GetType

func (c *Contributor) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*Contributor) GetURL

func (c *Contributor) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type ContributorStats

type ContributorStats struct {
	Author *Contributor   `json:"author,omitempty"`
	Total  *int           `json:"total,omitempty"`
	Weeks  []*WeeklyStats `json:"weeks,omitempty"`
}

ContributorStats represents a contributor to a repository and their weekly contributions to a given repo.

func (*ContributorStats) GetAuthor

func (c *ContributorStats) GetAuthor() *Contributor

GetAuthor returns the Author field.

func (*ContributorStats) GetTotal

func (c *ContributorStats) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

func (ContributorStats) String

func (c ContributorStats) String() string

type CreateCheckRunOptions

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.)
}

CreateCheckRunOptions sets up parameters needed to create a CheckRun.

func (*CreateCheckRunOptions) GetCompletedAt

func (c *CreateCheckRunOptions) GetCompletedAt() Timestamp

GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.

func (*CreateCheckRunOptions) GetConclusion

func (c *CreateCheckRunOptions) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*CreateCheckRunOptions) GetDetailsURL

func (c *CreateCheckRunOptions) GetDetailsURL() string

GetDetailsURL returns the DetailsURL field if it's non-nil, zero value otherwise.

func (*CreateCheckRunOptions) GetExternalID

func (c *CreateCheckRunOptions) GetExternalID() string

GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.

func (*CreateCheckRunOptions) GetOutput

func (c *CreateCheckRunOptions) GetOutput() *CheckRunOutput

GetOutput returns the Output field.

func (*CreateCheckRunOptions) GetStartedAt

func (c *CreateCheckRunOptions) GetStartedAt() Timestamp

GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.

func (*CreateCheckRunOptions) GetStatus

func (c *CreateCheckRunOptions) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

type CreateCheckSuiteOptions

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.
}

CreateCheckSuiteOptions sets up parameters to manually create a check suites

func (*CreateCheckSuiteOptions) GetHeadBranch

func (c *CreateCheckSuiteOptions) GetHeadBranch() string

GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.

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

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

func (*CreateEvent) GetDescription

func (c *CreateEvent) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*CreateEvent) GetInstallation

func (c *CreateEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*CreateEvent) GetMasterBranch

func (c *CreateEvent) GetMasterBranch() string

GetMasterBranch returns the MasterBranch field if it's non-nil, zero value otherwise.

func (*CreateEvent) GetOrg

func (c *CreateEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*CreateEvent) GetPusherType

func (c *CreateEvent) GetPusherType() string

GetPusherType returns the PusherType field if it's non-nil, zero value otherwise.

func (*CreateEvent) GetRef

func (c *CreateEvent) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*CreateEvent) GetRefType

func (c *CreateEvent) GetRefType() string

GetRefType returns the RefType field if it's non-nil, zero value otherwise.

func (*CreateEvent) GetRepo

func (c *CreateEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*CreateEvent) GetSender

func (c *CreateEvent) GetSender() *User

GetSender returns the Sender field.

type CreateOrUpdateCustomRoleOptions

type CreateOrUpdateCustomRoleOptions struct {
	Name        *string  `json:"name,omitempty"`
	Description *string  `json:"description,omitempty"`
	BaseRole    *string  `json:"base_role,omitempty"`
	Permissions []string `json:"permissions,omitempty"`
}

CreateOrUpdateCustomRoleOptions represents options required to create or update a custom repository role.

func (*CreateOrUpdateCustomRoleOptions) GetBaseRole

func (c *CreateOrUpdateCustomRoleOptions) GetBaseRole() string

GetBaseRole returns the BaseRole field if it's non-nil, zero value otherwise.

func (*CreateOrUpdateCustomRoleOptions) GetDescription

func (c *CreateOrUpdateCustomRoleOptions) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*CreateOrUpdateCustomRoleOptions) GetName

GetName returns the Name field if it's non-nil, zero value otherwise.

type CreateOrgInvitationOptions

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

CreateOrgInvitationOptions specifies the parameters to the OrganizationService.Invite method.

func (*CreateOrgInvitationOptions) GetEmail

func (c *CreateOrgInvitationOptions) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*CreateOrgInvitationOptions) GetInviteeID

func (c *CreateOrgInvitationOptions) GetInviteeID() int64

GetInviteeID returns the InviteeID field if it's non-nil, zero value otherwise.

func (*CreateOrgInvitationOptions) GetRole

func (c *CreateOrgInvitationOptions) GetRole() string

GetRole returns the Role field if it's non-nil, zero value otherwise.

type CreateProtectedChanges

type CreateProtectedChanges struct {
	From *bool `json:"from,omitempty"`
}

CreateProtectedChanges represents the changes made to the CreateProtected policy.

func (*CreateProtectedChanges) GetFrom

func (c *CreateProtectedChanges) GetFrom() bool

GetFrom returns the From field if it's non-nil, zero value otherwise.

type CreateRunnerGroupRequest

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"`
	// If true, the runner group will be restricted to running only the workflows specified in the SelectedWorkflows slice.
	RestrictedToWorkflows *bool `json:"restricted_to_workflows,omitempty"`
	// List of workflows the runner group should be allowed to run. This setting will be ignored unless RestrictedToWorkflows is set to true.
	SelectedWorkflows []string `json:"selected_workflows,omitempty"`
}

CreateRunnerGroupRequest represents a request to create a Runner group for an organization.

func (*CreateRunnerGroupRequest) GetAllowsPublicRepositories

func (c *CreateRunnerGroupRequest) GetAllowsPublicRepositories() bool

GetAllowsPublicRepositories returns the AllowsPublicRepositories field if it's non-nil, zero value otherwise.

func (*CreateRunnerGroupRequest) GetName

func (c *CreateRunnerGroupRequest) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*CreateRunnerGroupRequest) GetRestrictedToWorkflows

func (c *CreateRunnerGroupRequest) GetRestrictedToWorkflows() bool

GetRestrictedToWorkflows returns the RestrictedToWorkflows field if it's non-nil, zero value otherwise.

func (*CreateRunnerGroupRequest) GetVisibility

func (c *CreateRunnerGroupRequest) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

type CreateUpdateEnvironment

type CreateUpdateEnvironment struct {
	WaitTimer              *int            `json:"wait_timer"`
	Reviewers              []*EnvReviewers `json:"reviewers"`
	DeploymentBranchPolicy *BranchPolicy   `json:"deployment_branch_policy"`
}

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.

func (*CreateUpdateEnvironment) GetDeploymentBranchPolicy

func (c *CreateUpdateEnvironment) GetDeploymentBranchPolicy() *BranchPolicy

GetDeploymentBranchPolicy returns the DeploymentBranchPolicy field.

func (*CreateUpdateEnvironment) GetWaitTimer

func (c *CreateUpdateEnvironment) GetWaitTimer() int

GetWaitTimer returns the WaitTimer field if it's non-nil, zero value otherwise.

func (*CreateUpdateEnvironment) MarshalJSON

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.

type CreateUserProjectOptions

type CreateUserProjectOptions struct {
	// The name of the project. (Required.)
	Name string `json:"name"`
	// The description of the project. (Optional.)
	Body *string `json:"body,omitempty"`
}

CreateUserProjectOptions specifies the parameters to the UsersService.CreateProject method.

func (*CreateUserProjectOptions) GetBody

func (c *CreateUserProjectOptions) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

type CreateWorkflowDispatchEventRequest

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

CreateWorkflowDispatchEventRequest represents a request to create a workflow dispatch event.

type CustomRepoRoles

type CustomRepoRoles struct {
	ID          *int64   `json:"id,omitempty"`
	Name        *string  `json:"name,omitempty"`
	Description *string  `json:"description,omitempty"`
	BaseRole    *string  `json:"base_role,omitempty"`
	Permissions []string `json:"permissions,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.

func (*CustomRepoRoles) GetBaseRole

func (c *CustomRepoRoles) GetBaseRole() string

GetBaseRole returns the BaseRole field if it's non-nil, zero value otherwise.

func (*CustomRepoRoles) GetDescription

func (c *CustomRepoRoles) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*CustomRepoRoles) GetID

func (c *CustomRepoRoles) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*CustomRepoRoles) GetName

func (c *CustomRepoRoles) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

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

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

func (*DeleteEvent) GetInstallation

func (d *DeleteEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*DeleteEvent) GetPusherType

func (d *DeleteEvent) GetPusherType() string

GetPusherType returns the PusherType field if it's non-nil, zero value otherwise.

func (*DeleteEvent) GetRef

func (d *DeleteEvent) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*DeleteEvent) GetRefType

func (d *DeleteEvent) GetRefType() string

GetRefType returns the RefType field if it's non-nil, zero value otherwise.

func (*DeleteEvent) GetRepo

func (d *DeleteEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*DeleteEvent) GetSender

func (d *DeleteEvent) GetSender() *User

GetSender returns the Sender field.

type DependabotAlert

type DependabotAlert struct {
	Number                *int                        `json:"number,omitempty"`
	State                 *string                     `json:"state,omitempty"`
	Dependency            *Dependency                 `json:"dependency,omitempty"`
	SecurityAdvisory      *DependabotSecurityAdvisory `json:"security_advisory,omitempty"`
	SecurityVulnerability *AdvisoryVulnerability      `json:"security_vulnerability,omitempty"`
	URL                   *string                     `json:"url,omitempty"`
	HTMLURL               *string                     `json:"html_url,omitempty"`
	CreatedAt             *Timestamp                  `json:"created_at,omitempty"`
	UpdatedAt             *Timestamp                  `json:"updated_at,omitempty"`
	DismissedAt           *Timestamp                  `json:"dismissed_at,omitempty"`
	DismissedBy           *User                       `json:"dismissed_by,omitempty"`
	DismissedReason       *string                     `json:"dismissed_reason,omitempty"`
	DismissedComment      *string                     `json:"dismissed_comment,omitempty"`
	FixedAt               *Timestamp                  `json:"fixed_at,omitempty"`
}

DependabotAlert represents a Dependabot alert.

func (*DependabotAlert) GetCreatedAt

func (d *DependabotAlert) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetDependency

func (d *DependabotAlert) GetDependency() *Dependency

GetDependency returns the Dependency field.

func (*DependabotAlert) GetDismissedAt

func (d *DependabotAlert) GetDismissedAt() Timestamp

GetDismissedAt returns the DismissedAt field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetDismissedBy

func (d *DependabotAlert) GetDismissedBy() *User

GetDismissedBy returns the DismissedBy field.

func (*DependabotAlert) GetDismissedComment

func (d *DependabotAlert) GetDismissedComment() string

GetDismissedComment returns the DismissedComment field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetDismissedReason

func (d *DependabotAlert) GetDismissedReason() string

GetDismissedReason returns the DismissedReason field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetFixedAt

func (d *DependabotAlert) GetFixedAt() Timestamp

GetFixedAt returns the FixedAt field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetHTMLURL

func (d *DependabotAlert) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetNumber

func (d *DependabotAlert) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetSecurityAdvisory

func (d *DependabotAlert) GetSecurityAdvisory() *DependabotSecurityAdvisory

GetSecurityAdvisory returns the SecurityAdvisory field.

func (*DependabotAlert) GetSecurityVulnerability

func (d *DependabotAlert) GetSecurityVulnerability() *AdvisoryVulnerability

GetSecurityVulnerability returns the SecurityVulnerability field.

func (*DependabotAlert) GetState

func (d *DependabotAlert) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetURL

func (d *DependabotAlert) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*DependabotAlert) GetUpdatedAt

func (d *DependabotAlert) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type DependabotEncryptedSecret

type DependabotEncryptedSecret struct {
	Name                  string                           `json:"-"`
	KeyID                 string                           `json:"key_id"`
	EncryptedValue        string                           `json:"encrypted_value"`
	Visibility            string                           `json:"visibility,omitempty"`
	SelectedRepositoryIDs DependabotSecretsSelectedRepoIDs `json:"selected_repository_ids,omitempty"`
}

DependabotEncryptedSecret represents a secret that is encrypted using a public key for Dependabot.

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 DependabotSecretsSelectedRepoIDs

type DependabotSecretsSelectedRepoIDs []string

DependabotSecretsSelectedRepoIDs are the repository IDs that have access to the dependabot secrets.

type DependabotSecurityAdvisory

type DependabotSecurityAdvisory struct {
	GHSAID          *string                  `json:"ghsa_id,omitempty"`
	CVEID           *string                  `json:"cve_id,omitempty"`
	Summary         *string                  `json:"summary,omitempty"`
	Description     *string                  `json:"description,omitempty"`
	Vulnerabilities []*AdvisoryVulnerability `json:"vulnerabilities,omitempty"`
	Severity        *string                  `json:"severity,omitempty"`
	CVSs            *AdvisoryCVSs            `json:"cvss,omitempty"`
	CWEs            []*AdvisoryCWEs          `json:"cwes,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"`
}

DependabotSecurityAdvisory represents the GitHub Security Advisory.

func (*DependabotSecurityAdvisory) GetCVEID

func (d *DependabotSecurityAdvisory) GetCVEID() string

GetCVEID returns the CVEID field if it's non-nil, zero value otherwise.

func (*DependabotSecurityAdvisory) GetCVSs

GetCVSs returns the CVSs field.

func (*DependabotSecurityAdvisory) GetDescription

func (d *DependabotSecurityAdvisory) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*DependabotSecurityAdvisory) GetGHSAID

func (d *DependabotSecurityAdvisory) GetGHSAID() string

GetGHSAID returns the GHSAID field if it's non-nil, zero value otherwise.

func (*DependabotSecurityAdvisory) GetPublishedAt

func (d *DependabotSecurityAdvisory) GetPublishedAt() Timestamp

GetPublishedAt returns the PublishedAt field if it's non-nil, zero value otherwise.

func (*DependabotSecurityAdvisory) GetSeverity

func (d *DependabotSecurityAdvisory) GetSeverity() string

GetSeverity returns the Severity field if it's non-nil, zero value otherwise.

func (*DependabotSecurityAdvisory) GetSummary

func (d *DependabotSecurityAdvisory) GetSummary() string

GetSummary returns the Summary field if it's non-nil, zero value otherwise.

func (*DependabotSecurityAdvisory) GetUpdatedAt

func (d *DependabotSecurityAdvisory) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*DependabotSecurityAdvisory) GetWithdrawnAt

func (d *DependabotSecurityAdvisory) GetWithdrawnAt() Timestamp

GetWithdrawnAt returns the WithdrawnAt field if it's non-nil, zero value otherwise.

type DependabotService

type DependabotService service

DependabotService handles communication with the Dependabot related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/dependabot/

func (*DependabotService) AddSelectedRepoToOrgSecret

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 (*DependabotService) CreateOrUpdateOrgSecret

func (s *DependabotService) CreateOrUpdateOrgSecret(ctx context.Context, org string, eSecret *DependabotEncryptedSecret) (*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 (*DependabotService) CreateOrUpdateRepoSecret

func (s *DependabotService) CreateOrUpdateRepoSecret(ctx context.Context, owner, repo string, eSecret *DependabotEncryptedSecret) (*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 (*DependabotService) DeleteOrgSecret

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 (*DependabotService) DeleteRepoSecret

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 (*DependabotService) GetOrgPublicKey

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 (*DependabotService) GetOrgSecret

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 (*DependabotService) GetRepoAlert

func (s *DependabotService) GetRepoAlert(ctx context.Context, owner, repo string, number int) (*DependabotAlert, *Response, error)

GetRepoAlert gets a single repository Dependabot alert.

GitHub API docs: https://docs.github.com/en/rest/dependabot/alerts#get-a-dependabot-alert

func (*DependabotService) GetRepoPublicKey

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 (*DependabotService) GetRepoSecret

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 (*DependabotService) ListOrgAlerts

func (s *DependabotService) ListOrgAlerts(ctx context.Context, org string, opts *ListAlertsOptions) ([]*DependabotAlert, *Response, error)

ListOrgAlerts lists all Dependabot alerts of an organization.

GitHub API docs: https://docs.github.com/en/rest/dependabot/alerts#list-dependabot-alerts-for-an-organization

func (*DependabotService) ListOrgSecrets

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 (*DependabotService) ListRepoAlerts

func (s *DependabotService) ListRepoAlerts(ctx context.Context, owner, repo string, opts *ListAlertsOptions) ([]*DependabotAlert, *Response, error)

ListRepoAlerts lists all Dependabot alerts of a repository.

GitHub API docs: https://docs.github.com/en/rest/dependabot/alerts#list-dependabot-alerts-for-a-repository

func (*DependabotService) ListRepoSecrets

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 (*DependabotService) ListSelectedReposForOrgSecret

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 (*DependabotService) RemoveSelectedRepoFromOrgSecret

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 (*DependabotService) SetSelectedReposForOrgSecret

func (s *DependabotService) SetSelectedReposForOrgSecret(ctx context.Context, org, name string, ids DependabotSecretsSelectedRepoIDs) (*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

type Dependency

type Dependency struct {
	Package      *VulnerabilityPackage `json:"package,omitempty"`
	ManifestPath *string               `json:"manifest_path,omitempty"`
	Scope        *string               `json:"scope,omitempty"`
}

Dependency reprensents the vulnerable dependency.

func (*Dependency) GetManifestPath

func (d *Dependency) GetManifestPath() string

GetManifestPath returns the ManifestPath field if it's non-nil, zero value otherwise.

func (*Dependency) GetPackage

func (d *Dependency) GetPackage() *VulnerabilityPackage

GetPackage returns the Package field.

func (*Dependency) GetScope

func (d *Dependency) GetScope() string

GetScope returns the Scope field if it's non-nil, zero value otherwise.

type DeployKeyEvent

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

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

func (*DeployKeyEvent) GetAction

func (d *DeployKeyEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*DeployKeyEvent) GetInstallation

func (d *DeployKeyEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*DeployKeyEvent) GetKey

func (d *DeployKeyEvent) GetKey() *Key

GetKey returns the Key field.

func (*DeployKeyEvent) GetOrganization

func (d *DeployKeyEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*DeployKeyEvent) GetRepo

func (d *DeployKeyEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*DeployKeyEvent) GetSender

func (d *DeployKeyEvent) GetSender() *User

GetSender returns the Sender field.

type Deployment

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

Deployment represents a deployment in a repo

func (*Deployment) GetCreatedAt

func (d *Deployment) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Deployment) GetCreator

func (d *Deployment) GetCreator() *User

GetCreator returns the Creator field.

func (*Deployment) GetDescription

func (d *Deployment) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Deployment) GetEnvironment

func (d *Deployment) GetEnvironment() string

GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.

func (*Deployment) GetID

func (d *Deployment) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Deployment) GetNodeID

func (d *Deployment) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Deployment) GetRef

func (d *Deployment) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*Deployment) GetRepositoryURL

func (d *Deployment) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*Deployment) GetSHA

func (d *Deployment) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*Deployment) GetStatusesURL

func (d *Deployment) GetStatusesURL() string

GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.

func (*Deployment) GetTask

func (d *Deployment) GetTask() string

GetTask returns the Task field if it's non-nil, zero value otherwise.

func (*Deployment) GetURL

func (d *Deployment) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Deployment) GetUpdatedAt

func (d *Deployment) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type DeploymentEvent

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

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

func (*DeploymentEvent) GetDeployment

func (d *DeploymentEvent) GetDeployment() *Deployment

GetDeployment returns the Deployment field.

func (*DeploymentEvent) GetInstallation

func (d *DeploymentEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*DeploymentEvent) GetRepo

func (d *DeploymentEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*DeploymentEvent) GetSender

func (d *DeploymentEvent) GetSender() *User

GetSender returns the Sender field.

type DeploymentRequest

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

DeploymentRequest represents a deployment request

func (*DeploymentRequest) GetAutoMerge

func (d *DeploymentRequest) GetAutoMerge() bool

GetAutoMerge returns the AutoMerge field if it's non-nil, zero value otherwise.

func (*DeploymentRequest) GetDescription

func (d *DeploymentRequest) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*DeploymentRequest) GetEnvironment

func (d *DeploymentRequest) GetEnvironment() string

GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.

func (*DeploymentRequest) GetProductionEnvironment

func (d *DeploymentRequest) GetProductionEnvironment() bool

GetProductionEnvironment returns the ProductionEnvironment field if it's non-nil, zero value otherwise.

func (*DeploymentRequest) GetRef

func (d *DeploymentRequest) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*DeploymentRequest) GetRequiredContexts

func (d *DeploymentRequest) GetRequiredContexts() []string

GetRequiredContexts returns the RequiredContexts field if it's non-nil, zero value otherwise.

func (*DeploymentRequest) GetTask

func (d *DeploymentRequest) GetTask() string

GetTask returns the Task field if it's non-nil, zero value otherwise.

func (*DeploymentRequest) GetTransientEnvironment

func (d *DeploymentRequest) GetTransientEnvironment() bool

GetTransientEnvironment returns the TransientEnvironment field if it's non-nil, zero value otherwise.

type DeploymentStatus

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

DeploymentStatus represents the status of a particular deployment.

func (*DeploymentStatus) GetCreatedAt

func (d *DeploymentStatus) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetCreator

func (d *DeploymentStatus) GetCreator() *User

GetCreator returns the Creator field.

func (*DeploymentStatus) GetDeploymentURL

func (d *DeploymentStatus) GetDeploymentURL() string

GetDeploymentURL returns the DeploymentURL field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetDescription

func (d *DeploymentStatus) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetEnvironment

func (d *DeploymentStatus) GetEnvironment() string

GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetEnvironmentURL

func (d *DeploymentStatus) GetEnvironmentURL() string

GetEnvironmentURL returns the EnvironmentURL field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetID

func (d *DeploymentStatus) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetLogURL

func (d *DeploymentStatus) GetLogURL() string

GetLogURL returns the LogURL field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetNodeID

func (d *DeploymentStatus) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetRepositoryURL

func (d *DeploymentStatus) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetState

func (d *DeploymentStatus) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetTargetURL

func (d *DeploymentStatus) GetTargetURL() string

GetTargetURL returns the TargetURL field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetURL

func (d *DeploymentStatus) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*DeploymentStatus) GetUpdatedAt

func (d *DeploymentStatus) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type DeploymentStatusEvent

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

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

func (*DeploymentStatusEvent) GetDeployment

func (d *DeploymentStatusEvent) GetDeployment() *Deployment

GetDeployment returns the Deployment field.

func (*DeploymentStatusEvent) GetDeploymentStatus

func (d *DeploymentStatusEvent) GetDeploymentStatus() *DeploymentStatus

GetDeploymentStatus returns the DeploymentStatus field.

func (*DeploymentStatusEvent) GetInstallation

func (d *DeploymentStatusEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*DeploymentStatusEvent) GetRepo

func (d *DeploymentStatusEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*DeploymentStatusEvent) GetSender

func (d *DeploymentStatusEvent) GetSender() *User

GetSender returns the Sender field.

type DeploymentStatusRequest

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

DeploymentStatusRequest represents a deployment request

func (*DeploymentStatusRequest) GetAutoInactive

func (d *DeploymentStatusRequest) GetAutoInactive() bool

GetAutoInactive returns the AutoInactive field if it's non-nil, zero value otherwise.

func (*DeploymentStatusRequest) GetDescription

func (d *DeploymentStatusRequest) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*DeploymentStatusRequest) GetEnvironment

func (d *DeploymentStatusRequest) GetEnvironment() string

GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.

func (*DeploymentStatusRequest) GetEnvironmentURL

func (d *DeploymentStatusRequest) GetEnvironmentURL() string

GetEnvironmentURL returns the EnvironmentURL field if it's non-nil, zero value otherwise.

func (*DeploymentStatusRequest) GetLogURL

func (d *DeploymentStatusRequest) GetLogURL() string

GetLogURL returns the LogURL field if it's non-nil, zero value otherwise.

func (*DeploymentStatusRequest) GetState

func (d *DeploymentStatusRequest) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

type DeploymentsListOptions

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
}

DeploymentsListOptions specifies the optional parameters to the RepositoriesService.ListDeployments method.

type Discussion

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

Discussion represents a discussion in a GitHub DiscussionEvent.

func (*Discussion) GetActiveLockReason

func (d *Discussion) GetActiveLockReason() string

GetActiveLockReason returns the ActiveLockReason field if it's non-nil, zero value otherwise.

func (*Discussion) GetAnswerChosenAt

func (d *Discussion) GetAnswerChosenAt() Timestamp

GetAnswerChosenAt returns the AnswerChosenAt field if it's non-nil, zero value otherwise.

func (*Discussion) GetAnswerChosenBy

func (d *Discussion) GetAnswerChosenBy() string

GetAnswerChosenBy returns the AnswerChosenBy field if it's non-nil, zero value otherwise.

func (*Discussion) GetAnswerHTMLURL

func (d *Discussion) GetAnswerHTMLURL() string

GetAnswerHTMLURL returns the AnswerHTMLURL field if it's non-nil, zero value otherwise.

func (*Discussion) GetAuthorAssociation

func (d *Discussion) GetAuthorAssociation() string

GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.

func (*Discussion) GetBody

func (d *Discussion) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*Discussion) GetComments

func (d *Discussion) GetComments() int

GetComments returns the Comments field if it's non-nil, zero value otherwise.

func (*Discussion) GetCreatedAt

func (d *Discussion) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Discussion) GetDiscussionCategory

func (d *Discussion) GetDiscussionCategory() *DiscussionCategory

GetDiscussionCategory returns the DiscussionCategory field.

func (*Discussion) GetHTMLURL

func (d *Discussion) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Discussion) GetID

func (d *Discussion) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Discussion) GetLocked

func (d *Discussion) GetLocked() bool

GetLocked returns the Locked field if it's non-nil, zero value otherwise.

func (*Discussion) GetNodeID

func (d *Discussion) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Discussion) GetNumber

func (d *Discussion) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*Discussion) GetRepositoryURL

func (d *Discussion) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*Discussion) GetState

func (d *Discussion) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Discussion) GetTitle

func (d *Discussion) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*Discussion) GetUpdatedAt

func (d *Discussion) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Discussion) GetUser

func (d *Discussion) GetUser() *User

GetUser returns the User field.

type DiscussionCategory

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

DiscussionCategory represents a discussion category in a GitHub DiscussionEvent.

func (*DiscussionCategory) GetCreatedAt

func (d *DiscussionCategory) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetDescription

func (d *DiscussionCategory) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetEmoji

func (d *DiscussionCategory) GetEmoji() string

GetEmoji returns the Emoji field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetID

func (d *DiscussionCategory) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetIsAnswerable

func (d *DiscussionCategory) GetIsAnswerable() bool

GetIsAnswerable returns the IsAnswerable field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetName

func (d *DiscussionCategory) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetNodeID

func (d *DiscussionCategory) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetRepositoryID

func (d *DiscussionCategory) GetRepositoryID() int64

GetRepositoryID returns the RepositoryID field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetSlug

func (d *DiscussionCategory) GetSlug() string

GetSlug returns the Slug field if it's non-nil, zero value otherwise.

func (*DiscussionCategory) GetUpdatedAt

func (d *DiscussionCategory) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type DiscussionComment

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

DiscussionComment represents a GitHub dicussion in a team.

func (*DiscussionComment) GetAuthor

func (d *DiscussionComment) GetAuthor() *User

GetAuthor returns the Author field.

func (*DiscussionComment) GetBody

func (d *DiscussionComment) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetBodyHTML

func (d *DiscussionComment) GetBodyHTML() string

GetBodyHTML returns the BodyHTML field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetBodyVersion

func (d *DiscussionComment) GetBodyVersion() string

GetBodyVersion returns the BodyVersion field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetCreatedAt

func (d *DiscussionComment) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetDiscussionURL

func (d *DiscussionComment) GetDiscussionURL() string

GetDiscussionURL returns the DiscussionURL field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetHTMLURL

func (d *DiscussionComment) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetLastEditedAt

func (d *DiscussionComment) GetLastEditedAt() Timestamp

GetLastEditedAt returns the LastEditedAt field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetNodeID

func (d *DiscussionComment) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetNumber

func (d *DiscussionComment) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetReactions

func (d *DiscussionComment) GetReactions() *Reactions

GetReactions returns the Reactions field.

func (*DiscussionComment) GetURL

func (d *DiscussionComment) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*DiscussionComment) GetUpdatedAt

func (d *DiscussionComment) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (DiscussionComment) String

func (c DiscussionComment) String() string

type DiscussionCommentListOptions

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
}

DiscussionCommentListOptions specifies optional parameters to the TeamServices.ListComments method.

type DiscussionEvent

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

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

func (*DiscussionEvent) GetAction

func (d *DiscussionEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*DiscussionEvent) GetDiscussion

func (d *DiscussionEvent) GetDiscussion() *Discussion

GetDiscussion returns the Discussion field.

func (*DiscussionEvent) GetInstallation

func (d *DiscussionEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*DiscussionEvent) GetOrg

func (d *DiscussionEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*DiscussionEvent) GetRepo

func (d *DiscussionEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*DiscussionEvent) GetSender

func (d *DiscussionEvent) GetSender() *User

GetSender returns the Sender field.

type DiscussionListOptions

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
}

DiscussionListOptions specifies optional parameters to the TeamServices.ListDiscussions method.

type DismissStaleReviewsOnPushChanges

type DismissStaleReviewsOnPushChanges struct {
	From *bool `json:"from,omitempty"`
}

DismissStaleReviewsOnPushChanges represents the changes made to the DismissStaleReviewsOnPushChanges policy.

func (*DismissStaleReviewsOnPushChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type DismissalRestrictions

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"`
	// The list of apps which can dismiss pull request reviews.
	Apps []*App `json:"apps"`
}

DismissalRestrictions specifies which users and teams can dismiss pull request reviews.

type DismissalRestrictionsRequest

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"`
	// The list of apps which can dismiss pull request reviews. (Required; use nil to disable dismissal_restrictions or &[]string{} otherwise.)
	Apps *[]string `json:"apps,omitempty"`
}

DismissalRestrictionsRequest represents the request to create/edit the restriction to allows only specific users, teams or apps 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.

func (*DismissalRestrictionsRequest) GetApps

func (d *DismissalRestrictionsRequest) GetApps() []string

GetApps returns the Apps field if it's non-nil, zero value otherwise.

func (*DismissalRestrictionsRequest) GetTeams

func (d *DismissalRestrictionsRequest) GetTeams() []string

GetTeams returns the Teams field if it's non-nil, zero value otherwise.

func (*DismissalRestrictionsRequest) GetUsers

func (d *DismissalRestrictionsRequest) GetUsers() []string

GetUsers returns the Users field if it's non-nil, zero value otherwise.

type DismissedReview

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

DismissedReview represents details for 'dismissed_review' events.

func (*DismissedReview) GetDismissalCommitID

func (d *DismissedReview) GetDismissalCommitID() string

GetDismissalCommitID returns the DismissalCommitID field if it's non-nil, zero value otherwise.

func (*DismissedReview) GetDismissalMessage

func (d *DismissedReview) GetDismissalMessage() string

GetDismissalMessage returns the DismissalMessage field if it's non-nil, zero value otherwise.

func (*DismissedReview) GetReviewID

func (d *DismissedReview) GetReviewID() int64

GetReviewID returns the ReviewID field if it's non-nil, zero value otherwise.

func (*DismissedReview) GetState

func (d *DismissedReview) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

type DispatchRequestOptions

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

DispatchRequestOptions represents a request to trigger a repository_dispatch event.

func (*DispatchRequestOptions) GetClientPayload

func (d *DispatchRequestOptions) GetClientPayload() json.RawMessage

GetClientPayload returns the ClientPayload field if it's non-nil, zero value otherwise.

type DraftReviewComment

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

DraftReviewComment represents a comment part of the review.

func (*DraftReviewComment) GetBody

func (d *DraftReviewComment) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*DraftReviewComment) GetLine

func (d *DraftReviewComment) GetLine() int

GetLine returns the Line field if it's non-nil, zero value otherwise.

func (*DraftReviewComment) GetPath

func (d *DraftReviewComment) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*DraftReviewComment) GetPosition

func (d *DraftReviewComment) GetPosition() int

GetPosition returns the Position field if it's non-nil, zero value otherwise.

func (*DraftReviewComment) GetSide

func (d *DraftReviewComment) GetSide() string

GetSide returns the Side field if it's non-nil, zero value otherwise.

func (*DraftReviewComment) GetStartLine

func (d *DraftReviewComment) GetStartLine() int

GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.

func (*DraftReviewComment) GetStartSide

func (d *DraftReviewComment) GetStartSide() string

GetStartSide returns the StartSide field if it's non-nil, zero value otherwise.

func (DraftReviewComment) String

func (c DraftReviewComment) String() string

type EditBase

type EditBase struct {
	Ref *EditRef `json:"ref,omitempty"`
	SHA *EditSHA `json:"sha,omitempty"`
}

EditBase represents the change of a pull-request base branch.

func (*EditBase) GetRef

func (e *EditBase) GetRef() *EditRef

GetRef returns the Ref field.

func (*EditBase) GetSHA

func (e *EditBase) GetSHA() *EditSHA

GetSHA returns the SHA field.

type EditBody

type EditBody struct {
	From *string `json:"from,omitempty"`
}

EditBody represents a change of pull-request body.

func (*EditBody) GetFrom

func (e *EditBody) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type EditChange

type EditChange struct {
	Title *EditTitle `json:"title,omitempty"`
	Body  *EditBody  `json:"body,omitempty"`
	Base  *EditBase  `json:"base,omitempty"`
	Repo  *EditRepo  `json:"repository,omitempty"`
}

EditChange represents the changes when an issue, pull request, comment, or repository has been edited.

func (*EditChange) GetBase

func (e *EditChange) GetBase() *EditBase

GetBase returns the Base field.

func (*EditChange) GetBody

func (e *EditChange) GetBody() *EditBody

GetBody returns the Body field.

func (*EditChange) GetRepo

func (e *EditChange) GetRepo() *EditRepo

GetRepo returns the Repo field.

func (*EditChange) GetTitle

func (e *EditChange) GetTitle() *EditTitle

GetTitle returns the Title field.

type EditRef

type EditRef struct {
	From *string `json:"from,omitempty"`
}

EditRef represents a ref change of a pull-request.

func (*EditRef) GetFrom

func (e *EditRef) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type EditRepo

type EditRepo struct {
	Name *RepoName `json:"name,omitempty"`
}

EditRepo represents a change of repository name.

func (*EditRepo) GetName

func (e *EditRepo) GetName() *RepoName

GetName returns the Name field.

type EditSHA

type EditSHA struct {
	From *string `json:"from,omitempty"`
}

EditSHA represents a sha change of a pull-request.

func (*EditSHA) GetFrom

func (e *EditSHA) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type EditTitle

type EditTitle struct {
	From *string `json:"from,omitempty"`
}

EditTitle represents a pull-request title change.

func (*EditTitle) GetFrom

func (e *EditTitle) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type EncryptedSecret

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

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 Enterprise

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

Enterprise represents the GitHub enterprise profile.

func (*Enterprise) GetAvatarURL

func (e *Enterprise) GetAvatarURL() string

GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.

func (*Enterprise) GetCreatedAt

func (e *Enterprise) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Enterprise) GetDescription

func (e *Enterprise) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Enterprise) GetHTMLURL

func (e *Enterprise) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Enterprise) GetID

func (e *Enterprise) GetID() int

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Enterprise) GetName

func (e *Enterprise) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Enterprise) GetNodeID

func (e *Enterprise) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Enterprise) GetSlug

func (e *Enterprise) GetSlug() string

GetSlug returns the Slug field if it's non-nil, zero value otherwise.

func (*Enterprise) GetUpdatedAt

func (e *Enterprise) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Enterprise) GetWebsiteURL

func (e *Enterprise) GetWebsiteURL() string

GetWebsiteURL returns the WebsiteURL field if it's non-nil, zero value otherwise.

func (Enterprise) String

func (m Enterprise) String() string

type EnterpriseSecurityAnalysisSettings

type EnterpriseSecurityAnalysisSettings struct {
	AdvancedSecurityEnabledForNewRepositories             *bool   `json:"advanced_security_enabled_for_new_repositories,omitempty"`
	SecretScanningEnabledForNewRepositories               *bool   `json:"secret_scanning_enabled_for_new_repositories,omitempty"`
	SecretScanningPushProtectionEnabledForNewRepositories *bool   `json:"secret_scanning_push_protection_enabled_for_new_repositories,omitempty"`
	SecretScanningPushProtectionCustomLink                *string `json:"secret_scanning_push_protection_custom_link,omitempty"`
}

EnterpriseSecurityAnalysisSettings represents security analysis settings for an enterprise.

func (*EnterpriseSecurityAnalysisSettings) GetAdvancedSecurityEnabledForNewRepositories

func (e *EnterpriseSecurityAnalysisSettings) GetAdvancedSecurityEnabledForNewRepositories() bool

GetAdvancedSecurityEnabledForNewRepositories returns the AdvancedSecurityEnabledForNewRepositories field if it's non-nil, zero value otherwise.

func (*EnterpriseSecurityAnalysisSettings) GetSecretScanningEnabledForNewRepositories

func (e *EnterpriseSecurityAnalysisSettings) GetSecretScanningEnabledForNewRepositories() bool

GetSecretScanningEnabledForNewRepositories returns the SecretScanningEnabledForNewRepositories field if it's non-nil, zero value otherwise.

func (e *EnterpriseSecurityAnalysisSettings) GetSecretScanningPushProtectionCustomLink() string

GetSecretScanningPushProtectionCustomLink returns the SecretScanningPushProtectionCustomLink field if it's non-nil, zero value otherwise.

func (*EnterpriseSecurityAnalysisSettings) GetSecretScanningPushProtectionEnabledForNewRepositories

func (e *EnterpriseSecurityAnalysisSettings) GetSecretScanningPushProtectionEnabledForNewRepositories() bool

GetSecretScanningPushProtectionEnabledForNewRepositories returns the SecretScanningPushProtectionEnabledForNewRepositories field if it's non-nil, zero value otherwise.

type EnterpriseService

type EnterpriseService service

EnterpriseService provides access to the enterprise related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/enterprise-admin/

func (*EnterpriseService) CreateRegistrationToken

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 (*EnterpriseService) EnableDisableSecurityFeature

func (s *EnterpriseService) EnableDisableSecurityFeature(ctx context.Context, enterprise, securityProduct, enablement string) (*Response, error)

EnableDisableSecurityFeature enables or disables a security feature for all repositories in an enterprise.

Valid values for securityProduct: "advanced_security", "secret_scanning", "secret_scanning_push_protection". Valid values for enablement: "enable_all", "disable_all".

GitHub API docs: https://docs.github.com/en/enterprise-cloud@latest/rest/enterprise-admin/code-security-and-analysis?apiVersion=2022-11-28#enable-or-disable-a-security-feature

func (*EnterpriseService) GetAuditLog

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 (*EnterpriseService) GetCodeSecurityAndAnalysis

func (s *EnterpriseService) GetCodeSecurityAndAnalysis(ctx context.Context, enterprise string) (*EnterpriseSecurityAnalysisSettings, *Response, error)

GetCodeSecurityAndAnalysis gets code security and analysis features for an enterprise.

GitHub API docs: https://docs.github.com/en/rest/enterprise-admin/code-security-and-analysis?apiVersion=2022-11-28#get-code-security-and-analysis-features-for-an-enterprise

func (*EnterpriseService) ListRunnerApplicationDownloads

func (s *EnterpriseService) ListRunnerApplicationDownloads(ctx context.Context, enterprise 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-an-enterprise

func (*EnterpriseService) ListRunners

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 (*EnterpriseService) RemoveRunner

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

func (*EnterpriseService) UpdateCodeSecurityAndAnalysis

func (s *EnterpriseService) UpdateCodeSecurityAndAnalysis(ctx context.Context, enterprise string, settings *EnterpriseSecurityAnalysisSettings) (*Response, error)

UpdateCodeSecurityAndAnalysis updates code security and analysis features for new repositories in an enterprise.

GitHub API docs: https://docs.github.com/en/rest/enterprise-admin/code-security-and-analysis?apiVersion=2022-11-28#update-code-security-and-analysis-features-for-an-enterprise

type EnvResponse

type EnvResponse struct {
	TotalCount   *int           `json:"total_count,omitempty"`
	Environments []*Environment `json:"environments,omitempty"`
}

EnvResponse represents the slightly different format of response that comes back when you list an environment.

func (*EnvResponse) GetTotalCount

func (e *EnvResponse) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type EnvReviewers

type EnvReviewers struct {
	Type *string `json:"type,omitempty"`
	ID   *int64  `json:"id,omitempty"`
}

EnvReviewers represents a single environment reviewer entry.

func (*EnvReviewers) GetID

func (e *EnvReviewers) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*EnvReviewers) GetType

func (e *EnvReviewers) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

type Environment

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

Environment represents a single environment in a repository.

func (*Environment) GetCreatedAt

func (e *Environment) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Environment) GetDeploymentBranchPolicy

func (e *Environment) GetDeploymentBranchPolicy() *BranchPolicy

GetDeploymentBranchPolicy returns the DeploymentBranchPolicy field.

func (*Environment) GetEnvironmentName

func (e *Environment) GetEnvironmentName() string

GetEnvironmentName returns the EnvironmentName field if it's non-nil, zero value otherwise.

func (*Environment) GetHTMLURL

func (e *Environment) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Environment) GetID

func (e *Environment) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Environment) GetName

func (e *Environment) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Environment) GetNodeID

func (e *Environment) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Environment) GetOwner

func (e *Environment) GetOwner() string

GetOwner returns the Owner field if it's non-nil, zero value otherwise.

func (*Environment) GetRepo

func (e *Environment) GetRepo() string

GetRepo returns the Repo field if it's non-nil, zero value otherwise.

func (*Environment) GetURL

func (e *Environment) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Environment) GetUpdatedAt

func (e *Environment) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Environment) GetWaitTimer

func (e *Environment) GetWaitTimer() int

GetWaitTimer returns the WaitTimer field if it's non-nil, zero value otherwise.

type EnvironmentListOptions

type EnvironmentListOptions struct {
	ListOptions
}

EnvironmentListOptions specifies the optional parameters to the RepositoriesService.ListEnvironments method.

type Error

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.
}

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

func (*Error) Error

func (e *Error) Error() string

func (*Error) UnmarshalJSON

func (e *Error) UnmarshalJSON(data []byte) error

type ErrorBlock

type ErrorBlock struct {
	Reason    string     `json:"reason,omitempty"`
	CreatedAt *Timestamp `json:"created_at,omitempty"`
}

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.

func (*ErrorBlock) GetCreatedAt

func (e *ErrorBlock) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

type ErrorResponse

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

An ErrorResponse reports one or more errors caused by an API request.

GitHub API docs: https://docs.github.com/en/rest/#client-errors

func (*ErrorResponse) Error

func (r *ErrorResponse) Error() string

func (*ErrorResponse) GetBlock

func (e *ErrorResponse) GetBlock() *ErrorBlock

GetBlock returns the Block field.

func (*ErrorResponse) Is

func (r *ErrorResponse) Is(target error) bool

Is returns whether the provided error equals this error.

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

Event represents a GitHub event.

func (*Event) GetActor

func (e *Event) GetActor() *User

GetActor returns the Actor field.

func (*Event) GetCreatedAt

func (e *Event) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Event) GetID

func (e *Event) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Event) GetOrg

func (e *Event) GetOrg() *Organization

GetOrg returns the Org field.

func (*Event) GetPublic

func (e *Event) GetPublic() bool

GetPublic returns the Public field if it's non-nil, zero value otherwise.

func (*Event) GetRawPayload

func (e *Event) GetRawPayload() json.RawMessage

GetRawPayload returns the RawPayload field if it's non-nil, zero value otherwise.

func (*Event) GetRepo

func (e *Event) GetRepo() *Repository

GetRepo returns the Repo field.

func (*Event) GetType

func (e *Event) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*Event) ParsePayload

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 (*Event) Payload deprecated

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 (Event) String

func (e Event) String() string

type ExternalGroup

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

ExternalGroup represents an external group.

func (*ExternalGroup) GetGroupID

func (e *ExternalGroup) GetGroupID() int64

GetGroupID returns the GroupID field if it's non-nil, zero value otherwise.

func (*ExternalGroup) GetGroupName

func (e *ExternalGroup) GetGroupName() string

GetGroupName returns the GroupName field if it's non-nil, zero value otherwise.

func (*ExternalGroup) GetUpdatedAt

func (e *ExternalGroup) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type ExternalGroupList

type ExternalGroupList struct {
	Groups []*ExternalGroup `json:"groups"`
}

ExternalGroupList represents a list of external groups.

type ExternalGroupMember

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

ExternalGroupMember represents a member of an external group.

func (*ExternalGroupMember) GetMemberEmail

func (e *ExternalGroupMember) GetMemberEmail() string

GetMemberEmail returns the MemberEmail field if it's non-nil, zero value otherwise.

func (*ExternalGroupMember) GetMemberID

func (e *ExternalGroupMember) GetMemberID() int64

GetMemberID returns the MemberID field if it's non-nil, zero value otherwise.

func (*ExternalGroupMember) GetMemberLogin

func (e *ExternalGroupMember) GetMemberLogin() string

GetMemberLogin returns the MemberLogin field if it's non-nil, zero value otherwise.

func (*ExternalGroupMember) GetMemberName

func (e *ExternalGroupMember) GetMemberName() string

GetMemberName returns the MemberName field if it's non-nil, zero value otherwise.

type ExternalGroupTeam

type ExternalGroupTeam struct {
	TeamID   *int64  `json:"team_id,omitempty"`
	TeamName *string `json:"team_name,omitempty"`
}

ExternalGroupTeam represents a team connected to an external group.

func (*ExternalGroupTeam) GetTeamID

func (e *ExternalGroupTeam) GetTeamID() int64

GetTeamID returns the TeamID field if it's non-nil, zero value otherwise.

func (*ExternalGroupTeam) GetTeamName

func (e *ExternalGroupTeam) GetTeamName() string

GetTeamName returns the TeamName field if it's non-nil, zero value otherwise.

type FeedLink struct {
	HRef *string `json:"href,omitempty"`
	Type *string `json:"type,omitempty"`
}

FeedLink represents a link to a related resource.

func (*FeedLink) GetHRef

func (f *FeedLink) GetHRef() string

GetHRef returns the HRef field if it's non-nil, zero value otherwise.

func (*FeedLink) GetType

func (f *FeedLink) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

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

FeedLinks represents the links in a Feed.

func (*FeedLinks) GetCurrentUser

func (f *FeedLinks) GetCurrentUser() *FeedLink

GetCurrentUser returns the CurrentUser field.

func (*FeedLinks) GetCurrentUserActor

func (f *FeedLinks) GetCurrentUserActor() *FeedLink

GetCurrentUserActor returns the CurrentUserActor field.

func (*FeedLinks) GetCurrentUserOrganization

func (f *FeedLinks) GetCurrentUserOrganization() *FeedLink

GetCurrentUserOrganization returns the CurrentUserOrganization field.

func (*FeedLinks) GetCurrentUserPublic

func (f *FeedLinks) GetCurrentUserPublic() *FeedLink

GetCurrentUserPublic returns the CurrentUserPublic field.

func (*FeedLinks) GetTimeline

func (f *FeedLinks) GetTimeline() *FeedLink

GetTimeline returns the Timeline field.

func (*FeedLinks) GetUser

func (f *FeedLinks) GetUser() *FeedLink

GetUser returns the User field.

type Feeds

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

Feeds represents timeline resources in Atom format.

func (*Feeds) GetCurrentUserActorURL

func (f *Feeds) GetCurrentUserActorURL() string

GetCurrentUserActorURL returns the CurrentUserActorURL field if it's non-nil, zero value otherwise.

func (*Feeds) GetCurrentUserOrganizationURL

func (f *Feeds) GetCurrentUserOrganizationURL() string

GetCurrentUserOrganizationURL returns the CurrentUserOrganizationURL field if it's non-nil, zero value otherwise.

func (*Feeds) GetCurrentUserPublicURL

func (f *Feeds) GetCurrentUserPublicURL() string

GetCurrentUserPublicURL returns the CurrentUserPublicURL field if it's non-nil, zero value otherwise.

func (*Feeds) GetCurrentUserURL

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 (*Feeds) GetTimelineURL

func (f *Feeds) GetTimelineURL() string

GetTimelineURL returns the TimelineURL field if it's non-nil, zero value otherwise.

func (*Feeds) GetUserURL

func (f *Feeds) GetUserURL() string

GetUserURL returns the UserURL field if it's non-nil, zero value otherwise.

type FirstPatchedVersion

type FirstPatchedVersion struct {
	Identifier *string `json:"identifier,omitempty"`
}

FirstPatchedVersion represents the identifier for the first patched version of that vulnerability.

func (*FirstPatchedVersion) GetIdentifier

func (f *FirstPatchedVersion) GetIdentifier() string

GetIdentifier returns the Identifier field if it's non-nil, zero value otherwise.

type ForkEvent

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

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

func (*ForkEvent) GetForkee

func (f *ForkEvent) GetForkee() *Repository

GetForkee returns the Forkee field.

func (*ForkEvent) GetInstallation

func (f *ForkEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*ForkEvent) GetRepo

func (f *ForkEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*ForkEvent) GetSender

func (f *ForkEvent) GetSender() *User

GetSender returns the Sender field.

type GPGEmail

type GPGEmail struct {
	Email    *string `json:"email,omitempty"`
	Verified *bool   `json:"verified,omitempty"`
}

GPGEmail represents an email address associated to a GPG key.

func (*GPGEmail) GetEmail

func (g *GPGEmail) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*GPGEmail) GetVerified

func (g *GPGEmail) GetVerified() bool

GetVerified returns the Verified field if it's non-nil, zero value otherwise.

type GPGKey

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

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/

func (*GPGKey) GetCanCertify

func (g *GPGKey) GetCanCertify() bool

GetCanCertify returns the CanCertify field if it's non-nil, zero value otherwise.

func (*GPGKey) GetCanEncryptComms

func (g *GPGKey) GetCanEncryptComms() bool

GetCanEncryptComms returns the CanEncryptComms field if it's non-nil, zero value otherwise.

func (*GPGKey) GetCanEncryptStorage

func (g *GPGKey) GetCanEncryptStorage() bool

GetCanEncryptStorage returns the CanEncryptStorage field if it's non-nil, zero value otherwise.

func (*GPGKey) GetCanSign

func (g *GPGKey) GetCanSign() bool

GetCanSign returns the CanSign field if it's non-nil, zero value otherwise.

func (*GPGKey) GetCreatedAt

func (g *GPGKey) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*GPGKey) GetExpiresAt

func (g *GPGKey) GetExpiresAt() time.Time

GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.

func (*GPGKey) GetID

func (g *GPGKey) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*GPGKey) GetKeyID

func (g *GPGKey) GetKeyID() string

GetKeyID returns the KeyID field if it's non-nil, zero value otherwise.

func (*GPGKey) GetPrimaryKeyID

func (g *GPGKey) GetPrimaryKeyID() int64

GetPrimaryKeyID returns the PrimaryKeyID field if it's non-nil, zero value otherwise.

func (*GPGKey) GetPublicKey

func (g *GPGKey) GetPublicKey() string

GetPublicKey returns the PublicKey field if it's non-nil, zero value otherwise.

func (*GPGKey) GetRawKey

func (g *GPGKey) GetRawKey() string

GetRawKey returns the RawKey field if it's non-nil, zero value otherwise.

func (GPGKey) String

func (k GPGKey) String() string

String stringifies a GPGKey.

type GenerateNotesOptions

type GenerateNotesOptions struct {
	TagName         string  `json:"tag_name"`
	PreviousTagName *string `json:"previous_tag_name,omitempty"`
	TargetCommitish *string `json:"target_commitish,omitempty"`
}

GenerateNotesOptions represents the options to generate release notes.

func (*GenerateNotesOptions) GetPreviousTagName

func (g *GenerateNotesOptions) GetPreviousTagName() string

GetPreviousTagName returns the PreviousTagName field if it's non-nil, zero value otherwise.

func (*GenerateNotesOptions) GetTargetCommitish

func (g *GenerateNotesOptions) GetTargetCommitish() string

GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.

type GetAuditLogOptions

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
}

GetAuditLogOptions sets up optional parameters to query audit-log endpoint.

func (*GetAuditLogOptions) GetInclude

func (g *GetAuditLogOptions) GetInclude() string

GetInclude returns the Include field if it's non-nil, zero value otherwise.

func (*GetAuditLogOptions) GetOrder

func (g *GetAuditLogOptions) GetOrder() string

GetOrder returns the Order field if it's non-nil, zero value otherwise.

func (*GetAuditLogOptions) GetPhrase

func (g *GetAuditLogOptions) GetPhrase() string

GetPhrase returns the Phrase field if it's non-nil, zero value otherwise.

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

Gist represents a GitHub's gist.

func (*Gist) GetComments

func (g *Gist) GetComments() int

GetComments returns the Comments field if it's non-nil, zero value otherwise.

func (*Gist) GetCreatedAt

func (g *Gist) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Gist) GetDescription

func (g *Gist) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Gist) GetFiles

func (g *Gist) GetFiles() map[GistFilename]GistFile

GetFiles returns the Files map if it's non-nil, an empty map otherwise.

func (*Gist) GetGitPullURL

func (g *Gist) GetGitPullURL() string

GetGitPullURL returns the GitPullURL field if it's non-nil, zero value otherwise.

func (*Gist) GetGitPushURL

func (g *Gist) GetGitPushURL() string

GetGitPushURL returns the GitPushURL field if it's non-nil, zero value otherwise.

func (*Gist) GetHTMLURL

func (g *Gist) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Gist) GetID

func (g *Gist) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Gist) GetNodeID

func (g *Gist) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Gist) GetOwner

func (g *Gist) GetOwner() *User

GetOwner returns the Owner field.

func (*Gist) GetPublic

func (g *Gist) GetPublic() bool

GetPublic returns the Public field if it's non-nil, zero value otherwise.

func (*Gist) GetUpdatedAt

func (g *Gist) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (Gist) String

func (g Gist) String() string

type GistComment

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

GistComment represents a Gist comment.

func (*GistComment) GetBody

func (g *GistComment) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*GistComment) GetCreatedAt

func (g *GistComment) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*GistComment) GetID

func (g *GistComment) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*GistComment) GetURL

func (g *GistComment) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*GistComment) GetUser

func (g *GistComment) GetUser() *User

GetUser returns the User field.

func (GistComment) String

func (g GistComment) String() string

type GistCommit

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

GistCommit represents a commit on a gist.

func (*GistCommit) GetChangeStatus

func (g *GistCommit) GetChangeStatus() *CommitStats

GetChangeStatus returns the ChangeStatus field.

func (*GistCommit) GetCommittedAt

func (g *GistCommit) GetCommittedAt() Timestamp

GetCommittedAt returns the CommittedAt field if it's non-nil, zero value otherwise.

func (*GistCommit) GetNodeID

func (g *GistCommit) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*GistCommit) GetURL

func (g *GistCommit) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*GistCommit) GetUser

func (g *GistCommit) GetUser() *User

GetUser returns the User field.

func (*GistCommit) GetVersion

func (g *GistCommit) GetVersion() string

GetVersion returns the Version field if it's non-nil, zero value otherwise.

func (GistCommit) String

func (gc GistCommit) String() string

type GistFile

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

GistFile represents a file on a gist.

func (*GistFile) GetContent

func (g *GistFile) GetContent() string

GetContent returns the Content field if it's non-nil, zero value otherwise.

func (*GistFile) GetFilename

func (g *GistFile) GetFilename() string

GetFilename returns the Filename field if it's non-nil, zero value otherwise.

func (*GistFile) GetLanguage

func (g *GistFile) GetLanguage() string

GetLanguage returns the Language field if it's non-nil, zero value otherwise.

func (*GistFile) GetRawURL

func (g *GistFile) GetRawURL() string

GetRawURL returns the RawURL field if it's non-nil, zero value otherwise.

func (*GistFile) GetSize

func (g *GistFile) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*GistFile) GetType

func (g *GistFile) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (GistFile) String

func (g GistFile) String() string

type GistFilename

type GistFilename string

GistFilename represents filename on a gist.

type GistFork

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

GistFork represents a fork of a gist.

func (*GistFork) GetCreatedAt

func (g *GistFork) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*GistFork) GetID

func (g *GistFork) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*GistFork) GetNodeID

func (g *GistFork) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*GistFork) GetURL

func (g *GistFork) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*GistFork) GetUpdatedAt

func (g *GistFork) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*GistFork) GetUser

func (g *GistFork) GetUser() *User

GetUser returns the User field.

func (GistFork) String

func (gf GistFork) String() string

type GistListOptions

type GistListOptions struct {
	// Since filters Gists by time.
	Since time.Time `url:"since,omitempty"`

	ListOptions
}

GistListOptions specifies the optional parameters to the GistsService.List, GistsService.ListAll, and GistsService.ListStarred methods.

type GistStats

type GistStats struct {
	TotalGists   *int `json:"total_gists,omitempty"`
	PrivateGists *int `json:"private_gists,omitempty"`
	PublicGists  *int `json:"public_gists,omitempty"`
}

GistStats represents the number of total, private and public gists.

func (*GistStats) GetPrivateGists

func (g *GistStats) GetPrivateGists() int

GetPrivateGists returns the PrivateGists field if it's non-nil, zero value otherwise.

func (*GistStats) GetPublicGists

func (g *GistStats) GetPublicGists() int

GetPublicGists returns the PublicGists field if it's non-nil, zero value otherwise.

func (*GistStats) GetTotalGists

func (g *GistStats) GetTotalGists() int

GetTotalGists returns the TotalGists field if it's non-nil, zero value otherwise.

func (GistStats) String

func (s GistStats) String() string

type GistsService

type GistsService service

GistsService handles communication with the Gist related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/gists

func (*GistsService) Create

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 (*GistsService) CreateComment

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 (*GistsService) Delete

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 (*GistsService) DeleteComment

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 (*GistsService) Edit

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 (*GistsService) EditComment

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 (*GistsService) Fork

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 (*GistsService) Get

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 (*GistsService) GetComment

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 (*GistsService) GetRevision

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 (*GistsService) IsStarred

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 (*GistsService) List

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 (*GistsService) ListAll

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 (*GistsService) ListComments

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 (*GistsService) ListCommits

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 (*GistsService) ListForks

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 (*GistsService) ListStarred

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 (*GistsService) Star

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 (*GistsService) Unstar

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

type GitHubAppAuthorizationEvent

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

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

func (*GitHubAppAuthorizationEvent) GetAction

func (g *GitHubAppAuthorizationEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*GitHubAppAuthorizationEvent) GetInstallation

func (g *GitHubAppAuthorizationEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*GitHubAppAuthorizationEvent) GetSender

func (g *GitHubAppAuthorizationEvent) GetSender() *User

GetSender returns the Sender field.

type GitObject

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

GitObject represents a Git object.

func (*GitObject) GetSHA

func (g *GitObject) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*GitObject) GetType

func (g *GitObject) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*GitObject) GetURL

func (g *GitObject) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (GitObject) String

func (o GitObject) String() string

type GitService

type GitService service

GitService handles communication with the git data related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/git/

func (*GitService) CreateBlob

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 (*GitService) CreateCommit

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 (*GitService) CreateRef

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 (*GitService) CreateTag

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 (*GitService) CreateTree

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 (*GitService) DeleteRef

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 (*GitService) GetBlob

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 (*GitService) GetBlobRaw

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 (*GitService) GetCommit

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 (*GitService) GetRef

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 (*GitService) GetTag

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 (*GitService) GetTree

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 (*GitService) ListMatchingRefs

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 (*GitService) UpdateRef

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

type Gitignore

type Gitignore struct {
	Name   *string `json:"name,omitempty"`
	Source *string `json:"source,omitempty"`
}

Gitignore represents a .gitignore file as returned by the GitHub API.

func (*Gitignore) GetName

func (g *Gitignore) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Gitignore) GetSource

func (g *Gitignore) GetSource() string

GetSource returns the Source field if it's non-nil, zero value otherwise.

func (Gitignore) String

func (g Gitignore) String() string

type GitignoresService

type GitignoresService service

GitignoresService provides access to the gitignore related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/gitignore/

func (*GitignoresService) Get

Get a Gitignore by name.

GitHub API docs: https://docs.github.com/en/rest/gitignore#get-a-gitignore-template

func (*GitignoresService) List

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

type GollumEvent

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

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

func (*GollumEvent) GetInstallation

func (g *GollumEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*GollumEvent) GetRepo

func (g *GollumEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*GollumEvent) GetSender

func (g *GollumEvent) GetSender() *User

GetSender returns the Sender field.

type Grant

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

Grant represents an OAuth application that has been granted access to an account.

func (*Grant) GetApp

func (g *Grant) GetApp() *AuthorizationApp

GetApp returns the App field.

func (*Grant) GetCreatedAt

func (g *Grant) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Grant) GetID

func (g *Grant) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Grant) GetURL

func (g *Grant) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Grant) GetUpdatedAt

func (g *Grant) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (Grant) String

func (g Grant) String() string

type HeadCommit

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

HeadCommit represents a git commit in a GitHub PushEvent.

func (*HeadCommit) GetAuthor

func (h *HeadCommit) GetAuthor() *CommitAuthor

GetAuthor returns the Author field.

func (*HeadCommit) GetCommitter

func (h *HeadCommit) GetCommitter() *CommitAuthor

GetCommitter returns the Committer field.

func (*HeadCommit) GetDistinct

func (h *HeadCommit) GetDistinct() bool

GetDistinct returns the Distinct field if it's non-nil, zero value otherwise.

func (*HeadCommit) GetID

func (h *HeadCommit) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*HeadCommit) GetMessage

func (h *HeadCommit) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*HeadCommit) GetSHA

func (h *HeadCommit) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*HeadCommit) GetTimestamp

func (h *HeadCommit) GetTimestamp() Timestamp

GetTimestamp returns the Timestamp field if it's non-nil, zero value otherwise.

func (*HeadCommit) GetTreeID

func (h *HeadCommit) GetTreeID() string

GetTreeID returns the TreeID field if it's non-nil, zero value otherwise.

func (*HeadCommit) GetURL

func (h *HeadCommit) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (HeadCommit) String

func (h HeadCommit) String() string

type Hook

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

Hook represents a GitHub (web and service) hook for a repository.

func (*Hook) GetActive

func (h *Hook) GetActive() bool

GetActive returns the Active field if it's non-nil, zero value otherwise.

func (*Hook) GetCreatedAt

func (h *Hook) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Hook) GetID

func (h *Hook) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Hook) GetName

func (h *Hook) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Hook) GetPingURL

func (h *Hook) GetPingURL() string

GetPingURL returns the PingURL field if it's non-nil, zero value otherwise.

func (*Hook) GetTestURL

func (h *Hook) GetTestURL() string

GetTestURL returns the TestURL field if it's non-nil, zero value otherwise.

func (*Hook) GetType

func (h *Hook) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*Hook) GetURL

func (h *Hook) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Hook) GetUpdatedAt

func (h *Hook) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (Hook) String

func (h Hook) String() string

type HookConfig

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

HookConfig describes metadata about a webhook configuration.

func (*HookConfig) GetContentType

func (h *HookConfig) GetContentType() string

GetContentType returns the ContentType field if it's non-nil, zero value otherwise.

func (*HookConfig) GetInsecureSSL

func (h *HookConfig) GetInsecureSSL() string

GetInsecureSSL returns the InsecureSSL field if it's non-nil, zero value otherwise.

func (*HookConfig) GetSecret

func (h *HookConfig) GetSecret() string

GetSecret returns the Secret field if it's non-nil, zero value otherwise.

func (*HookConfig) GetURL

func (h *HookConfig) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type HookDelivery

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

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

func (*HookDelivery) GetAction

func (h *HookDelivery) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetDeliveredAt

func (h *HookDelivery) GetDeliveredAt() Timestamp

GetDeliveredAt returns the DeliveredAt field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetDuration

func (h *HookDelivery) GetDuration() *float64

GetDuration returns the Duration field.

func (*HookDelivery) GetEvent

func (h *HookDelivery) GetEvent() string

GetEvent returns the Event field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetGUID

func (h *HookDelivery) GetGUID() string

GetGUID returns the GUID field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetID

func (h *HookDelivery) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetInstallationID

func (h *HookDelivery) GetInstallationID() int64

GetInstallationID returns the InstallationID field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetRedelivery

func (h *HookDelivery) GetRedelivery() bool

GetRedelivery returns the Redelivery field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetRepositoryID

func (h *HookDelivery) GetRepositoryID() int64

GetRepositoryID returns the RepositoryID field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetRequest

func (h *HookDelivery) GetRequest() *HookRequest

GetRequest returns the Request field.

func (*HookDelivery) GetResponse

func (h *HookDelivery) GetResponse() *HookResponse

GetResponse returns the Response field.

func (*HookDelivery) GetStatus

func (h *HookDelivery) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*HookDelivery) GetStatusCode

func (h *HookDelivery) GetStatusCode() int

GetStatusCode returns the StatusCode field if it's non-nil, zero value otherwise.

func (*HookDelivery) ParseRequestPayload

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 (HookDelivery) String

func (d HookDelivery) String() string

type HookRequest

type HookRequest struct {
	Headers    map[string]string `json:"headers,omitempty"`
	RawPayload *json.RawMessage  `json:"payload,omitempty"`
}

HookRequest is a part of HookDelivery that contains the HTTP headers and the JSON payload of the webhook request.

func (*HookRequest) GetHeaders

func (h *HookRequest) GetHeaders() map[string]string

GetHeaders returns the Headers map if it's non-nil, an empty map otherwise.

func (*HookRequest) GetRawPayload

func (h *HookRequest) GetRawPayload() json.RawMessage

GetRawPayload returns the RawPayload field if it's non-nil, zero value otherwise.

func (HookRequest) String

func (r HookRequest) String() string

type HookResponse

type HookResponse struct {
	Headers    map[string]string `json:"headers,omitempty"`
	RawPayload *json.RawMessage  `json:"payload,omitempty"`
}

HookResponse is a part of HookDelivery that contains the HTTP headers and the response body served by the webhook endpoint.

func (*HookResponse) GetHeaders

func (h *HookResponse) GetHeaders() map[string]string

GetHeaders returns the Headers map if it's non-nil, an empty map otherwise.

func (*HookResponse) GetRawPayload

func (h *HookResponse) GetRawPayload() json.RawMessage

GetRawPayload returns the RawPayload field if it's non-nil, zero value otherwise.

func (HookResponse) String

func (r HookResponse) String() string

type HookStats

type HookStats struct {
	TotalHooks    *int `json:"total_hooks,omitempty"`
	ActiveHooks   *int `json:"active_hooks,omitempty"`
	InactiveHooks *int `json:"inactive_hooks,omitempty"`
}

HookStats represents the number of total, active and inactive hooks.

func (*HookStats) GetActiveHooks

func (h *HookStats) GetActiveHooks() int

GetActiveHooks returns the ActiveHooks field if it's non-nil, zero value otherwise.

func (*HookStats) GetInactiveHooks

func (h *HookStats) GetInactiveHooks() int

GetInactiveHooks returns the InactiveHooks field if it's non-nil, zero value otherwise.

func (*HookStats) GetTotalHooks

func (h *HookStats) GetTotalHooks() int

GetTotalHooks returns the TotalHooks field if it's non-nil, zero value otherwise.

func (HookStats) String

func (s HookStats) String() string

type Hovercard

type Hovercard struct {
	Contexts []*UserContext `json:"contexts,omitempty"`
}

Hovercard represents hovercard information about a user.

type HovercardOptions

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

HovercardOptions specifies optional parameters to the UsersService.GetHovercard method.

type IDPGroup

type IDPGroup struct {
	GroupID          *string `json:"group_id,omitempty"`
	GroupName        *string `json:"group_name,omitempty"`
	GroupDescription *string `json:"group_description,omitempty"`
}

IDPGroup represents an external identity provider (IDP) group.

func (*IDPGroup) GetGroupDescription

func (i *IDPGroup) GetGroupDescription() string

GetGroupDescription returns the GroupDescription field if it's non-nil, zero value otherwise.

func (*IDPGroup) GetGroupID

func (i *IDPGroup) GetGroupID() string

GetGroupID returns the GroupID field if it's non-nil, zero value otherwise.

func (*IDPGroup) GetGroupName

func (i *IDPGroup) GetGroupName() string

GetGroupName returns the GroupName field if it's non-nil, zero value otherwise.

type IDPGroupList

type IDPGroupList struct {
	Groups []*IDPGroup `json:"groups"`
}

IDPGroupList represents a list of external identity provider (IDP) groups.

type ImpersonateUserOptions

type ImpersonateUserOptions struct {
	Scopes []string `json:"scopes,omitempty"`
}

ImpersonateUserOptions represents the scoping for the OAuth token.

type Import

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

Import represents a repository import request.

func (*Import) GetAuthorsCount

func (i *Import) GetAuthorsCount() int

GetAuthorsCount returns the AuthorsCount field if it's non-nil, zero value otherwise.

func (*Import) GetAuthorsURL

func (i *Import) GetAuthorsURL() string

GetAuthorsURL returns the AuthorsURL field if it's non-nil, zero value otherwise.

func (*Import) GetCommitCount

func (i *Import) GetCommitCount() int

GetCommitCount returns the CommitCount field if it's non-nil, zero value otherwise.

func (*Import) GetFailedStep

func (i *Import) GetFailedStep() string

GetFailedStep returns the FailedStep field if it's non-nil, zero value otherwise.

func (*Import) GetHTMLURL

func (i *Import) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Import) GetHasLargeFiles

func (i *Import) GetHasLargeFiles() bool

GetHasLargeFiles returns the HasLargeFiles field if it's non-nil, zero value otherwise.

func (*Import) GetHumanName

func (i *Import) GetHumanName() string

GetHumanName returns the HumanName field if it's non-nil, zero value otherwise.

func (*Import) GetLargeFilesCount

func (i *Import) GetLargeFilesCount() int

GetLargeFilesCount returns the LargeFilesCount field if it's non-nil, zero value otherwise.

func (*Import) GetLargeFilesSize

func (i *Import) GetLargeFilesSize() int

GetLargeFilesSize returns the LargeFilesSize field if it's non-nil, zero value otherwise.

func (*Import) GetMessage

func (i *Import) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*Import) GetPercent

func (i *Import) GetPercent() int

GetPercent returns the Percent field if it's non-nil, zero value otherwise.

func (*Import) GetPushPercent

func (i *Import) GetPushPercent() int

GetPushPercent returns the PushPercent field if it's non-nil, zero value otherwise.

func (*Import) GetRepositoryURL

func (i *Import) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*Import) GetStatus

func (i *Import) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*Import) GetStatusText

func (i *Import) GetStatusText() string

GetStatusText returns the StatusText field if it's non-nil, zero value otherwise.

func (*Import) GetTFVCProject

func (i *Import) GetTFVCProject() string

GetTFVCProject returns the TFVCProject field if it's non-nil, zero value otherwise.

func (*Import) GetURL

func (i *Import) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Import) GetUseLFS

func (i *Import) GetUseLFS() string

GetUseLFS returns the UseLFS field if it's non-nil, zero value otherwise.

func (*Import) GetVCS

func (i *Import) GetVCS() string

GetVCS returns the VCS field if it's non-nil, zero value otherwise.

func (*Import) GetVCSPassword

func (i *Import) GetVCSPassword() string

GetVCSPassword returns the VCSPassword field if it's non-nil, zero value otherwise.

func (*Import) GetVCSURL

func (i *Import) GetVCSURL() string

GetVCSURL returns the VCSURL field if it's non-nil, zero value otherwise.

func (*Import) GetVCSUsername

func (i *Import) GetVCSUsername() string

GetVCSUsername returns the VCSUsername field if it's non-nil, zero value otherwise.

func (Import) String

func (i Import) String() string

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

Installation represents a GitHub Apps installation.

func (*Installation) GetAccessTokensURL

func (i *Installation) GetAccessTokensURL() string

GetAccessTokensURL returns the AccessTokensURL field if it's non-nil, zero value otherwise.

func (*Installation) GetAccount

func (i *Installation) GetAccount() *User

GetAccount returns the Account field.

func (*Installation) GetAppID

func (i *Installation) GetAppID() int64

GetAppID returns the AppID field if it's non-nil, zero value otherwise.

func (*Installation) GetAppSlug

func (i *Installation) GetAppSlug() string

GetAppSlug returns the AppSlug field if it's non-nil, zero value otherwise.

func (*Installation) GetCreatedAt

func (i *Installation) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Installation) GetHTMLURL

func (i *Installation) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Installation) GetHasMultipleSingleFiles

func (i *Installation) GetHasMultipleSingleFiles() bool

GetHasMultipleSingleFiles returns the HasMultipleSingleFiles field if it's non-nil, zero value otherwise.

func (*Installation) GetID

func (i *Installation) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Installation) GetNodeID

func (i *Installation) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Installation) GetPermissions

func (i *Installation) GetPermissions() *InstallationPermissions

GetPermissions returns the Permissions field.

func (*Installation) GetRepositoriesURL

func (i *Installation) GetRepositoriesURL() string

GetRepositoriesURL returns the RepositoriesURL field if it's non-nil, zero value otherwise.

func (*Installation) GetRepositorySelection

func (i *Installation) GetRepositorySelection() string

GetRepositorySelection returns the RepositorySelection field if it's non-nil, zero value otherwise.

func (*Installation) GetSingleFileName

func (i *Installation) GetSingleFileName() string

GetSingleFileName returns the SingleFileName field if it's non-nil, zero value otherwise.

func (*Installation) GetSuspendedAt

func (i *Installation) GetSuspendedAt() Timestamp

GetSuspendedAt returns the SuspendedAt field if it's non-nil, zero value otherwise.

func (*Installation) GetSuspendedBy

func (i *Installation) GetSuspendedBy() *User

GetSuspendedBy returns the SuspendedBy field.

func (*Installation) GetTargetID

func (i *Installation) GetTargetID() int64

GetTargetID returns the TargetID field if it's non-nil, zero value otherwise.

func (*Installation) GetTargetType

func (i *Installation) GetTargetType() string

GetTargetType returns the TargetType field if it's non-nil, zero value otherwise.

func (*Installation) GetUpdatedAt

func (i *Installation) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (Installation) String

func (i Installation) String() string

type InstallationEvent

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

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

func (*InstallationEvent) GetAction

func (i *InstallationEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*InstallationEvent) GetInstallation

func (i *InstallationEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*InstallationEvent) GetSender

func (i *InstallationEvent) GetSender() *User

GetSender returns the Sender field.

type InstallationPermissions

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"`
	OrganizationCustomRoles       *string `json:"organization_custom_roles,omitempty"`
	OrganizationHooks             *string `json:"organization_hooks,omitempty"`
	OrganizationPackages          *string `json:"organization_packages,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"`
}

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

func (*InstallationPermissions) GetActions

func (i *InstallationPermissions) GetActions() string

GetActions returns the Actions field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetAdministration

func (i *InstallationPermissions) GetAdministration() string

GetAdministration returns the Administration field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetBlocking

func (i *InstallationPermissions) GetBlocking() string

GetBlocking returns the Blocking field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetChecks

func (i *InstallationPermissions) GetChecks() string

GetChecks returns the Checks field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetContentReferences

func (i *InstallationPermissions) GetContentReferences() string

GetContentReferences returns the ContentReferences field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetContents

func (i *InstallationPermissions) GetContents() string

GetContents returns the Contents field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetDeployments

func (i *InstallationPermissions) GetDeployments() string

GetDeployments returns the Deployments field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetEmails

func (i *InstallationPermissions) GetEmails() string

GetEmails returns the Emails field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetEnvironments

func (i *InstallationPermissions) GetEnvironments() string

GetEnvironments returns the Environments field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetFollowers

func (i *InstallationPermissions) GetFollowers() string

GetFollowers returns the Followers field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetIssues

func (i *InstallationPermissions) GetIssues() string

GetIssues returns the Issues field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetMembers

func (i *InstallationPermissions) GetMembers() string

GetMembers returns the Members field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetMetadata

func (i *InstallationPermissions) GetMetadata() string

GetMetadata returns the Metadata field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationAdministration

func (i *InstallationPermissions) GetOrganizationAdministration() string

GetOrganizationAdministration returns the OrganizationAdministration field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationCustomRoles

func (i *InstallationPermissions) GetOrganizationCustomRoles() string

GetOrganizationCustomRoles returns the OrganizationCustomRoles field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationHooks

func (i *InstallationPermissions) GetOrganizationHooks() string

GetOrganizationHooks returns the OrganizationHooks field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationPackages

func (i *InstallationPermissions) GetOrganizationPackages() string

GetOrganizationPackages returns the OrganizationPackages field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationPlan

func (i *InstallationPermissions) GetOrganizationPlan() string

GetOrganizationPlan returns the OrganizationPlan field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationPreReceiveHooks

func (i *InstallationPermissions) GetOrganizationPreReceiveHooks() string

GetOrganizationPreReceiveHooks returns the OrganizationPreReceiveHooks field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationProjects

func (i *InstallationPermissions) GetOrganizationProjects() string

GetOrganizationProjects returns the OrganizationProjects field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationSecrets

func (i *InstallationPermissions) GetOrganizationSecrets() string

GetOrganizationSecrets returns the OrganizationSecrets field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationSelfHostedRunners

func (i *InstallationPermissions) GetOrganizationSelfHostedRunners() string

GetOrganizationSelfHostedRunners returns the OrganizationSelfHostedRunners field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetOrganizationUserBlocking

func (i *InstallationPermissions) GetOrganizationUserBlocking() string

GetOrganizationUserBlocking returns the OrganizationUserBlocking field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetPackages

func (i *InstallationPermissions) GetPackages() string

GetPackages returns the Packages field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetPages

func (i *InstallationPermissions) GetPages() string

GetPages returns the Pages field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetPullRequests

func (i *InstallationPermissions) GetPullRequests() string

GetPullRequests returns the PullRequests field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetRepositoryHooks

func (i *InstallationPermissions) GetRepositoryHooks() string

GetRepositoryHooks returns the RepositoryHooks field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetRepositoryPreReceiveHooks

func (i *InstallationPermissions) GetRepositoryPreReceiveHooks() string

GetRepositoryPreReceiveHooks returns the RepositoryPreReceiveHooks field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetRepositoryProjects

func (i *InstallationPermissions) GetRepositoryProjects() string

GetRepositoryProjects returns the RepositoryProjects field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetSecretScanningAlerts

func (i *InstallationPermissions) GetSecretScanningAlerts() string

GetSecretScanningAlerts returns the SecretScanningAlerts field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetSecrets

func (i *InstallationPermissions) GetSecrets() string

GetSecrets returns the Secrets field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetSecurityEvents

func (i *InstallationPermissions) GetSecurityEvents() string

GetSecurityEvents returns the SecurityEvents field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetSingleFile

func (i *InstallationPermissions) GetSingleFile() string

GetSingleFile returns the SingleFile field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetStatuses

func (i *InstallationPermissions) GetStatuses() string

GetStatuses returns the Statuses field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetTeamDiscussions

func (i *InstallationPermissions) GetTeamDiscussions() string

GetTeamDiscussions returns the TeamDiscussions field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetVulnerabilityAlerts

func (i *InstallationPermissions) GetVulnerabilityAlerts() string

GetVulnerabilityAlerts returns the VulnerabilityAlerts field if it's non-nil, zero value otherwise.

func (*InstallationPermissions) GetWorkflows

func (i *InstallationPermissions) GetWorkflows() string

GetWorkflows returns the Workflows field if it's non-nil, zero value otherwise.

type InstallationRepositoriesEvent

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

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

func (*InstallationRepositoriesEvent) GetAction

func (i *InstallationRepositoriesEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*InstallationRepositoriesEvent) GetInstallation

func (i *InstallationRepositoriesEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*InstallationRepositoriesEvent) GetRepositorySelection

func (i *InstallationRepositoriesEvent) GetRepositorySelection() string

GetRepositorySelection returns the RepositorySelection field if it's non-nil, zero value otherwise.

func (*InstallationRepositoriesEvent) GetSender

func (i *InstallationRepositoriesEvent) GetSender() *User

GetSender returns the Sender field.

type InstallationToken

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

InstallationToken represents an installation token.

func (*InstallationToken) GetExpiresAt

func (i *InstallationToken) GetExpiresAt() time.Time

GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.

func (*InstallationToken) GetPermissions

func (i *InstallationToken) GetPermissions() *InstallationPermissions

GetPermissions returns the Permissions field.

func (*InstallationToken) GetToken

func (i *InstallationToken) GetToken() string

GetToken returns the Token field if it's non-nil, zero value otherwise.

type InstallationTokenOptions

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

InstallationTokenOptions allow restricting a token's access to specific repositories.

func (*InstallationTokenOptions) GetPermissions

GetPermissions returns the Permissions field.

type InteractionRestriction

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

InteractionRestriction represents the interaction restrictions for repository and organization.

func (*InteractionRestriction) GetExpiresAt

func (i *InteractionRestriction) GetExpiresAt() Timestamp

GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.

func (*InteractionRestriction) GetLimit

func (i *InteractionRestriction) GetLimit() string

GetLimit returns the Limit field if it's non-nil, zero value otherwise.

func (*InteractionRestriction) GetOrigin

func (i *InteractionRestriction) GetOrigin() string

GetOrigin returns the Origin field if it's non-nil, zero value otherwise.

type InteractionsService

type InteractionsService service

InteractionsService handles communication with the repository and organization related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/interactions/

func (*InteractionsService) GetRestrictionsForOrg

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 (*InteractionsService) GetRestrictionsForRepo

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 (*InteractionsService) RemoveRestrictionsFromOrg

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 (*InteractionsService) RemoveRestrictionsFromRepo

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 (*InteractionsService) UpdateRestrictionsForOrg

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 (*InteractionsService) UpdateRestrictionsForRepo

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

type Invitation

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

Invitation represents a team member's invitation status.

func (*Invitation) GetCreatedAt

func (i *Invitation) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Invitation) GetEmail

func (i *Invitation) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*Invitation) GetFailedAt

func (i *Invitation) GetFailedAt() Timestamp

GetFailedAt returns the FailedAt field if it's non-nil, zero value otherwise.

func (*Invitation) GetFailedReason

func (i *Invitation) GetFailedReason() string

GetFailedReason returns the FailedReason field if it's non-nil, zero value otherwise.

func (*Invitation) GetID

func (i *Invitation) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Invitation) GetInvitationTeamURL

func (i *Invitation) GetInvitationTeamURL() string

GetInvitationTeamURL returns the InvitationTeamURL field if it's non-nil, zero value otherwise.

func (*Invitation) GetInviter

func (i *Invitation) GetInviter() *User

GetInviter returns the Inviter field.

func (*Invitation) GetLogin

func (i *Invitation) GetLogin() string

GetLogin returns the Login field if it's non-nil, zero value otherwise.

func (*Invitation) GetNodeID

func (i *Invitation) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Invitation) GetRole

func (i *Invitation) GetRole() string

GetRole returns the Role field if it's non-nil, zero value otherwise.

func (*Invitation) GetTeamCount

func (i *Invitation) GetTeamCount() int

GetTeamCount returns the TeamCount field if it's non-nil, zero value otherwise.

func (Invitation) String

func (i Invitation) String() string

type Issue

type Issue struct {
	ID     *int64  `json:"id,omitempty"`
	Number *int    `json:"number,omitempty"`
	State  *string `json:"state,omitempty"`
	// StateReason can be one of: "completed", "not_planned", "reopened".
	StateReason       *string           `json:"state_reason,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"`
}

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.

func (*Issue) GetActiveLockReason

func (i *Issue) GetActiveLockReason() string

GetActiveLockReason returns the ActiveLockReason field if it's non-nil, zero value otherwise.

func (*Issue) GetAssignee

func (i *Issue) GetAssignee() *User

GetAssignee returns the Assignee field.

func (*Issue) GetAuthorAssociation

func (i *Issue) GetAuthorAssociation() string

GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.

func (*Issue) GetBody

func (i *Issue) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*Issue) GetClosedAt

func (i *Issue) GetClosedAt() time.Time

GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.

func (*Issue) GetClosedBy

func (i *Issue) GetClosedBy() *User

GetClosedBy returns the ClosedBy field.

func (*Issue) GetComments

func (i *Issue) GetComments() int

GetComments returns the Comments field if it's non-nil, zero value otherwise.

func (*Issue) GetCommentsURL

func (i *Issue) GetCommentsURL() string

GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.

func (*Issue) GetCreatedAt

func (i *Issue) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Issue) GetEventsURL

func (i *Issue) GetEventsURL() string

GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.

func (*Issue) GetHTMLURL

func (i *Issue) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Issue) GetID

func (i *Issue) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Issue) GetLabelsURL

func (i *Issue) GetLabelsURL() string

GetLabelsURL returns the LabelsURL field if it's non-nil, zero value otherwise.

func (*Issue) GetLocked

func (i *Issue) GetLocked() bool

GetLocked returns the Locked field if it's non-nil, zero value otherwise.

func (*Issue) GetMilestone

func (i *Issue) GetMilestone() *Milestone

GetMilestone returns the Milestone field.

func (*Issue) GetNodeID

func (i *Issue) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Issue) GetNumber

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 (*Issue) GetReactions

func (i *Issue) GetReactions() *Reactions

GetReactions returns the Reactions field.

func (*Issue) GetRepository

func (i *Issue) GetRepository() *Repository

GetRepository returns the Repository field.

func (*Issue) GetRepositoryURL

func (i *Issue) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*Issue) GetState

func (i *Issue) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Issue) GetStateReason

func (i *Issue) GetStateReason() string

GetStateReason returns the StateReason field if it's non-nil, zero value otherwise.

func (*Issue) GetTitle

func (i *Issue) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*Issue) GetURL

func (i *Issue) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Issue) GetUpdatedAt

func (i *Issue) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Issue) GetUser

func (i *Issue) GetUser() *User

GetUser returns the User field.

func (Issue) IsPullRequest

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 (Issue) String

func (i Issue) String() string

type IssueComment

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

IssueComment represents a comment left on an issue.

func (*IssueComment) GetAuthorAssociation

func (i *IssueComment) GetAuthorAssociation() string

GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.

func (*IssueComment) GetBody

func (i *IssueComment) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*IssueComment) GetCreatedAt

func (i *IssueComment) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*IssueComment) GetHTMLURL

func (i *IssueComment) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*IssueComment) GetID

func (i *IssueComment) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*IssueComment) GetIssueURL

func (i *IssueComment) GetIssueURL() string

GetIssueURL returns the IssueURL field if it's non-nil, zero value otherwise.

func (*IssueComment) GetNodeID

func (i *IssueComment) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*IssueComment) GetReactions

func (i *IssueComment) GetReactions() *Reactions

GetReactions returns the Reactions field.

func (*IssueComment) GetURL

func (i *IssueComment) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*IssueComment) GetUpdatedAt

func (i *IssueComment) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*IssueComment) GetUser

func (i *IssueComment) GetUser() *User

GetUser returns the User field.

func (IssueComment) String

func (i IssueComment) String() string

type IssueCommentEvent

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

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

func (*IssueCommentEvent) GetAction

func (i *IssueCommentEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*IssueCommentEvent) GetChanges

func (i *IssueCommentEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*IssueCommentEvent) GetComment

func (i *IssueCommentEvent) GetComment() *IssueComment

GetComment returns the Comment field.

func (*IssueCommentEvent) GetInstallation

func (i *IssueCommentEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*IssueCommentEvent) GetIssue

func (i *IssueCommentEvent) GetIssue() *Issue

GetIssue returns the Issue field.

func (*IssueCommentEvent) GetOrganization

func (i *IssueCommentEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*IssueCommentEvent) GetRepo

func (i *IssueCommentEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*IssueCommentEvent) GetSender

func (i *IssueCommentEvent) GetSender() *User

GetSender returns the Sender field.

type IssueEvent

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

IssueEvent represents an event that occurred around an Issue or Pull Request.

func (*IssueEvent) GetActor

func (i *IssueEvent) GetActor() *User

GetActor returns the Actor field.

func (*IssueEvent) GetAssignee

func (i *IssueEvent) GetAssignee() *User

GetAssignee returns the Assignee field.

func (*IssueEvent) GetAssigner

func (i *IssueEvent) GetAssigner() *User

GetAssigner returns the Assigner field.

func (*IssueEvent) GetCommitID

func (i *IssueEvent) GetCommitID() string

GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.

func (*IssueEvent) GetCreatedAt

func (i *IssueEvent) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*IssueEvent) GetDismissedReview

func (i *IssueEvent) GetDismissedReview() *DismissedReview

GetDismissedReview returns the DismissedReview field.

func (*IssueEvent) GetEvent

func (i *IssueEvent) GetEvent() string

GetEvent returns the Event field if it's non-nil, zero value otherwise.

func (*IssueEvent) GetID

func (i *IssueEvent) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*IssueEvent) GetIssue

func (i *IssueEvent) GetIssue() *Issue

GetIssue returns the Issue field.

func (*IssueEvent) GetLabel

func (i *IssueEvent) GetLabel() *Label

GetLabel returns the Label field.

func (*IssueEvent) GetLockReason

func (i *IssueEvent) GetLockReason() string

GetLockReason returns the LockReason field if it's non-nil, zero value otherwise.

func (*IssueEvent) GetMilestone

func (i *IssueEvent) GetMilestone() *Milestone

GetMilestone returns the Milestone field.

func (*IssueEvent) GetProjectCard

func (i *IssueEvent) GetProjectCard() *ProjectCard

GetProjectCard returns the ProjectCard field.

func (*IssueEvent) GetRename

func (i *IssueEvent) GetRename() *Rename

GetRename returns the Rename field.

func (*IssueEvent) GetRequestedReviewer

func (i *IssueEvent) GetRequestedReviewer() *User

GetRequestedReviewer returns the RequestedReviewer field.

func (*IssueEvent) GetReviewRequester

func (i *IssueEvent) GetReviewRequester() *User

GetReviewRequester returns the ReviewRequester field.

func (*IssueEvent) GetURL

func (i *IssueEvent) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type IssueImport

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

IssueImport represents body of issue to import.

func (*IssueImport) GetAssignee

func (i *IssueImport) GetAssignee() string

GetAssignee returns the Assignee field if it's non-nil, zero value otherwise.

func (*IssueImport) GetClosed

func (i *IssueImport) GetClosed() bool

GetClosed returns the Closed field if it's non-nil, zero value otherwise.

func (*IssueImport) GetClosedAt

func (i *IssueImport) GetClosedAt() time.Time

GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.

func (*IssueImport) GetCreatedAt

func (i *IssueImport) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*IssueImport) GetMilestone

func (i *IssueImport) GetMilestone() int

GetMilestone returns the Milestone field if it's non-nil, zero value otherwise.

func (*IssueImport) GetUpdatedAt

func (i *IssueImport) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type IssueImportError

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

IssueImportError represents errors of an issue import create request.

func (*IssueImportError) GetCode

func (i *IssueImportError) GetCode() string

GetCode returns the Code field if it's non-nil, zero value otherwise.

func (*IssueImportError) GetField

func (i *IssueImportError) GetField() string

GetField returns the Field field if it's non-nil, zero value otherwise.

func (*IssueImportError) GetLocation

func (i *IssueImportError) GetLocation() string

GetLocation returns the Location field if it's non-nil, zero value otherwise.

func (*IssueImportError) GetResource

func (i *IssueImportError) GetResource() string

GetResource returns the Resource field if it's non-nil, zero value otherwise.

func (*IssueImportError) GetValue

func (i *IssueImportError) GetValue() string

GetValue returns the Value field if it's non-nil, zero value otherwise.

type IssueImportRequest

type IssueImportRequest struct {
	IssueImport IssueImport `json:"issue"`
	Comments    []*Comment  `json:"comments,omitempty"`
}

IssueImportRequest represents a request to create an issue.

https://gist.github.com/jonmagic/5282384165e0f86ef105#supported-issue-and-comment-fields

type IssueImportResponse

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

IssueImportResponse represents the response of an issue import create request.

https://gist.github.com/jonmagic/5282384165e0f86ef105#import-issue-response

func (*IssueImportResponse) GetCreatedAt

func (i *IssueImportResponse) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetDocumentationURL

func (i *IssueImportResponse) GetDocumentationURL() string

GetDocumentationURL returns the DocumentationURL field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetID

func (i *IssueImportResponse) GetID() int

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetImportIssuesURL

func (i *IssueImportResponse) GetImportIssuesURL() string

GetImportIssuesURL returns the ImportIssuesURL field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetMessage

func (i *IssueImportResponse) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetRepositoryURL

func (i *IssueImportResponse) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetStatus

func (i *IssueImportResponse) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetURL

func (i *IssueImportResponse) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*IssueImportResponse) GetUpdatedAt

func (i *IssueImportResponse) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type IssueImportService

type IssueImportService service

IssueImportService handles communication with the issue import related methods of the Issue Import GitHub API.

func (*IssueImportService) CheckStatus

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 (*IssueImportService) CheckStatusSince

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 (*IssueImportService) Create

Create a new imported issue on the specified repository.

https://gist.github.com/jonmagic/5282384165e0f86ef105#start-an-issue-import

type IssueListByRepoOptions

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
}

IssueListByRepoOptions specifies the optional parameters to the IssuesService.ListByRepo method.

type IssueListCommentsOptions

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
}

IssueListCommentsOptions specifies the optional parameters to the IssuesService.ListComments method.

func (*IssueListCommentsOptions) GetDirection

func (i *IssueListCommentsOptions) GetDirection() string

GetDirection returns the Direction field if it's non-nil, zero value otherwise.

func (*IssueListCommentsOptions) GetSince

func (i *IssueListCommentsOptions) GetSince() time.Time

GetSince returns the Since field if it's non-nil, zero value otherwise.

func (*IssueListCommentsOptions) GetSort

func (i *IssueListCommentsOptions) GetSort() string

GetSort returns the Sort field if it's non-nil, zero value otherwise.

type IssueListOptions

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
}

IssueListOptions specifies the optional parameters to the IssuesService.List and IssuesService.ListByOrg methods.

type IssueRequest

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"`
	// StateReason can be 'completed' or 'not_planned'.
	StateReason *string   `json:"state_reason,omitempty"`
	Milestone   *int      `json:"milestone,omitempty"`
	Assignees   *[]string `json:"assignees,omitempty"`
}

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.

func (*IssueRequest) GetAssignee

func (i *IssueRequest) GetAssignee() string

GetAssignee returns the Assignee field if it's non-nil, zero value otherwise.

func (*IssueRequest) GetAssignees

func (i *IssueRequest) GetAssignees() []string

GetAssignees returns the Assignees field if it's non-nil, zero value otherwise.

func (*IssueRequest) GetBody

func (i *IssueRequest) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*IssueRequest) GetLabels

func (i *IssueRequest) GetLabels() []string

GetLabels returns the Labels field if it's non-nil, zero value otherwise.

func (*IssueRequest) GetMilestone

func (i *IssueRequest) GetMilestone() int

GetMilestone returns the Milestone field if it's non-nil, zero value otherwise.

func (*IssueRequest) GetState

func (i *IssueRequest) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*IssueRequest) GetStateReason

func (i *IssueRequest) GetStateReason() string

GetStateReason returns the StateReason field if it's non-nil, zero value otherwise.

func (*IssueRequest) GetTitle

func (i *IssueRequest) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

type IssueStats

type IssueStats struct {
	TotalIssues  *int `json:"total_issues,omitempty"`
	OpenIssues   *int `json:"open_issues,omitempty"`
	ClosedIssues *int `json:"closed_issues,omitempty"`
}

IssueStats represents the number of total, open and closed issues.

func (*IssueStats) GetClosedIssues

func (i *IssueStats) GetClosedIssues() int

GetClosedIssues returns the ClosedIssues field if it's non-nil, zero value otherwise.

func (*IssueStats) GetOpenIssues

func (i *IssueStats) GetOpenIssues() int

GetOpenIssues returns the OpenIssues field if it's non-nil, zero value otherwise.

func (*IssueStats) GetTotalIssues

func (i *IssueStats) GetTotalIssues() int

GetTotalIssues returns the TotalIssues field if it's non-nil, zero value otherwise.

func (IssueStats) String

func (s IssueStats) String() string

type IssuesEvent

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

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

func (*IssuesEvent) GetAction

func (i *IssuesEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*IssuesEvent) GetAssignee

func (i *IssuesEvent) GetAssignee() *User

GetAssignee returns the Assignee field.

func (*IssuesEvent) GetChanges

func (i *IssuesEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*IssuesEvent) GetInstallation

func (i *IssuesEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*IssuesEvent) GetIssue

func (i *IssuesEvent) GetIssue() *Issue

GetIssue returns the Issue field.

func (*IssuesEvent) GetLabel

func (i *IssuesEvent) GetLabel() *Label

GetLabel returns the Label field.

func (*IssuesEvent) GetRepo

func (i *IssuesEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*IssuesEvent) GetSender

func (i *IssuesEvent) GetSender() *User

GetSender returns the Sender field.

type IssuesSearchResult

type IssuesSearchResult struct {
	Total             *int     `json:"total_count,omitempty"`
	IncompleteResults *bool    `json:"incomplete_results,omitempty"`
	Issues            []*Issue `json:"items,omitempty"`
}

IssuesSearchResult represents the result of an issues search.

func (*IssuesSearchResult) GetIncompleteResults

func (i *IssuesSearchResult) GetIncompleteResults() bool

GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.

func (*IssuesSearchResult) GetTotal

func (i *IssuesSearchResult) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type IssuesService

type IssuesService service

IssuesService handles communication with the issue related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/issues/

func (*IssuesService) AddAssignees

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 (*IssuesService) AddLabelsToIssue

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 (*IssuesService) Create

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 (*IssuesService) CreateComment

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 (*IssuesService) CreateLabel

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 (*IssuesService) CreateMilestone

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 (*IssuesService) DeleteComment

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 (*IssuesService) DeleteLabel

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 (*IssuesService) DeleteMilestone

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 (*IssuesService) Edit

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 (*IssuesService) EditComment

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 (*IssuesService) EditLabel

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 (*IssuesService) EditMilestone

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 (*IssuesService) Get

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 (*IssuesService) GetComment

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 (*IssuesService) GetEvent

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 (*IssuesService) GetLabel

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 (*IssuesService) GetMilestone

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 (*IssuesService) IsAssignee

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 (*IssuesService) List

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 (*IssuesService) ListAssignees

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 (*IssuesService) ListByOrg

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 (*IssuesService) ListByRepo

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 (*IssuesService) ListComments

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 (*IssuesService) ListIssueEvents

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 (*IssuesService) ListIssueTimeline

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 (*IssuesService) ListLabels

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 (*IssuesService) ListLabelsByIssue

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 (*IssuesService) ListLabelsForMilestone

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 (*IssuesService) ListMilestones

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 (*IssuesService) ListRepositoryEvents

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 (*IssuesService) Lock

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 (*IssuesService) RemoveAssignees

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 (*IssuesService) RemoveLabelForIssue

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 (*IssuesService) RemoveLabelsForIssue

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 (*IssuesService) RemoveMilestone

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 (*IssuesService) ReplaceLabelsForIssue

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 (*IssuesService) Unlock

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

type Jobs

type Jobs struct {
	TotalCount *int           `json:"total_count,omitempty"`
	Jobs       []*WorkflowJob `json:"jobs,omitempty"`
}

Jobs represents a slice of repository action workflow job.

func (*Jobs) GetTotalCount

func (j *Jobs) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type Key

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

Key represents a public SSH key used to authenticate a user or deploy script.

func (*Key) GetCreatedAt

func (k *Key) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Key) GetID

func (k *Key) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Key) GetKey

func (k *Key) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*Key) GetReadOnly

func (k *Key) GetReadOnly() bool

GetReadOnly returns the ReadOnly field if it's non-nil, zero value otherwise.

func (*Key) GetTitle

func (k *Key) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*Key) GetURL

func (k *Key) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Key) GetVerified

func (k *Key) GetVerified() bool

GetVerified returns the Verified field if it's non-nil, zero value otherwise.

func (Key) String

func (k Key) String() string

type Label

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

Label represents a GitHub label on an Issue

func (*Label) GetColor

func (l *Label) GetColor() string

GetColor returns the Color field if it's non-nil, zero value otherwise.

func (*Label) GetDefault

func (l *Label) GetDefault() bool

GetDefault returns the Default field if it's non-nil, zero value otherwise.

func (*Label) GetDescription

func (l *Label) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Label) GetID

func (l *Label) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Label) GetName

func (l *Label) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Label) GetNodeID

func (l *Label) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Label) GetURL

func (l *Label) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (Label) String

func (l Label) String() string

type LabelEvent

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

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

func (*LabelEvent) GetAction

func (l *LabelEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*LabelEvent) GetChanges

func (l *LabelEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*LabelEvent) GetInstallation

func (l *LabelEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*LabelEvent) GetLabel

func (l *LabelEvent) GetLabel() *Label

GetLabel returns the Label field.

func (*LabelEvent) GetOrg

func (l *LabelEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*LabelEvent) GetRepo

func (l *LabelEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*LabelEvent) GetSender

func (l *LabelEvent) GetSender() *User

GetSender returns the Sender field.

type LabelResult

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

LabelResult represents a single search result.

func (*LabelResult) GetColor

func (l *LabelResult) GetColor() string

GetColor returns the Color field if it's non-nil, zero value otherwise.

func (*LabelResult) GetDefault

func (l *LabelResult) GetDefault() bool

GetDefault returns the Default field if it's non-nil, zero value otherwise.

func (*LabelResult) GetDescription

func (l *LabelResult) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*LabelResult) GetID

func (l *LabelResult) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*LabelResult) GetName

func (l *LabelResult) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*LabelResult) GetScore

func (l *LabelResult) GetScore() *float64

GetScore returns the Score field.

func (*LabelResult) GetURL

func (l *LabelResult) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (LabelResult) String

func (l LabelResult) String() string

type LabelsSearchResult

type LabelsSearchResult struct {
	Total             *int           `json:"total_count,omitempty"`
	IncompleteResults *bool          `json:"incomplete_results,omitempty"`
	Labels            []*LabelResult `json:"items,omitempty"`
}

LabelsSearchResult represents the result of a code search.

func (*LabelsSearchResult) GetIncompleteResults

func (l *LabelsSearchResult) GetIncompleteResults() bool

GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.

func (*LabelsSearchResult) GetTotal

func (l *LabelsSearchResult) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type LargeFile

type LargeFile struct {
	RefName *string `json:"ref_name,omitempty"`
	Path    *string `json:"path,omitempty"`
	OID     *string `json:"oid,omitempty"`
	Size    *int    `json:"size,omitempty"`
}

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

func (*LargeFile) GetOID

func (l *LargeFile) GetOID() string

GetOID returns the OID field if it's non-nil, zero value otherwise.

func (*LargeFile) GetPath

func (l *LargeFile) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*LargeFile) GetRefName

func (l *LargeFile) GetRefName() string

GetRefName returns the RefName field if it's non-nil, zero value otherwise.

func (*LargeFile) GetSize

func (l *LargeFile) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (LargeFile) String

func (f LargeFile) String() string

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

License represents an open source license.

func (*License) GetBody

func (l *License) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*License) GetConditions

func (l *License) GetConditions() []string

GetConditions returns the Conditions field if it's non-nil, zero value otherwise.

func (*License) GetDescription

func (l *License) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*License) GetFeatured

func (l *License) GetFeatured() bool

GetFeatured returns the Featured field if it's non-nil, zero value otherwise.

func (*License) GetHTMLURL

func (l *License) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*License) GetImplementation

func (l *License) GetImplementation() string

GetImplementation returns the Implementation field if it's non-nil, zero value otherwise.

func (*License) GetKey

func (l *License) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*License) GetLimitations

func (l *License) GetLimitations() []string

GetLimitations returns the Limitations field if it's non-nil, zero value otherwise.

func (*License) GetName

func (l *License) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*License) GetPermissions

func (l *License) GetPermissions() []string

GetPermissions returns the Permissions field if it's non-nil, zero value otherwise.

func (*License) GetSPDXID

func (l *License) GetSPDXID() string

GetSPDXID returns the SPDXID field if it's non-nil, zero value otherwise.

func (*License) GetURL

func (l *License) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (License) String

func (l License) String() string

type LicensesService

type LicensesService service

LicensesService handles communication with the license related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/licenses/

func (*LicensesService) Get

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 (*LicensesService) List

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

type LinearHistoryRequirementEnforcementLevelChanges

type LinearHistoryRequirementEnforcementLevelChanges struct {
	From *string `json:"from,omitempty"`
}

LinearHistoryRequirementEnforcementLevelChanges represents the changes made to the LinearHistoryRequirementEnforcementLevel policy.

func (*LinearHistoryRequirementEnforcementLevelChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type ListAlertsOptions

type ListAlertsOptions struct {
	State     *string `url:"state,omitempty"`
	Severity  *string `url:"severity,omitempty"`
	Ecosystem *string `url:"ecosystem,omitempty"`
	Package   *string `url:"package,omitempty"`
	Scope     *string `url:"scope,omitempty"`
	Sort      *string `url:"sort,omitempty"`
	Direction *string `url:"direction,omitempty"`

	ListCursorOptions
}

ListAlertsOptions specifies the optional parameters to the DependabotService.ListRepoAlerts and DependabotService.ListOrgAlerts methods.

func (*ListAlertsOptions) GetDirection

func (l *ListAlertsOptions) GetDirection() string

GetDirection returns the Direction field if it's non-nil, zero value otherwise.

func (*ListAlertsOptions) GetEcosystem

func (l *ListAlertsOptions) GetEcosystem() string

GetEcosystem returns the Ecosystem field if it's non-nil, zero value otherwise.

func (*ListAlertsOptions) GetPackage

func (l *ListAlertsOptions) GetPackage() string

GetPackage returns the Package field if it's non-nil, zero value otherwise.

func (*ListAlertsOptions) GetScope

func (l *ListAlertsOptions) GetScope() string

GetScope returns the Scope field if it's non-nil, zero value otherwise.

func (*ListAlertsOptions) GetSeverity

func (l *ListAlertsOptions) GetSeverity() string

GetSeverity returns the Severity field if it's non-nil, zero value otherwise.

func (*ListAlertsOptions) GetSort

func (l *ListAlertsOptions) GetSort() string

GetSort returns the Sort field if it's non-nil, zero value otherwise.

func (*ListAlertsOptions) GetState

func (l *ListAlertsOptions) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

type ListCheckRunsOptions

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
}

ListCheckRunsOptions represents parameters to list check runs.

func (*ListCheckRunsOptions) GetAppID

func (l *ListCheckRunsOptions) GetAppID() int64

GetAppID returns the AppID field if it's non-nil, zero value otherwise.

func (*ListCheckRunsOptions) GetCheckName

func (l *ListCheckRunsOptions) GetCheckName() string

GetCheckName returns the CheckName field if it's non-nil, zero value otherwise.

func (*ListCheckRunsOptions) GetFilter

func (l *ListCheckRunsOptions) GetFilter() string

GetFilter returns the Filter field if it's non-nil, zero value otherwise.

func (*ListCheckRunsOptions) GetStatus

func (l *ListCheckRunsOptions) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

type ListCheckRunsResults

type ListCheckRunsResults struct {
	Total     *int        `json:"total_count,omitempty"`
	CheckRuns []*CheckRun `json:"check_runs,omitempty"`
}

ListCheckRunsResults represents the result of a check run list.

func (*ListCheckRunsResults) GetTotal

func (l *ListCheckRunsResults) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type ListCheckSuiteOptions

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
}

ListCheckSuiteOptions represents parameters to list check suites.

func (*ListCheckSuiteOptions) GetAppID

func (l *ListCheckSuiteOptions) GetAppID() int

GetAppID returns the AppID field if it's non-nil, zero value otherwise.

func (*ListCheckSuiteOptions) GetCheckName

func (l *ListCheckSuiteOptions) GetCheckName() string

GetCheckName returns the CheckName field if it's non-nil, zero value otherwise.

type ListCheckSuiteResults

type ListCheckSuiteResults struct {
	Total       *int          `json:"total_count,omitempty"`
	CheckSuites []*CheckSuite `json:"check_suites,omitempty"`
}

ListCheckSuiteResults represents the result of a check run list.

func (*ListCheckSuiteResults) GetTotal

func (l *ListCheckSuiteResults) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type ListCollaboratorOptions

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
}

ListCollaboratorOptions specifies the optional parameters to the ProjectsService.ListProjectCollaborators method.

func (*ListCollaboratorOptions) GetAffiliation

func (l *ListCollaboratorOptions) GetAffiliation() string

GetAffiliation returns the Affiliation field if it's non-nil, zero value otherwise.

type ListCollaboratorsOptions

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
}

ListCollaboratorsOptions specifies the optional parameters to the RepositoriesService.ListCollaborators method.

type ListCommentReactionOptions

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
}

ListCommentReactionOptions specifies the optional parameters to the ReactionsService.ListCommentReactions method.

type ListContributorsOptions

type ListContributorsOptions struct {
	// Include anonymous contributors in results or not
	Anon string `url:"anon,omitempty"`

	ListOptions
}

ListContributorsOptions specifies the optional parameters to the RepositoriesService.ListContributors method.

type ListCursorOptions

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

	// For paginated result sets, the number of results per page (max 100), starting from the first matching result.
	// This parameter must not be used in combination with last.
	First int `url:"first,omitempty"`

	// For paginated result sets, the number of results per page (max 100), starting from the last matching result.
	// This parameter must not be used in combination with first.
	Last int `url:"last,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"`
}

ListCursorOptions specifies the optional parameters to various List methods that support cursor pagination.

type ListExternalGroupsOptions

type ListExternalGroupsOptions struct {
	DisplayName *string `url:"display_name,omitempty"`

	ListOptions
}

ListExternalGroupsOptions specifies the optional parameters to the TeamsService.ListExternalGroups method.

func (*ListExternalGroupsOptions) GetDisplayName

func (l *ListExternalGroupsOptions) GetDisplayName() string

GetDisplayName returns the DisplayName field if it's non-nil, zero value otherwise.

type ListMembersOptions

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
}

ListMembersOptions specifies optional parameters to the OrganizationsService.ListMembers method.

type ListOptions

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

ListOptions specifies the optional parameters to various List methods that support offset pagination.

type ListOrgMembershipsOptions

type ListOrgMembershipsOptions struct {
	// Filter memberships to include only those with the specified state.
	// Possible values are: "active", "pending".
	State string `url:"state,omitempty"`

	ListOptions
}

ListOrgMembershipsOptions specifies optional parameters to the OrganizationsService.ListOrgMemberships method.

type ListOrgRunnerGroupOptions

type ListOrgRunnerGroupOptions struct {
	ListOptions

	// Only return runner groups that are allowed to be used by this repository.
	VisibleToRepository string `url:"visible_to_repository,omitempty"`
}

ListOrgRunnerGroupOptions extend ListOptions to have the optional parameters VisibleToRepository.

type ListOutsideCollaboratorsOptions

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
}

ListOutsideCollaboratorsOptions specifies optional parameters to the OrganizationsService.ListOutsideCollaborators method.

type ListRepositories

type ListRepositories struct {
	TotalCount   *int          `json:"total_count,omitempty"`
	Repositories []*Repository `json:"repositories"`
}

ListRepositories represents the response from the list repos endpoints.

func (*ListRepositories) GetTotalCount

func (l *ListRepositories) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type ListSCIMProvisionedIdentitiesOptions

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

ListSCIMProvisionedIdentitiesOptions represents options for ListSCIMProvisionedIdentities.

Github API docs: https://docs.github.com/en/rest/scim#list-scim-provisioned-identities--parameters

func (*ListSCIMProvisionedIdentitiesOptions) GetCount

GetCount returns the Count field if it's non-nil, zero value otherwise.

func (*ListSCIMProvisionedIdentitiesOptions) GetFilter

GetFilter returns the Filter field if it's non-nil, zero value otherwise.

func (*ListSCIMProvisionedIdentitiesOptions) GetStartIndex

func (l *ListSCIMProvisionedIdentitiesOptions) GetStartIndex() int

GetStartIndex returns the StartIndex field if it's non-nil, zero value otherwise.

type ListWorkflowJobsOptions

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
}

ListWorkflowJobsOptions specifies optional parameters to ListWorkflowJobs.

type ListWorkflowRunsOptions

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
}

ListWorkflowRunsOptions specifies optional parameters to ListWorkflowRuns.

type Location

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

Location represents the exact location of the GitHub Code Scanning Alert in the scanned project.

func (*Location) GetEndColumn

func (l *Location) GetEndColumn() int

GetEndColumn returns the EndColumn field if it's non-nil, zero value otherwise.

func (*Location) GetEndLine

func (l *Location) GetEndLine() int

GetEndLine returns the EndLine field if it's non-nil, zero value otherwise.

func (*Location) GetPath

func (l *Location) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*Location) GetStartColumn

func (l *Location) GetStartColumn() int

GetStartColumn returns the StartColumn field if it's non-nil, zero value otherwise.

func (*Location) GetStartLine

func (l *Location) GetStartLine() int

GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.

type LockBranch

type LockBranch struct {
	Enabled *bool `json:"enabled,omitempty"`
}

LockBranch represents if the branch is marked as read-only. If this is true, users will not be able to push to the branch.

func (*LockBranch) GetEnabled

func (l *LockBranch) GetEnabled() bool

GetEnabled returns the Enabled field if it's non-nil, zero value otherwise.

type LockIssueOptions

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

LockIssueOptions specifies the optional parameters to the IssuesService.Lock method.

type MarkdownOptions

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
}

MarkdownOptions specifies optional parameters to the Markdown method.

type MarketplacePendingChange

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

MarketplacePendingChange represents a pending change to a GitHub Apps Marketplace Plan.

func (*MarketplacePendingChange) GetEffectiveDate

func (m *MarketplacePendingChange) GetEffectiveDate() Timestamp

GetEffectiveDate returns the EffectiveDate field if it's non-nil, zero value otherwise.

func (*MarketplacePendingChange) GetID

func (m *MarketplacePendingChange) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*MarketplacePendingChange) GetPlan

GetPlan returns the Plan field.

func (*MarketplacePendingChange) GetUnitCount

func (m *MarketplacePendingChange) GetUnitCount() int

GetUnitCount returns the UnitCount field if it's non-nil, zero value otherwise.

type MarketplacePlan

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

MarketplacePlan represents a GitHub Apps Marketplace Listing Plan.

func (*MarketplacePlan) GetAccountsURL

func (m *MarketplacePlan) GetAccountsURL() string

GetAccountsURL returns the AccountsURL field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetBullets

func (m *MarketplacePlan) GetBullets() []string

GetBullets returns the Bullets field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetDescription

func (m *MarketplacePlan) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetHasFreeTrial

func (m *MarketplacePlan) GetHasFreeTrial() bool

GetHasFreeTrial returns the HasFreeTrial field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetID

func (m *MarketplacePlan) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetMonthlyPriceInCents

func (m *MarketplacePlan) GetMonthlyPriceInCents() int

GetMonthlyPriceInCents returns the MonthlyPriceInCents field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetName

func (m *MarketplacePlan) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetNumber

func (m *MarketplacePlan) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetPriceModel

func (m *MarketplacePlan) GetPriceModel() string

GetPriceModel returns the PriceModel field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetState

func (m *MarketplacePlan) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetURL

func (m *MarketplacePlan) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetUnitName

func (m *MarketplacePlan) GetUnitName() string

GetUnitName returns the UnitName field if it's non-nil, zero value otherwise.

func (*MarketplacePlan) GetYearlyPriceInCents

func (m *MarketplacePlan) GetYearlyPriceInCents() int

GetYearlyPriceInCents returns the YearlyPriceInCents field if it's non-nil, zero value otherwise.

type MarketplacePlanAccount

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

MarketplacePlanAccount represents a GitHub Account (user or organization) on a specific plan.

func (*MarketplacePlanAccount) GetID

func (m *MarketplacePlanAccount) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*MarketplacePlanAccount) GetLogin

func (m *MarketplacePlanAccount) GetLogin() string

GetLogin returns the Login field if it's non-nil, zero value otherwise.

func (*MarketplacePlanAccount) GetMarketplacePendingChange

func (m *MarketplacePlanAccount) GetMarketplacePendingChange() *MarketplacePendingChange

GetMarketplacePendingChange returns the MarketplacePendingChange field.

func (*MarketplacePlanAccount) GetMarketplacePurchase

func (m *MarketplacePlanAccount) GetMarketplacePurchase() *MarketplacePurchase

GetMarketplacePurchase returns the MarketplacePurchase field.

func (*MarketplacePlanAccount) GetOrganizationBillingEmail

func (m *MarketplacePlanAccount) GetOrganizationBillingEmail() string

GetOrganizationBillingEmail returns the OrganizationBillingEmail field if it's non-nil, zero value otherwise.

func (*MarketplacePlanAccount) GetType

func (m *MarketplacePlanAccount) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*MarketplacePlanAccount) GetURL

func (m *MarketplacePlanAccount) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type MarketplacePurchase

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

MarketplacePurchase represents a GitHub Apps Marketplace Purchase.

func (*MarketplacePurchase) GetBillingCycle

func (m *MarketplacePurchase) GetBillingCycle() string

GetBillingCycle returns the BillingCycle field if it's non-nil, zero value otherwise.

func (*MarketplacePurchase) GetFreeTrialEndsOn

func (m *MarketplacePurchase) GetFreeTrialEndsOn() Timestamp

GetFreeTrialEndsOn returns the FreeTrialEndsOn field if it's non-nil, zero value otherwise.

func (*MarketplacePurchase) GetNextBillingDate

func (m *MarketplacePurchase) GetNextBillingDate() Timestamp

GetNextBillingDate returns the NextBillingDate field if it's non-nil, zero value otherwise.

func (*MarketplacePurchase) GetOnFreeTrial

func (m *MarketplacePurchase) GetOnFreeTrial() bool

GetOnFreeTrial returns the OnFreeTrial field if it's non-nil, zero value otherwise.

func (*MarketplacePurchase) GetPlan

func (m *MarketplacePurchase) GetPlan() *MarketplacePlan

GetPlan returns the Plan field.

func (*MarketplacePurchase) GetUnitCount

func (m *MarketplacePurchase) GetUnitCount() int

GetUnitCount returns the UnitCount field if it's non-nil, zero value otherwise.

func (*MarketplacePurchase) GetUpdatedAt

func (m *MarketplacePurchase) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type MarketplacePurchaseEvent

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

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

func (*MarketplacePurchaseEvent) GetAction

func (m *MarketplacePurchaseEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*MarketplacePurchaseEvent) GetEffectiveDate

func (m *MarketplacePurchaseEvent) GetEffectiveDate() Timestamp

GetEffectiveDate returns the EffectiveDate field if it's non-nil, zero value otherwise.

func (*MarketplacePurchaseEvent) GetInstallation

func (m *MarketplacePurchaseEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*MarketplacePurchaseEvent) GetMarketplacePurchase

func (m *MarketplacePurchaseEvent) GetMarketplacePurchase() *MarketplacePurchase

GetMarketplacePurchase returns the MarketplacePurchase field.

func (*MarketplacePurchaseEvent) GetPreviousMarketplacePurchase

func (m *MarketplacePurchaseEvent) GetPreviousMarketplacePurchase() *MarketplacePurchase

GetPreviousMarketplacePurchase returns the PreviousMarketplacePurchase field.

func (*MarketplacePurchaseEvent) GetSender

func (m *MarketplacePurchaseEvent) GetSender() *User

GetSender returns the Sender field.

type MarketplaceService

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
}

MarketplaceService handles communication with the marketplace related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/apps#marketplace

func (*MarketplaceService) GetPlanAccountForAccount

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 (*MarketplaceService) ListMarketplacePurchasesForUser

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 (*MarketplaceService) ListPlanAccountsForPlan

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 (*MarketplaceService) ListPlans

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

type Match

type Match struct {
	Text    *string `json:"text,omitempty"`
	Indices []int   `json:"indices,omitempty"`
}

Match represents a single text match.

func (*Match) GetText

func (m *Match) GetText() string

GetText returns the Text field if it's non-nil, zero value otherwise.

type MemberEvent

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

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

func (*MemberEvent) GetAction

func (m *MemberEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*MemberEvent) GetInstallation

func (m *MemberEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*MemberEvent) GetMember

func (m *MemberEvent) GetMember() *User

GetMember returns the Member field.

func (*MemberEvent) GetRepo

func (m *MemberEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*MemberEvent) GetSender

func (m *MemberEvent) GetSender() *User

GetSender returns the Sender field.

type Membership

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

Membership represents the status of a user's membership in an organization or team.

func (*Membership) GetOrganization

func (m *Membership) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*Membership) GetOrganizationURL

func (m *Membership) GetOrganizationURL() string

GetOrganizationURL returns the OrganizationURL field if it's non-nil, zero value otherwise.

func (*Membership) GetRole

func (m *Membership) GetRole() string

GetRole returns the Role field if it's non-nil, zero value otherwise.

func (*Membership) GetState

func (m *Membership) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Membership) GetURL

func (m *Membership) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Membership) GetUser

func (m *Membership) GetUser() *User

GetUser returns the User field.

func (Membership) String

func (m Membership) String() string

type MembershipEvent

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

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

func (*MembershipEvent) GetAction

func (m *MembershipEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*MembershipEvent) GetInstallation

func (m *MembershipEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*MembershipEvent) GetMember

func (m *MembershipEvent) GetMember() *User

GetMember returns the Member field.

func (*MembershipEvent) GetOrg

func (m *MembershipEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*MembershipEvent) GetScope

func (m *MembershipEvent) GetScope() string

GetScope returns the Scope field if it's non-nil, zero value otherwise.

func (*MembershipEvent) GetSender

func (m *MembershipEvent) GetSender() *User

GetSender returns the Sender field.

func (*MembershipEvent) GetTeam

func (m *MembershipEvent) GetTeam() *Team

GetTeam returns the Team field.

type MergeGroup

type MergeGroup struct {
	// The SHA of the merge group.
	HeadSHA *string `json:"head_sha,omitempty"`
	// The full ref of the merge group.
	HeadRef *string `json:"head_ref,omitempty"`
	// The SHA of the merge group's parent commit.
	BaseSHA *string `json:"base_sha,omitempty"`
	// The full ref of the branch the merge group will be merged into.
	BaseRef *string `json:"base_ref,omitempty"`
	// An expanded representation of the head_sha commit.
	HeadCommit *Commit `json:"head_commit,omitempty"`
}

MergeGroup represents the merge group in a merge queue.

func (*MergeGroup) GetBaseRef

func (m *MergeGroup) GetBaseRef() string

GetBaseRef returns the BaseRef field if it's non-nil, zero value otherwise.

func (*MergeGroup) GetBaseSHA

func (m *MergeGroup) GetBaseSHA() string

GetBaseSHA returns the BaseSHA field if it's non-nil, zero value otherwise.

func (*MergeGroup) GetHeadCommit

func (m *MergeGroup) GetHeadCommit() *Commit

GetHeadCommit returns the HeadCommit field.

func (*MergeGroup) GetHeadRef

func (m *MergeGroup) GetHeadRef() string

GetHeadRef returns the HeadRef field if it's non-nil, zero value otherwise.

func (*MergeGroup) GetHeadSHA

func (m *MergeGroup) GetHeadSHA() string

GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.

type MergeGroupEvent

type MergeGroupEvent struct {
	// The action that was performed. Currently, can only be checks_requested.
	Action *string `json:"action,omitempty"`
	// The merge group.
	MergeGroup *MergeGroup `json:"merge_group,omitempty"`

	// The following fields are only populated by Webhook events.
	Repo         *Repository   `json:"repository,omitempty"`
	Org          *Organization `json:"organization,omitempty"`
	Installation *Installation `json:"installation,omitempty"`
	Sender       *User         `json:"sender,omitempty"`
}

MergeGroupEvent represents activity related to merge groups in a merge queue. The type of activity is specified in the action property of the payload object.

GitHub API docs: https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#merge_group

func (*MergeGroupEvent) GetAction

func (m *MergeGroupEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*MergeGroupEvent) GetInstallation

func (m *MergeGroupEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*MergeGroupEvent) GetMergeGroup

func (m *MergeGroupEvent) GetMergeGroup() *MergeGroup

GetMergeGroup returns the MergeGroup field.

func (*MergeGroupEvent) GetOrg

func (m *MergeGroupEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*MergeGroupEvent) GetRepo

func (m *MergeGroupEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*MergeGroupEvent) GetSender

func (m *MergeGroupEvent) GetSender() *User

GetSender returns the Sender field.

type Message

type Message struct {
	Text *string `json:"text,omitempty"`
}

Message is a part of MostRecentInstance struct which provides the appropriate message when any action is performed on the analysis object.

func (*Message) GetText

func (m *Message) GetText() string

GetText returns the Text field if it's non-nil, zero value otherwise.

type MetaEvent

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

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

func (*MetaEvent) GetAction

func (m *MetaEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*MetaEvent) GetHook

func (m *MetaEvent) GetHook() *Hook

GetHook returns the Hook field.

func (*MetaEvent) GetHookID

func (m *MetaEvent) GetHookID() int64

GetHookID returns the HookID field if it's non-nil, zero value otherwise.

func (*MetaEvent) GetInstallation

func (m *MetaEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*MetaEvent) GetOrg

func (m *MetaEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*MetaEvent) GetRepo

func (m *MetaEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*MetaEvent) GetSender

func (m *MetaEvent) GetSender() *User

GetSender returns the Sender field.

type Metric

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

Metric represents the different fields for one file in community health files.

func (*Metric) GetHTMLURL

func (m *Metric) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Metric) GetKey

func (m *Metric) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*Metric) GetName

func (m *Metric) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Metric) GetNodeID

func (m *Metric) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Metric) GetSPDXID

func (m *Metric) GetSPDXID() string

GetSPDXID returns the SPDXID field if it's non-nil, zero value otherwise.

func (*Metric) GetURL

func (m *Metric) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type Migration

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

Migration represents a GitHub migration (archival).

func (*Migration) GetCreatedAt

func (m *Migration) GetCreatedAt() string

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Migration) GetExcludeAttachments

func (m *Migration) GetExcludeAttachments() bool

GetExcludeAttachments returns the ExcludeAttachments field if it's non-nil, zero value otherwise.

func (*Migration) GetGUID

func (m *Migration) GetGUID() string

GetGUID returns the GUID field if it's non-nil, zero value otherwise.

func (*Migration) GetID

func (m *Migration) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Migration) GetLockRepositories

func (m *Migration) GetLockRepositories() bool

GetLockRepositories returns the LockRepositories field if it's non-nil, zero value otherwise.

func (*Migration) GetState

func (m *Migration) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Migration) GetURL

func (m *Migration) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Migration) GetUpdatedAt

func (m *Migration) GetUpdatedAt() string

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (Migration) String

func (m Migration) String() string

type MigrationOptions

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
}

MigrationOptions specifies the optional parameters to Migration methods.

type MigrationService

type MigrationService service

MigrationService provides access to the migration related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/migration/

func (*MigrationService) CancelImport

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 (*MigrationService) CommitAuthors

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 (*MigrationService) DeleteMigration

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 (*MigrationService) DeleteUserMigration

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 (*MigrationService) ImportProgress

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 (*MigrationService) LargeFiles

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 (*MigrationService) ListMigrations

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 (*MigrationService) ListUserMigrations

func (s *MigrationService) ListUserMigrations(ctx context.Context, opts *ListOptions) ([]*UserMigration, *Response, error)

ListUserMigrations lists the most recent migrations.

GitHub API docs: https://docs.github.com/en/rest/migrations/users#list-user-migrations

func (*MigrationService) MapCommitAuthor

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 (*MigrationService) MigrationArchiveURL

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 (*MigrationService) MigrationStatus

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 (*MigrationService) SetLFSPreference

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 (*MigrationService) StartImport

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 (*MigrationService) StartMigration

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 (*MigrationService) StartUserMigration

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 (*MigrationService) UnlockRepo

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 (*MigrationService) UnlockUserRepo

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 (*MigrationService) UpdateImport

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 (*MigrationService) UserMigrationArchiveURL

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 (*MigrationService) UserMigrationStatus

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

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

Milestone represents a GitHub repository milestone.

func (*Milestone) GetClosedAt

func (m *Milestone) GetClosedAt() time.Time

GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.

func (*Milestone) GetClosedIssues

func (m *Milestone) GetClosedIssues() int

GetClosedIssues returns the ClosedIssues field if it's non-nil, zero value otherwise.

func (*Milestone) GetCreatedAt

func (m *Milestone) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Milestone) GetCreator

func (m *Milestone) GetCreator() *User

GetCreator returns the Creator field.

func (*Milestone) GetDescription

func (m *Milestone) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Milestone) GetDueOn

func (m *Milestone) GetDueOn() time.Time

GetDueOn returns the DueOn field if it's non-nil, zero value otherwise.

func (*Milestone) GetHTMLURL

func (m *Milestone) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Milestone) GetID

func (m *Milestone) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Milestone) GetLabelsURL

func (m *Milestone) GetLabelsURL() string

GetLabelsURL returns the LabelsURL field if it's non-nil, zero value otherwise.

func (*Milestone) GetNodeID

func (m *Milestone) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Milestone) GetNumber

func (m *Milestone) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*Milestone) GetOpenIssues

func (m *Milestone) GetOpenIssues() int

GetOpenIssues returns the OpenIssues field if it's non-nil, zero value otherwise.

func (*Milestone) GetState

func (m *Milestone) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Milestone) GetTitle

func (m *Milestone) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*Milestone) GetURL

func (m *Milestone) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Milestone) GetUpdatedAt

func (m *Milestone) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (Milestone) String

func (m Milestone) String() string

type MilestoneEvent

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

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

func (*MilestoneEvent) GetAction

func (m *MilestoneEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*MilestoneEvent) GetChanges

func (m *MilestoneEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*MilestoneEvent) GetInstallation

func (m *MilestoneEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*MilestoneEvent) GetMilestone

func (m *MilestoneEvent) GetMilestone() *Milestone

GetMilestone returns the Milestone field.

func (*MilestoneEvent) GetOrg

func (m *MilestoneEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*MilestoneEvent) GetRepo

func (m *MilestoneEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*MilestoneEvent) GetSender

func (m *MilestoneEvent) GetSender() *User

GetSender returns the Sender field.

type MilestoneListOptions

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
}

MilestoneListOptions specifies the optional parameters to the IssuesService.ListMilestones method.

type MilestoneStats

type MilestoneStats struct {
	TotalMilestones  *int `json:"total_milestones,omitempty"`
	OpenMilestones   *int `json:"open_milestones,omitempty"`
	ClosedMilestones *int `json:"closed_milestones,omitempty"`
}

MilestoneStats represents the number of total, open and close milestones.

func (*MilestoneStats) GetClosedMilestones

func (m *MilestoneStats) GetClosedMilestones() int

GetClosedMilestones returns the ClosedMilestones field if it's non-nil, zero value otherwise.

func (*MilestoneStats) GetOpenMilestones

func (m *MilestoneStats) GetOpenMilestones() int

GetOpenMilestones returns the OpenMilestones field if it's non-nil, zero value otherwise.

func (*MilestoneStats) GetTotalMilestones

func (m *MilestoneStats) GetTotalMilestones() int

GetTotalMilestones returns the TotalMilestones field if it's non-nil, zero value otherwise.

func (MilestoneStats) String

func (s MilestoneStats) String() string

type MinutesUsedBreakdown

type MinutesUsedBreakdown = map[string]int

MinutesUsedBreakdown counts the actions minutes used by machine type (e.g. UBUNTU, WINDOWS, MACOS).

type MostRecentInstance

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

MostRecentInstance provides details of the most recent instance of this alert for the default branch or for the specified Git reference.

func (*MostRecentInstance) GetAnalysisKey

func (m *MostRecentInstance) GetAnalysisKey() string

GetAnalysisKey returns the AnalysisKey field if it's non-nil, zero value otherwise.

func (*MostRecentInstance) GetCommitSHA

func (m *MostRecentInstance) GetCommitSHA() string

GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.

func (*MostRecentInstance) GetEnvironment

func (m *MostRecentInstance) GetEnvironment() string

GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.

func (*MostRecentInstance) GetLocation

func (m *MostRecentInstance) GetLocation() *Location

GetLocation returns the Location field.

func (*MostRecentInstance) GetMessage

func (m *MostRecentInstance) GetMessage() *Message

GetMessage returns the Message field.

func (*MostRecentInstance) GetRef

func (m *MostRecentInstance) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*MostRecentInstance) GetState

func (m *MostRecentInstance) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

type NewPullRequest

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

NewPullRequest represents a new pull request to be created.

func (*NewPullRequest) GetBase

func (n *NewPullRequest) GetBase() string

GetBase returns the Base field if it's non-nil, zero value otherwise.

func (*NewPullRequest) GetBody

func (n *NewPullRequest) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*NewPullRequest) GetDraft

func (n *NewPullRequest) GetDraft() bool

GetDraft returns the Draft field if it's non-nil, zero value otherwise.

func (*NewPullRequest) GetHead

func (n *NewPullRequest) GetHead() string

GetHead returns the Head field if it's non-nil, zero value otherwise.

func (*NewPullRequest) GetIssue

func (n *NewPullRequest) GetIssue() int

GetIssue returns the Issue field if it's non-nil, zero value otherwise.

func (*NewPullRequest) GetMaintainerCanModify

func (n *NewPullRequest) GetMaintainerCanModify() bool

GetMaintainerCanModify returns the MaintainerCanModify field if it's non-nil, zero value otherwise.

func (*NewPullRequest) GetTitle

func (n *NewPullRequest) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

type NewTeam

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

NewTeam represents a team to be created or modified.

func (*NewTeam) GetDescription

func (n *NewTeam) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*NewTeam) GetLDAPDN

func (n *NewTeam) GetLDAPDN() string

GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.

func (*NewTeam) GetParentTeamID

func (n *NewTeam) GetParentTeamID() int64

GetParentTeamID returns the ParentTeamID field if it's non-nil, zero value otherwise.

func (*NewTeam) GetPermission

func (n *NewTeam) GetPermission() string

GetPermission returns the Permission field if it's non-nil, zero value otherwise.

func (*NewTeam) GetPrivacy

func (n *NewTeam) GetPrivacy() string

GetPrivacy returns the Privacy field if it's non-nil, zero value otherwise.

func (NewTeam) String

func (s NewTeam) String() string

type Notification

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

Notification identifies a GitHub notification for a user.

func (*Notification) GetID

func (n *Notification) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Notification) GetLastReadAt

func (n *Notification) GetLastReadAt() time.Time

GetLastReadAt returns the LastReadAt field if it's non-nil, zero value otherwise.

func (*Notification) GetReason

func (n *Notification) GetReason() string

GetReason returns the Reason field if it's non-nil, zero value otherwise.

func (*Notification) GetRepository

func (n *Notification) GetRepository() *Repository

GetRepository returns the Repository field.

func (*Notification) GetSubject

func (n *Notification) GetSubject() *NotificationSubject

GetSubject returns the Subject field.

func (*Notification) GetURL

func (n *Notification) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Notification) GetUnread

func (n *Notification) GetUnread() bool

GetUnread returns the Unread field if it's non-nil, zero value otherwise.

func (*Notification) GetUpdatedAt

func (n *Notification) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type NotificationListOptions

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
}

NotificationListOptions specifies the optional parameters to the ActivityService.ListNotifications method.

type NotificationSubject

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

NotificationSubject identifies the subject of a notification.

func (*NotificationSubject) GetLatestCommentURL

func (n *NotificationSubject) GetLatestCommentURL() string

GetLatestCommentURL returns the LatestCommentURL field if it's non-nil, zero value otherwise.

func (*NotificationSubject) GetTitle

func (n *NotificationSubject) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*NotificationSubject) GetType

func (n *NotificationSubject) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*NotificationSubject) GetURL

func (n *NotificationSubject) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type OAuthAPP

type OAuthAPP struct {
	URL      *string `json:"url,omitempty"`
	Name     *string `json:"name,omitempty"`
	ClientID *string `json:"client_id,omitempty"`
}

OAuthAPP represents the GitHub Site Administrator OAuth app.

func (*OAuthAPP) GetClientID

func (o *OAuthAPP) GetClientID() string

GetClientID returns the ClientID field if it's non-nil, zero value otherwise.

func (*OAuthAPP) GetName

func (o *OAuthAPP) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*OAuthAPP) GetURL

func (o *OAuthAPP) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (OAuthAPP) String

func (s OAuthAPP) String() string

type OIDCSubjectClaimCustomTemplate added in v49.1.0

type OIDCSubjectClaimCustomTemplate struct {
	UseDefault       *bool    `json:"use_default,omitempty"`
	IncludeClaimKeys []string `json:"include_claim_keys,omitempty"`
}

OIDCSubjectClaimCustomTemplate represents an OIDC subject claim customization template.

func (*OIDCSubjectClaimCustomTemplate) GetUseDefault added in v49.1.0

func (o *OIDCSubjectClaimCustomTemplate) GetUseDefault() bool

GetUseDefault returns the UseDefault field if it's non-nil, zero value otherwise.

type OrgBlockEvent

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

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

func (*OrgBlockEvent) GetAction

func (o *OrgBlockEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*OrgBlockEvent) GetBlockedUser

func (o *OrgBlockEvent) GetBlockedUser() *User

GetBlockedUser returns the BlockedUser field.

func (*OrgBlockEvent) GetInstallation

func (o *OrgBlockEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*OrgBlockEvent) GetOrganization

func (o *OrgBlockEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*OrgBlockEvent) GetSender

func (o *OrgBlockEvent) GetSender() *User

GetSender returns the Sender field.

type OrgStats

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

OrgStats represents the number of total, disabled organizations and the team and team member count.

func (*OrgStats) GetDisabledOrgs

func (o *OrgStats) GetDisabledOrgs() int

GetDisabledOrgs returns the DisabledOrgs field if it's non-nil, zero value otherwise.

func (*OrgStats) GetTotalOrgs

func (o *OrgStats) GetTotalOrgs() int

GetTotalOrgs returns the TotalOrgs field if it's non-nil, zero value otherwise.

func (*OrgStats) GetTotalTeamMembers

func (o *OrgStats) GetTotalTeamMembers() int

GetTotalTeamMembers returns the TotalTeamMembers field if it's non-nil, zero value otherwise.

func (*OrgStats) GetTotalTeams

func (o *OrgStats) GetTotalTeams() int

GetTotalTeams returns the TotalTeams field if it's non-nil, zero value otherwise.

func (OrgStats) String

func (s OrgStats) String() string

type Organization

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"`
	// WebCommitSignoffRequire toggles
	WebCommitSignoffRequired *bool `json:"web_commit_signoff_required,omitempty"`
	// AdvancedSecurityAuditLogEnabled toggles whether the advanced security audit log is enabled.
	AdvancedSecurityEnabledForNewRepos *bool `json:"advanced_security_enabled_for_new_repositories,omitempty"`
	// DependabotAlertsEnabled toggles whether dependabot alerts are enabled.
	DependabotAlertsEnabledForNewRepos *bool `json:"dependabot_alerts_enabled_for_new_repositories,omitempty"`
	// DependabotSecurityUpdatesEnabled toggles whether dependabot security updates are enabled.
	DependabotSecurityUpdatesEnabledForNewRepos *bool `json:"dependabot_security_updates_enabled_for_new_repositories,omitempty"`
	// DependabotGraphEnabledForNewRepos toggles whether dependabot graph is enabled on new repositories.
	DependencyGraphEnabledForNewRepos *bool `json:"dependency_graph_enabled_for_new_repositories,omitempty"`
	// SecretScanningEnabled toggles whether secret scanning is enabled on new repositories.
	SecretScanningEnabledForNewRepos *bool `json:"secret_scanning_enabled_for_new_repositories,omitempty"`
	// SecretScanningPushProtectionEnabledForNewRepos toggles whether secret scanning push protection is enabled on new repositories.
	SecretScanningPushProtectionEnabledForNewRepos *bool `json:"secret_scanning_push_protection_enabled_for_new_repositories,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"`
}

Organization represents a GitHub organization account.

func (*Organization) GetAdvancedSecurityEnabledForNewRepos

func (o *Organization) GetAdvancedSecurityEnabledForNewRepos() bool

GetAdvancedSecurityEnabledForNewRepos returns the AdvancedSecurityEnabledForNewRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetAvatarURL

func (o *Organization) GetAvatarURL() string

GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.

func (*Organization) GetBillingEmail

func (o *Organization) GetBillingEmail() string

GetBillingEmail returns the BillingEmail field if it's non-nil, zero value otherwise.

func (*Organization) GetBlog

func (o *Organization) GetBlog() string

GetBlog returns the Blog field if it's non-nil, zero value otherwise.

func (*Organization) GetCollaborators

func (o *Organization) GetCollaborators() int

GetCollaborators returns the Collaborators field if it's non-nil, zero value otherwise.

func (*Organization) GetCompany

func (o *Organization) GetCompany() string

GetCompany returns the Company field if it's non-nil, zero value otherwise.

func (*Organization) GetCreatedAt

func (o *Organization) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Organization) GetDefaultRepoPermission

func (o *Organization) GetDefaultRepoPermission() string

GetDefaultRepoPermission returns the DefaultRepoPermission field if it's non-nil, zero value otherwise.

func (*Organization) GetDefaultRepoSettings

func (o *Organization) GetDefaultRepoSettings() string

GetDefaultRepoSettings returns the DefaultRepoSettings field if it's non-nil, zero value otherwise.

func (*Organization) GetDependabotAlertsEnabledForNewRepos

func (o *Organization) GetDependabotAlertsEnabledForNewRepos() bool

GetDependabotAlertsEnabledForNewRepos returns the DependabotAlertsEnabledForNewRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetDependabotSecurityUpdatesEnabledForNewRepos

func (o *Organization) GetDependabotSecurityUpdatesEnabledForNewRepos() bool

GetDependabotSecurityUpdatesEnabledForNewRepos returns the DependabotSecurityUpdatesEnabledForNewRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetDependencyGraphEnabledForNewRepos

func (o *Organization) GetDependencyGraphEnabledForNewRepos() bool

GetDependencyGraphEnabledForNewRepos returns the DependencyGraphEnabledForNewRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetDescription

func (o *Organization) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Organization) GetDiskUsage

func (o *Organization) GetDiskUsage() int

GetDiskUsage returns the DiskUsage field if it's non-nil, zero value otherwise.

func (*Organization) GetEmail

func (o *Organization) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*Organization) GetEventsURL

func (o *Organization) GetEventsURL() string

GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.

func (*Organization) GetFollowers

func (o *Organization) GetFollowers() int

GetFollowers returns the Followers field if it's non-nil, zero value otherwise.

func (*Organization) GetFollowing

func (o *Organization) GetFollowing() int

GetFollowing returns the Following field if it's non-nil, zero value otherwise.

func (*Organization) GetHTMLURL

func (o *Organization) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Organization) GetHasOrganizationProjects

func (o *Organization) GetHasOrganizationProjects() bool

GetHasOrganizationProjects returns the HasOrganizationProjects field if it's non-nil, zero value otherwise.

func (*Organization) GetHasRepositoryProjects

func (o *Organization) GetHasRepositoryProjects() bool

GetHasRepositoryProjects returns the HasRepositoryProjects field if it's non-nil, zero value otherwise.

func (*Organization) GetHooksURL

func (o *Organization) GetHooksURL() string

GetHooksURL returns the HooksURL field if it's non-nil, zero value otherwise.

func (*Organization) GetID

func (o *Organization) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Organization) GetIsVerified

func (o *Organization) GetIsVerified() bool

GetIsVerified returns the IsVerified field if it's non-nil, zero value otherwise.

func (*Organization) GetIssuesURL

func (o *Organization) GetIssuesURL() string

GetIssuesURL returns the IssuesURL field if it's non-nil, zero value otherwise.

func (*Organization) GetLocation

func (o *Organization) GetLocation() string

GetLocation returns the Location field if it's non-nil, zero value otherwise.

func (*Organization) GetLogin

func (o *Organization) GetLogin() string

GetLogin returns the Login field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersAllowedRepositoryCreationType

func (o *Organization) GetMembersAllowedRepositoryCreationType() string

GetMembersAllowedRepositoryCreationType returns the MembersAllowedRepositoryCreationType field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanCreateInternalRepos

func (o *Organization) GetMembersCanCreateInternalRepos() bool

GetMembersCanCreateInternalRepos returns the MembersCanCreateInternalRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanCreatePages

func (o *Organization) GetMembersCanCreatePages() bool

GetMembersCanCreatePages returns the MembersCanCreatePages field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanCreatePrivatePages

func (o *Organization) GetMembersCanCreatePrivatePages() bool

GetMembersCanCreatePrivatePages returns the MembersCanCreatePrivatePages field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanCreatePrivateRepos

func (o *Organization) GetMembersCanCreatePrivateRepos() bool

GetMembersCanCreatePrivateRepos returns the MembersCanCreatePrivateRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanCreatePublicPages

func (o *Organization) GetMembersCanCreatePublicPages() bool

GetMembersCanCreatePublicPages returns the MembersCanCreatePublicPages field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanCreatePublicRepos

func (o *Organization) GetMembersCanCreatePublicRepos() bool

GetMembersCanCreatePublicRepos returns the MembersCanCreatePublicRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanCreateRepos

func (o *Organization) GetMembersCanCreateRepos() bool

GetMembersCanCreateRepos returns the MembersCanCreateRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersCanForkPrivateRepos

func (o *Organization) GetMembersCanForkPrivateRepos() bool

GetMembersCanForkPrivateRepos returns the MembersCanForkPrivateRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetMembersURL

func (o *Organization) GetMembersURL() string

GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise.

func (*Organization) GetName

func (o *Organization) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Organization) GetNodeID

func (o *Organization) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Organization) GetOwnedPrivateRepos

func (o *Organization) GetOwnedPrivateRepos() int

GetOwnedPrivateRepos returns the OwnedPrivateRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetPlan

func (o *Organization) GetPlan() *Plan

GetPlan returns the Plan field.

func (*Organization) GetPrivateGists

func (o *Organization) GetPrivateGists() int

GetPrivateGists returns the PrivateGists field if it's non-nil, zero value otherwise.

func (*Organization) GetPublicGists

func (o *Organization) GetPublicGists() int

GetPublicGists returns the PublicGists field if it's non-nil, zero value otherwise.

func (*Organization) GetPublicMembersURL

func (o *Organization) GetPublicMembersURL() string

GetPublicMembersURL returns the PublicMembersURL field if it's non-nil, zero value otherwise.

func (*Organization) GetPublicRepos

func (o *Organization) GetPublicRepos() int

GetPublicRepos returns the PublicRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetReposURL

func (o *Organization) GetReposURL() string

GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.

func (*Organization) GetSecretScanningEnabledForNewRepos

func (o *Organization) GetSecretScanningEnabledForNewRepos() bool

GetSecretScanningEnabledForNewRepos returns the SecretScanningEnabledForNewRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetSecretScanningPushProtectionEnabledForNewRepos

func (o *Organization) GetSecretScanningPushProtectionEnabledForNewRepos() bool

GetSecretScanningPushProtectionEnabledForNewRepos returns the SecretScanningPushProtectionEnabledForNewRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetTotalPrivateRepos

func (o *Organization) GetTotalPrivateRepos() int

GetTotalPrivateRepos returns the TotalPrivateRepos field if it's non-nil, zero value otherwise.

func (*Organization) GetTwitterUsername

func (o *Organization) GetTwitterUsername() string

GetTwitterUsername returns the TwitterUsername field if it's non-nil, zero value otherwise.

func (*Organization) GetTwoFactorRequirementEnabled

func (o *Organization) GetTwoFactorRequirementEnabled() bool

GetTwoFactorRequirementEnabled returns the TwoFactorRequirementEnabled field if it's non-nil, zero value otherwise.

func (*Organization) GetType

func (o *Organization) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*Organization) GetURL

func (o *Organization) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Organization) GetUpdatedAt

func (o *Organization) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Organization) GetWebCommitSignoffRequired

func (o *Organization) GetWebCommitSignoffRequired() bool

GetWebCommitSignoffRequired returns the WebCommitSignoffRequired field if it's non-nil, zero value otherwise.

func (Organization) String

func (o Organization) String() string

type OrganizationCustomRepoRoles

type OrganizationCustomRepoRoles struct {
	TotalCount      *int               `json:"total_count,omitempty"`
	CustomRepoRoles []*CustomRepoRoles `json:"custom_roles,omitempty"`
}

OrganizationCustomRepoRoles represents custom repository roles available in specified organization.

func (*OrganizationCustomRepoRoles) GetTotalCount

func (o *OrganizationCustomRepoRoles) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type OrganizationEvent

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

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

func (*OrganizationEvent) GetAction

func (o *OrganizationEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*OrganizationEvent) GetInstallation

func (o *OrganizationEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*OrganizationEvent) GetInvitation

func (o *OrganizationEvent) GetInvitation() *Invitation

GetInvitation returns the Invitation field.

func (*OrganizationEvent) GetMembership

func (o *OrganizationEvent) GetMembership() *Membership

GetMembership returns the Membership field.

func (*OrganizationEvent) GetOrganization

func (o *OrganizationEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*OrganizationEvent) GetSender

func (o *OrganizationEvent) GetSender() *User

GetSender returns the Sender field.

type OrganizationInstallations

type OrganizationInstallations struct {
	TotalCount    *int            `json:"total_count,omitempty"`
	Installations []*Installation `json:"installations,omitempty"`
}

OrganizationInstallations represents GitHub app installations for an organization.

func (*OrganizationInstallations) GetTotalCount

func (o *OrganizationInstallations) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type OrganizationsListOptions

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
}

OrganizationsListOptions specifies the optional parameters to the OrganizationsService.ListAll method.

type OrganizationsService

type OrganizationsService service

OrganizationsService provides access to the organization related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/orgs/

func (*OrganizationsService) AddSecurityManagerTeam

func (s *OrganizationsService) AddSecurityManagerTeam(ctx context.Context, org, team string) (*Response, error)

AddSecurityManagerTeam adds a team to the list of security managers for an organization.

GitHub API docs: https://docs.github.com/en/rest/orgs/security-managers#add-a-security-manager-team

func (*OrganizationsService) BlockUser

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 (*OrganizationsService) ConcealMembership

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 (*OrganizationsService) ConvertMemberToOutsideCollaborator

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 (*OrganizationsService) CreateCustomRepoRole

CreateCustomRepoRole creates a custom repository role in this organization. In order to create 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#create-a-custom-role

func (*OrganizationsService) CreateHook

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 (*OrganizationsService) CreateOrgInvitation

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 (*OrganizationsService) CreateProject

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 (*OrganizationsService) DeleteCustomRepoRole

func (s *OrganizationsService) DeleteCustomRepoRole(ctx context.Context, org, roleID string) (*Response, error)

DeleteCustomRepoRole deletes an existing custom repository role in this organization. In order to delete 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#delete-a-custom-role

func (*OrganizationsService) DeleteHook

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 (*OrganizationsService) DeletePackage

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 (*OrganizationsService) Edit

Edit an organization.

GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#update-an-organization

func (*OrganizationsService) EditActionsAllowed

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 (*OrganizationsService) EditActionsPermissions

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 (*OrganizationsService) EditHook

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 (*OrganizationsService) EditOrgMembership

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 (*OrganizationsService) Get

Get fetches an organization by name.

GitHub API docs: https://docs.github.com/en/rest/orgs/orgs#get-an-organization

func (*OrganizationsService) GetActionsAllowed

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 (*OrganizationsService) GetActionsPermissions

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 (*OrganizationsService) GetAuditLog

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 (*OrganizationsService) GetByID

GetByID fetches an organization.

Note: GetByID uses the undocumented GitHub API endpoint /organizations/:id.

func (*OrganizationsService) GetHook

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 (*OrganizationsService) GetHookDelivery

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 (*OrganizationsService) GetOrgMembership

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 (*OrganizationsService) GetPackage

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 (*OrganizationsService) IsBlocked

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 (*OrganizationsService) IsMember

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 (*OrganizationsService) IsPublicMember

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 (*OrganizationsService) List

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 (*OrganizationsService) ListAll

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 (*OrganizationsService) ListBlockedUsers

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 (*OrganizationsService) ListCustomRepoRoles

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 (*OrganizationsService) ListFailedOrgInvitations

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 (*OrganizationsService) ListHookDeliveries

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 (*OrganizationsService) ListHooks

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 (*OrganizationsService) ListInstallations

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 (*OrganizationsService) ListMembers

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 (*OrganizationsService) ListOrgInvitationTeams

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 (*OrganizationsService) ListOrgMemberships

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 (*OrganizationsService) ListOutsideCollaborators

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 (*OrganizationsService) ListPackages

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 (*OrganizationsService) ListPendingOrgInvitations

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 (*OrganizationsService) ListProjects

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 (*OrganizationsService) ListSecurityManagerTeams

func (s *OrganizationsService) ListSecurityManagerTeams(ctx context.Context, org string) ([]*Team, *Response, error)

ListSecurityManagerTeams lists all security manager teams for an organization.

GitHub API docs: https://docs.github.com/en/rest/orgs/security-managers#list-security-manager-teams

func (*OrganizationsService) PackageDeleteVersion

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 (*OrganizationsService) PackageGetAllVersions

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#list-package-versions-for-a-package-owned-by-an-organization

func (*OrganizationsService) PackageGetVersion

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 (*OrganizationsService) PackageRestoreVersion

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 (*OrganizationsService) PingHook

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 (*OrganizationsService) PublicizeMembership

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 (*OrganizationsService) RedeliverHookDelivery

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 (*OrganizationsService) RemoveMember

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 (*OrganizationsService) RemoveOrgMembership

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 (*OrganizationsService) RemoveOutsideCollaborator

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 (*OrganizationsService) RemoveSecurityManagerTeam

func (s *OrganizationsService) RemoveSecurityManagerTeam(ctx context.Context, org, team string) (*Response, error)

RemoveSecurityManagerTeam removes a team from the list of security managers for an organization.

GitHub API docs: https://docs.github.com/en/rest/orgs/security-managers#remove-a-security-manager-team

func (*OrganizationsService) RestorePackage

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 (*OrganizationsService) UnblockUser

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

func (*OrganizationsService) UpdateCustomRepoRole

func (s *OrganizationsService) UpdateCustomRepoRole(ctx context.Context, org, roleID string, opts *CreateOrUpdateCustomRoleOptions) (*CustomRepoRoles, *Response, error)

UpdateCustomRepoRole updates a custom repository role in this organization. In order to update 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#update-a-custom-role

type PRLink struct {
	HRef *string `json:"href,omitempty"`
}

PRLink represents a single link object from GitHub pull request _links.

func (*PRLink) GetHRef

func (p *PRLink) GetHRef() string

GetHRef returns the HRef field if it's non-nil, zero value otherwise.

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

PRLinks represents the "_links" object in a GitHub pull request.

func (*PRLinks) GetComments

func (p *PRLinks) GetComments() *PRLink

GetComments returns the Comments field.

func (*PRLinks) GetCommits

func (p *PRLinks) GetCommits() *PRLink

GetCommits returns the Commits field.

func (*PRLinks) GetHTML

func (p *PRLinks) GetHTML() *PRLink

GetHTML returns the HTML field.

func (*PRLinks) GetIssue

func (p *PRLinks) GetIssue() *PRLink

GetIssue returns the Issue field.

func (*PRLinks) GetReviewComment

func (p *PRLinks) GetReviewComment() *PRLink

GetReviewComment returns the ReviewComment field.

func (*PRLinks) GetReviewComments

func (p *PRLinks) GetReviewComments() *PRLink

GetReviewComments returns the ReviewComments field.

func (*PRLinks) GetSelf

func (p *PRLinks) GetSelf() *PRLink

GetSelf returns the Self field.

func (*PRLinks) GetStatuses

func (p *PRLinks) GetStatuses() *PRLink

GetStatuses returns the Statuses field.

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

Package represents a GitHub package.

func (*Package) GetCreatedAt

func (p *Package) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Package) GetHTMLURL

func (p *Package) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Package) GetID

func (p *Package) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Package) GetName

func (p *Package) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Package) GetOwner

func (p *Package) GetOwner() *User

GetOwner returns the Owner field.

func (*Package) GetPackageType

func (p *Package) GetPackageType() string

GetPackageType returns the PackageType field if it's non-nil, zero value otherwise.

func (*Package) GetPackageVersion

func (p *Package) GetPackageVersion() *PackageVersion

GetPackageVersion returns the PackageVersion field.

func (*Package) GetRegistry

func (p *Package) GetRegistry() *PackageRegistry

GetRegistry returns the Registry field.

func (*Package) GetRepository

func (p *Package) GetRepository() *Repository

GetRepository returns the Repository field.

func (*Package) GetURL

func (p *Package) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Package) GetUpdatedAt

func (p *Package) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Package) GetVersionCount

func (p *Package) GetVersionCount() int64

GetVersionCount returns the VersionCount field if it's non-nil, zero value otherwise.

func (*Package) GetVisibility

func (p *Package) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

func (Package) String

func (p Package) String() string

type PackageBilling

type PackageBilling struct {
	TotalGigabytesBandwidthUsed     int `json:"total_gigabytes_bandwidth_used"`
	TotalPaidGigabytesBandwidthUsed int `json:"total_paid_gigabytes_bandwidth_used"`
	IncludedGigabytesBandwidth      int `json:"included_gigabytes_bandwidth"`
}

PackageBilling represents a GitHub Package billing.

type PackageContainerMetadata

type PackageContainerMetadata struct {
	Tags []string `json:"tags,omitempty"`
}

PackageContainerMetadata represents container metadata for docker container packages.

func (PackageContainerMetadata) String

func (r PackageContainerMetadata) String() string

type PackageEvent

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

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

func (*PackageEvent) GetAction

func (p *PackageEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*PackageEvent) GetInstallation

func (p *PackageEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PackageEvent) GetOrg

func (p *PackageEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*PackageEvent) GetPackage

func (p *PackageEvent) GetPackage() *Package

GetPackage returns the Package field.

func (*PackageEvent) GetRepo

func (p *PackageEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PackageEvent) GetSender

func (p *PackageEvent) GetSender() *User

GetSender returns the Sender field.

type PackageFile

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

PackageFile represents a GitHub package version release file.

func (*PackageFile) GetAuthor

func (p *PackageFile) GetAuthor() *User

GetAuthor returns the Author field.

func (*PackageFile) GetContentType

func (p *PackageFile) GetContentType() string

GetContentType returns the ContentType field if it's non-nil, zero value otherwise.

func (*PackageFile) GetCreatedAt

func (p *PackageFile) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*PackageFile) GetDownloadURL

func (p *PackageFile) GetDownloadURL() string

GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.

func (*PackageFile) GetID

func (p *PackageFile) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PackageFile) GetMD5

func (p *PackageFile) GetMD5() string

GetMD5 returns the MD5 field if it's non-nil, zero value otherwise.

func (*PackageFile) GetName

func (p *PackageFile) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*PackageFile) GetSHA1

func (p *PackageFile) GetSHA1() string

GetSHA1 returns the SHA1 field if it's non-nil, zero value otherwise.

func (*PackageFile) GetSHA256

func (p *PackageFile) GetSHA256() string

GetSHA256 returns the SHA256 field if it's non-nil, zero value otherwise.

func (*PackageFile) GetSize

func (p *PackageFile) GetSize() int64

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*PackageFile) GetState

func (p *PackageFile) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*PackageFile) GetUpdatedAt

func (p *PackageFile) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (PackageFile) String

func (pf PackageFile) String() string

type PackageListOptions

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
}

PackageListOptions represents the optional list options for a package.

func (*PackageListOptions) GetPackageType

func (p *PackageListOptions) GetPackageType() string

GetPackageType returns the PackageType field if it's non-nil, zero value otherwise.

func (*PackageListOptions) GetState

func (p *PackageListOptions) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*PackageListOptions) GetVisibility

func (p *PackageListOptions) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

type PackageMetadata

type PackageMetadata struct {
	PackageType *string                   `json:"package_type,omitempty"`
	Container   *PackageContainerMetadata `json:"container,omitempty"`
}

PackageMetadata represents metadata from a package.

func (*PackageMetadata) GetContainer

func (p *PackageMetadata) GetContainer() *PackageContainerMetadata

GetContainer returns the Container field.

func (*PackageMetadata) GetPackageType

func (p *PackageMetadata) GetPackageType() string

GetPackageType returns the PackageType field if it's non-nil, zero value otherwise.

func (PackageMetadata) String

func (r PackageMetadata) String() string

type PackageRegistry

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

PackageRegistry represents a GitHub package registry.

func (*PackageRegistry) GetAboutURL

func (p *PackageRegistry) GetAboutURL() string

GetAboutURL returns the AboutURL field if it's non-nil, zero value otherwise.

func (*PackageRegistry) GetName

func (p *PackageRegistry) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*PackageRegistry) GetType

func (p *PackageRegistry) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*PackageRegistry) GetURL

func (p *PackageRegistry) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*PackageRegistry) GetVendor

func (p *PackageRegistry) GetVendor() string

GetVendor returns the Vendor field if it's non-nil, zero value otherwise.

func (PackageRegistry) String

func (r PackageRegistry) String() string

type PackageRelease

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

PackageRelease represents a GitHub package version release.

func (*PackageRelease) GetAuthor

func (p *PackageRelease) GetAuthor() *User

GetAuthor returns the Author field.

func (*PackageRelease) GetCreatedAt

func (p *PackageRelease) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetDraft

func (p *PackageRelease) GetDraft() bool

GetDraft returns the Draft field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetHTMLURL

func (p *PackageRelease) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetID

func (p *PackageRelease) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetName

func (p *PackageRelease) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetPrerelease

func (p *PackageRelease) GetPrerelease() bool

GetPrerelease returns the Prerelease field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetPublishedAt

func (p *PackageRelease) GetPublishedAt() Timestamp

GetPublishedAt returns the PublishedAt field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetTagName

func (p *PackageRelease) GetTagName() string

GetTagName returns the TagName field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetTargetCommitish

func (p *PackageRelease) GetTargetCommitish() string

GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.

func (*PackageRelease) GetURL

func (p *PackageRelease) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (PackageRelease) String

func (r PackageRelease) String() string

type PackageVersion

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

PackageVersion represents a GitHub package version.

func (*PackageVersion) GetAuthor

func (p *PackageVersion) GetAuthor() *User

GetAuthor returns the Author field.

func (*PackageVersion) GetBody

func (p *PackageVersion) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetBodyHTML

func (p *PackageVersion) GetBodyHTML() string

GetBodyHTML returns the BodyHTML field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetCreatedAt

func (p *PackageVersion) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetDraft

func (p *PackageVersion) GetDraft() bool

GetDraft returns the Draft field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetHTMLURL

func (p *PackageVersion) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetID

func (p *PackageVersion) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetInstallationCommand

func (p *PackageVersion) GetInstallationCommand() string

GetInstallationCommand returns the InstallationCommand field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetManifest

func (p *PackageVersion) GetManifest() string

GetManifest returns the Manifest field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetMetadata

func (p *PackageVersion) GetMetadata() *PackageMetadata

GetMetadata returns the Metadata field.

func (*PackageVersion) GetName

func (p *PackageVersion) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetPackageHTMLURL

func (p *PackageVersion) GetPackageHTMLURL() string

GetPackageHTMLURL returns the PackageHTMLURL field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetPrerelease

func (p *PackageVersion) GetPrerelease() bool

GetPrerelease returns the Prerelease field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetRelease

func (p *PackageVersion) GetRelease() *PackageRelease

GetRelease returns the Release field.

func (*PackageVersion) GetSummary

func (p *PackageVersion) GetSummary() string

GetSummary returns the Summary field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetTagName

func (p *PackageVersion) GetTagName() string

GetTagName returns the TagName field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetTargetCommitish

func (p *PackageVersion) GetTargetCommitish() string

GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetTargetOID

func (p *PackageVersion) GetTargetOID() string

GetTargetOID returns the TargetOID field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetURL

func (p *PackageVersion) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetUpdatedAt

func (p *PackageVersion) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*PackageVersion) GetVersion

func (p *PackageVersion) GetVersion() string

GetVersion returns the Version field if it's non-nil, zero value otherwise.

func (PackageVersion) String

func (pv PackageVersion) String() string

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

Page represents a single Wiki page.

func (*Page) GetAction

func (p *Page) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*Page) GetHTMLURL

func (p *Page) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Page) GetPageName

func (p *Page) GetPageName() string

GetPageName returns the PageName field if it's non-nil, zero value otherwise.

func (*Page) GetSHA

func (p *Page) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*Page) GetSummary

func (p *Page) GetSummary() string

GetSummary returns the Summary field if it's non-nil, zero value otherwise.

func (*Page) GetTitle

func (p *Page) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

type PageBuildEvent

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

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

func (*PageBuildEvent) GetBuild

func (p *PageBuildEvent) GetBuild() *PagesBuild

GetBuild returns the Build field.

func (*PageBuildEvent) GetID

func (p *PageBuildEvent) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PageBuildEvent) GetInstallation

func (p *PageBuildEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PageBuildEvent) GetRepo

func (p *PageBuildEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PageBuildEvent) GetSender

func (p *PageBuildEvent) GetSender() *User

GetSender returns the Sender field.

type PageStats

type PageStats struct {
	TotalPages *int `json:"total_pages,omitempty"`
}

PageStats represents the total number of github pages.

func (*PageStats) GetTotalPages

func (p *PageStats) GetTotalPages() int

GetTotalPages returns the TotalPages field if it's non-nil, zero value otherwise.

func (PageStats) String

func (s PageStats) String() string

type Pages

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

Pages represents a GitHub Pages site configuration.

func (*Pages) GetCNAME

func (p *Pages) GetCNAME() string

GetCNAME returns the CNAME field if it's non-nil, zero value otherwise.

func (*Pages) GetCustom404

func (p *Pages) GetCustom404() bool

GetCustom404 returns the Custom404 field if it's non-nil, zero value otherwise.

func (*Pages) GetHTMLURL

func (p *Pages) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Pages) GetHTTPSCertificate

func (p *Pages) GetHTTPSCertificate() *PagesHTTPSCertificate

GetHTTPSCertificate returns the HTTPSCertificate field.

func (*Pages) GetHTTPSEnforced

func (p *Pages) GetHTTPSEnforced() bool

GetHTTPSEnforced returns the HTTPSEnforced field if it's non-nil, zero value otherwise.

func (*Pages) GetPublic

func (p *Pages) GetPublic() bool

GetPublic returns the Public field if it's non-nil, zero value otherwise.

func (*Pages) GetSource

func (p *Pages) GetSource() *PagesSource

GetSource returns the Source field.

func (*Pages) GetStatus

func (p *Pages) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*Pages) GetURL

func (p *Pages) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type PagesBuild

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

PagesBuild represents the build information for a GitHub Pages site.

func (*PagesBuild) GetCommit

func (p *PagesBuild) GetCommit() string

GetCommit returns the Commit field if it's non-nil, zero value otherwise.

func (*PagesBuild) GetCreatedAt

func (p *PagesBuild) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*PagesBuild) GetDuration

func (p *PagesBuild) GetDuration() int

GetDuration returns the Duration field if it's non-nil, zero value otherwise.

func (*PagesBuild) GetError

func (p *PagesBuild) GetError() *PagesError

GetError returns the Error field.

func (*PagesBuild) GetPusher

func (p *PagesBuild) GetPusher() *User

GetPusher returns the Pusher field.

func (*PagesBuild) GetStatus

func (p *PagesBuild) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*PagesBuild) GetURL

func (p *PagesBuild) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*PagesBuild) GetUpdatedAt

func (p *PagesBuild) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type PagesError

type PagesError struct {
	Message *string `json:"message,omitempty"`
}

PagesError represents a build error for a GitHub Pages site.

func (*PagesError) GetMessage

func (p *PagesError) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

type PagesHTTPSCertificate

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

PagesHTTPSCertificate represents the HTTPS Certificate information for a GitHub Pages site.

func (*PagesHTTPSCertificate) GetDescription

func (p *PagesHTTPSCertificate) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*PagesHTTPSCertificate) GetExpiresAt

func (p *PagesHTTPSCertificate) GetExpiresAt() string

GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.

func (*PagesHTTPSCertificate) GetState

func (p *PagesHTTPSCertificate) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

type PagesSource

type PagesSource struct {
	Branch *string `json:"branch,omitempty"`
	Path   *string `json:"path,omitempty"`
}

PagesSource represents a GitHub page's source.

func (*PagesSource) GetBranch

func (p *PagesSource) GetBranch() string

GetBranch returns the Branch field if it's non-nil, zero value otherwise.

func (*PagesSource) GetPath

func (p *PagesSource) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

type PagesUpdate

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 for Source.Branch are usually "gh-pages", "main", and "master",
	// or any other existing branch name.
	// Possible values for Source.Path are: "/", and "/docs".
	Source *PagesSource `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"`
}

PagesUpdate sets up parameters needed to update a GitHub Pages site.

func (*PagesUpdate) GetCNAME

func (p *PagesUpdate) GetCNAME() string

GetCNAME returns the CNAME field if it's non-nil, zero value otherwise.

func (*PagesUpdate) GetHTTPSEnforced

func (p *PagesUpdate) GetHTTPSEnforced() bool

GetHTTPSEnforced returns the HTTPSEnforced field if it's non-nil, zero value otherwise.

func (*PagesUpdate) GetPublic

func (p *PagesUpdate) GetPublic() bool

GetPublic returns the Public field if it's non-nil, zero value otherwise.

func (*PagesUpdate) GetSource

func (p *PagesUpdate) GetSource() *PagesSource

GetSource returns the Source field.

type PendingDeploymentsRequest

type PendingDeploymentsRequest struct {
	EnvironmentIDs []int64 `json:"environment_ids"`
	// State can be one of: "approved", "rejected".
	State   string `json:"state"`
	Comment string `json:"comment"`
}

PendingDeploymentsRequest specifies body parameters to PendingDeployments.

type PingEvent

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

PingEvent is triggered when a Webhook is added to GitHub.

GitHub API docs: https://developer.github.com/webhooks/#ping-event

func (*PingEvent) GetHook

func (p *PingEvent) GetHook() *Hook

GetHook returns the Hook field.

func (*PingEvent) GetHookID

func (p *PingEvent) GetHookID() int64

GetHookID returns the HookID field if it's non-nil, zero value otherwise.

func (*PingEvent) GetInstallation

func (p *PingEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PingEvent) GetOrg

func (p *PingEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*PingEvent) GetRepo

func (p *PingEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PingEvent) GetSender

func (p *PingEvent) GetSender() *User

GetSender returns the Sender field.

func (*PingEvent) GetZen

func (p *PingEvent) GetZen() string

GetZen returns the Zen field if it's non-nil, zero value otherwise.

type Plan

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

Plan represents the payment plan for an account. See plans at https://github.com/plans.

func (*Plan) GetCollaborators

func (p *Plan) GetCollaborators() int

GetCollaborators returns the Collaborators field if it's non-nil, zero value otherwise.

func (*Plan) GetFilledSeats

func (p *Plan) GetFilledSeats() int

GetFilledSeats returns the FilledSeats field if it's non-nil, zero value otherwise.

func (*Plan) GetName

func (p *Plan) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Plan) GetPrivateRepos

func (p *Plan) GetPrivateRepos() int

GetPrivateRepos returns the PrivateRepos field if it's non-nil, zero value otherwise.

func (*Plan) GetSeats

func (p *Plan) GetSeats() int

GetSeats returns the Seats field if it's non-nil, zero value otherwise.

func (*Plan) GetSpace

func (p *Plan) GetSpace() int

GetSpace returns the Space field if it's non-nil, zero value otherwise.

func (Plan) String

func (p Plan) String() string

type PreReceiveHook

type PreReceiveHook struct {
	ID          *int64  `json:"id,omitempty"`
	Name        *string `json:"name,omitempty"`
	Enforcement *string `json:"enforcement,omitempty"`
	ConfigURL   *string `json:"configuration_url,omitempty"`
}

PreReceiveHook represents a GitHub pre-receive hook for a repository.

func (*PreReceiveHook) GetConfigURL

func (p *PreReceiveHook) GetConfigURL() string

GetConfigURL returns the ConfigURL field if it's non-nil, zero value otherwise.

func (*PreReceiveHook) GetEnforcement

func (p *PreReceiveHook) GetEnforcement() string

GetEnforcement returns the Enforcement field if it's non-nil, zero value otherwise.

func (*PreReceiveHook) GetID

func (p *PreReceiveHook) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PreReceiveHook) GetName

func (p *PreReceiveHook) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (PreReceiveHook) String

func (p PreReceiveHook) String() string

type PreferenceList

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.
}

PreferenceList represents a list of auto trigger checks for repository

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

Project represents a GitHub Project.

func (*Project) GetBody

func (p *Project) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*Project) GetColumnsURL

func (p *Project) GetColumnsURL() string

GetColumnsURL returns the ColumnsURL field if it's non-nil, zero value otherwise.

func (*Project) GetCreatedAt

func (p *Project) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Project) GetCreator

func (p *Project) GetCreator() *User

GetCreator returns the Creator field.

func (*Project) GetHTMLURL

func (p *Project) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Project) GetID

func (p *Project) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Project) GetName

func (p *Project) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Project) GetNodeID

func (p *Project) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Project) GetNumber

func (p *Project) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*Project) GetOrganizationPermission

func (p *Project) GetOrganizationPermission() string

GetOrganizationPermission returns the OrganizationPermission field if it's non-nil, zero value otherwise.

func (*Project) GetOwnerURL

func (p *Project) GetOwnerURL() string

GetOwnerURL returns the OwnerURL field if it's non-nil, zero value otherwise.

func (*Project) GetPrivate

func (p *Project) GetPrivate() bool

GetPrivate returns the Private field if it's non-nil, zero value otherwise.

func (*Project) GetState

func (p *Project) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Project) GetURL

func (p *Project) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Project) GetUpdatedAt

func (p *Project) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (Project) String

func (p Project) String() string

type ProjectBody

type ProjectBody struct {
	From *string `json:"from,omitempty"`
}

ProjectBody represents a project body change.

func (*ProjectBody) GetFrom

func (p *ProjectBody) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type ProjectCard

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.
}

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

func (*ProjectCard) GetArchived

func (p *ProjectCard) GetArchived() bool

GetArchived returns the Archived field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetColumnID

func (p *ProjectCard) GetColumnID() int64

GetColumnID returns the ColumnID field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetColumnName

func (p *ProjectCard) GetColumnName() string

GetColumnName returns the ColumnName field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetColumnURL

func (p *ProjectCard) GetColumnURL() string

GetColumnURL returns the ColumnURL field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetContentURL

func (p *ProjectCard) GetContentURL() string

GetContentURL returns the ContentURL field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetCreatedAt

func (p *ProjectCard) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetCreator

func (p *ProjectCard) GetCreator() *User

GetCreator returns the Creator field.

func (*ProjectCard) GetID

func (p *ProjectCard) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetNodeID

func (p *ProjectCard) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetNote

func (p *ProjectCard) GetNote() string

GetNote returns the Note field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetPreviousColumnName

func (p *ProjectCard) GetPreviousColumnName() string

GetPreviousColumnName returns the PreviousColumnName field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetProjectID

func (p *ProjectCard) GetProjectID() int64

GetProjectID returns the ProjectID field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetProjectURL

func (p *ProjectCard) GetProjectURL() string

GetProjectURL returns the ProjectURL field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetURL

func (p *ProjectCard) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*ProjectCard) GetUpdatedAt

func (p *ProjectCard) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type ProjectCardChange

type ProjectCardChange struct {
	Note *ProjectCardNote `json:"note,omitempty"`
}

ProjectCardChange represents the changes when a project card has been edited.

func (*ProjectCardChange) GetNote

func (p *ProjectCardChange) GetNote() *ProjectCardNote

GetNote returns the Note field.

type ProjectCardEvent

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

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

func (*ProjectCardEvent) GetAction

func (p *ProjectCardEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*ProjectCardEvent) GetAfterID

func (p *ProjectCardEvent) GetAfterID() int64

GetAfterID returns the AfterID field if it's non-nil, zero value otherwise.

func (*ProjectCardEvent) GetChanges

func (p *ProjectCardEvent) GetChanges() *ProjectCardChange

GetChanges returns the Changes field.

func (*ProjectCardEvent) GetInstallation

func (p *ProjectCardEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*ProjectCardEvent) GetOrg

func (p *ProjectCardEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*ProjectCardEvent) GetProjectCard

func (p *ProjectCardEvent) GetProjectCard() *ProjectCard

GetProjectCard returns the ProjectCard field.

func (*ProjectCardEvent) GetRepo

func (p *ProjectCardEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*ProjectCardEvent) GetSender

func (p *ProjectCardEvent) GetSender() *User

GetSender returns the Sender field.

type ProjectCardListOptions

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
}

ProjectCardListOptions specifies the optional parameters to the ProjectsService.ListProjectCards method.

func (*ProjectCardListOptions) GetArchivedState

func (p *ProjectCardListOptions) GetArchivedState() string

GetArchivedState returns the ArchivedState field if it's non-nil, zero value otherwise.

type ProjectCardMoveOptions

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

ProjectCardMoveOptions specifies the parameters to the ProjectsService.MoveProjectCard method.

type ProjectCardNote

type ProjectCardNote struct {
	From *string `json:"from,omitempty"`
}

ProjectCardNote represents a change of a note of a project card.

func (*ProjectCardNote) GetFrom

func (p *ProjectCardNote) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type ProjectCardOptions

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

ProjectCardOptions specifies the parameters to the ProjectsService.CreateProjectCard and ProjectsService.UpdateProjectCard methods.

func (*ProjectCardOptions) GetArchived

func (p *ProjectCardOptions) GetArchived() bool

GetArchived returns the Archived field if it's non-nil, zero value otherwise.

type ProjectChange

type ProjectChange struct {
	Name *ProjectName `json:"name,omitempty"`
	Body *ProjectBody `json:"body,omitempty"`
}

ProjectChange represents the changes when a project has been edited.

func (*ProjectChange) GetBody

func (p *ProjectChange) GetBody() *ProjectBody

GetBody returns the Body field.

func (*ProjectChange) GetName

func (p *ProjectChange) GetName() *ProjectName

GetName returns the Name field.

type ProjectCollaboratorOptions

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

ProjectCollaboratorOptions specifies the optional parameters to the ProjectsService.AddProjectCollaborator method.

func (*ProjectCollaboratorOptions) GetPermission

func (p *ProjectCollaboratorOptions) GetPermission() string

GetPermission returns the Permission field if it's non-nil, zero value otherwise.

type ProjectColumn

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

ProjectColumn represents a column of a GitHub Project.

GitHub API docs: https://docs.github.com/en/rest/repos/projects/

func (*ProjectColumn) GetCardsURL

func (p *ProjectColumn) GetCardsURL() string

GetCardsURL returns the CardsURL field if it's non-nil, zero value otherwise.

func (*ProjectColumn) GetCreatedAt

func (p *ProjectColumn) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*ProjectColumn) GetID

func (p *ProjectColumn) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*ProjectColumn) GetName

func (p *ProjectColumn) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*ProjectColumn) GetNodeID

func (p *ProjectColumn) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*ProjectColumn) GetProjectURL

func (p *ProjectColumn) GetProjectURL() string

GetProjectURL returns the ProjectURL field if it's non-nil, zero value otherwise.

func (*ProjectColumn) GetURL

func (p *ProjectColumn) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*ProjectColumn) GetUpdatedAt

func (p *ProjectColumn) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type ProjectColumnChange

type ProjectColumnChange struct {
	Name *ProjectColumnName `json:"name,omitempty"`
}

ProjectColumnChange represents the changes when a project column has been edited.

func (*ProjectColumnChange) GetName

func (p *ProjectColumnChange) GetName() *ProjectColumnName

GetName returns the Name field.

type ProjectColumnEvent

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

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

func (*ProjectColumnEvent) GetAction

func (p *ProjectColumnEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*ProjectColumnEvent) GetAfterID

func (p *ProjectColumnEvent) GetAfterID() int64

GetAfterID returns the AfterID field if it's non-nil, zero value otherwise.

func (*ProjectColumnEvent) GetChanges

func (p *ProjectColumnEvent) GetChanges() *ProjectColumnChange

GetChanges returns the Changes field.

func (*ProjectColumnEvent) GetInstallation

func (p *ProjectColumnEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*ProjectColumnEvent) GetOrg

func (p *ProjectColumnEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*ProjectColumnEvent) GetProjectColumn

func (p *ProjectColumnEvent) GetProjectColumn() *ProjectColumn

GetProjectColumn returns the ProjectColumn field.

func (*ProjectColumnEvent) GetRepo

func (p *ProjectColumnEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*ProjectColumnEvent) GetSender

func (p *ProjectColumnEvent) GetSender() *User

GetSender returns the Sender field.

type ProjectColumnMoveOptions

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

ProjectColumnMoveOptions specifies the parameters to the ProjectsService.MoveProjectColumn method.

type ProjectColumnName

type ProjectColumnName struct {
	From *string `json:"from,omitempty"`
}

ProjectColumnName represents a project column name change.

func (*ProjectColumnName) GetFrom

func (p *ProjectColumnName) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type ProjectColumnOptions

type ProjectColumnOptions struct {
	// The name of the project column. (Required for creation and update.)
	Name string `json:"name"`
}

ProjectColumnOptions specifies the parameters to the ProjectsService.CreateProjectColumn and ProjectsService.UpdateProjectColumn methods.

type ProjectEvent

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

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

func (*ProjectEvent) GetAction

func (p *ProjectEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*ProjectEvent) GetChanges

func (p *ProjectEvent) GetChanges() *ProjectChange

GetChanges returns the Changes field.

func (*ProjectEvent) GetInstallation

func (p *ProjectEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*ProjectEvent) GetOrg

func (p *ProjectEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*ProjectEvent) GetProject

func (p *ProjectEvent) GetProject() *Project

GetProject returns the Project field.

func (*ProjectEvent) GetRepo

func (p *ProjectEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*ProjectEvent) GetSender

func (p *ProjectEvent) GetSender() *User

GetSender returns the Sender field.

type ProjectListOptions

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
}

ProjectListOptions specifies the optional parameters to the OrganizationsService.ListProjects and RepositoriesService.ListProjects methods.

type ProjectName

type ProjectName struct {
	From *string `json:"from,omitempty"`
}

ProjectName represents a project name change.

func (*ProjectName) GetFrom

func (p *ProjectName) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type ProjectOptions

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

ProjectOptions specifies the parameters to the RepositoriesService.CreateProject and ProjectsService.UpdateProject methods.

func (*ProjectOptions) GetBody

func (p *ProjectOptions) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*ProjectOptions) GetName

func (p *ProjectOptions) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*ProjectOptions) GetOrganizationPermission

func (p *ProjectOptions) GetOrganizationPermission() string

GetOrganizationPermission returns the OrganizationPermission field if it's non-nil, zero value otherwise.

func (*ProjectOptions) GetPrivate

func (p *ProjectOptions) GetPrivate() bool

GetPrivate returns the Private field if it's non-nil, zero value otherwise.

func (*ProjectOptions) GetState

func (p *ProjectOptions) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

type ProjectPermissionLevel

type ProjectPermissionLevel struct {
	// Possible values: "admin", "write", "read", "none"
	Permission *string `json:"permission,omitempty"`

	User *User `json:"user,omitempty"`
}

ProjectPermissionLevel represents the permission level an organization member has for a given project.

func (*ProjectPermissionLevel) GetPermission

func (p *ProjectPermissionLevel) GetPermission() string

GetPermission returns the Permission field if it's non-nil, zero value otherwise.

func (*ProjectPermissionLevel) GetUser

func (p *ProjectPermissionLevel) GetUser() *User

GetUser returns the User field.

type ProjectsService

type ProjectsService service

ProjectsService provides access to the projects functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/projects

func (*ProjectsService) AddProjectCollaborator

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 (*ProjectsService) CreateProjectCard

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 (*ProjectsService) CreateProjectColumn

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 (*ProjectsService) DeleteProject

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 (*ProjectsService) DeleteProjectCard

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 (*ProjectsService) DeleteProjectColumn

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 (*ProjectsService) GetProject

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 (*ProjectsService) GetProjectCard

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 (*ProjectsService) GetProjectColumn

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 (*ProjectsService) ListProjectCards

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 (*ProjectsService) ListProjectCollaborators

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 (*ProjectsService) ListProjectColumns

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 (*ProjectsService) MoveProjectCard

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 (*ProjectsService) MoveProjectColumn

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 (*ProjectsService) RemoveProjectCollaborator

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 (*ProjectsService) ReviewProjectCollaboratorPermission

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 (*ProjectsService) UpdateProject

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 (*ProjectsService) UpdateProjectCard

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 (*ProjectsService) UpdateProjectColumn

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

type 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"`
	LockBranch                     *LockBranch                     `json:"lock_branch,omitempty"`
	AllowForkSyncing               *AllowForkSyncing               `json:"allow_fork_syncing,omitempty"`
}

Protection represents a repository branch's protection.

func (*Protection) GetAllowDeletions

func (p *Protection) GetAllowDeletions() *AllowDeletions

GetAllowDeletions returns the AllowDeletions field.

func (*Protection) GetAllowForcePushes

func (p *Protection) GetAllowForcePushes() *AllowForcePushes

GetAllowForcePushes returns the AllowForcePushes field.

func (*Protection) GetAllowForkSyncing

func (p *Protection) GetAllowForkSyncing() *AllowForkSyncing

GetAllowForkSyncing returns the AllowForkSyncing field.

func (*Protection) GetEnforceAdmins

func (p *Protection) GetEnforceAdmins() *AdminEnforcement

GetEnforceAdmins returns the EnforceAdmins field.

func (*Protection) GetLockBranch

func (p *Protection) GetLockBranch() *LockBranch

GetLockBranch returns the LockBranch field.

func (*Protection) GetRequireLinearHistory

func (p *Protection) GetRequireLinearHistory() *RequireLinearHistory

GetRequireLinearHistory returns the RequireLinearHistory field.

func (*Protection) GetRequiredConversationResolution

func (p *Protection) GetRequiredConversationResolution() *RequiredConversationResolution

GetRequiredConversationResolution returns the RequiredConversationResolution field.

func (*Protection) GetRequiredPullRequestReviews

func (p *Protection) GetRequiredPullRequestReviews() *PullRequestReviewsEnforcement

GetRequiredPullRequestReviews returns the RequiredPullRequestReviews field.

func (*Protection) GetRequiredStatusChecks

func (p *Protection) GetRequiredStatusChecks() *RequiredStatusChecks

GetRequiredStatusChecks returns the RequiredStatusChecks field.

func (*Protection) GetRestrictions

func (p *Protection) GetRestrictions() *BranchRestrictions

GetRestrictions returns the Restrictions field.

type ProtectionChanges

type ProtectionChanges struct {
	AdminEnforced                            *AdminEnforcedChanges                            `json:"admin_enforced,omitempty"`
	AllowDeletionsEnforcementLevel           *AllowDeletionsEnforcementLevelChanges           `json:"allow_deletions_enforcement_level,omitempty"`
	AuthorizedActorNames                     *AuthorizedActorNames                            `json:"authorized_actor_names,omitempty"`
	AuthorizedActorsOnly                     *AuthorizedActorsOnly                            `json:"authorized_actors_only,omitempty"`
	AuthorizedDismissalActorsOnly            *AuthorizedDismissalActorsOnlyChanges            `json:"authorized_dismissal_actors_only,omitempty"`
	CreateProtected                          *CreateProtectedChanges                          `json:"create_protected,omitempty"`
	DismissStaleReviewsOnPush                *DismissStaleReviewsOnPushChanges                `json:"dismiss_stale_reviews_on_push,omitempty"`
	LinearHistoryRequirementEnforcementLevel *LinearHistoryRequirementEnforcementLevelChanges `json:"linear_history_requirement_enforcement_level,omitempty"`
	PullRequestReviewsEnforcementLevel       *PullRequestReviewsEnforcementLevelChanges       `json:"pull_request_reviews_enforcement_level,omitempty"`
	RequireCodeOwnerReview                   *RequireCodeOwnerReviewChanges                   `json:"require_code_owner_review,omitempty"`
	RequiredConversationResolutionLevel      *RequiredConversationResolutionLevelChanges      `json:"required_conversation_resolution_level,omitempty"`
	RequiredDeploymentsEnforcementLevel      *RequiredDeploymentsEnforcementLevelChanges      `json:"required_deployments_enforcement_level,omitempty"`
	RequiredStatusChecks                     *RequiredStatusChecksChanges                     `json:"required_status_checks,omitempty"`
	RequiredStatusChecksEnforcementLevel     *RequiredStatusChecksEnforcementLevelChanges     `json:"required_status_checks_enforcement_level,omitempty"`
	SignatureRequirementEnforcementLevel     *SignatureRequirementEnforcementLevelChanges     `json:"signature_requirement_enforcement_level,omitempty"`
}

ProtectionChanges represents the changes to the rule if the BranchProtection was edited.

func (*ProtectionChanges) GetAdminEnforced

func (p *ProtectionChanges) GetAdminEnforced() *AdminEnforcedChanges

GetAdminEnforced returns the AdminEnforced field.

func (*ProtectionChanges) GetAllowDeletionsEnforcementLevel

func (p *ProtectionChanges) GetAllowDeletionsEnforcementLevel() *AllowDeletionsEnforcementLevelChanges

GetAllowDeletionsEnforcementLevel returns the AllowDeletionsEnforcementLevel field.

func (*ProtectionChanges) GetAuthorizedActorNames

func (p *ProtectionChanges) GetAuthorizedActorNames() *AuthorizedActorNames

GetAuthorizedActorNames returns the AuthorizedActorNames field.

func (*ProtectionChanges) GetAuthorizedActorsOnly

func (p *ProtectionChanges) GetAuthorizedActorsOnly() *AuthorizedActorsOnly

GetAuthorizedActorsOnly returns the AuthorizedActorsOnly field.

func (*ProtectionChanges) GetAuthorizedDismissalActorsOnly

func (p *ProtectionChanges) GetAuthorizedDismissalActorsOnly() *AuthorizedDismissalActorsOnlyChanges

GetAuthorizedDismissalActorsOnly returns the AuthorizedDismissalActorsOnly field.

func (*ProtectionChanges) GetCreateProtected

func (p *ProtectionChanges) GetCreateProtected() *CreateProtectedChanges

GetCreateProtected returns the CreateProtected field.

func (*ProtectionChanges) GetDismissStaleReviewsOnPush

func (p *ProtectionChanges) GetDismissStaleReviewsOnPush() *DismissStaleReviewsOnPushChanges

GetDismissStaleReviewsOnPush returns the DismissStaleReviewsOnPush field.

func (*ProtectionChanges) GetLinearHistoryRequirementEnforcementLevel

func (p *ProtectionChanges) GetLinearHistoryRequirementEnforcementLevel() *LinearHistoryRequirementEnforcementLevelChanges

GetLinearHistoryRequirementEnforcementLevel returns the LinearHistoryRequirementEnforcementLevel field.

func (*ProtectionChanges) GetPullRequestReviewsEnforcementLevel

func (p *ProtectionChanges) GetPullRequestReviewsEnforcementLevel() *PullRequestReviewsEnforcementLevelChanges

GetPullRequestReviewsEnforcementLevel returns the PullRequestReviewsEnforcementLevel field.

func (*ProtectionChanges) GetRequireCodeOwnerReview

func (p *ProtectionChanges) GetRequireCodeOwnerReview() *RequireCodeOwnerReviewChanges

GetRequireCodeOwnerReview returns the RequireCodeOwnerReview field.

func (*ProtectionChanges) GetRequiredConversationResolutionLevel

func (p *ProtectionChanges) GetRequiredConversationResolutionLevel() *RequiredConversationResolutionLevelChanges

GetRequiredConversationResolutionLevel returns the RequiredConversationResolutionLevel field.

func (*ProtectionChanges) GetRequiredDeploymentsEnforcementLevel

func (p *ProtectionChanges) GetRequiredDeploymentsEnforcementLevel() *RequiredDeploymentsEnforcementLevelChanges

GetRequiredDeploymentsEnforcementLevel returns the RequiredDeploymentsEnforcementLevel field.

func (*ProtectionChanges) GetRequiredStatusChecks

func (p *ProtectionChanges) GetRequiredStatusChecks() *RequiredStatusChecksChanges

GetRequiredStatusChecks returns the RequiredStatusChecks field.

func (*ProtectionChanges) GetRequiredStatusChecksEnforcementLevel

func (p *ProtectionChanges) GetRequiredStatusChecksEnforcementLevel() *RequiredStatusChecksEnforcementLevelChanges

GetRequiredStatusChecksEnforcementLevel returns the RequiredStatusChecksEnforcementLevel field.

func (*ProtectionChanges) GetSignatureRequirementEnforcementLevel

func (p *ProtectionChanges) GetSignatureRequirementEnforcementLevel() *SignatureRequirementEnforcementLevelChanges

GetSignatureRequirementEnforcementLevel returns the SignatureRequirementEnforcementLevel field.

type ProtectionRequest

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

ProtectionRequest represents a request to create/edit a branch's protection.

func (*ProtectionRequest) GetAllowDeletions

func (p *ProtectionRequest) GetAllowDeletions() bool

GetAllowDeletions returns the AllowDeletions field if it's non-nil, zero value otherwise.

func (*ProtectionRequest) GetAllowForcePushes

func (p *ProtectionRequest) GetAllowForcePushes() bool

GetAllowForcePushes returns the AllowForcePushes field if it's non-nil, zero value otherwise.

func (*ProtectionRequest) GetRequireLinearHistory

func (p *ProtectionRequest) GetRequireLinearHistory() bool

GetRequireLinearHistory returns the RequireLinearHistory field if it's non-nil, zero value otherwise.

func (*ProtectionRequest) GetRequiredConversationResolution

func (p *ProtectionRequest) GetRequiredConversationResolution() bool

GetRequiredConversationResolution returns the RequiredConversationResolution field if it's non-nil, zero value otherwise.

func (*ProtectionRequest) GetRequiredPullRequestReviews

func (p *ProtectionRequest) GetRequiredPullRequestReviews() *PullRequestReviewsEnforcementRequest

GetRequiredPullRequestReviews returns the RequiredPullRequestReviews field.

func (*ProtectionRequest) GetRequiredStatusChecks

func (p *ProtectionRequest) GetRequiredStatusChecks() *RequiredStatusChecks

GetRequiredStatusChecks returns the RequiredStatusChecks field.

func (*ProtectionRequest) GetRestrictions

func (p *ProtectionRequest) GetRestrictions() *BranchRestrictionsRequest

GetRestrictions returns the Restrictions field.

type ProtectionRule

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

ProtectionRule represents a single protection rule applied to the environment.

func (*ProtectionRule) GetID

func (p *ProtectionRule) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*ProtectionRule) GetNodeID

func (p *ProtectionRule) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*ProtectionRule) GetType

func (p *ProtectionRule) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*ProtectionRule) GetWaitTimer

func (p *ProtectionRule) GetWaitTimer() int

GetWaitTimer returns the WaitTimer field if it's non-nil, zero value otherwise.

type PublicEvent

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

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

func (*PublicEvent) GetInstallation

func (p *PublicEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PublicEvent) GetRepo

func (p *PublicEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PublicEvent) GetSender

func (p *PublicEvent) GetSender() *User

GetSender returns the Sender field.

type PublicKey

type PublicKey struct {
	KeyID *string `json:"key_id"`
	Key   *string `json:"key"`
}

PublicKey represents the public key that should be used to encrypt secrets.

func (*PublicKey) GetKey

func (p *PublicKey) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*PublicKey) GetKeyID

func (p *PublicKey) GetKeyID() string

GetKeyID returns the KeyID field if it's non-nil, zero value otherwise.

func (*PublicKey) UnmarshalJSON

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.

type PullRequest

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

PullRequest represents a GitHub pull request on a repository.

func (*PullRequest) GetActiveLockReason

func (p *PullRequest) GetActiveLockReason() string

GetActiveLockReason returns the ActiveLockReason field if it's non-nil, zero value otherwise.

func (*PullRequest) GetAdditions

func (p *PullRequest) GetAdditions() int

GetAdditions returns the Additions field if it's non-nil, zero value otherwise.

func (*PullRequest) GetAssignee

func (p *PullRequest) GetAssignee() *User

GetAssignee returns the Assignee field.

func (*PullRequest) GetAuthorAssociation

func (p *PullRequest) GetAuthorAssociation() string

GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.

func (*PullRequest) GetAutoMerge

func (p *PullRequest) GetAutoMerge() *PullRequestAutoMerge

GetAutoMerge returns the AutoMerge field.

func (*PullRequest) GetBase

func (p *PullRequest) GetBase() *PullRequestBranch

GetBase returns the Base field.

func (*PullRequest) GetBody

func (p *PullRequest) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*PullRequest) GetChangedFiles

func (p *PullRequest) GetChangedFiles() int

GetChangedFiles returns the ChangedFiles field if it's non-nil, zero value otherwise.

func (*PullRequest) GetClosedAt

func (p *PullRequest) GetClosedAt() time.Time

GetClosedAt returns the ClosedAt field if it's non-nil, zero value otherwise.

func (*PullRequest) GetComments

func (p *PullRequest) GetComments() int

GetComments returns the Comments field if it's non-nil, zero value otherwise.

func (*PullRequest) GetCommentsURL

func (p *PullRequest) GetCommentsURL() string

GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetCommits

func (p *PullRequest) GetCommits() int

GetCommits returns the Commits field if it's non-nil, zero value otherwise.

func (*PullRequest) GetCommitsURL

func (p *PullRequest) GetCommitsURL() string

GetCommitsURL returns the CommitsURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetCreatedAt

func (p *PullRequest) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*PullRequest) GetDeletions

func (p *PullRequest) GetDeletions() int

GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.

func (*PullRequest) GetDiffURL

func (p *PullRequest) GetDiffURL() string

GetDiffURL returns the DiffURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetDraft

func (p *PullRequest) GetDraft() bool

GetDraft returns the Draft field if it's non-nil, zero value otherwise.

func (*PullRequest) GetHTMLURL

func (p *PullRequest) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetHead

func (p *PullRequest) GetHead() *PullRequestBranch

GetHead returns the Head field.

func (*PullRequest) GetID

func (p *PullRequest) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PullRequest) GetIssueURL

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 (*PullRequest) GetLocked

func (p *PullRequest) GetLocked() bool

GetLocked returns the Locked field if it's non-nil, zero value otherwise.

func (*PullRequest) GetMaintainerCanModify

func (p *PullRequest) GetMaintainerCanModify() bool

GetMaintainerCanModify returns the MaintainerCanModify field if it's non-nil, zero value otherwise.

func (*PullRequest) GetMergeCommitSHA

func (p *PullRequest) GetMergeCommitSHA() string

GetMergeCommitSHA returns the MergeCommitSHA field if it's non-nil, zero value otherwise.

func (*PullRequest) GetMergeable

func (p *PullRequest) GetMergeable() bool

GetMergeable returns the Mergeable field if it's non-nil, zero value otherwise.

func (*PullRequest) GetMergeableState

func (p *PullRequest) GetMergeableState() string

GetMergeableState returns the MergeableState field if it's non-nil, zero value otherwise.

func (*PullRequest) GetMerged

func (p *PullRequest) GetMerged() bool

GetMerged returns the Merged field if it's non-nil, zero value otherwise.

func (*PullRequest) GetMergedAt

func (p *PullRequest) GetMergedAt() time.Time

GetMergedAt returns the MergedAt field if it's non-nil, zero value otherwise.

func (*PullRequest) GetMergedBy

func (p *PullRequest) GetMergedBy() *User

GetMergedBy returns the MergedBy field.

func (*PullRequest) GetMilestone

func (p *PullRequest) GetMilestone() *Milestone

GetMilestone returns the Milestone field.

func (*PullRequest) GetNodeID

func (p *PullRequest) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*PullRequest) GetNumber

func (p *PullRequest) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*PullRequest) GetPatchURL

func (p *PullRequest) GetPatchURL() string

GetPatchURL returns the PatchURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetRebaseable

func (p *PullRequest) GetRebaseable() bool

GetRebaseable returns the Rebaseable field if it's non-nil, zero value otherwise.

func (*PullRequest) GetReviewCommentURL

func (p *PullRequest) GetReviewCommentURL() string

GetReviewCommentURL returns the ReviewCommentURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetReviewComments

func (p *PullRequest) GetReviewComments() int

GetReviewComments returns the ReviewComments field if it's non-nil, zero value otherwise.

func (*PullRequest) GetReviewCommentsURL

func (p *PullRequest) GetReviewCommentsURL() string

GetReviewCommentsURL returns the ReviewCommentsURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetState

func (p *PullRequest) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*PullRequest) GetStatusesURL

func (p *PullRequest) GetStatusesURL() string

GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetTitle

func (p *PullRequest) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*PullRequest) GetURL

func (p *PullRequest) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*PullRequest) GetUpdatedAt

func (p *PullRequest) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*PullRequest) GetUser

func (p *PullRequest) GetUser() *User

GetUser returns the User field.

func (PullRequest) String

func (p PullRequest) String() string

type PullRequestAutoMerge

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

PullRequestAutoMerge represents the "auto_merge" response for a PullRequest.

func (*PullRequestAutoMerge) GetCommitMessage

func (p *PullRequestAutoMerge) GetCommitMessage() string

GetCommitMessage returns the CommitMessage field if it's non-nil, zero value otherwise.

func (*PullRequestAutoMerge) GetCommitTitle

func (p *PullRequestAutoMerge) GetCommitTitle() string

GetCommitTitle returns the CommitTitle field if it's non-nil, zero value otherwise.

func (*PullRequestAutoMerge) GetEnabledBy

func (p *PullRequestAutoMerge) GetEnabledBy() *User

GetEnabledBy returns the EnabledBy field.

func (*PullRequestAutoMerge) GetMergeMethod

func (p *PullRequestAutoMerge) GetMergeMethod() string

GetMergeMethod returns the MergeMethod field if it's non-nil, zero value otherwise.

type PullRequestBranch

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

PullRequestBranch represents a base or head branch in a GitHub pull request.

func (*PullRequestBranch) GetLabel

func (p *PullRequestBranch) GetLabel() string

GetLabel returns the Label field if it's non-nil, zero value otherwise.

func (*PullRequestBranch) GetRef

func (p *PullRequestBranch) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*PullRequestBranch) GetRepo

func (p *PullRequestBranch) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PullRequestBranch) GetSHA

func (p *PullRequestBranch) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*PullRequestBranch) GetUser

func (p *PullRequestBranch) GetUser() *User

GetUser returns the User field.

type PullRequestBranchUpdateOptions

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

PullRequestBranchUpdateOptions specifies the optional parameters to the PullRequestsService.UpdateBranch method.

func (*PullRequestBranchUpdateOptions) GetExpectedHeadSHA

func (p *PullRequestBranchUpdateOptions) GetExpectedHeadSHA() string

GetExpectedHeadSHA returns the ExpectedHeadSHA field if it's non-nil, zero value otherwise.

type PullRequestBranchUpdateResponse

type PullRequestBranchUpdateResponse struct {
	Message *string `json:"message,omitempty"`
	URL     *string `json:"url,omitempty"`
}

PullRequestBranchUpdateResponse specifies the response of pull request branch update.

func (*PullRequestBranchUpdateResponse) GetMessage

func (p *PullRequestBranchUpdateResponse) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*PullRequestBranchUpdateResponse) GetURL

GetURL returns the URL field if it's non-nil, zero value otherwise.

type PullRequestComment

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

PullRequestComment represents a comment left on a pull request.

func (*PullRequestComment) GetAuthorAssociation

func (p *PullRequestComment) GetAuthorAssociation() string

GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetBody

func (p *PullRequestComment) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetCommitID

func (p *PullRequestComment) GetCommitID() string

GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetCreatedAt

func (p *PullRequestComment) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetDiffHunk

func (p *PullRequestComment) GetDiffHunk() string

GetDiffHunk returns the DiffHunk field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetHTMLURL

func (p *PullRequestComment) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetID

func (p *PullRequestComment) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetInReplyTo

func (p *PullRequestComment) GetInReplyTo() int64

GetInReplyTo returns the InReplyTo field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetLine

func (p *PullRequestComment) GetLine() int

GetLine returns the Line field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetNodeID

func (p *PullRequestComment) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetOriginalCommitID

func (p *PullRequestComment) GetOriginalCommitID() string

GetOriginalCommitID returns the OriginalCommitID field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetOriginalLine

func (p *PullRequestComment) GetOriginalLine() int

GetOriginalLine returns the OriginalLine field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetOriginalPosition

func (p *PullRequestComment) GetOriginalPosition() int

GetOriginalPosition returns the OriginalPosition field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetOriginalStartLine

func (p *PullRequestComment) GetOriginalStartLine() int

GetOriginalStartLine returns the OriginalStartLine field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetPath

func (p *PullRequestComment) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetPosition

func (p *PullRequestComment) GetPosition() int

GetPosition returns the Position field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetPullRequestReviewID

func (p *PullRequestComment) GetPullRequestReviewID() int64

GetPullRequestReviewID returns the PullRequestReviewID field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetPullRequestURL

func (p *PullRequestComment) GetPullRequestURL() string

GetPullRequestURL returns the PullRequestURL field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetReactions

func (p *PullRequestComment) GetReactions() *Reactions

GetReactions returns the Reactions field.

func (*PullRequestComment) GetSide

func (p *PullRequestComment) GetSide() string

GetSide returns the Side field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetStartLine

func (p *PullRequestComment) GetStartLine() int

GetStartLine returns the StartLine field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetStartSide

func (p *PullRequestComment) GetStartSide() string

GetStartSide returns the StartSide field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetURL

func (p *PullRequestComment) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetUpdatedAt

func (p *PullRequestComment) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*PullRequestComment) GetUser

func (p *PullRequestComment) GetUser() *User

GetUser returns the User field.

func (PullRequestComment) String

func (p PullRequestComment) String() string

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

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

func (*PullRequestEvent) GetAction

func (p *PullRequestEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*PullRequestEvent) GetAfter

func (p *PullRequestEvent) GetAfter() string

GetAfter returns the After field if it's non-nil, zero value otherwise.

func (*PullRequestEvent) GetAssignee

func (p *PullRequestEvent) GetAssignee() *User

GetAssignee returns the Assignee field.

func (*PullRequestEvent) GetBefore

func (p *PullRequestEvent) GetBefore() string

GetBefore returns the Before field if it's non-nil, zero value otherwise.

func (*PullRequestEvent) GetChanges

func (p *PullRequestEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*PullRequestEvent) GetInstallation

func (p *PullRequestEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PullRequestEvent) GetLabel

func (p *PullRequestEvent) GetLabel() *Label

GetLabel returns the Label field.

func (*PullRequestEvent) GetNumber

func (p *PullRequestEvent) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*PullRequestEvent) GetOrganization

func (p *PullRequestEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*PullRequestEvent) GetPullRequest

func (p *PullRequestEvent) GetPullRequest() *PullRequest

GetPullRequest returns the PullRequest field.

func (*PullRequestEvent) GetRepo

func (p *PullRequestEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PullRequestEvent) GetRequestedReviewer

func (p *PullRequestEvent) GetRequestedReviewer() *User

GetRequestedReviewer returns the RequestedReviewer field.

func (*PullRequestEvent) GetRequestedTeam

func (p *PullRequestEvent) GetRequestedTeam() *Team

GetRequestedTeam returns the RequestedTeam field.

func (*PullRequestEvent) GetSender

func (p *PullRequestEvent) GetSender() *User

GetSender returns the Sender field.

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

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.

func (*PullRequestLinks) GetDiffURL

func (p *PullRequestLinks) GetDiffURL() string

GetDiffURL returns the DiffURL field if it's non-nil, zero value otherwise.

func (*PullRequestLinks) GetHTMLURL

func (p *PullRequestLinks) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*PullRequestLinks) GetPatchURL

func (p *PullRequestLinks) GetPatchURL() string

GetPatchURL returns the PatchURL field if it's non-nil, zero value otherwise.

func (*PullRequestLinks) GetURL

func (p *PullRequestLinks) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type PullRequestListCommentsOptions

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
}

PullRequestListCommentsOptions specifies the optional parameters to the PullRequestsService.ListComments method.

type PullRequestListOptions

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
}

PullRequestListOptions specifies the optional parameters to the PullRequestsService.List method.

type PullRequestMergeResult

type PullRequestMergeResult struct {
	SHA     *string `json:"sha,omitempty"`
	Merged  *bool   `json:"merged,omitempty"`
	Message *string `json:"message,omitempty"`
}

PullRequestMergeResult represents the result of merging a pull request.

func (*PullRequestMergeResult) GetMerged

func (p *PullRequestMergeResult) GetMerged() bool

GetMerged returns the Merged field if it's non-nil, zero value otherwise.

func (*PullRequestMergeResult) GetMessage

func (p *PullRequestMergeResult) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*PullRequestMergeResult) GetSHA

func (p *PullRequestMergeResult) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

type PullRequestOptions

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
}

PullRequestOptions lets you define how a pull request will be merged.

type PullRequestReview

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

PullRequestReview represents a review of a pull request.

func (*PullRequestReview) GetAuthorAssociation

func (p *PullRequestReview) GetAuthorAssociation() string

GetAuthorAssociation returns the AuthorAssociation field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetBody

func (p *PullRequestReview) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetCommitID

func (p *PullRequestReview) GetCommitID() string

GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetHTMLURL

func (p *PullRequestReview) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetID

func (p *PullRequestReview) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetNodeID

func (p *PullRequestReview) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetPullRequestURL

func (p *PullRequestReview) GetPullRequestURL() string

GetPullRequestURL returns the PullRequestURL field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetState

func (p *PullRequestReview) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetSubmittedAt

func (p *PullRequestReview) GetSubmittedAt() time.Time

GetSubmittedAt returns the SubmittedAt field if it's non-nil, zero value otherwise.

func (*PullRequestReview) GetUser

func (p *PullRequestReview) GetUser() *User

GetUser returns the User field.

func (PullRequestReview) String

func (p PullRequestReview) String() string

type PullRequestReviewCommentEvent

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

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

func (*PullRequestReviewCommentEvent) GetAction

func (p *PullRequestReviewCommentEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*PullRequestReviewCommentEvent) GetChanges

func (p *PullRequestReviewCommentEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*PullRequestReviewCommentEvent) GetComment

GetComment returns the Comment field.

func (*PullRequestReviewCommentEvent) GetInstallation

func (p *PullRequestReviewCommentEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PullRequestReviewCommentEvent) GetPullRequest

func (p *PullRequestReviewCommentEvent) GetPullRequest() *PullRequest

GetPullRequest returns the PullRequest field.

func (*PullRequestReviewCommentEvent) GetRepo

GetRepo returns the Repo field.

func (*PullRequestReviewCommentEvent) GetSender

func (p *PullRequestReviewCommentEvent) GetSender() *User

GetSender returns the Sender field.

type PullRequestReviewDismissalRequest

type PullRequestReviewDismissalRequest struct {
	Message *string `json:"message,omitempty"`
}

PullRequestReviewDismissalRequest represents a request to dismiss a review.

func (*PullRequestReviewDismissalRequest) GetMessage

func (p *PullRequestReviewDismissalRequest) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (PullRequestReviewDismissalRequest) String

type PullRequestReviewEvent

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

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

func (*PullRequestReviewEvent) GetAction

func (p *PullRequestReviewEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*PullRequestReviewEvent) GetInstallation

func (p *PullRequestReviewEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PullRequestReviewEvent) GetOrganization

func (p *PullRequestReviewEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*PullRequestReviewEvent) GetPullRequest

func (p *PullRequestReviewEvent) GetPullRequest() *PullRequest

GetPullRequest returns the PullRequest field.

func (*PullRequestReviewEvent) GetRepo

func (p *PullRequestReviewEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PullRequestReviewEvent) GetReview

func (p *PullRequestReviewEvent) GetReview() *PullRequestReview

GetReview returns the Review field.

func (*PullRequestReviewEvent) GetSender

func (p *PullRequestReviewEvent) GetSender() *User

GetSender returns the Sender field.

type PullRequestReviewRequest

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

PullRequestReviewRequest represents a request to create a review.

func (*PullRequestReviewRequest) GetBody

func (p *PullRequestReviewRequest) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*PullRequestReviewRequest) GetCommitID

func (p *PullRequestReviewRequest) GetCommitID() string

GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.

func (*PullRequestReviewRequest) GetEvent

func (p *PullRequestReviewRequest) GetEvent() string

GetEvent returns the Event field if it's non-nil, zero value otherwise.

func (*PullRequestReviewRequest) GetNodeID

func (p *PullRequestReviewRequest) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (PullRequestReviewRequest) String

func (r PullRequestReviewRequest) String() string

type PullRequestReviewThreadEvent

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

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

func (*PullRequestReviewThreadEvent) GetAction

func (p *PullRequestReviewThreadEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*PullRequestReviewThreadEvent) GetInstallation

func (p *PullRequestReviewThreadEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PullRequestReviewThreadEvent) GetPullRequest

func (p *PullRequestReviewThreadEvent) GetPullRequest() *PullRequest

GetPullRequest returns the PullRequest field.

func (*PullRequestReviewThreadEvent) GetRepo

GetRepo returns the Repo field.

func (*PullRequestReviewThreadEvent) GetSender

func (p *PullRequestReviewThreadEvent) GetSender() *User

GetSender returns the Sender field.

func (*PullRequestReviewThreadEvent) GetThread

GetThread returns the Thread field.

type PullRequestReviewsEnforcement

type PullRequestReviewsEnforcement struct {
	// Allow specific users, teams, or apps to bypass pull request requirements.
	BypassPullRequestAllowances *BypassPullRequestAllowances `json:"bypass_pull_request_allowances,omitempty"`
	// Specifies which users, teams and apps 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"`
	// RequireLastPushApproval specifies whether the last pusher to a pull request branch can approve it.
	RequireLastPushApproval bool `json:"require_last_push_approval"`
}

PullRequestReviewsEnforcement represents the pull request reviews enforcement of a protected branch.

func (*PullRequestReviewsEnforcement) GetBypassPullRequestAllowances

func (p *PullRequestReviewsEnforcement) GetBypassPullRequestAllowances() *BypassPullRequestAllowances

GetBypassPullRequestAllowances returns the BypassPullRequestAllowances field.

func (*PullRequestReviewsEnforcement) GetDismissalRestrictions

func (p *PullRequestReviewsEnforcement) GetDismissalRestrictions() *DismissalRestrictions

GetDismissalRestrictions returns the DismissalRestrictions field.

type PullRequestReviewsEnforcementLevelChanges

type PullRequestReviewsEnforcementLevelChanges struct {
	From *string `json:"from,omitempty"`
}

PullRequestReviewsEnforcementLevelChanges represents the changes made to the PullRequestReviewsEnforcementLevel policy.

func (*PullRequestReviewsEnforcementLevelChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type PullRequestReviewsEnforcementRequest

type PullRequestReviewsEnforcementRequest struct {
	// Allow specific users, teams, or apps to bypass pull request requirements.
	BypassPullRequestAllowancesRequest *BypassPullRequestAllowancesRequest `json:"bypass_pull_request_allowances,omitempty"`
	// Specifies which users, teams and apps should be allowed to dismiss pull request reviews.
	// User, team and app 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"`
}

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.

func (*PullRequestReviewsEnforcementRequest) GetBypassPullRequestAllowancesRequest

func (p *PullRequestReviewsEnforcementRequest) GetBypassPullRequestAllowancesRequest() *BypassPullRequestAllowancesRequest

GetBypassPullRequestAllowancesRequest returns the BypassPullRequestAllowancesRequest field.

func (*PullRequestReviewsEnforcementRequest) GetDismissalRestrictionsRequest

func (p *PullRequestReviewsEnforcementRequest) GetDismissalRestrictionsRequest() *DismissalRestrictionsRequest

GetDismissalRestrictionsRequest returns the DismissalRestrictionsRequest field.

type PullRequestReviewsEnforcementUpdate

type PullRequestReviewsEnforcementUpdate struct {
	// Allow specific users, teams, or apps to bypass pull request requirements.
	BypassPullRequestAllowancesRequest *BypassPullRequestAllowancesRequest `json:"bypass_pull_request_allowances,omitempty"`
	// Specifies which users, teams and apps 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"`
	// RequireLastPushApproval specifies whether the last pusher to a pull request branch can approve it.
	RequireLastPushApproval *bool `json:"require_last_push_approval,omitempty"`
}

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.

func (*PullRequestReviewsEnforcementUpdate) GetBypassPullRequestAllowancesRequest

func (p *PullRequestReviewsEnforcementUpdate) GetBypassPullRequestAllowancesRequest() *BypassPullRequestAllowancesRequest

GetBypassPullRequestAllowancesRequest returns the BypassPullRequestAllowancesRequest field.

func (*PullRequestReviewsEnforcementUpdate) GetDismissStaleReviews

func (p *PullRequestReviewsEnforcementUpdate) GetDismissStaleReviews() bool

GetDismissStaleReviews returns the DismissStaleReviews field if it's non-nil, zero value otherwise.

func (*PullRequestReviewsEnforcementUpdate) GetDismissalRestrictionsRequest

func (p *PullRequestReviewsEnforcementUpdate) GetDismissalRestrictionsRequest() *DismissalRestrictionsRequest

GetDismissalRestrictionsRequest returns the DismissalRestrictionsRequest field.

func (*PullRequestReviewsEnforcementUpdate) GetRequireCodeOwnerReviews

func (p *PullRequestReviewsEnforcementUpdate) GetRequireCodeOwnerReviews() bool

GetRequireCodeOwnerReviews returns the RequireCodeOwnerReviews field if it's non-nil, zero value otherwise.

func (*PullRequestReviewsEnforcementUpdate) GetRequireLastPushApproval

func (p *PullRequestReviewsEnforcementUpdate) GetRequireLastPushApproval() bool

GetRequireLastPushApproval returns the RequireLastPushApproval field if it's non-nil, zero value otherwise.

type PullRequestTargetEvent

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

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

func (*PullRequestTargetEvent) GetAction

func (p *PullRequestTargetEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*PullRequestTargetEvent) GetAfter

func (p *PullRequestTargetEvent) GetAfter() string

GetAfter returns the After field if it's non-nil, zero value otherwise.

func (*PullRequestTargetEvent) GetAssignee

func (p *PullRequestTargetEvent) GetAssignee() *User

GetAssignee returns the Assignee field.

func (*PullRequestTargetEvent) GetBefore

func (p *PullRequestTargetEvent) GetBefore() string

GetBefore returns the Before field if it's non-nil, zero value otherwise.

func (*PullRequestTargetEvent) GetChanges

func (p *PullRequestTargetEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*PullRequestTargetEvent) GetInstallation

func (p *PullRequestTargetEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PullRequestTargetEvent) GetLabel

func (p *PullRequestTargetEvent) GetLabel() *Label

GetLabel returns the Label field.

func (*PullRequestTargetEvent) GetNumber

func (p *PullRequestTargetEvent) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*PullRequestTargetEvent) GetOrganization

func (p *PullRequestTargetEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*PullRequestTargetEvent) GetPullRequest

func (p *PullRequestTargetEvent) GetPullRequest() *PullRequest

GetPullRequest returns the PullRequest field.

func (*PullRequestTargetEvent) GetRepo

func (p *PullRequestTargetEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*PullRequestTargetEvent) GetRequestedReviewer

func (p *PullRequestTargetEvent) GetRequestedReviewer() *User

GetRequestedReviewer returns the RequestedReviewer field.

func (*PullRequestTargetEvent) GetRequestedTeam

func (p *PullRequestTargetEvent) GetRequestedTeam() *Team

GetRequestedTeam returns the RequestedTeam field.

func (*PullRequestTargetEvent) GetSender

func (p *PullRequestTargetEvent) GetSender() *User

GetSender returns the Sender field.

type PullRequestThread

type PullRequestThread struct {
	ID       *int64                `json:"id,omitempty"`
	NodeID   *string               `json:"node_id,omitempty"`
	Comments []*PullRequestComment `json:"comments,omitempty"`
}

PullRequestThread represents a thread of comments on a pull request.

func (*PullRequestThread) GetID

func (p *PullRequestThread) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PullRequestThread) GetNodeID

func (p *PullRequestThread) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (PullRequestThread) String

func (p PullRequestThread) String() string

type PullRequestsService

type PullRequestsService service

PullRequestsService handles communication with the pull request related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/pulls/

func (*PullRequestsService) Create

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
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v49/github"
)

func main() {
	// In this example we're creating a PR and displaying the HTML url at the end.

	// Note that authentication is needed here as you are performing a modification
	// so you will need to modify the example to provide an oauth client to
	// github.NewClient() instead of nil. See the following documentation for more
	// information on how to authenticate with the client:
	// https://godoc.org/github.com/google/go-github/github#hdr-Authentication
	client := github.NewClient(nil)

	newPR := &github.NewPullRequest{
		Title:               github.String("My awesome pull request"),
		Head:                github.String("branch_to_merge"),
		Base:                github.String("master"),
		Body:                github.String("This is the description of the PR created with the package `github.com/google/go-github/github`"),
		MaintainerCanModify: github.Bool(true),
	}

	ctx := context.Background()
	pr, _, err := client.PullRequests.Create(ctx, "myOrganization", "myRepository", newPR)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Printf("PR created: %s\n", pr.GetHTMLURL())
}
Output:

func (*PullRequestsService) CreateComment

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 (*PullRequestsService) CreateCommentInReplyTo

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 (*PullRequestsService) CreateReview

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 (*PullRequestsService) DeleteComment

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 (*PullRequestsService) DeletePendingReview

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 (*PullRequestsService) DismissReview

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 (*PullRequestsService) Edit

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 (*PullRequestsService) EditComment

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 (*PullRequestsService) Get

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 (*PullRequestsService) GetComment

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 (*PullRequestsService) GetRaw

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 (*PullRequestsService) GetReview

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 (*PullRequestsService) IsMerged

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 (*PullRequestsService) List

List the pull requests for the specified repository.

GitHub API docs: https://docs.github.com/en/rest/pulls/pulls#list-pull-requests

func (*PullRequestsService) ListComments

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 (*PullRequestsService) ListCommits

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 (*PullRequestsService) ListFiles

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 (*PullRequestsService) ListPullRequestsWithCommit

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 (*PullRequestsService) ListReviewComments

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 (*PullRequestsService) ListReviewers

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 (*PullRequestsService) ListReviews

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 (*PullRequestsService) Merge

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 (*PullRequestsService) RemoveReviewers

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 (*PullRequestsService) RequestReviewers

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 (*PullRequestsService) SubmitReview

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 (*PullRequestsService) UpdateBranch

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 (*PullRequestsService) UpdateReview

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

type PullStats

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

PullStats represents the number of total, merged, mergable and unmergeable pull-requests.

func (*PullStats) GetMergablePulls

func (p *PullStats) GetMergablePulls() int

GetMergablePulls returns the MergablePulls field if it's non-nil, zero value otherwise.

func (*PullStats) GetMergedPulls

func (p *PullStats) GetMergedPulls() int

GetMergedPulls returns the MergedPulls field if it's non-nil, zero value otherwise.

func (*PullStats) GetTotalPulls

func (p *PullStats) GetTotalPulls() int

GetTotalPulls returns the TotalPulls field if it's non-nil, zero value otherwise.

func (*PullStats) GetUnmergablePulls

func (p *PullStats) GetUnmergablePulls() int

GetUnmergablePulls returns the UnmergablePulls field if it's non-nil, zero value otherwise.

func (PullStats) String

func (s PullStats) String() string

type PunchCard

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.
}

PunchCard represents the number of commits made during a given hour of a day of the week.

func (*PunchCard) GetCommits

func (p *PunchCard) GetCommits() int

GetCommits returns the Commits field if it's non-nil, zero value otherwise.

func (*PunchCard) GetDay

func (p *PunchCard) GetDay() int

GetDay returns the Day field if it's non-nil, zero value otherwise.

func (*PunchCard) GetHour

func (p *PunchCard) GetHour() int

GetHour returns the Hour field if it's non-nil, zero value otherwise.

type PushEvent

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

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

func (*PushEvent) GetAction

func (p *PushEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*PushEvent) GetAfter

func (p *PushEvent) GetAfter() string

GetAfter returns the After field if it's non-nil, zero value otherwise.

func (*PushEvent) GetBaseRef

func (p *PushEvent) GetBaseRef() string

GetBaseRef returns the BaseRef field if it's non-nil, zero value otherwise.

func (*PushEvent) GetBefore

func (p *PushEvent) GetBefore() string

GetBefore returns the Before field if it's non-nil, zero value otherwise.

func (*PushEvent) GetCompare

func (p *PushEvent) GetCompare() string

GetCompare returns the Compare field if it's non-nil, zero value otherwise.

func (*PushEvent) GetCreated

func (p *PushEvent) GetCreated() bool

GetCreated returns the Created field if it's non-nil, zero value otherwise.

func (*PushEvent) GetDeleted

func (p *PushEvent) GetDeleted() bool

GetDeleted returns the Deleted field if it's non-nil, zero value otherwise.

func (*PushEvent) GetDistinctSize

func (p *PushEvent) GetDistinctSize() int

GetDistinctSize returns the DistinctSize field if it's non-nil, zero value otherwise.

func (*PushEvent) GetForced

func (p *PushEvent) GetForced() bool

GetForced returns the Forced field if it's non-nil, zero value otherwise.

func (*PushEvent) GetHead

func (p *PushEvent) GetHead() string

GetHead returns the Head field if it's non-nil, zero value otherwise.

func (*PushEvent) GetHeadCommit

func (p *PushEvent) GetHeadCommit() *HeadCommit

GetHeadCommit returns the HeadCommit field.

func (*PushEvent) GetInstallation

func (p *PushEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*PushEvent) GetOrganization

func (p *PushEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*PushEvent) GetPushID

func (p *PushEvent) GetPushID() int64

GetPushID returns the PushID field if it's non-nil, zero value otherwise.

func (*PushEvent) GetPusher

func (p *PushEvent) GetPusher() *User

GetPusher returns the Pusher field.

func (*PushEvent) GetRef

func (p *PushEvent) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*PushEvent) GetRepo

func (p *PushEvent) GetRepo() *PushEventRepository

GetRepo returns the Repo field.

func (*PushEvent) GetSender

func (p *PushEvent) GetSender() *User

GetSender returns the Sender field.

func (*PushEvent) GetSize

func (p *PushEvent) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (PushEvent) String

func (p PushEvent) String() string

type PushEventRepoOwner

type PushEventRepoOwner struct {
	Name  *string `json:"name,omitempty"`
	Email *string `json:"email,omitempty"`
}

PushEventRepoOwner is a basic representation of user/org in a PushEvent payload.

func (*PushEventRepoOwner) GetEmail

func (p *PushEventRepoOwner) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*PushEventRepoOwner) GetName

func (p *PushEventRepoOwner) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

type PushEventRepository

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

PushEventRepository represents the repo object in a PushEvent payload.

func (*PushEventRepository) GetArchiveURL

func (p *PushEventRepository) GetArchiveURL() string

GetArchiveURL returns the ArchiveURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetArchived

func (p *PushEventRepository) GetArchived() bool

GetArchived returns the Archived field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetCloneURL

func (p *PushEventRepository) GetCloneURL() string

GetCloneURL returns the CloneURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetCreatedAt

func (p *PushEventRepository) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetDefaultBranch

func (p *PushEventRepository) GetDefaultBranch() string

GetDefaultBranch returns the DefaultBranch field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetDescription

func (p *PushEventRepository) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetDisabled

func (p *PushEventRepository) GetDisabled() bool

GetDisabled returns the Disabled field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetFork

func (p *PushEventRepository) GetFork() bool

GetFork returns the Fork field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetForksCount

func (p *PushEventRepository) GetForksCount() int

GetForksCount returns the ForksCount field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetFullName

func (p *PushEventRepository) GetFullName() string

GetFullName returns the FullName field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetGitURL

func (p *PushEventRepository) GetGitURL() string

GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetHTMLURL

func (p *PushEventRepository) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetHasDownloads

func (p *PushEventRepository) GetHasDownloads() bool

GetHasDownloads returns the HasDownloads field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetHasIssues

func (p *PushEventRepository) GetHasIssues() bool

GetHasIssues returns the HasIssues field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetHasPages

func (p *PushEventRepository) GetHasPages() bool

GetHasPages returns the HasPages field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetHasWiki

func (p *PushEventRepository) GetHasWiki() bool

GetHasWiki returns the HasWiki field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetHomepage

func (p *PushEventRepository) GetHomepage() string

GetHomepage returns the Homepage field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetID

func (p *PushEventRepository) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetLanguage

func (p *PushEventRepository) GetLanguage() string

GetLanguage returns the Language field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetMasterBranch

func (p *PushEventRepository) GetMasterBranch() string

GetMasterBranch returns the MasterBranch field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetName

func (p *PushEventRepository) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetNodeID

func (p *PushEventRepository) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetOpenIssuesCount

func (p *PushEventRepository) GetOpenIssuesCount() int

GetOpenIssuesCount returns the OpenIssuesCount field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetOrganization

func (p *PushEventRepository) GetOrganization() string

GetOrganization returns the Organization field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetOwner

func (p *PushEventRepository) GetOwner() *User

GetOwner returns the Owner field.

func (*PushEventRepository) GetPrivate

func (p *PushEventRepository) GetPrivate() bool

GetPrivate returns the Private field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetPullsURL

func (p *PushEventRepository) GetPullsURL() string

GetPullsURL returns the PullsURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetPushedAt

func (p *PushEventRepository) GetPushedAt() Timestamp

GetPushedAt returns the PushedAt field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetSSHURL

func (p *PushEventRepository) GetSSHURL() string

GetSSHURL returns the SSHURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetSVNURL

func (p *PushEventRepository) GetSVNURL() string

GetSVNURL returns the SVNURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetSize

func (p *PushEventRepository) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetStargazersCount

func (p *PushEventRepository) GetStargazersCount() int

GetStargazersCount returns the StargazersCount field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetStatusesURL

func (p *PushEventRepository) GetStatusesURL() string

GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetURL

func (p *PushEventRepository) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetUpdatedAt

func (p *PushEventRepository) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*PushEventRepository) GetWatchersCount

func (p *PushEventRepository) GetWatchersCount() int

GetWatchersCount returns the WatchersCount field if it's non-nil, zero value otherwise.

type Rate

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

Rate represents the rate limit for the current client.

func (Rate) String

func (r Rate) String() string

type RateLimitError

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
}

RateLimitError occurs when GitHub returns 403 Forbidden response with a rate limit remaining value of 0.

func (*RateLimitError) Error

func (r *RateLimitError) Error() string

func (*RateLimitError) Is

func (r *RateLimitError) Is(target error) bool

Is returns whether the provided error equals this error.

type RateLimits

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

RateLimits represents the rate limits for the current client.

func (*RateLimits) GetActionsRunnerRegistration

func (r *RateLimits) GetActionsRunnerRegistration() *Rate

GetActionsRunnerRegistration returns the ActionsRunnerRegistration field.

func (*RateLimits) GetCodeScanningUpload

func (r *RateLimits) GetCodeScanningUpload() *Rate

GetCodeScanningUpload returns the CodeScanningUpload field.

func (*RateLimits) GetCore

func (r *RateLimits) GetCore() *Rate

GetCore returns the Core field.

func (*RateLimits) GetGraphQL

func (r *RateLimits) GetGraphQL() *Rate

GetGraphQL returns the GraphQL field.

func (*RateLimits) GetIntegrationManifest

func (r *RateLimits) GetIntegrationManifest() *Rate

GetIntegrationManifest returns the IntegrationManifest field.

func (*RateLimits) GetSCIM

func (r *RateLimits) GetSCIM() *Rate

GetSCIM returns the SCIM field.

func (*RateLimits) GetSearch

func (r *RateLimits) GetSearch() *Rate

GetSearch returns the Search field.

func (*RateLimits) GetSourceImport

func (r *RateLimits) GetSourceImport() *Rate

GetSourceImport returns the SourceImport field.

func (RateLimits) String

func (r RateLimits) String() string

type RawOptions

type RawOptions struct {
	Type RawType
}

RawOptions specifies parameters when user wants to get raw format of a response instead of JSON.

type RawType

type RawType uint8

RawType represents type of raw format of a request instead of JSON.

const (
	// Diff format.
	Diff RawType = 1 + iota
	// Patch format.
	Patch
)

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

Reaction represents a GitHub reaction.

func (*Reaction) GetContent

func (r *Reaction) GetContent() string

GetContent returns the Content field if it's non-nil, zero value otherwise.

func (*Reaction) GetID

func (r *Reaction) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Reaction) GetNodeID

func (r *Reaction) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Reaction) GetUser

func (r *Reaction) GetUser() *User

GetUser returns the User field.

func (Reaction) String

func (r Reaction) String() string

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

Reactions represents a summary of GitHub reactions.

func (*Reactions) GetConfused

func (r *Reactions) GetConfused() int

GetConfused returns the Confused field if it's non-nil, zero value otherwise.

func (*Reactions) GetEyes

func (r *Reactions) GetEyes() int

GetEyes returns the Eyes field if it's non-nil, zero value otherwise.

func (*Reactions) GetHeart

func (r *Reactions) GetHeart() int

GetHeart returns the Heart field if it's non-nil, zero value otherwise.

func (*Reactions) GetHooray

func (r *Reactions) GetHooray() int

GetHooray returns the Hooray field if it's non-nil, zero value otherwise.

func (*Reactions) GetLaugh

func (r *Reactions) GetLaugh() int

GetLaugh returns the Laugh field if it's non-nil, zero value otherwise.

func (*Reactions) GetMinusOne

func (r *Reactions) GetMinusOne() int

GetMinusOne returns the MinusOne field if it's non-nil, zero value otherwise.

func (*Reactions) GetPlusOne

func (r *Reactions) GetPlusOne() int

GetPlusOne returns the PlusOne field if it's non-nil, zero value otherwise.

func (*Reactions) GetRocket

func (r *Reactions) GetRocket() int

GetRocket returns the Rocket field if it's non-nil, zero value otherwise.

func (*Reactions) GetTotalCount

func (r *Reactions) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

func (*Reactions) GetURL

func (r *Reactions) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type ReactionsService

type ReactionsService service

ReactionsService provides access to the reactions-related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/reactions

func (*ReactionsService) CreateCommentReaction

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 (*ReactionsService) CreateIssueCommentReaction

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 (*ReactionsService) CreateIssueReaction

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 (*ReactionsService) CreatePullRequestCommentReaction

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 (*ReactionsService) CreateReleaseReaction

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 (*ReactionsService) CreateTeamDiscussionCommentReaction

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 (*ReactionsService) CreateTeamDiscussionReaction

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 (*ReactionsService) DeleteCommentReaction

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 (*ReactionsService) DeleteCommentReactionByID

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 (*ReactionsService) DeleteIssueCommentReaction

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 (*ReactionsService) DeleteIssueCommentReactionByID

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 (*ReactionsService) DeleteIssueReaction

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 (*ReactionsService) DeleteIssueReactionByID

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 (*ReactionsService) DeletePullRequestCommentReaction

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 (*ReactionsService) DeletePullRequestCommentReactionByID

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 (*ReactionsService) DeleteTeamDiscussionCommentReaction

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 (*ReactionsService) DeleteTeamDiscussionCommentReactionByOrgIDAndTeamID

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 (*ReactionsService) DeleteTeamDiscussionReaction

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 (*ReactionsService) DeleteTeamDiscussionReactionByOrgIDAndTeamID

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 (*ReactionsService) ListCommentReactions

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 (*ReactionsService) ListIssueCommentReactions

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 (*ReactionsService) ListIssueReactions

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 (*ReactionsService) ListPullRequestCommentReactions

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 (*ReactionsService) ListTeamDiscussionCommentReactions

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 (*ReactionsService) ListTeamDiscussionReactions

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

type Reference

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

Reference represents a GitHub reference.

func (*Reference) GetNodeID

func (r *Reference) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Reference) GetObject

func (r *Reference) GetObject() *GitObject

GetObject returns the Object field.

func (*Reference) GetRef

func (r *Reference) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*Reference) GetURL

func (r *Reference) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (Reference) String

func (r Reference) String() string

type ReferenceListOptions

type ReferenceListOptions struct {
	Ref string `url:"-"`

	ListOptions
}

ReferenceListOptions specifies optional parameters to the GitService.ListMatchingRefs method.

type RegistrationToken

type RegistrationToken struct {
	Token     *string    `json:"token,omitempty"`
	ExpiresAt *Timestamp `json:"expires_at,omitempty"`
}

RegistrationToken represents a token that can be used to add a self-hosted runner to a repository.

func (*RegistrationToken) GetExpiresAt

func (r *RegistrationToken) GetExpiresAt() Timestamp

GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.

func (*RegistrationToken) GetToken

func (r *RegistrationToken) GetToken() string

GetToken returns the Token field if it's non-nil, zero value otherwise.

type ReleaseAsset

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

ReleaseAsset represents a GitHub release asset in a repository.

func (*ReleaseAsset) GetBrowserDownloadURL

func (r *ReleaseAsset) GetBrowserDownloadURL() string

GetBrowserDownloadURL returns the BrowserDownloadURL field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetContentType

func (r *ReleaseAsset) GetContentType() string

GetContentType returns the ContentType field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetCreatedAt

func (r *ReleaseAsset) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetDownloadCount

func (r *ReleaseAsset) GetDownloadCount() int

GetDownloadCount returns the DownloadCount field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetID

func (r *ReleaseAsset) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetLabel

func (r *ReleaseAsset) GetLabel() string

GetLabel returns the Label field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetName

func (r *ReleaseAsset) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetNodeID

func (r *ReleaseAsset) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetSize

func (r *ReleaseAsset) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetState

func (r *ReleaseAsset) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetURL

func (r *ReleaseAsset) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetUpdatedAt

func (r *ReleaseAsset) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*ReleaseAsset) GetUploader

func (r *ReleaseAsset) GetUploader() *User

GetUploader returns the Uploader field.

func (ReleaseAsset) String

func (r ReleaseAsset) String() string

type ReleaseEvent

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

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

func (*ReleaseEvent) GetAction

func (r *ReleaseEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*ReleaseEvent) GetInstallation

func (r *ReleaseEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*ReleaseEvent) GetRelease

func (r *ReleaseEvent) GetRelease() *RepositoryRelease

GetRelease returns the Release field.

func (*ReleaseEvent) GetRepo

func (r *ReleaseEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*ReleaseEvent) GetSender

func (r *ReleaseEvent) GetSender() *User

GetSender returns the Sender field.

type RemoveToken

type RemoveToken struct {
	Token     *string    `json:"token,omitempty"`
	ExpiresAt *Timestamp `json:"expires_at,omitempty"`
}

RemoveToken represents a token that can be used to remove a self-hosted runner from a repository.

func (*RemoveToken) GetExpiresAt

func (r *RemoveToken) GetExpiresAt() Timestamp

GetExpiresAt returns the ExpiresAt field if it's non-nil, zero value otherwise.

func (*RemoveToken) GetToken

func (r *RemoveToken) GetToken() string

GetToken returns the Token field if it's non-nil, zero value otherwise.

type Rename

type Rename struct {
	From *string `json:"from,omitempty"`
	To   *string `json:"to,omitempty"`
}

Rename contains details for 'renamed' events.

func (*Rename) GetFrom

func (r *Rename) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

func (*Rename) GetTo

func (r *Rename) GetTo() string

GetTo returns the To field if it's non-nil, zero value otherwise.

func (Rename) String

func (r Rename) String() string

type RenameOrgResponse

type RenameOrgResponse struct {
	Message *string `json:"message,omitempty"`
	URL     *string `json:"url,omitempty"`
}

RenameOrgResponse is the response given when renaming an Organization.

func (*RenameOrgResponse) GetMessage

func (r *RenameOrgResponse) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*RenameOrgResponse) GetURL

func (r *RenameOrgResponse) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type RepoMergeUpstreamRequest

type RepoMergeUpstreamRequest struct {
	Branch *string `json:"branch,omitempty"`
}

RepoMergeUpstreamRequest represents a request to sync a branch of a forked repository to keep it up-to-date with the upstream repository.

func (*RepoMergeUpstreamRequest) GetBranch

func (r *RepoMergeUpstreamRequest) GetBranch() string

GetBranch returns the Branch field if it's non-nil, zero value otherwise.

type RepoMergeUpstreamResult

type RepoMergeUpstreamResult struct {
	Message    *string `json:"message,omitempty"`
	MergeType  *string `json:"merge_type,omitempty"`
	BaseBranch *string `json:"base_branch,omitempty"`
}

RepoMergeUpstreamResult represents the result of syncing a branch of a forked repository with the upstream repository.

func (*RepoMergeUpstreamResult) GetBaseBranch

func (r *RepoMergeUpstreamResult) GetBaseBranch() string

GetBaseBranch returns the BaseBranch field if it's non-nil, zero value otherwise.

func (*RepoMergeUpstreamResult) GetMergeType

func (r *RepoMergeUpstreamResult) GetMergeType() string

GetMergeType returns the MergeType field if it's non-nil, zero value otherwise.

func (*RepoMergeUpstreamResult) GetMessage

func (r *RepoMergeUpstreamResult) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

type RepoName

type RepoName struct {
	From *string `json:"from,omitempty"`
}

RepoName represents a change of repository name.

func (*RepoName) GetFrom

func (r *RepoName) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type RepoStats

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

RepoStats represents the number of total, root, fork, organization repositories together with the total number of pushes and wikis.

func (*RepoStats) GetForkRepos

func (r *RepoStats) GetForkRepos() int

GetForkRepos returns the ForkRepos field if it's non-nil, zero value otherwise.

func (*RepoStats) GetOrgRepos

func (r *RepoStats) GetOrgRepos() int

GetOrgRepos returns the OrgRepos field if it's non-nil, zero value otherwise.

func (*RepoStats) GetRootRepos

func (r *RepoStats) GetRootRepos() int

GetRootRepos returns the RootRepos field if it's non-nil, zero value otherwise.

func (*RepoStats) GetTotalPushes

func (r *RepoStats) GetTotalPushes() int

GetTotalPushes returns the TotalPushes field if it's non-nil, zero value otherwise.

func (*RepoStats) GetTotalRepos

func (r *RepoStats) GetTotalRepos() int

GetTotalRepos returns the TotalRepos field if it's non-nil, zero value otherwise.

func (*RepoStats) GetTotalWikis

func (r *RepoStats) GetTotalWikis() int

GetTotalWikis returns the TotalWikis field if it's non-nil, zero value otherwise.

func (RepoStats) String

func (s RepoStats) String() string

type RepoStatus

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

RepoStatus represents the status of a repository at a particular reference.

func (*RepoStatus) GetAvatarURL

func (r *RepoStatus) GetAvatarURL() string

GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetContext

func (r *RepoStatus) GetContext() string

GetContext returns the Context field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetCreatedAt

func (r *RepoStatus) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetCreator

func (r *RepoStatus) GetCreator() *User

GetCreator returns the Creator field.

func (*RepoStatus) GetDescription

func (r *RepoStatus) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetID

func (r *RepoStatus) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetNodeID

func (r *RepoStatus) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetState

func (r *RepoStatus) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetTargetURL

func (r *RepoStatus) GetTargetURL() string

GetTargetURL returns the TargetURL field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetURL

func (r *RepoStatus) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*RepoStatus) GetUpdatedAt

func (r *RepoStatus) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (RepoStatus) String

func (r RepoStatus) String() string

type RepositoriesSearchResult

type RepositoriesSearchResult struct {
	Total             *int          `json:"total_count,omitempty"`
	IncompleteResults *bool         `json:"incomplete_results,omitempty"`
	Repositories      []*Repository `json:"items,omitempty"`
}

RepositoriesSearchResult represents the result of a repositories search.

func (*RepositoriesSearchResult) GetIncompleteResults

func (r *RepositoriesSearchResult) GetIncompleteResults() bool

GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.

func (*RepositoriesSearchResult) GetTotal

func (r *RepositoriesSearchResult) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type RepositoriesService

type RepositoriesService service

RepositoriesService handles communication with the repository related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/repos/

func (*RepositoriesService) AddAdminEnforcement

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 (*RepositoriesService) AddAppRestrictions

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 (*RepositoriesService) AddCollaborator

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 (*RepositoriesService) CompareCommits

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 (*RepositoriesService) CompareCommitsRaw

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 (*RepositoriesService) Create

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 (*RepositoriesService) CreateComment

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 (*RepositoriesService) CreateDeployment

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 (*RepositoriesService) CreateDeploymentStatus

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 (*RepositoriesService) CreateFile

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
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v49/github"
)

func main() {
	// In this example we're creating a new file in a repository using the
	// Contents API. Only 1 file per commit can be managed through that API.

	// Note that authentication is needed here as you are performing a modification
	// so you will need to modify the example to provide an oauth client to
	// github.NewClient() instead of nil. See the following documentation for more
	// information on how to authenticate with the client:
	// https://godoc.org/github.com/google/go-github/github#hdr-Authentication
	client := github.NewClient(nil)

	ctx := context.Background()
	fileContent := []byte("This is the content of my file\nand the 2nd line of it")

	// Note: the file needs to be absent from the repository as you are not
	// specifying a SHA reference here.
	opts := &github.RepositoryContentFileOptions{
		Message:   github.String("This is my commit message"),
		Content:   fileContent,
		Branch:    github.String("master"),
		Committer: &github.CommitAuthor{Name: github.String("FirstName LastName"), Email: github.String("user@example.com")},
	}
	_, _, err := client.Repositories.CreateFile(ctx, "myOrganization", "myRepository", "myNewFile.md", opts)
	if err != nil {
		fmt.Println(err)
		return
	}
}
Output:

func (*RepositoriesService) CreateFork

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 (*RepositoriesService) CreateFromTemplate

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 (*RepositoriesService) CreateHook

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 (*RepositoriesService) CreateKey

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 (*RepositoriesService) CreateProject

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 (*RepositoriesService) CreateRelease

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 (*RepositoriesService) CreateStatus

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 (*RepositoriesService) CreateTagProtection

func (s *RepositoriesService) CreateTagProtection(ctx context.Context, owner, repo, pattern string) (*TagProtection, *Response, error)

CreateTagProtection creates the tag protection of the specified repository.

GitHub API docs: https://docs.github.com/en/rest/repos/tags#create-a-tag-protection-state-for-a-repository

func (*RepositoriesService) CreateUpdateEnvironment

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 (*RepositoriesService) Delete

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 (*RepositoriesService) DeleteComment

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 (*RepositoriesService) DeleteDeployment

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 (*RepositoriesService) DeleteEnvironment

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 (*RepositoriesService) DeleteFile

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 (*RepositoriesService) DeleteHook

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 (*RepositoriesService) DeleteInvitation

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 (*RepositoriesService) DeleteKey

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 (*RepositoriesService) DeletePreReceiveHook

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 (*RepositoriesService) DeleteRelease

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 (*RepositoriesService) DeleteReleaseAsset

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 (*RepositoriesService) DeleteTagProtection

func (s *RepositoriesService) DeleteTagProtection(ctx context.Context, owner, repo string, tagProtectionID int64) (*Response, error)

DeleteTagProtection deletes a tag protection from the specified repository.

GitHub API docs: https://docs.github.com/en/rest/repos/tags#delete-a-tag-protection-state-for-a-repository

func (*RepositoriesService) DisableAutomatedSecurityFixes

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 (*RepositoriesService) DisableDismissalRestrictions

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 (*RepositoriesService) DisableLFS

func (s *RepositoriesService) DisableLFS(ctx context.Context, owner, repo string) (*Response, error)

DisableLFS turns the LFS (Large File Storage) feature OFF for the selected repo.

GitHub API docs: https://docs.github.com/en/rest/repos/lfs#disable-git-lfs-for-a-repository

func (*RepositoriesService) DisablePages

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 (*RepositoriesService) DisableVulnerabilityAlerts

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 (*RepositoriesService) Dispatch

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 (*RepositoriesService) DownloadContents

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 (*RepositoriesService) DownloadContentsWithMeta

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 (*RepositoriesService) DownloadReleaseAsset

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 (*RepositoriesService) Edit

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 (*RepositoriesService) EditActionsAccessLevel

func (s *RepositoriesService) EditActionsAccessLevel(ctx context.Context, owner, repo string, repositoryActionsAccessLevel RepositoryActionsAccessLevel) (*Response, error)

EditActionsAccessLevel sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.

GitHub API docs: https://docs.github.com/en/rest/actions/permissions#set-the-level-of-access-for-workflows-outside-of-the-repository

func (*RepositoriesService) EditActionsAllowed

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 (*RepositoriesService) EditActionsPermissions

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 (*RepositoriesService) EditHook

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 (*RepositoriesService) EditRelease

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 (*RepositoriesService) EditReleaseAsset

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 (*RepositoriesService) EnableAutomatedSecurityFixes

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 (*RepositoriesService) EnableLFS

func (s *RepositoriesService) EnableLFS(ctx context.Context, owner, repo string) (*Response, error)

EnableLFS turns the LFS (Large File Storage) feature ON for the selected repo.

GitHub API docs: https://docs.github.com/en/rest/repos/lfs#enable-git-lfs-for-a-repository

func (*RepositoriesService) EnablePages

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 (*RepositoriesService) EnableVulnerabilityAlerts

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 (*RepositoriesService) GenerateReleaseNotes

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 (*RepositoriesService) Get

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#get-a-repository

func (*RepositoriesService) GetActionsAccessLevel

func (s *RepositoriesService) GetActionsAccessLevel(ctx context.Context, owner, repo string) (*RepositoryActionsAccessLevel, *Response, error)

GetActionsAccessLevel gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.

GitHub API docs: https://docs.github.com/en/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository

func (*RepositoriesService) GetActionsAllowed

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 (*RepositoriesService) GetActionsPermissions

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 (*RepositoriesService) GetAdminEnforcement

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 (*RepositoriesService) GetBranch

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 (*RepositoriesService) GetBranchProtection

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 (*RepositoriesService) GetByID

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 (*RepositoriesService) GetCodeOfConduct

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 (*RepositoriesService) GetCodeownersErrors

func (s *RepositoriesService) GetCodeownersErrors(ctx context.Context, owner, repo string) (*CodeownersErrors, *Response, error)

GetCodeownersErrors lists any syntax errors that are detected in the CODEOWNERS file.

GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-codeowners-errors

func (*RepositoriesService) GetCombinedStatus

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 (*RepositoriesService) GetComment

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 (*RepositoriesService) GetCommit

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 (*RepositoriesService) GetCommitRaw

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 (*RepositoriesService) GetCommitSHA1

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 (*RepositoriesService) GetCommunityHealthMetrics

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 (*RepositoriesService) GetContents

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 (*RepositoriesService) GetDeployment

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 (*RepositoriesService) GetDeploymentStatus

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 (*RepositoriesService) GetEnvironment

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 (*RepositoriesService) GetHook

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 (*RepositoriesService) GetHookDelivery

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 (*RepositoriesService) GetKey

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 (*RepositoriesService) GetLatestPagesBuild

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 (*RepositoriesService) GetLatestRelease

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 (*RepositoriesService) GetPageBuild

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 (*RepositoriesService) GetPagesInfo

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 (*RepositoriesService) GetPermissionLevel

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 (*RepositoriesService) GetPreReceiveHook

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 (*RepositoriesService) GetPullRequestReviewEnforcement

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 (*RepositoriesService) GetReadme

GetReadme gets the Readme file for the repository.

GitHub API docs: https://docs.github.com/en/rest/repos/contents#get-a-repository-readme

Example
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v49/github"
)

func main() {
	client := github.NewClient(nil)

	ctx := context.Background()
	readme, _, err := client.Repositories.GetReadme(ctx, "google", "go-github", nil)
	if err != nil {
		fmt.Println(err)
		return
	}

	content, err := readme.GetContent()
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Printf("google/go-github README:\n%v\n", content)
}
Output:

func (*RepositoriesService) GetRelease

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 (*RepositoriesService) GetReleaseAsset

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 (*RepositoriesService) GetReleaseByTag

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 (*RepositoriesService) GetRequiredStatusChecks

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 (*RepositoriesService) GetSignaturesProtectedBranch

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 (*RepositoriesService) GetVulnerabilityAlerts

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 (*RepositoriesService) IsCollaborator

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 (*RepositoriesService) License

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 (*RepositoriesService) List

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
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v49/github"
)

func main() {
	client := github.NewClient(nil)

	user := "willnorris"
	opt := &github.RepositoryListOptions{Type: "owner", Sort: "updated", Direction: "desc"}

	ctx := context.Background()
	repos, _, err := client.Repositories.List(ctx, user, opt)
	if err != nil {
		fmt.Println(err)
	}

	fmt.Printf("Recently updated repositories by %q: %v", user, github.Stringify(repos))
}
Output:

func (*RepositoriesService) ListAll

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 (*RepositoriesService) ListAllTopics

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 (*RepositoriesService) ListApps

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 (*RepositoriesService) ListBranches

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 (*RepositoriesService) ListBranchesHeadCommit

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 (*RepositoriesService) ListByOrg

ListByOrg lists the repositories for an organization.

GitHub API docs: https://docs.github.com/en/rest/repos/repos#list-organization-repositories

func (*RepositoriesService) ListCodeFrequency

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 (*RepositoriesService) ListCollaborators

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 (*RepositoriesService) ListComments

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 (*RepositoriesService) ListCommitActivity

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 (*RepositoriesService) ListCommitComments

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 (*RepositoriesService) ListCommits

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 (*RepositoriesService) ListContributors

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 (*RepositoriesService) ListContributorsStats

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 (*RepositoriesService) ListDeploymentStatuses

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 (*RepositoriesService) ListDeployments

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 (*RepositoriesService) ListEnvironments

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 (*RepositoriesService) ListForks

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 (*RepositoriesService) ListHookDeliveries

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 (*RepositoriesService) ListHooks

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 (*RepositoriesService) ListInvitations

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 (*RepositoriesService) ListKeys

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 (*RepositoriesService) ListLanguages

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 (*RepositoriesService) ListPagesBuilds

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 (*RepositoriesService) ListParticipation

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 (*RepositoriesService) ListPreReceiveHooks

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 (*RepositoriesService) ListProjects

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 (*RepositoriesService) ListPunchCard

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 (*RepositoriesService) ListReleaseAssets

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 (*RepositoriesService) ListReleases

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 (*RepositoriesService) ListRequiredStatusChecksContexts

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 (*RepositoriesService) ListStatuses

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 (*RepositoriesService) ListTagProtection

func (s *RepositoriesService) ListTagProtection(ctx context.Context, owner, repo string) ([]*TagProtection, *Response, error)

ListTagProtection lists tag protection of the specified repository.

GitHub API docs: https://docs.github.com/en/rest/repos/tags#list-tag-protection-states-for-a-repository

func (*RepositoriesService) ListTags

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 (*RepositoriesService) ListTeams

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 (*RepositoriesService) ListTrafficClones

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 (*RepositoriesService) ListTrafficPaths

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 (*RepositoriesService) ListTrafficReferrers

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 (*RepositoriesService) ListTrafficViews

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 (*RepositoriesService) Merge

Merge a branch in the specified repository.

GitHub API docs: https://docs.github.com/en/rest/branches/branches#merge-a-branch

func (*RepositoriesService) MergeUpstream

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 (*RepositoriesService) OptionalSignaturesOnProtectedBranch

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 (*RepositoriesService) PingHook

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 (*RepositoriesService) RedeliverHookDelivery

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 (*RepositoriesService) RemoveAdminEnforcement

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 (*RepositoriesService) RemoveAppRestrictions

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 (*RepositoriesService) RemoveBranchProtection

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 (*RepositoriesService) RemoveCollaborator

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 (*RepositoriesService) RemovePullRequestReviewEnforcement

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 (*RepositoriesService) RemoveRequiredStatusChecks

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 (*RepositoriesService) RenameBranch

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 (*RepositoriesService) ReplaceAllTopics

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 (*RepositoriesService) ReplaceAppRestrictions

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 (*RepositoriesService) RequestPageBuild

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 (*RepositoriesService) RequireSignaturesOnProtectedBranch

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 (*RepositoriesService) Subscribe

func (s *RepositoriesService) Subscribe(ctx context.Context, owner, repo, event, callback string, secret []byte) (*Response, error)

Subscribe lets servers register to receive updates when a topic is updated.

GitHub API docs: https://docs.github.com/en/rest/webhooks#pubsubhubbub

func (*RepositoriesService) TestHook

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 (*RepositoriesService) Transfer

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 (*RepositoriesService) Unsubscribe

func (s *RepositoriesService) Unsubscribe(ctx context.Context, owner, repo, event, callback string, secret []byte) (*Response, error)

Unsubscribe lets servers unregister to no longer receive updates when a topic is updated.

GitHub API docs: https://docs.github.com/en/rest/webhooks#pubsubhubbub

func (*RepositoriesService) UpdateBranchProtection

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 (*RepositoriesService) UpdateComment

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 (*RepositoriesService) UpdateFile

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 (*RepositoriesService) UpdateInvitation

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 (*RepositoriesService) UpdatePages

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 (*RepositoriesService) UpdatePreReceiveHook

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 (*RepositoriesService) UpdatePullRequestReviewEnforcement

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 (*RepositoriesService) UpdateRequiredStatusChecks

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 (*RepositoriesService) UploadReleaseAsset

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

type 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"`
	SquashMergeCommitTitle    *string         `json:"squash_merge_commit_title,omitempty"`   // Can be one of: "PR_TITLE", "COMMIT_OR_PR_TITLE"
	SquashMergeCommitMessage  *string         `json:"squash_merge_commit_message,omitempty"` // Can be one of: "PR_BODY", "COMMIT_MESSAGES", "BLANK"
	MergeCommitTitle          *string         `json:"merge_commit_title,omitempty"`          // Can be one of: "PR_TITLE", "MERGE_MESSAGE"
	MergeCommitMessage        *string         `json:"merge_commit_message,omitempty"`        // Can be one of: "PR_BODY", "PR_TITLE", "BLANK"
	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"`
	HasDiscussions    *bool   `json:"has_discussions,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"`
}

Repository represents a GitHub repository.

func (*Repository) GetAllowAutoMerge

func (r *Repository) GetAllowAutoMerge() bool

GetAllowAutoMerge returns the AllowAutoMerge field if it's non-nil, zero value otherwise.

func (*Repository) GetAllowForking

func (r *Repository) GetAllowForking() bool

GetAllowForking returns the AllowForking field if it's non-nil, zero value otherwise.

func (*Repository) GetAllowMergeCommit

func (r *Repository) GetAllowMergeCommit() bool

GetAllowMergeCommit returns the AllowMergeCommit field if it's non-nil, zero value otherwise.

func (*Repository) GetAllowRebaseMerge

func (r *Repository) GetAllowRebaseMerge() bool

GetAllowRebaseMerge returns the AllowRebaseMerge field if it's non-nil, zero value otherwise.

func (*Repository) GetAllowSquashMerge

func (r *Repository) GetAllowSquashMerge() bool

GetAllowSquashMerge returns the AllowSquashMerge field if it's non-nil, zero value otherwise.

func (*Repository) GetAllowUpdateBranch

func (r *Repository) GetAllowUpdateBranch() bool

GetAllowUpdateBranch returns the AllowUpdateBranch field if it's non-nil, zero value otherwise.

func (*Repository) GetArchiveURL

func (r *Repository) GetArchiveURL() string

GetArchiveURL returns the ArchiveURL field if it's non-nil, zero value otherwise.

func (*Repository) GetArchived

func (r *Repository) GetArchived() bool

GetArchived returns the Archived field if it's non-nil, zero value otherwise.

func (*Repository) GetAssigneesURL

func (r *Repository) GetAssigneesURL() string

GetAssigneesURL returns the AssigneesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetAutoInit

func (r *Repository) GetAutoInit() bool

GetAutoInit returns the AutoInit field if it's non-nil, zero value otherwise.

func (*Repository) GetBlobsURL

func (r *Repository) GetBlobsURL() string

GetBlobsURL returns the BlobsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetBranchesURL

func (r *Repository) GetBranchesURL() string

GetBranchesURL returns the BranchesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetCloneURL

func (r *Repository) GetCloneURL() string

GetCloneURL returns the CloneURL field if it's non-nil, zero value otherwise.

func (*Repository) GetCodeOfConduct

func (r *Repository) GetCodeOfConduct() *CodeOfConduct

GetCodeOfConduct returns the CodeOfConduct field.

func (*Repository) GetCollaboratorsURL

func (r *Repository) GetCollaboratorsURL() string

GetCollaboratorsURL returns the CollaboratorsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetCommentsURL

func (r *Repository) GetCommentsURL() string

GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetCommitsURL

func (r *Repository) GetCommitsURL() string

GetCommitsURL returns the CommitsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetCompareURL

func (r *Repository) GetCompareURL() string

GetCompareURL returns the CompareURL field if it's non-nil, zero value otherwise.

func (*Repository) GetContentsURL

func (r *Repository) GetContentsURL() string

GetContentsURL returns the ContentsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetContributorsURL

func (r *Repository) GetContributorsURL() string

GetContributorsURL returns the ContributorsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetCreatedAt

func (r *Repository) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Repository) GetDefaultBranch

func (r *Repository) GetDefaultBranch() string

GetDefaultBranch returns the DefaultBranch field if it's non-nil, zero value otherwise.

func (*Repository) GetDeleteBranchOnMerge

func (r *Repository) GetDeleteBranchOnMerge() bool

GetDeleteBranchOnMerge returns the DeleteBranchOnMerge field if it's non-nil, zero value otherwise.

func (*Repository) GetDeploymentsURL

func (r *Repository) GetDeploymentsURL() string

GetDeploymentsURL returns the DeploymentsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetDescription

func (r *Repository) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Repository) GetDisabled

func (r *Repository) GetDisabled() bool

GetDisabled returns the Disabled field if it's non-nil, zero value otherwise.

func (*Repository) GetDownloadsURL

func (r *Repository) GetDownloadsURL() string

GetDownloadsURL returns the DownloadsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetEventsURL

func (r *Repository) GetEventsURL() string

GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetFork

func (r *Repository) GetFork() bool

GetFork returns the Fork field if it's non-nil, zero value otherwise.

func (*Repository) GetForksCount

func (r *Repository) GetForksCount() int

GetForksCount returns the ForksCount field if it's non-nil, zero value otherwise.

func (*Repository) GetForksURL

func (r *Repository) GetForksURL() string

GetForksURL returns the ForksURL field if it's non-nil, zero value otherwise.

func (*Repository) GetFullName

func (r *Repository) GetFullName() string

GetFullName returns the FullName field if it's non-nil, zero value otherwise.

func (*Repository) GetGitCommitsURL

func (r *Repository) GetGitCommitsURL() string

GetGitCommitsURL returns the GitCommitsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetGitRefsURL

func (r *Repository) GetGitRefsURL() string

GetGitRefsURL returns the GitRefsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetGitTagsURL

func (r *Repository) GetGitTagsURL() string

GetGitTagsURL returns the GitTagsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetGitURL

func (r *Repository) GetGitURL() string

GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.

func (*Repository) GetGitignoreTemplate

func (r *Repository) GetGitignoreTemplate() string

GetGitignoreTemplate returns the GitignoreTemplate field if it's non-nil, zero value otherwise.

func (*Repository) GetHTMLURL

func (r *Repository) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Repository) GetHasDiscussions

func (r *Repository) GetHasDiscussions() bool

GetHasDiscussions returns the HasDiscussions field if it's non-nil, zero value otherwise.

func (*Repository) GetHasDownloads

func (r *Repository) GetHasDownloads() bool

GetHasDownloads returns the HasDownloads field if it's non-nil, zero value otherwise.

func (*Repository) GetHasIssues

func (r *Repository) GetHasIssues() bool

GetHasIssues returns the HasIssues field if it's non-nil, zero value otherwise.

func (*Repository) GetHasPages

func (r *Repository) GetHasPages() bool

GetHasPages returns the HasPages field if it's non-nil, zero value otherwise.

func (*Repository) GetHasProjects

func (r *Repository) GetHasProjects() bool

GetHasProjects returns the HasProjects field if it's non-nil, zero value otherwise.

func (*Repository) GetHasWiki

func (r *Repository) GetHasWiki() bool

GetHasWiki returns the HasWiki field if it's non-nil, zero value otherwise.

func (*Repository) GetHomepage

func (r *Repository) GetHomepage() string

GetHomepage returns the Homepage field if it's non-nil, zero value otherwise.

func (*Repository) GetHooksURL

func (r *Repository) GetHooksURL() string

GetHooksURL returns the HooksURL field if it's non-nil, zero value otherwise.

func (*Repository) GetID

func (r *Repository) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Repository) GetIsTemplate

func (r *Repository) GetIsTemplate() bool

GetIsTemplate returns the IsTemplate field if it's non-nil, zero value otherwise.

func (*Repository) GetIssueCommentURL

func (r *Repository) GetIssueCommentURL() string

GetIssueCommentURL returns the IssueCommentURL field if it's non-nil, zero value otherwise.

func (*Repository) GetIssueEventsURL

func (r *Repository) GetIssueEventsURL() string

GetIssueEventsURL returns the IssueEventsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetIssuesURL

func (r *Repository) GetIssuesURL() string

GetIssuesURL returns the IssuesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetKeysURL

func (r *Repository) GetKeysURL() string

GetKeysURL returns the KeysURL field if it's non-nil, zero value otherwise.

func (*Repository) GetLabelsURL

func (r *Repository) GetLabelsURL() string

GetLabelsURL returns the LabelsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetLanguage

func (r *Repository) GetLanguage() string

GetLanguage returns the Language field if it's non-nil, zero value otherwise.

func (*Repository) GetLanguagesURL

func (r *Repository) GetLanguagesURL() string

GetLanguagesURL returns the LanguagesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetLicense

func (r *Repository) GetLicense() *License

GetLicense returns the License field.

func (*Repository) GetLicenseTemplate

func (r *Repository) GetLicenseTemplate() string

GetLicenseTemplate returns the LicenseTemplate field if it's non-nil, zero value otherwise.

func (*Repository) GetMasterBranch

func (r *Repository) GetMasterBranch() string

GetMasterBranch returns the MasterBranch field if it's non-nil, zero value otherwise.

func (*Repository) GetMergeCommitMessage

func (r *Repository) GetMergeCommitMessage() string

GetMergeCommitMessage returns the MergeCommitMessage field if it's non-nil, zero value otherwise.

func (*Repository) GetMergeCommitTitle

func (r *Repository) GetMergeCommitTitle() string

GetMergeCommitTitle returns the MergeCommitTitle field if it's non-nil, zero value otherwise.

func (*Repository) GetMergesURL

func (r *Repository) GetMergesURL() string

GetMergesURL returns the MergesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetMilestonesURL

func (r *Repository) GetMilestonesURL() string

GetMilestonesURL returns the MilestonesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetMirrorURL

func (r *Repository) GetMirrorURL() string

GetMirrorURL returns the MirrorURL field if it's non-nil, zero value otherwise.

func (*Repository) GetName

func (r *Repository) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Repository) GetNetworkCount

func (r *Repository) GetNetworkCount() int

GetNetworkCount returns the NetworkCount field if it's non-nil, zero value otherwise.

func (*Repository) GetNodeID

func (r *Repository) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Repository) GetNotificationsURL

func (r *Repository) GetNotificationsURL() string

GetNotificationsURL returns the NotificationsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetOpenIssues

func (r *Repository) GetOpenIssues() int

GetOpenIssues returns the OpenIssues field if it's non-nil, zero value otherwise.

func (*Repository) GetOpenIssuesCount

func (r *Repository) GetOpenIssuesCount() int

GetOpenIssuesCount returns the OpenIssuesCount field if it's non-nil, zero value otherwise.

func (*Repository) GetOrganization

func (r *Repository) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*Repository) GetOwner

func (r *Repository) GetOwner() *User

GetOwner returns the Owner field.

func (*Repository) GetParent

func (r *Repository) GetParent() *Repository

GetParent returns the Parent field.

func (*Repository) GetPermissions

func (r *Repository) GetPermissions() map[string]bool

GetPermissions returns the Permissions map if it's non-nil, an empty map otherwise.

func (*Repository) GetPrivate

func (r *Repository) GetPrivate() bool

GetPrivate returns the Private field if it's non-nil, zero value otherwise.

func (*Repository) GetPullsURL

func (r *Repository) GetPullsURL() string

GetPullsURL returns the PullsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetPushedAt

func (r *Repository) GetPushedAt() Timestamp

GetPushedAt returns the PushedAt field if it's non-nil, zero value otherwise.

func (*Repository) GetReleasesURL

func (r *Repository) GetReleasesURL() string

GetReleasesURL returns the ReleasesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetRoleName

func (r *Repository) GetRoleName() string

GetRoleName returns the RoleName field if it's non-nil, zero value otherwise.

func (*Repository) GetSSHURL

func (r *Repository) GetSSHURL() string

GetSSHURL returns the SSHURL field if it's non-nil, zero value otherwise.

func (*Repository) GetSVNURL

func (r *Repository) GetSVNURL() string

GetSVNURL returns the SVNURL field if it's non-nil, zero value otherwise.

func (*Repository) GetSecurityAndAnalysis

func (r *Repository) GetSecurityAndAnalysis() *SecurityAndAnalysis

GetSecurityAndAnalysis returns the SecurityAndAnalysis field.

func (*Repository) GetSize

func (r *Repository) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*Repository) GetSource

func (r *Repository) GetSource() *Repository

GetSource returns the Source field.

func (*Repository) GetSquashMergeCommitMessage

func (r *Repository) GetSquashMergeCommitMessage() string

GetSquashMergeCommitMessage returns the SquashMergeCommitMessage field if it's non-nil, zero value otherwise.

func (*Repository) GetSquashMergeCommitTitle

func (r *Repository) GetSquashMergeCommitTitle() string

GetSquashMergeCommitTitle returns the SquashMergeCommitTitle field if it's non-nil, zero value otherwise.

func (*Repository) GetStargazersCount

func (r *Repository) GetStargazersCount() int

GetStargazersCount returns the StargazersCount field if it's non-nil, zero value otherwise.

func (*Repository) GetStargazersURL

func (r *Repository) GetStargazersURL() string

GetStargazersURL returns the StargazersURL field if it's non-nil, zero value otherwise.

func (*Repository) GetStatusesURL

func (r *Repository) GetStatusesURL() string

GetStatusesURL returns the StatusesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetSubscribersCount

func (r *Repository) GetSubscribersCount() int

GetSubscribersCount returns the SubscribersCount field if it's non-nil, zero value otherwise.

func (*Repository) GetSubscribersURL

func (r *Repository) GetSubscribersURL() string

GetSubscribersURL returns the SubscribersURL field if it's non-nil, zero value otherwise.

func (*Repository) GetSubscriptionURL

func (r *Repository) GetSubscriptionURL() string

GetSubscriptionURL returns the SubscriptionURL field if it's non-nil, zero value otherwise.

func (*Repository) GetTagsURL

func (r *Repository) GetTagsURL() string

GetTagsURL returns the TagsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetTeamID

func (r *Repository) GetTeamID() int64

GetTeamID returns the TeamID field if it's non-nil, zero value otherwise.

func (*Repository) GetTeamsURL

func (r *Repository) GetTeamsURL() string

GetTeamsURL returns the TeamsURL field if it's non-nil, zero value otherwise.

func (*Repository) GetTemplateRepository

func (r *Repository) GetTemplateRepository() *Repository

GetTemplateRepository returns the TemplateRepository field.

func (*Repository) GetTreesURL

func (r *Repository) GetTreesURL() string

GetTreesURL returns the TreesURL field if it's non-nil, zero value otherwise.

func (*Repository) GetURL

func (r *Repository) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Repository) GetUpdatedAt

func (r *Repository) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*Repository) GetUseSquashPRTitleAsDefault

func (r *Repository) GetUseSquashPRTitleAsDefault() bool

GetUseSquashPRTitleAsDefault returns the UseSquashPRTitleAsDefault field if it's non-nil, zero value otherwise.

func (*Repository) GetVisibility

func (r *Repository) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

func (*Repository) GetWatchers

func (r *Repository) GetWatchers() int

GetWatchers returns the Watchers field if it's non-nil, zero value otherwise.

func (*Repository) GetWatchersCount

func (r *Repository) GetWatchersCount() int

GetWatchersCount returns the WatchersCount field if it's non-nil, zero value otherwise.

func (Repository) String

func (r Repository) String() string

type RepositoryActionsAccessLevel

type RepositoryActionsAccessLevel struct {
	// AccessLevel specifies the level of access that workflows outside of the repository have
	// to actions and reusable workflows within the repository.
	// Possible values are: "none", "organization" "enterprise".
	AccessLevel *string `json:"access_level,omitempty"`
}

RepositoryActionsAccessLevel represents the repository actions access level.

GitHub API docs: https://docs.github.com/en/rest/actions/permissions#set-the-level-of-access-for-workflows-outside-of-the-repository

func (*RepositoryActionsAccessLevel) GetAccessLevel

func (r *RepositoryActionsAccessLevel) GetAccessLevel() string

GetAccessLevel returns the AccessLevel field if it's non-nil, zero value otherwise.

type RepositoryActiveCommitters

type RepositoryActiveCommitters struct {
	Name                                *string                                `json:"name,omitempty"`
	AdvancedSecurityCommitters          *int                                   `json:"advanced_security_committers,omitempty"`
	AdvancedSecurityCommittersBreakdown []*AdvancedSecurityCommittersBreakdown `json:"advanced_security_committers_breakdown,omitempty"`
}

RepositoryActiveCommitters represents active committers on each repository.

func (*RepositoryActiveCommitters) GetAdvancedSecurityCommitters

func (r *RepositoryActiveCommitters) GetAdvancedSecurityCommitters() int

GetAdvancedSecurityCommitters returns the AdvancedSecurityCommitters field if it's non-nil, zero value otherwise.

func (*RepositoryActiveCommitters) GetName

func (r *RepositoryActiveCommitters) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

type RepositoryAddCollaboratorOptions

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

RepositoryAddCollaboratorOptions specifies the optional parameters to the RepositoriesService.AddCollaborator method.

type RepositoryComment

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

RepositoryComment represents a comment for a commit, file, or line in a repository.

func (*RepositoryComment) GetBody

func (r *RepositoryComment) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetCommitID

func (r *RepositoryComment) GetCommitID() string

GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetCreatedAt

func (r *RepositoryComment) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetHTMLURL

func (r *RepositoryComment) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetID

func (r *RepositoryComment) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetNodeID

func (r *RepositoryComment) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetPath

func (r *RepositoryComment) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetPosition

func (r *RepositoryComment) GetPosition() int

GetPosition returns the Position field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetReactions

func (r *RepositoryComment) GetReactions() *Reactions

GetReactions returns the Reactions field.

func (*RepositoryComment) GetURL

func (r *RepositoryComment) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetUpdatedAt

func (r *RepositoryComment) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*RepositoryComment) GetUser

func (r *RepositoryComment) GetUser() *User

GetUser returns the User field.

func (RepositoryComment) String

func (r RepositoryComment) String() string

type RepositoryCommit

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

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".

func (*RepositoryCommit) GetAuthor

func (r *RepositoryCommit) GetAuthor() *User

GetAuthor returns the Author field.

func (*RepositoryCommit) GetCommentsURL

func (r *RepositoryCommit) GetCommentsURL() string

GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.

func (*RepositoryCommit) GetCommit

func (r *RepositoryCommit) GetCommit() *Commit

GetCommit returns the Commit field.

func (*RepositoryCommit) GetCommitter

func (r *RepositoryCommit) GetCommitter() *User

GetCommitter returns the Committer field.

func (*RepositoryCommit) GetHTMLURL

func (r *RepositoryCommit) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*RepositoryCommit) GetNodeID

func (r *RepositoryCommit) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*RepositoryCommit) GetSHA

func (r *RepositoryCommit) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*RepositoryCommit) GetStats

func (r *RepositoryCommit) GetStats() *CommitStats

GetStats returns the Stats field.

func (*RepositoryCommit) GetURL

func (r *RepositoryCommit) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (RepositoryCommit) String

func (r RepositoryCommit) String() string

type RepositoryContent

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

RepositoryContent represents a file or directory in a github repository.

func (*RepositoryContent) GetContent

func (r *RepositoryContent) GetContent() (string, error)

GetContent returns the content of r, decoding it if necessary.

func (*RepositoryContent) GetDownloadURL

func (r *RepositoryContent) GetDownloadURL() string

GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetEncoding

func (r *RepositoryContent) GetEncoding() string

GetEncoding returns the Encoding field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetGitURL

func (r *RepositoryContent) GetGitURL() string

GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetHTMLURL

func (r *RepositoryContent) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetName

func (r *RepositoryContent) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetPath

func (r *RepositoryContent) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetSHA

func (r *RepositoryContent) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetSize

func (r *RepositoryContent) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetTarget

func (r *RepositoryContent) GetTarget() string

GetTarget returns the Target field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetType

func (r *RepositoryContent) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*RepositoryContent) GetURL

func (r *RepositoryContent) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (RepositoryContent) String

func (r RepositoryContent) String() string

String converts RepositoryContent to a string. It's primarily for testing.

type RepositoryContentFileOptions

type RepositoryContentFileOptions struct {
	Message   *string       `json:"message,omitempty"`
	Content   []byte        `json:"content"` // unencoded
	SHA       *string       `json:"sha,omitempty"`
	Branch    *string       `json:"branch,omitempty"`
	Author    *CommitAuthor `json:"author,omitempty"`
	Committer *CommitAuthor `json:"committer,omitempty"`
}

RepositoryContentFileOptions specifies optional parameters for CreateFile, UpdateFile, and DeleteFile.

func (*RepositoryContentFileOptions) GetAuthor

GetAuthor returns the Author field.

func (*RepositoryContentFileOptions) GetBranch

func (r *RepositoryContentFileOptions) GetBranch() string

GetBranch returns the Branch field if it's non-nil, zero value otherwise.

func (*RepositoryContentFileOptions) GetCommitter

func (r *RepositoryContentFileOptions) GetCommitter() *CommitAuthor

GetCommitter returns the Committer field.

func (*RepositoryContentFileOptions) GetMessage

func (r *RepositoryContentFileOptions) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*RepositoryContentFileOptions) GetSHA

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

type RepositoryContentGetOptions

type RepositoryContentGetOptions struct {
	Ref string `url:"ref,omitempty"`
}

RepositoryContentGetOptions represents an optional ref parameter, which can be a SHA, branch, or tag

type RepositoryContentResponse

type RepositoryContentResponse struct {
	Content *RepositoryContent `json:"content,omitempty"`
	Commit  `json:"commit,omitempty"`
}

RepositoryContentResponse holds the parsed response from CreateFile, UpdateFile, and DeleteFile.

func (*RepositoryContentResponse) GetContent

GetContent returns the Content field.

type RepositoryCreateForkOptions

type RepositoryCreateForkOptions struct {
	// The organization to fork the repository into.
	Organization      string `json:"organization,omitempty"`
	Name              string `json:"name,omitempty"`
	DefaultBranchOnly bool   `json:"default_branch_only,omitempty"`
}

RepositoryCreateForkOptions specifies the optional parameters to the RepositoriesService.CreateFork method.

type RepositoryDispatchEvent

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

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

func (*RepositoryDispatchEvent) GetAction

func (r *RepositoryDispatchEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*RepositoryDispatchEvent) GetBranch

func (r *RepositoryDispatchEvent) GetBranch() string

GetBranch returns the Branch field if it's non-nil, zero value otherwise.

func (*RepositoryDispatchEvent) GetInstallation

func (r *RepositoryDispatchEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*RepositoryDispatchEvent) GetOrg

GetOrg returns the Org field.

func (*RepositoryDispatchEvent) GetRepo

func (r *RepositoryDispatchEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*RepositoryDispatchEvent) GetSender

func (r *RepositoryDispatchEvent) GetSender() *User

GetSender returns the Sender field.

type RepositoryEvent

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

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

func (*RepositoryEvent) GetAction

func (r *RepositoryEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*RepositoryEvent) GetChanges

func (r *RepositoryEvent) GetChanges() *EditChange

GetChanges returns the Changes field.

func (*RepositoryEvent) GetInstallation

func (r *RepositoryEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*RepositoryEvent) GetOrg

func (r *RepositoryEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*RepositoryEvent) GetRepo

func (r *RepositoryEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*RepositoryEvent) GetSender

func (r *RepositoryEvent) GetSender() *User

GetSender returns the Sender field.

type RepositoryImportEvent

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

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

func (*RepositoryImportEvent) GetOrg

func (r *RepositoryImportEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*RepositoryImportEvent) GetRepo

func (r *RepositoryImportEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*RepositoryImportEvent) GetSender

func (r *RepositoryImportEvent) GetSender() *User

GetSender returns the Sender field.

func (*RepositoryImportEvent) GetStatus

func (r *RepositoryImportEvent) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

type RepositoryInvitation

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

RepositoryInvitation represents an invitation to collaborate on a repo.

func (*RepositoryInvitation) GetCreatedAt

func (r *RepositoryInvitation) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*RepositoryInvitation) GetHTMLURL

func (r *RepositoryInvitation) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*RepositoryInvitation) GetID

func (r *RepositoryInvitation) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*RepositoryInvitation) GetInvitee

func (r *RepositoryInvitation) GetInvitee() *User

GetInvitee returns the Invitee field.

func (*RepositoryInvitation) GetInviter

func (r *RepositoryInvitation) GetInviter() *User

GetInviter returns the Inviter field.

func (*RepositoryInvitation) GetPermissions

func (r *RepositoryInvitation) GetPermissions() string

GetPermissions returns the Permissions field if it's non-nil, zero value otherwise.

func (*RepositoryInvitation) GetRepo

func (r *RepositoryInvitation) GetRepo() *Repository

GetRepo returns the Repo field.

func (*RepositoryInvitation) GetURL

func (r *RepositoryInvitation) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type RepositoryLicense

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

RepositoryLicense represents the license for a repository.

func (*RepositoryLicense) GetContent

func (r *RepositoryLicense) GetContent() string

GetContent returns the Content field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetDownloadURL

func (r *RepositoryLicense) GetDownloadURL() string

GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetEncoding

func (r *RepositoryLicense) GetEncoding() string

GetEncoding returns the Encoding field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetGitURL

func (r *RepositoryLicense) GetGitURL() string

GetGitURL returns the GitURL field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetHTMLURL

func (r *RepositoryLicense) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetLicense

func (r *RepositoryLicense) GetLicense() *License

GetLicense returns the License field.

func (*RepositoryLicense) GetName

func (r *RepositoryLicense) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetPath

func (r *RepositoryLicense) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetSHA

func (r *RepositoryLicense) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetSize

func (r *RepositoryLicense) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetType

func (r *RepositoryLicense) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*RepositoryLicense) GetURL

func (r *RepositoryLicense) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (RepositoryLicense) String

func (l RepositoryLicense) String() string

type RepositoryListAllOptions

type RepositoryListAllOptions struct {
	// ID of the last repository seen
	Since int64 `url:"since,omitempty"`
}

RepositoryListAllOptions specifies the optional parameters to the RepositoriesService.ListAll method.

type RepositoryListByOrgOptions

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
}

RepositoryListByOrgOptions specifies the optional parameters to the RepositoriesService.ListByOrg method.

type RepositoryListForksOptions

type RepositoryListForksOptions struct {
	// How to sort the forks list. Possible values are: newest, oldest,
	// watchers. Default is "newest".
	Sort string `url:"sort,omitempty"`

	ListOptions
}

RepositoryListForksOptions specifies the optional parameters to the RepositoriesService.ListForks method.

type RepositoryListOptions

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
}

RepositoryListOptions specifies the optional parameters to the RepositoriesService.List method.

type RepositoryMergeRequest

type RepositoryMergeRequest struct {
	Base          *string `json:"base,omitempty"`
	Head          *string `json:"head,omitempty"`
	CommitMessage *string `json:"commit_message,omitempty"`
}

RepositoryMergeRequest represents a request to merge a branch in a repository.

func (*RepositoryMergeRequest) GetBase

func (r *RepositoryMergeRequest) GetBase() string

GetBase returns the Base field if it's non-nil, zero value otherwise.

func (*RepositoryMergeRequest) GetCommitMessage

func (r *RepositoryMergeRequest) GetCommitMessage() string

GetCommitMessage returns the CommitMessage field if it's non-nil, zero value otherwise.

func (*RepositoryMergeRequest) GetHead

func (r *RepositoryMergeRequest) GetHead() string

GetHead returns the Head field if it's non-nil, zero value otherwise.

type RepositoryParticipation

type RepositoryParticipation struct {
	All   []int `json:"all,omitempty"`
	Owner []int `json:"owner,omitempty"`
}

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.

func (RepositoryParticipation) String

func (r RepositoryParticipation) String() string

type RepositoryPermissionLevel

type RepositoryPermissionLevel struct {
	// Possible values: "admin", "write", "read", "none"
	Permission *string `json:"permission,omitempty"`

	User *User `json:"user,omitempty"`
}

RepositoryPermissionLevel represents the permission level an organization member has for a given repository.

func (*RepositoryPermissionLevel) GetPermission

func (r *RepositoryPermissionLevel) GetPermission() string

GetPermission returns the Permission field if it's non-nil, zero value otherwise.

func (*RepositoryPermissionLevel) GetUser

func (r *RepositoryPermissionLevel) GetUser() *User

GetUser returns the User field.

type RepositoryRelease

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"`
	// MakeLatest can be one of: "true", "false", or "legacy".
	MakeLatest             *string `json:"make_latest,omitempty"`
	DiscussionCategoryName *string `json:"discussion_category_name,omitempty"`

	// The following fields are not used in EditRelease:
	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"`
}

RepositoryRelease represents a GitHub release in a repository.

func (*RepositoryRelease) GetAssetsURL

func (r *RepositoryRelease) GetAssetsURL() string

GetAssetsURL returns the AssetsURL field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetAuthor

func (r *RepositoryRelease) GetAuthor() *User

GetAuthor returns the Author field.

func (*RepositoryRelease) GetBody

func (r *RepositoryRelease) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetCreatedAt

func (r *RepositoryRelease) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetDiscussionCategoryName

func (r *RepositoryRelease) GetDiscussionCategoryName() string

GetDiscussionCategoryName returns the DiscussionCategoryName field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetDraft

func (r *RepositoryRelease) GetDraft() bool

GetDraft returns the Draft field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetGenerateReleaseNotes

func (r *RepositoryRelease) GetGenerateReleaseNotes() bool

GetGenerateReleaseNotes returns the GenerateReleaseNotes field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetHTMLURL

func (r *RepositoryRelease) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetID

func (r *RepositoryRelease) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetMakeLatest

func (r *RepositoryRelease) GetMakeLatest() string

GetMakeLatest returns the MakeLatest field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetName

func (r *RepositoryRelease) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetNodeID

func (r *RepositoryRelease) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetPrerelease

func (r *RepositoryRelease) GetPrerelease() bool

GetPrerelease returns the Prerelease field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetPublishedAt

func (r *RepositoryRelease) GetPublishedAt() Timestamp

GetPublishedAt returns the PublishedAt field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetTagName

func (r *RepositoryRelease) GetTagName() string

GetTagName returns the TagName field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetTarballURL

func (r *RepositoryRelease) GetTarballURL() string

GetTarballURL returns the TarballURL field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetTargetCommitish

func (r *RepositoryRelease) GetTargetCommitish() string

GetTargetCommitish returns the TargetCommitish field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetURL

func (r *RepositoryRelease) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetUploadURL

func (r *RepositoryRelease) GetUploadURL() string

GetUploadURL returns the UploadURL field if it's non-nil, zero value otherwise.

func (*RepositoryRelease) GetZipballURL

func (r *RepositoryRelease) GetZipballURL() string

GetZipballURL returns the ZipballURL field if it's non-nil, zero value otherwise.

func (RepositoryRelease) String

func (r RepositoryRelease) String() string

type RepositoryReleaseNotes

type RepositoryReleaseNotes struct {
	Name string `json:"name"`
	Body string `json:"body"`
}

RepositoryReleaseNotes represents a GitHub-generated release notes.

type RepositoryTag

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

RepositoryTag represents a repository tag.

func (*RepositoryTag) GetCommit

func (r *RepositoryTag) GetCommit() *Commit

GetCommit returns the Commit field.

func (*RepositoryTag) GetName

func (r *RepositoryTag) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*RepositoryTag) GetTarballURL

func (r *RepositoryTag) GetTarballURL() string

GetTarballURL returns the TarballURL field if it's non-nil, zero value otherwise.

func (*RepositoryTag) GetZipballURL

func (r *RepositoryTag) GetZipballURL() string

GetZipballURL returns the ZipballURL field if it's non-nil, zero value otherwise.

type RepositoryVulnerabilityAlert

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

RepositoryVulnerabilityAlert represents a repository security alert.

func (*RepositoryVulnerabilityAlert) GetAffectedPackageName

func (r *RepositoryVulnerabilityAlert) GetAffectedPackageName() string

GetAffectedPackageName returns the AffectedPackageName field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetAffectedRange

func (r *RepositoryVulnerabilityAlert) GetAffectedRange() string

GetAffectedRange returns the AffectedRange field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetCreatedAt

func (r *RepositoryVulnerabilityAlert) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetDismissReason

func (r *RepositoryVulnerabilityAlert) GetDismissReason() string

GetDismissReason returns the DismissReason field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetDismissedAt

func (r *RepositoryVulnerabilityAlert) GetDismissedAt() Timestamp

GetDismissedAt returns the DismissedAt field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetDismisser

func (r *RepositoryVulnerabilityAlert) GetDismisser() *User

GetDismisser returns the Dismisser field.

func (*RepositoryVulnerabilityAlert) GetExternalIdentifier

func (r *RepositoryVulnerabilityAlert) GetExternalIdentifier() string

GetExternalIdentifier returns the ExternalIdentifier field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetExternalReference

func (r *RepositoryVulnerabilityAlert) GetExternalReference() string

GetExternalReference returns the ExternalReference field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetFixedIn

func (r *RepositoryVulnerabilityAlert) GetFixedIn() string

GetFixedIn returns the FixedIn field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetGitHubSecurityAdvisoryID

func (r *RepositoryVulnerabilityAlert) GetGitHubSecurityAdvisoryID() string

GetGitHubSecurityAdvisoryID returns the GitHubSecurityAdvisoryID field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetID

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlert) GetSeverity

func (r *RepositoryVulnerabilityAlert) GetSeverity() string

GetSeverity returns the Severity field if it's non-nil, zero value otherwise.

type RepositoryVulnerabilityAlertEvent

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

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

func (*RepositoryVulnerabilityAlertEvent) GetAction

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*RepositoryVulnerabilityAlertEvent) GetAlert

GetAlert returns the Alert field.

func (*RepositoryVulnerabilityAlertEvent) GetInstallation

func (r *RepositoryVulnerabilityAlertEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*RepositoryVulnerabilityAlertEvent) GetRepository

func (r *RepositoryVulnerabilityAlertEvent) GetRepository() *Repository

GetRepository returns the Repository field.

func (*RepositoryVulnerabilityAlertEvent) GetSender

func (r *RepositoryVulnerabilityAlertEvent) GetSender() *User

GetSender returns the Sender field.

type RequestOption

type RequestOption func(req *http.Request)

RequestOption represents an option that can modify an http.Request.

func WithVersion

func WithVersion(version string) RequestOption

WithVersion overrides the GitHub v3 API version for this individual request. For more information, see: https://github.blog/2022-11-28-to-infinity-and-beyond-enabling-the-future-of-githubs-rest-api-with-api-versioning/

type RequestedAction

type RequestedAction struct {
	Identifier string `json:"identifier"` // The integrator reference of the action requested by the user.
}

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 RequireCodeOwnerReviewChanges

type RequireCodeOwnerReviewChanges struct {
	From *bool `json:"from,omitempty"`
}

RequireCodeOwnerReviewChanges represents the changes made to the RequireCodeOwnerReview policy.

func (*RequireCodeOwnerReviewChanges) GetFrom

func (r *RequireCodeOwnerReviewChanges) GetFrom() bool

GetFrom returns the From field if it's non-nil, zero value otherwise.

type RequireLinearHistory

type RequireLinearHistory struct {
	Enabled bool `json:"enabled"`
}

RequireLinearHistory represents the configuration to enforce branches with no merge commit.

type RequiredConversationResolution

type RequiredConversationResolution 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 RequiredConversationResolutionLevelChanges

type RequiredConversationResolutionLevelChanges struct {
	From *string `json:"from,omitempty"`
}

RequiredConversationResolutionLevelChanges represents the changes made to the RequiredConversationResolutionLevel policy.

func (*RequiredConversationResolutionLevelChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type RequiredDeploymentsEnforcementLevelChanges

type RequiredDeploymentsEnforcementLevelChanges struct {
	From *string `json:"from,omitempty"`
}

RequiredDeploymentsEnforcementLevelChanges represents the changes made to the RequiredDeploymentsEnforcementLevel policy.

func (*RequiredDeploymentsEnforcementLevelChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type RequiredReviewer

type RequiredReviewer struct {
	Type     *string     `json:"type,omitempty"`
	Reviewer interface{} `json:"reviewer,omitempty"`
}

RequiredReviewer represents a required reviewer.

func (*RequiredReviewer) GetType

func (r *RequiredReviewer) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*RequiredReviewer) UnmarshalJSON

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.

type RequiredStatusCheck

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

RequiredStatusCheck represents a status check of a protected branch.

func (*RequiredStatusCheck) GetAppID

func (r *RequiredStatusCheck) GetAppID() int64

GetAppID returns the AppID field if it's non-nil, zero value otherwise.

type RequiredStatusChecks

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

RequiredStatusChecks represents the protection status of a individual branch.

type RequiredStatusChecksChanges

type RequiredStatusChecksChanges struct {
	From []string `json:"from,omitempty"`
}

RequiredStatusChecksChanges represents the changes made to the RequiredStatusChecks policy.

type RequiredStatusChecksEnforcementLevelChanges

type RequiredStatusChecksEnforcementLevelChanges struct {
	From *string `json:"from,omitempty"`
}

RequiredStatusChecksEnforcementLevelChanges represents the changes made to the RequiredStatusChecksEnforcementLevel policy.

func (*RequiredStatusChecksEnforcementLevelChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type RequiredStatusChecksRequest

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

RequiredStatusChecksRequest represents a request to edit a protected branch's status checks.

func (*RequiredStatusChecksRequest) GetStrict

func (r *RequiredStatusChecksRequest) GetStrict() bool

GetStrict returns the Strict field if it's non-nil, zero value otherwise.

type Response

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
}

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 Reviewers

type Reviewers struct {
	Users []*User `json:"users,omitempty"`
	Teams []*Team `json:"teams,omitempty"`
}

Reviewers represents reviewers of a pull request.

type ReviewersRequest

type ReviewersRequest struct {
	NodeID        *string  `json:"node_id,omitempty"`
	Reviewers     []string `json:"reviewers,omitempty"`
	TeamReviewers []string `json:"team_reviewers,omitempty"`
}

ReviewersRequest specifies users and teams for a pull request review request.

func (*ReviewersRequest) GetNodeID

func (r *ReviewersRequest) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

type Rule

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

Rule represents the complete details of GitHub Code Scanning alert type.

func (*Rule) GetDescription

func (r *Rule) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Rule) GetFullDescription

func (r *Rule) GetFullDescription() string

GetFullDescription returns the FullDescription field if it's non-nil, zero value otherwise.

func (*Rule) GetHelp

func (r *Rule) GetHelp() string

GetHelp returns the Help field if it's non-nil, zero value otherwise.

func (*Rule) GetID

func (r *Rule) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Rule) GetName

func (r *Rule) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Rule) GetSecuritySeverityLevel

func (r *Rule) GetSecuritySeverityLevel() string

GetSecuritySeverityLevel returns the SecuritySeverityLevel field if it's non-nil, zero value otherwise.

func (*Rule) GetSeverity

func (r *Rule) GetSeverity() string

GetSeverity returns the Severity field if it's non-nil, zero value otherwise.

type Runner

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

Runner represents a self-hosted runner registered with a repository.

func (*Runner) GetBusy

func (r *Runner) GetBusy() bool

GetBusy returns the Busy field if it's non-nil, zero value otherwise.

func (*Runner) GetID

func (r *Runner) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Runner) GetName

func (r *Runner) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Runner) GetOS

func (r *Runner) GetOS() string

GetOS returns the OS field if it's non-nil, zero value otherwise.

func (*Runner) GetStatus

func (r *Runner) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

type RunnerApplicationDownload

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

RunnerApplicationDownload represents a binary for the self-hosted runner application that can be downloaded.

func (*RunnerApplicationDownload) GetArchitecture

func (r *RunnerApplicationDownload) GetArchitecture() string

GetArchitecture returns the Architecture field if it's non-nil, zero value otherwise.

func (*RunnerApplicationDownload) GetDownloadURL

func (r *RunnerApplicationDownload) GetDownloadURL() string

GetDownloadURL returns the DownloadURL field if it's non-nil, zero value otherwise.

func (*RunnerApplicationDownload) GetFilename

func (r *RunnerApplicationDownload) GetFilename() string

GetFilename returns the Filename field if it's non-nil, zero value otherwise.

func (*RunnerApplicationDownload) GetOS

func (r *RunnerApplicationDownload) GetOS() string

GetOS returns the OS field if it's non-nil, zero value otherwise.

func (*RunnerApplicationDownload) GetSHA256Checksum

func (r *RunnerApplicationDownload) GetSHA256Checksum() string

GetSHA256Checksum returns the SHA256Checksum field if it's non-nil, zero value otherwise.

func (*RunnerApplicationDownload) GetTempDownloadToken

func (r *RunnerApplicationDownload) GetTempDownloadToken() string

GetTempDownloadToken returns the TempDownloadToken field if it's non-nil, zero value otherwise.

type RunnerGroup

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"`
	RestrictedToWorkflows        *bool    `json:"restricted_to_workflows,omitempty"`
	SelectedWorkflows            []string `json:"selected_workflows,omitempty"`
	WorkflowRestrictionsReadOnly *bool    `json:"workflow_restrictions_read_only,omitempty"`
}

RunnerGroup represents a self-hosted runner group configured in an organization.

func (*RunnerGroup) GetAllowsPublicRepositories

func (r *RunnerGroup) GetAllowsPublicRepositories() bool

GetAllowsPublicRepositories returns the AllowsPublicRepositories field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetDefault

func (r *RunnerGroup) GetDefault() bool

GetDefault returns the Default field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetID

func (r *RunnerGroup) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetInherited

func (r *RunnerGroup) GetInherited() bool

GetInherited returns the Inherited field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetName

func (r *RunnerGroup) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetRestrictedToWorkflows

func (r *RunnerGroup) GetRestrictedToWorkflows() bool

GetRestrictedToWorkflows returns the RestrictedToWorkflows field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetRunnersURL

func (r *RunnerGroup) GetRunnersURL() string

GetRunnersURL returns the RunnersURL field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetSelectedRepositoriesURL

func (r *RunnerGroup) GetSelectedRepositoriesURL() string

GetSelectedRepositoriesURL returns the SelectedRepositoriesURL field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetVisibility

func (r *RunnerGroup) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

func (*RunnerGroup) GetWorkflowRestrictionsReadOnly

func (r *RunnerGroup) GetWorkflowRestrictionsReadOnly() bool

GetWorkflowRestrictionsReadOnly returns the WorkflowRestrictionsReadOnly field if it's non-nil, zero value otherwise.

type RunnerGroups

type RunnerGroups struct {
	TotalCount   int            `json:"total_count"`
	RunnerGroups []*RunnerGroup `json:"runner_groups"`
}

RunnerGroups represents a collection of self-hosted runner groups configured for an organization.

type RunnerLabels

type RunnerLabels struct {
	ID   *int64  `json:"id,omitempty"`
	Name *string `json:"name,omitempty"`
	Type *string `json:"type,omitempty"`
}

RunnerLabels represents a collection of labels attached to each runner.

func (*RunnerLabels) GetID

func (r *RunnerLabels) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*RunnerLabels) GetName

func (r *RunnerLabels) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*RunnerLabels) GetType

func (r *RunnerLabels) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

type Runners

type Runners struct {
	TotalCount int       `json:"total_count"`
	Runners    []*Runner `json:"runners"`
}

Runners represents a collection of self-hosted runners for a repository.

type SCIMMeta

type SCIMMeta struct {
	ResourceType *string    `json:"resourceType,omitempty"`
	Created      *Timestamp `json:"created,omitempty"`
	LastModified *Timestamp `json:"lastModified,omitempty"`
	Location     *string    `json:"location,omitempty"`
}

SCIMMeta represents metadata about the SCIM resource.

func (*SCIMMeta) GetCreated

func (s *SCIMMeta) GetCreated() Timestamp

GetCreated returns the Created field if it's non-nil, zero value otherwise.

func (*SCIMMeta) GetLastModified

func (s *SCIMMeta) GetLastModified() Timestamp

GetLastModified returns the LastModified field if it's non-nil, zero value otherwise.

func (*SCIMMeta) GetLocation

func (s *SCIMMeta) GetLocation() string

GetLocation returns the Location field if it's non-nil, zero value otherwise.

func (*SCIMMeta) GetResourceType

func (s *SCIMMeta) GetResourceType() string

GetResourceType returns the ResourceType field if it's non-nil, zero value otherwise.

type SCIMProvisionedIdentities

type SCIMProvisionedIdentities struct {
	Schemas      []string              `json:"schemas,omitempty"`
	TotalResults *int                  `json:"totalResults,omitempty"`
	ItemsPerPage *int                  `json:"itemsPerPage,omitempty"`
	StartIndex   *int                  `json:"startIndex,omitempty"`
	Resources    []*SCIMUserAttributes `json:"Resources,omitempty"`
}

SCIMProvisionedIdentities represents the result of calling ListSCIMProvisionedIdentities.

func (*SCIMProvisionedIdentities) GetItemsPerPage

func (s *SCIMProvisionedIdentities) GetItemsPerPage() int

GetItemsPerPage returns the ItemsPerPage field if it's non-nil, zero value otherwise.

func (*SCIMProvisionedIdentities) GetStartIndex

func (s *SCIMProvisionedIdentities) GetStartIndex() int

GetStartIndex returns the StartIndex field if it's non-nil, zero value otherwise.

func (*SCIMProvisionedIdentities) GetTotalResults

func (s *SCIMProvisionedIdentities) GetTotalResults() int

GetTotalResults returns the TotalResults field if it's non-nil, zero value otherwise.

type SCIMService

type SCIMService service

SCIMService provides access to SCIM related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/scim

func (*SCIMService) DeleteSCIMUserFromOrg

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 (*SCIMService) GetSCIMProvisioningInfoForUser

func (s *SCIMService) GetSCIMProvisioningInfoForUser(ctx context.Context, org, scimUserID string) (*SCIMUserAttributes, *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 (*SCIMService) ListSCIMProvisionedIdentities

func (s *SCIMService) ListSCIMProvisionedIdentities(ctx context.Context, org string, opts *ListSCIMProvisionedIdentitiesOptions) (*SCIMProvisionedIdentities, *Response, error)

ListSCIMProvisionedIdentities lists SCIM provisioned identities.

GitHub API docs: https://docs.github.com/en/rest/scim#list-scim-provisioned-identities

func (*SCIMService) ProvisionAndInviteSCIMUser

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 (*SCIMService) UpdateAttributeForSCIMUser

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 (*SCIMService) UpdateProvisionedOrgMembership

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

type SCIMUserAttributes

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.)
	// Only populated as a result of calling ListSCIMProvisionedIdentitiesOptions or GetSCIMProvisioningInfoForUser:
	ID   *string   `json:"id,omitempty"`
	Meta *SCIMMeta `json:"meta,omitempty"`
}

SCIMUserAttributes represents supported SCIM User attributes.

GitHub API docs: https://docs.github.com/en/rest/scim#supported-scim-user-attributes

func (*SCIMUserAttributes) GetActive

func (s *SCIMUserAttributes) GetActive() bool

GetActive returns the Active field if it's non-nil, zero value otherwise.

func (*SCIMUserAttributes) GetDisplayName

func (s *SCIMUserAttributes) GetDisplayName() string

GetDisplayName returns the DisplayName field if it's non-nil, zero value otherwise.

func (*SCIMUserAttributes) GetExternalID

func (s *SCIMUserAttributes) GetExternalID() string

GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.

func (*SCIMUserAttributes) GetID

func (s *SCIMUserAttributes) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*SCIMUserAttributes) GetMeta

func (s *SCIMUserAttributes) GetMeta() *SCIMMeta

GetMeta returns the Meta field.

type SCIMUserEmail

type SCIMUserEmail struct {
	Value   string  `json:"value"`             // (Required.)
	Primary *bool   `json:"primary,omitempty"` // (Optional.)
	Type    *string `json:"type,omitempty"`    // (Optional.)
}

SCIMUserEmail represents SCIM user email.

func (*SCIMUserEmail) GetPrimary

func (s *SCIMUserEmail) GetPrimary() bool

GetPrimary returns the Primary field if it's non-nil, zero value otherwise.

func (*SCIMUserEmail) GetType

func (s *SCIMUserEmail) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

type SCIMUserName

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.)
}

SCIMUserName represents SCIM user information.

func (*SCIMUserName) GetFormatted

func (s *SCIMUserName) GetFormatted() string

GetFormatted returns the Formatted field if it's non-nil, zero value otherwise.

type SSHSigningKey

type SSHSigningKey struct {
	ID        *int64     `json:"id,omitempty"`
	Key       *string    `json:"key,omitempty"`
	Title     *string    `json:"title,omitempty"`
	CreatedAt *Timestamp `json:"created_at,omitempty"`
}

SSHSigningKey represents a public SSH key used to sign git commits.

func (*SSHSigningKey) GetCreatedAt

func (s *SSHSigningKey) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*SSHSigningKey) GetID

func (s *SSHSigningKey) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*SSHSigningKey) GetKey

func (s *SSHSigningKey) GetKey() string

GetKey returns the Key field if it's non-nil, zero value otherwise.

func (*SSHSigningKey) GetTitle

func (s *SSHSigningKey) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (SSHSigningKey) String

func (k SSHSigningKey) String() string

type SarifAnalysis

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

SarifAnalysis specifies the results of a code scanning job.

GitHub API docs: https://docs.github.com/en/rest/code-scanning

func (*SarifAnalysis) GetCheckoutURI

func (s *SarifAnalysis) GetCheckoutURI() string

GetCheckoutURI returns the CheckoutURI field if it's non-nil, zero value otherwise.

func (*SarifAnalysis) GetCommitSHA

func (s *SarifAnalysis) GetCommitSHA() string

GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.

func (*SarifAnalysis) GetRef

func (s *SarifAnalysis) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*SarifAnalysis) GetSarif

func (s *SarifAnalysis) GetSarif() string

GetSarif returns the Sarif field if it's non-nil, zero value otherwise.

func (*SarifAnalysis) GetStartedAt

func (s *SarifAnalysis) GetStartedAt() Timestamp

GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.

func (*SarifAnalysis) GetToolName

func (s *SarifAnalysis) GetToolName() string

GetToolName returns the ToolName field if it's non-nil, zero value otherwise.

type SarifID

type SarifID struct {
	ID  *string `json:"id,omitempty"`
	URL *string `json:"url,omitempty"`
}

SarifID identifies a sarif analysis upload.

GitHub API docs: https://docs.github.com/en/rest/code-scanning

func (*SarifID) GetID

func (s *SarifID) GetID() string

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*SarifID) GetURL

func (s *SarifID) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type ScanningAnalysis

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

ScanningAnalysis represents an individual GitHub Code Scanning ScanningAnalysis on a single repository.

GitHub API docs: https://docs.github.com/en/rest/code-scanning

func (*ScanningAnalysis) GetAnalysisKey

func (s *ScanningAnalysis) GetAnalysisKey() string

GetAnalysisKey returns the AnalysisKey field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetCategory

func (s *ScanningAnalysis) GetCategory() string

GetCategory returns the Category field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetCommitSHA

func (s *ScanningAnalysis) GetCommitSHA() string

GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetCreatedAt

func (s *ScanningAnalysis) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetDeletable

func (s *ScanningAnalysis) GetDeletable() bool

GetDeletable returns the Deletable field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetEnvironment

func (s *ScanningAnalysis) GetEnvironment() string

GetEnvironment returns the Environment field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetError

func (s *ScanningAnalysis) GetError() string

GetError returns the Error field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetID

func (s *ScanningAnalysis) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetRef

func (s *ScanningAnalysis) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetResultsCount

func (s *ScanningAnalysis) GetResultsCount() int

GetResultsCount returns the ResultsCount field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetRulesCount

func (s *ScanningAnalysis) GetRulesCount() int

GetRulesCount returns the RulesCount field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetSarifID

func (s *ScanningAnalysis) GetSarifID() string

GetSarifID returns the SarifID field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetTool

func (s *ScanningAnalysis) GetTool() *Tool

GetTool returns the Tool field.

func (*ScanningAnalysis) GetURL

func (s *ScanningAnalysis) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*ScanningAnalysis) GetWarning

func (s *ScanningAnalysis) GetWarning() string

GetWarning returns the Warning field if it's non-nil, zero value otherwise.

type Scope

type Scope string

Scope models a GitHub authorization scope.

GitHub API docs: https://docs.github.com/en/rest/oauth/#scopes

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"
)

This is the set of scopes for GitHub API V3

type SearchOptions

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
}

SearchOptions specifies optional parameters to the SearchService methods.

type SearchService

type SearchService service

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/

func (*SearchService) Code

Code searches code via various criteria.

GitHub API docs: https://docs.github.com/en/rest/search#search-code

func (*SearchService) Commits

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 (*SearchService) Issues

Issues searches issues via various criteria.

GitHub API docs: https://docs.github.com/en/rest/search#search-issues-and-pull-requests

func (*SearchService) Labels

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 (*SearchService) Repositories

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 (*SearchService) Topics

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 (*SearchService) Users

Users searches users via various criteria.

GitHub API docs: https://docs.github.com/en/rest/search#search-users

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

Secret represents a repository action secret.

type SecretScanning

type SecretScanning struct {
	Status *string `json:"status,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

func (*SecretScanning) GetStatus

func (s *SecretScanning) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (SecretScanning) String

func (s SecretScanning) String() string

type SecretScanningAlert

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

SecretScanningAlert represents a GitHub secret scanning alert.

func (*SecretScanningAlert) GetCreatedAt

func (s *SecretScanningAlert) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetHTMLURL

func (s *SecretScanningAlert) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetLocationsURL

func (s *SecretScanningAlert) GetLocationsURL() string

GetLocationsURL returns the LocationsURL field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetNumber

func (s *SecretScanningAlert) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetResolution

func (s *SecretScanningAlert) GetResolution() string

GetResolution returns the Resolution field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetResolvedAt

func (s *SecretScanningAlert) GetResolvedAt() Timestamp

GetResolvedAt returns the ResolvedAt field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetResolvedBy

func (s *SecretScanningAlert) GetResolvedBy() *User

GetResolvedBy returns the ResolvedBy field.

func (*SecretScanningAlert) GetSecret

func (s *SecretScanningAlert) GetSecret() string

GetSecret returns the Secret field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetSecretType

func (s *SecretScanningAlert) GetSecretType() string

GetSecretType returns the SecretType field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetState

func (s *SecretScanningAlert) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*SecretScanningAlert) GetURL

func (s *SecretScanningAlert) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type SecretScanningAlertEvent

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

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

func (*SecretScanningAlertEvent) GetAction

func (s *SecretScanningAlertEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertEvent) GetAlert

GetAlert returns the Alert field.

func (*SecretScanningAlertEvent) GetEnterprise

func (s *SecretScanningAlertEvent) GetEnterprise() *Enterprise

GetEnterprise returns the Enterprise field.

func (*SecretScanningAlertEvent) GetInstallation

func (s *SecretScanningAlertEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*SecretScanningAlertEvent) GetOrganization

func (s *SecretScanningAlertEvent) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*SecretScanningAlertEvent) GetRepo

func (s *SecretScanningAlertEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*SecretScanningAlertEvent) GetSender

func (s *SecretScanningAlertEvent) GetSender() *User

GetSender returns the Sender field.

type SecretScanningAlertListOptions

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

	// List options can vary on the Enterprise type.
	// On Enterprise Cloud, Secret Scan alerts support requesting by page number
	// along with providing a cursor for an "after" param.
	// See: https://docs.github.com/en/enterprise-cloud@latest/rest/secret-scanning#list-secret-scanning-alerts-for-an-organization
	// Whereas on Enterprise Server, pagination is by index.
	// See: https://docs.github.com/en/enterprise-server@3.6/rest/secret-scanning#list-secret-scanning-alerts-for-an-organization
	ListOptions
}

SecretScanningAlertListOptions specifies optional parameters to the SecretScanningService.ListAlertsForEnterprise method.

type SecretScanningAlertLocation

type SecretScanningAlertLocation struct {
	Type    *string                             `json:"type,omitempty"`
	Details *SecretScanningAlertLocationDetails `json:"details,omitempty"`
}

SecretScanningAlertLocation represents the location for a secret scanning alert.

func (*SecretScanningAlertLocation) GetDetails

GetDetails returns the Details field.

func (*SecretScanningAlertLocation) GetType

func (s *SecretScanningAlertLocation) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

type SecretScanningAlertLocationDetails

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

SecretScanningAlertLocationDetails represents the location details for a secret scanning alert.

func (*SecretScanningAlertLocationDetails) GetBlobSHA

GetBlobSHA returns the BlobSHA field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetBlobURL

GetBlobURL returns the BlobURL field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetCommitSHA

func (s *SecretScanningAlertLocationDetails) GetCommitSHA() string

GetCommitSHA returns the CommitSHA field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetCommitURL

func (s *SecretScanningAlertLocationDetails) GetCommitURL() string

GetCommitURL returns the CommitURL field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetEndColumn

func (s *SecretScanningAlertLocationDetails) GetEndColumn() int

GetEndColumn returns the EndColumn field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetEndLine

func (s *SecretScanningAlertLocationDetails) GetEndLine() int

GetEndLine returns the EndLine field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetPath

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetStartColumn

func (s *SecretScanningAlertLocationDetails) GetStartColumn() int

GetStartColumn returns the StartColumn field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertLocationDetails) GetStartline

func (s *SecretScanningAlertLocationDetails) GetStartline() int

GetStartline returns the Startline field if it's non-nil, zero value otherwise.

type SecretScanningAlertUpdateOptions

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

SecretScanningAlertUpdateOptions specifies optional parameters to the SecretScanningService.UpdateAlert method.

func (*SecretScanningAlertUpdateOptions) GetResolution

func (s *SecretScanningAlertUpdateOptions) GetResolution() string

GetResolution returns the Resolution field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertUpdateOptions) GetSecretType

func (s *SecretScanningAlertUpdateOptions) GetSecretType() string

GetSecretType returns the SecretType field if it's non-nil, zero value otherwise.

func (*SecretScanningAlertUpdateOptions) GetState

GetState returns the State field if it's non-nil, zero value otherwise.

type SecretScanningPushProtection

type SecretScanningPushProtection struct {
	Status *string `json:"status,omitempty"`
}

SecretScanningPushProtection specifies the state of secret scanning push protection on a repository.

GitHub API docs: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-partner-patterns

func (*SecretScanningPushProtection) GetStatus

func (s *SecretScanningPushProtection) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

type SecretScanningService

type SecretScanningService service

SecretScanningService handles communication with the secret scanning related methods of the GitHub API.

func (*SecretScanningService) GetAlert

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 (*SecretScanningService) ListAlertsForEnterprise

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 (*SecretScanningService) ListAlertsForOrg

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 (*SecretScanningService) ListAlertsForRepo

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 (*SecretScanningService) ListLocationsForAlert

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 (*SecretScanningService) UpdateAlert

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

type Secrets

type Secrets struct {
	TotalCount int       `json:"total_count"`
	Secrets    []*Secret `json:"secrets"`
}

Secrets represents one item from the ListSecrets response.

type SecurityAdvisory

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

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

func (*SecurityAdvisory) GetDescription

func (s *SecurityAdvisory) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*SecurityAdvisory) GetGHSAID

func (s *SecurityAdvisory) GetGHSAID() string

GetGHSAID returns the GHSAID field if it's non-nil, zero value otherwise.

func (*SecurityAdvisory) GetPublishedAt

func (s *SecurityAdvisory) GetPublishedAt() Timestamp

GetPublishedAt returns the PublishedAt field if it's non-nil, zero value otherwise.

func (*SecurityAdvisory) GetSeverity

func (s *SecurityAdvisory) GetSeverity() string

GetSeverity returns the Severity field if it's non-nil, zero value otherwise.

func (*SecurityAdvisory) GetSummary

func (s *SecurityAdvisory) GetSummary() string

GetSummary returns the Summary field if it's non-nil, zero value otherwise.

func (*SecurityAdvisory) GetUpdatedAt

func (s *SecurityAdvisory) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*SecurityAdvisory) GetWithdrawnAt

func (s *SecurityAdvisory) GetWithdrawnAt() Timestamp

GetWithdrawnAt returns the WithdrawnAt field if it's non-nil, zero value otherwise.

type SecurityAdvisoryEvent

type SecurityAdvisoryEvent struct {
	Action           *string           `json:"action,omitempty"`
	SecurityAdvisory *SecurityAdvisory `json:"security_advisory,omitempty"`
}

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

func (*SecurityAdvisoryEvent) GetAction

func (s *SecurityAdvisoryEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*SecurityAdvisoryEvent) GetSecurityAdvisory

func (s *SecurityAdvisoryEvent) GetSecurityAdvisory() *SecurityAdvisory

GetSecurityAdvisory returns the SecurityAdvisory field.

type SecurityAndAnalysis

type SecurityAndAnalysis struct {
	AdvancedSecurity             *AdvancedSecurity             `json:"advanced_security,omitempty"`
	SecretScanning               *SecretScanning               `json:"secret_scanning,omitempty"`
	SecretScanningPushProtection *SecretScanningPushProtection `json:"secret_scanning_push_protection,omitempty"`
}

SecurityAndAnalysis specifies the optional advanced security features that are enabled on a given repository.

func (*SecurityAndAnalysis) GetAdvancedSecurity

func (s *SecurityAndAnalysis) GetAdvancedSecurity() *AdvancedSecurity

GetAdvancedSecurity returns the AdvancedSecurity field.

func (*SecurityAndAnalysis) GetSecretScanning

func (s *SecurityAndAnalysis) GetSecretScanning() *SecretScanning

GetSecretScanning returns the SecretScanning field.

func (*SecurityAndAnalysis) GetSecretScanningPushProtection

func (s *SecurityAndAnalysis) GetSecretScanningPushProtection() *SecretScanningPushProtection

GetSecretScanningPushProtection returns the SecretScanningPushProtection field.

func (SecurityAndAnalysis) String

func (s SecurityAndAnalysis) String() string

type SelectedRepoIDs

type SelectedRepoIDs []int64

SelectedRepoIDs are the repository IDs that have access to the actions secrets.

type SelectedReposList

type SelectedReposList struct {
	TotalCount   *int          `json:"total_count,omitempty"`
	Repositories []*Repository `json:"repositories,omitempty"`
}

SelectedReposList represents the list of repositories selected for an organization secret.

func (*SelectedReposList) GetTotalCount

func (s *SelectedReposList) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type ServiceHook

type ServiceHook struct {
	Name            *string    `json:"name,omitempty"`
	Events          []string   `json:"events,omitempty"`
	SupportedEvents []string   `json:"supported_events,omitempty"`
	Schema          [][]string `json:"schema,omitempty"`
}

ServiceHook represents a hook that has configuration settings, a list of available events, and default events.

func (*ServiceHook) GetName

func (s *ServiceHook) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*ServiceHook) String

func (s *ServiceHook) String() string

type SetRepoAccessRunnerGroupRequest

type SetRepoAccessRunnerGroupRequest struct {
	// Updated list of repository IDs that should be given access to the runner group.
	SelectedRepositoryIDs []int64 `json:"selected_repository_ids"`
}

SetRepoAccessRunnerGroupRequest represents a request to replace the list of repositories that can access a self-hosted runner group configured in an organization.

type SetRunnerGroupRunnersRequest

type SetRunnerGroupRunnersRequest struct {
	// Updated list of runner IDs that should be given access to the runner group.
	Runners []int64 `json:"runners"`
}

SetRunnerGroupRunnersRequest represents a request to replace the list of self-hosted runners that are part of an organization runner group.

type SignatureRequirementEnforcementLevelChanges

type SignatureRequirementEnforcementLevelChanges struct {
	From *string `json:"from,omitempty"`
}

SignatureRequirementEnforcementLevelChanges represents the changes made to the SignatureRequirementEnforcementLevel policy.

func (*SignatureRequirementEnforcementLevelChanges) GetFrom

GetFrom returns the From field if it's non-nil, zero value otherwise.

type SignatureVerification

type SignatureVerification struct {
	Verified  *bool   `json:"verified,omitempty"`
	Reason    *string `json:"reason,omitempty"`
	Signature *string `json:"signature,omitempty"`
	Payload   *string `json:"payload,omitempty"`
}

SignatureVerification represents GPG signature verification.

func (*SignatureVerification) GetPayload

func (s *SignatureVerification) GetPayload() string

GetPayload returns the Payload field if it's non-nil, zero value otherwise.

func (*SignatureVerification) GetReason

func (s *SignatureVerification) GetReason() string

GetReason returns the Reason field if it's non-nil, zero value otherwise.

func (*SignatureVerification) GetSignature

func (s *SignatureVerification) GetSignature() string

GetSignature returns the Signature field if it's non-nil, zero value otherwise.

func (*SignatureVerification) GetVerified

func (s *SignatureVerification) GetVerified() bool

GetVerified returns the Verified field if it's non-nil, zero value otherwise.

type SignaturesProtectedBranch

type SignaturesProtectedBranch struct {
	URL *string `json:"url,omitempty"`
	// Commits pushed to matching branches must have verified signatures.
	Enabled *bool `json:"enabled,omitempty"`
}

SignaturesProtectedBranch represents the protection status of an individual branch.

func (*SignaturesProtectedBranch) GetEnabled

func (s *SignaturesProtectedBranch) GetEnabled() bool

GetEnabled returns the Enabled field if it's non-nil, zero value otherwise.

func (*SignaturesProtectedBranch) GetURL

func (s *SignaturesProtectedBranch) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

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

Source represents a reference's source.

func (*Source) GetActor

func (s *Source) GetActor() *User

GetActor returns the Actor field.

func (*Source) GetID

func (s *Source) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Source) GetIssue

func (s *Source) GetIssue() *Issue

GetIssue returns the Issue field.

func (*Source) GetType

func (s *Source) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*Source) GetURL

func (s *Source) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type SourceImportAuthor

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

SourceImportAuthor identifies an author imported from a source repository.

GitHub API docs: https://docs.github.com/en/rest/migration/source_imports/#get-commit-authors

func (*SourceImportAuthor) GetEmail

func (s *SourceImportAuthor) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*SourceImportAuthor) GetID

func (s *SourceImportAuthor) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*SourceImportAuthor) GetImportURL

func (s *SourceImportAuthor) GetImportURL() string

GetImportURL returns the ImportURL field if it's non-nil, zero value otherwise.

func (*SourceImportAuthor) GetName

func (s *SourceImportAuthor) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*SourceImportAuthor) GetRemoteID

func (s *SourceImportAuthor) GetRemoteID() string

GetRemoteID returns the RemoteID field if it's non-nil, zero value otherwise.

func (*SourceImportAuthor) GetRemoteName

func (s *SourceImportAuthor) GetRemoteName() string

GetRemoteName returns the RemoteName field if it's non-nil, zero value otherwise.

func (*SourceImportAuthor) GetURL

func (s *SourceImportAuthor) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (SourceImportAuthor) String

func (a SourceImportAuthor) String() string

type StarEvent

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

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

func (*StarEvent) GetAction

func (s *StarEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*StarEvent) GetInstallation

func (s *StarEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*StarEvent) GetOrg

func (s *StarEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*StarEvent) GetRepo

func (s *StarEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*StarEvent) GetSender

func (s *StarEvent) GetSender() *User

GetSender returns the Sender field.

func (*StarEvent) GetStarredAt

func (s *StarEvent) GetStarredAt() Timestamp

GetStarredAt returns the StarredAt field if it's non-nil, zero value otherwise.

type Stargazer

type Stargazer struct {
	StarredAt *Timestamp `json:"starred_at,omitempty"`
	User      *User      `json:"user,omitempty"`
}

Stargazer represents a user that has starred a repository.

func (*Stargazer) GetStarredAt

func (s *Stargazer) GetStarredAt() Timestamp

GetStarredAt returns the StarredAt field if it's non-nil, zero value otherwise.

func (*Stargazer) GetUser

func (s *Stargazer) GetUser() *User

GetUser returns the User field.

type StarredRepository

type StarredRepository struct {
	StarredAt  *Timestamp  `json:"starred_at,omitempty"`
	Repository *Repository `json:"repo,omitempty"`
}

StarredRepository is returned by ListStarred.

func (*StarredRepository) GetRepository

func (s *StarredRepository) GetRepository() *Repository

GetRepository returns the Repository field.

func (*StarredRepository) GetStarredAt

func (s *StarredRepository) GetStarredAt() Timestamp

GetStarredAt returns the StarredAt field if it's non-nil, zero value otherwise.

type StatusEvent

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

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

func (*StatusEvent) GetCommit

func (s *StatusEvent) GetCommit() *RepositoryCommit

GetCommit returns the Commit field.

func (*StatusEvent) GetContext

func (s *StatusEvent) GetContext() string

GetContext returns the Context field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetCreatedAt

func (s *StatusEvent) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetDescription

func (s *StatusEvent) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetID

func (s *StatusEvent) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetInstallation

func (s *StatusEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*StatusEvent) GetName

func (s *StatusEvent) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetRepo

func (s *StatusEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*StatusEvent) GetSHA

func (s *StatusEvent) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetSender

func (s *StatusEvent) GetSender() *User

GetSender returns the Sender field.

func (*StatusEvent) GetState

func (s *StatusEvent) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetTargetURL

func (s *StatusEvent) GetTargetURL() string

GetTargetURL returns the TargetURL field if it's non-nil, zero value otherwise.

func (*StatusEvent) GetUpdatedAt

func (s *StatusEvent) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type StorageBilling

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

StorageBilling represents a GitHub Storage billing.

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

Subscription identifies a repository or thread subscription.

func (*Subscription) GetCreatedAt

func (s *Subscription) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Subscription) GetIgnored

func (s *Subscription) GetIgnored() bool

GetIgnored returns the Ignored field if it's non-nil, zero value otherwise.

func (*Subscription) GetReason

func (s *Subscription) GetReason() string

GetReason returns the Reason field if it's non-nil, zero value otherwise.

func (*Subscription) GetRepositoryURL

func (s *Subscription) GetRepositoryURL() string

GetRepositoryURL returns the RepositoryURL field if it's non-nil, zero value otherwise.

func (*Subscription) GetSubscribed

func (s *Subscription) GetSubscribed() bool

GetSubscribed returns the Subscribed field if it's non-nil, zero value otherwise.

func (*Subscription) GetThreadURL

func (s *Subscription) GetThreadURL() string

GetThreadURL returns the ThreadURL field if it's non-nil, zero value otherwise.

func (*Subscription) GetURL

func (s *Subscription) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type Tag

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

Tag represents a tag object.

func (*Tag) GetMessage

func (t *Tag) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*Tag) GetNodeID

func (t *Tag) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Tag) GetObject

func (t *Tag) GetObject() *GitObject

GetObject returns the Object field.

func (*Tag) GetSHA

func (t *Tag) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*Tag) GetTag

func (t *Tag) GetTag() string

GetTag returns the Tag field if it's non-nil, zero value otherwise.

func (*Tag) GetTagger

func (t *Tag) GetTagger() *CommitAuthor

GetTagger returns the Tagger field.

func (*Tag) GetURL

func (t *Tag) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Tag) GetVerification

func (t *Tag) GetVerification() *SignatureVerification

GetVerification returns the Verification field.

type TagProtection

type TagProtection struct {
	ID      *int64  `json:"id"`
	Pattern *string `json:"pattern"`
}

TagProtection represents a repository tag protection.

func (*TagProtection) GetID

func (t *TagProtection) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*TagProtection) GetPattern

func (t *TagProtection) GetPattern() string

GetPattern returns the Pattern field if it's non-nil, zero value otherwise.

type TaskStep

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

TaskStep represents a single task step from a sequence of tasks of a job.

func (*TaskStep) GetCompletedAt

func (t *TaskStep) GetCompletedAt() Timestamp

GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.

func (*TaskStep) GetConclusion

func (t *TaskStep) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*TaskStep) GetName

func (t *TaskStep) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*TaskStep) GetNumber

func (t *TaskStep) GetNumber() int64

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*TaskStep) GetStartedAt

func (t *TaskStep) GetStartedAt() Timestamp

GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.

func (*TaskStep) GetStatus

func (t *TaskStep) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

type Team

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

Team represents a team within a GitHub organization. Teams are used to manage access to an organization's repositories.

func (*Team) GetDescription

func (t *Team) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*Team) GetHTMLURL

func (t *Team) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Team) GetID

func (t *Team) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Team) GetLDAPDN

func (t *Team) GetLDAPDN() string

GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.

func (*Team) GetMembersCount

func (t *Team) GetMembersCount() int

GetMembersCount returns the MembersCount field if it's non-nil, zero value otherwise.

func (*Team) GetMembersURL

func (t *Team) GetMembersURL() string

GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise.

func (*Team) GetName

func (t *Team) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Team) GetNodeID

func (t *Team) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Team) GetOrganization

func (t *Team) GetOrganization() *Organization

GetOrganization returns the Organization field.

func (*Team) GetParent

func (t *Team) GetParent() *Team

GetParent returns the Parent field.

func (*Team) GetPermission

func (t *Team) GetPermission() string

GetPermission returns the Permission field if it's non-nil, zero value otherwise.

func (*Team) GetPermissions

func (t *Team) GetPermissions() map[string]bool

GetPermissions returns the Permissions map if it's non-nil, an empty map otherwise.

func (*Team) GetPrivacy

func (t *Team) GetPrivacy() string

GetPrivacy returns the Privacy field if it's non-nil, zero value otherwise.

func (*Team) GetReposCount

func (t *Team) GetReposCount() int

GetReposCount returns the ReposCount field if it's non-nil, zero value otherwise.

func (*Team) GetRepositoriesURL

func (t *Team) GetRepositoriesURL() string

GetRepositoriesURL returns the RepositoriesURL field if it's non-nil, zero value otherwise.

func (*Team) GetSlug

func (t *Team) GetSlug() string

GetSlug returns the Slug field if it's non-nil, zero value otherwise.

func (*Team) GetURL

func (t *Team) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (Team) String

func (t Team) String() string

type TeamAddEvent

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

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

func (*TeamAddEvent) GetInstallation

func (t *TeamAddEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*TeamAddEvent) GetOrg

func (t *TeamAddEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*TeamAddEvent) GetRepo

func (t *TeamAddEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*TeamAddEvent) GetSender

func (t *TeamAddEvent) GetSender() *User

GetSender returns the Sender field.

func (*TeamAddEvent) GetTeam

func (t *TeamAddEvent) GetTeam() *Team

GetTeam returns the Team field.

type TeamAddTeamMembershipOptions

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

TeamAddTeamMembershipOptions specifies the optional parameters to the TeamsService.AddTeamMembership method.

type TeamAddTeamRepoOptions

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

TeamAddTeamRepoOptions specifies the optional parameters to the TeamsService.AddTeamRepoByID and TeamsService.AddTeamRepoBySlug methods.

type TeamChange

type TeamChange struct {
	Description *TeamDescription `json:"description,omitempty"`
	Name        *TeamName        `json:"name,omitempty"`
	Privacy     *TeamPrivacy     `json:"privacy,omitempty"`
	Repository  *TeamRepository  `json:"repository,omitempty"`
}

TeamChange represents the changes when a team has been edited.

func (*TeamChange) GetDescription

func (t *TeamChange) GetDescription() *TeamDescription

GetDescription returns the Description field.

func (*TeamChange) GetName

func (t *TeamChange) GetName() *TeamName

GetName returns the Name field.

func (*TeamChange) GetPrivacy

func (t *TeamChange) GetPrivacy() *TeamPrivacy

GetPrivacy returns the Privacy field.

func (*TeamChange) GetRepository

func (t *TeamChange) GetRepository() *TeamRepository

GetRepository returns the Repository field.

type TeamDescription

type TeamDescription struct {
	From *string `json:"from,omitempty"`
}

TeamDescription represents a team description change.

func (*TeamDescription) GetFrom

func (t *TeamDescription) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type TeamDiscussion

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

TeamDiscussion represents a GitHub dicussion in a team.

func (*TeamDiscussion) GetAuthor

func (t *TeamDiscussion) GetAuthor() *User

GetAuthor returns the Author field.

func (*TeamDiscussion) GetBody

func (t *TeamDiscussion) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetBodyHTML

func (t *TeamDiscussion) GetBodyHTML() string

GetBodyHTML returns the BodyHTML field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetBodyVersion

func (t *TeamDiscussion) GetBodyVersion() string

GetBodyVersion returns the BodyVersion field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetCommentsCount

func (t *TeamDiscussion) GetCommentsCount() int

GetCommentsCount returns the CommentsCount field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetCommentsURL

func (t *TeamDiscussion) GetCommentsURL() string

GetCommentsURL returns the CommentsURL field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetCreatedAt

func (t *TeamDiscussion) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetHTMLURL

func (t *TeamDiscussion) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetLastEditedAt

func (t *TeamDiscussion) GetLastEditedAt() Timestamp

GetLastEditedAt returns the LastEditedAt field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetNodeID

func (t *TeamDiscussion) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetNumber

func (t *TeamDiscussion) GetNumber() int

GetNumber returns the Number field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetPinned

func (t *TeamDiscussion) GetPinned() bool

GetPinned returns the Pinned field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetPrivate

func (t *TeamDiscussion) GetPrivate() bool

GetPrivate returns the Private field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetReactions

func (t *TeamDiscussion) GetReactions() *Reactions

GetReactions returns the Reactions field.

func (*TeamDiscussion) GetTeamURL

func (t *TeamDiscussion) GetTeamURL() string

GetTeamURL returns the TeamURL field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetTitle

func (t *TeamDiscussion) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetURL

func (t *TeamDiscussion) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*TeamDiscussion) GetUpdatedAt

func (t *TeamDiscussion) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (TeamDiscussion) String

func (d TeamDiscussion) String() string

type TeamEvent

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

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

func (*TeamEvent) GetAction

func (t *TeamEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*TeamEvent) GetChanges

func (t *TeamEvent) GetChanges() *TeamChange

GetChanges returns the Changes field.

func (*TeamEvent) GetInstallation

func (t *TeamEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*TeamEvent) GetOrg

func (t *TeamEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*TeamEvent) GetRepo

func (t *TeamEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*TeamEvent) GetSender

func (t *TeamEvent) GetSender() *User

GetSender returns the Sender field.

func (*TeamEvent) GetTeam

func (t *TeamEvent) GetTeam() *Team

GetTeam returns the Team field.

type TeamLDAPMapping

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

TeamLDAPMapping represents the mapping between a GitHub team and an LDAP group.

func (*TeamLDAPMapping) GetDescription

func (t *TeamLDAPMapping) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetID

func (t *TeamLDAPMapping) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetLDAPDN

func (t *TeamLDAPMapping) GetLDAPDN() string

GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetMembersURL

func (t *TeamLDAPMapping) GetMembersURL() string

GetMembersURL returns the MembersURL field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetName

func (t *TeamLDAPMapping) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetPermission

func (t *TeamLDAPMapping) GetPermission() string

GetPermission returns the Permission field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetPrivacy

func (t *TeamLDAPMapping) GetPrivacy() string

GetPrivacy returns the Privacy field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetRepositoriesURL

func (t *TeamLDAPMapping) GetRepositoriesURL() string

GetRepositoriesURL returns the RepositoriesURL field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetSlug

func (t *TeamLDAPMapping) GetSlug() string

GetSlug returns the Slug field if it's non-nil, zero value otherwise.

func (*TeamLDAPMapping) GetURL

func (t *TeamLDAPMapping) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (TeamLDAPMapping) String

func (m TeamLDAPMapping) String() string

type TeamListTeamMembersOptions

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
}

TeamListTeamMembersOptions specifies the optional parameters to the TeamsService.ListTeamMembers method.

type TeamName

type TeamName struct {
	From *string `json:"from,omitempty"`
}

TeamName represents a team name change.

func (*TeamName) GetFrom

func (t *TeamName) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type TeamPermissions

type TeamPermissions struct {
	From *TeamPermissionsFrom `json:"from,omitempty"`
}

TeamPermissions represents a team permission change.

func (*TeamPermissions) GetFrom

func (t *TeamPermissions) GetFrom() *TeamPermissionsFrom

GetFrom returns the From field.

type TeamPermissionsFrom

type TeamPermissionsFrom struct {
	Admin *bool `json:"admin,omitempty"`
	Pull  *bool `json:"pull,omitempty"`
	Push  *bool `json:"push,omitempty"`
}

TeamPermissionsFrom represents a team permission change.

func (*TeamPermissionsFrom) GetAdmin

func (t *TeamPermissionsFrom) GetAdmin() bool

GetAdmin returns the Admin field if it's non-nil, zero value otherwise.

func (*TeamPermissionsFrom) GetPull

func (t *TeamPermissionsFrom) GetPull() bool

GetPull returns the Pull field if it's non-nil, zero value otherwise.

func (*TeamPermissionsFrom) GetPush

func (t *TeamPermissionsFrom) GetPush() bool

GetPush returns the Push field if it's non-nil, zero value otherwise.

type TeamPrivacy

type TeamPrivacy struct {
	From *string `json:"from,omitempty"`
}

TeamPrivacy represents a team privacy change.

func (*TeamPrivacy) GetFrom

func (t *TeamPrivacy) GetFrom() string

GetFrom returns the From field if it's non-nil, zero value otherwise.

type TeamProjectOptions

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

TeamProjectOptions specifies the optional parameters to the TeamsService.AddTeamProject method.

func (*TeamProjectOptions) GetPermission

func (t *TeamProjectOptions) GetPermission() string

GetPermission returns the Permission field if it's non-nil, zero value otherwise.

type TeamRepository

type TeamRepository struct {
	Permissions *TeamPermissions `json:"permissions,omitempty"`
}

TeamRepository represents a team repository permission change.

func (*TeamRepository) GetPermissions

func (t *TeamRepository) GetPermissions() *TeamPermissions

GetPermissions returns the Permissions field.

type TeamsService

type TeamsService service

TeamsService provides access to the team-related functions in the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/teams/

func (*TeamsService) AddTeamMembershipByID

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 (*TeamsService) AddTeamMembershipBySlug

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 (*TeamsService) AddTeamProjectByID

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 (*TeamsService) AddTeamProjectBySlug

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 (*TeamsService) AddTeamRepoByID

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 (*TeamsService) AddTeamRepoBySlug

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 (*TeamsService) CreateCommentByID

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 (*TeamsService) CreateCommentBySlug

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 (*TeamsService) CreateDiscussionByID

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 (*TeamsService) CreateDiscussionBySlug

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 (*TeamsService) CreateOrUpdateIDPGroupConnectionsByID

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 (*TeamsService) CreateOrUpdateIDPGroupConnectionsBySlug

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 (*TeamsService) CreateTeam

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 (*TeamsService) DeleteCommentByID

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 (*TeamsService) DeleteCommentBySlug

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 (*TeamsService) DeleteDiscussionByID

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 (*TeamsService) DeleteDiscussionBySlug

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 (*TeamsService) DeleteTeamByID

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 (*TeamsService) DeleteTeamBySlug

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 (*TeamsService) EditCommentByID

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 (*TeamsService) EditCommentBySlug

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 (*TeamsService) EditDiscussionByID

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 (*TeamsService) EditDiscussionBySlug

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 (*TeamsService) EditTeamByID

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 (*TeamsService) EditTeamBySlug

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 (*TeamsService) GetCommentByID

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 (*TeamsService) GetCommentBySlug

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 (*TeamsService) GetDiscussionByID

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 (*TeamsService) GetDiscussionBySlug

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 (*TeamsService) GetExternalGroup

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 (*TeamsService) GetTeamByID

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 (*TeamsService) GetTeamBySlug

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 (*TeamsService) GetTeamMembershipByID

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 (*TeamsService) GetTeamMembershipBySlug

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 (*TeamsService) IsTeamRepoByID

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 (*TeamsService) IsTeamRepoBySlug

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 (*TeamsService) ListChildTeamsByParentID

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 (*TeamsService) ListChildTeamsByParentSlug

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 (*TeamsService) ListCommentsByID

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 (*TeamsService) ListCommentsBySlug

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 (*TeamsService) ListDiscussionsByID

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 (*TeamsService) ListDiscussionsBySlug

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 (*TeamsService) ListExternalGroups

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 (*TeamsService) ListIDPGroupsForTeamByID

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 (*TeamsService) ListIDPGroupsForTeamBySlug

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 (*TeamsService) ListIDPGroupsInOrganization

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 (*TeamsService) ListPendingTeamInvitationsByID

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 (*TeamsService) ListPendingTeamInvitationsBySlug

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 (*TeamsService) ListTeamMembersByID

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 (*TeamsService) ListTeamMembersBySlug

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 (*TeamsService) ListTeamProjectsByID

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 (*TeamsService) ListTeamProjectsBySlug

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 (*TeamsService) ListTeamReposByID

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 (*TeamsService) ListTeamReposBySlug

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 (*TeamsService) ListTeams

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
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v49/github"
)

func main() {
	// This example shows how to get a team ID corresponding to a given team name.

	// Note that authentication is needed here as you are performing a lookup on
	// an organization's administrative configuration, so you will need to modify
	// the example to provide an oauth client to github.NewClient() instead of nil.
	// See the following documentation for more information on how to authenticate
	// with the client:
	// https://godoc.org/github.com/google/go-github/github#hdr-Authentication
	client := github.NewClient(nil)

	teamName := "Developers team"
	ctx := context.Background()
	opts := &github.ListOptions{}

	for {
		teams, resp, err := client.Teams.ListTeams(ctx, "myOrganization", opts)
		if err != nil {
			fmt.Println(err)
			return
		}
		for _, t := range teams {
			if t.GetName() == teamName {
				fmt.Printf("Team %q has ID %d\n", teamName, t.GetID())
				return
			}
		}
		if resp.NextPage == 0 {
			break
		}
		opts.Page = resp.NextPage
	}

	fmt.Printf("Team %q was not found\n", teamName)
}
Output:

func (*TeamsService) ListUserTeams

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 (*TeamsService) RemoveConnectedExternalGroup

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 (*TeamsService) RemoveTeamMembershipByID

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 (*TeamsService) RemoveTeamMembershipBySlug

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 (*TeamsService) RemoveTeamProjectByID

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 (*TeamsService) RemoveTeamProjectBySlug

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 (*TeamsService) RemoveTeamRepoByID

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 (*TeamsService) RemoveTeamRepoBySlug

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 (*TeamsService) ReviewTeamProjectsByID

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 (*TeamsService) ReviewTeamProjectsBySlug

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 (*TeamsService) UpdateConnectedExternalGroup

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

type TemplateRepoRequest

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

TemplateRepoRequest represents a request to create a repository from a template.

func (*TemplateRepoRequest) GetDescription

func (t *TemplateRepoRequest) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*TemplateRepoRequest) GetIncludeAllBranches

func (t *TemplateRepoRequest) GetIncludeAllBranches() bool

GetIncludeAllBranches returns the IncludeAllBranches field if it's non-nil, zero value otherwise.

func (*TemplateRepoRequest) GetName

func (t *TemplateRepoRequest) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*TemplateRepoRequest) GetOwner

func (t *TemplateRepoRequest) GetOwner() string

GetOwner returns the Owner field if it's non-nil, zero value otherwise.

func (*TemplateRepoRequest) GetPrivate

func (t *TemplateRepoRequest) GetPrivate() bool

GetPrivate returns the Private field if it's non-nil, zero value otherwise.

type TextMatch

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

TextMatch represents a text match for a SearchResult

func (*TextMatch) GetFragment

func (t *TextMatch) GetFragment() string

GetFragment returns the Fragment field if it's non-nil, zero value otherwise.

func (*TextMatch) GetObjectType

func (t *TextMatch) GetObjectType() string

GetObjectType returns the ObjectType field if it's non-nil, zero value otherwise.

func (*TextMatch) GetObjectURL

func (t *TextMatch) GetObjectURL() string

GetObjectURL returns the ObjectURL field if it's non-nil, zero value otherwise.

func (*TextMatch) GetProperty

func (t *TextMatch) GetProperty() string

GetProperty returns the Property field if it's non-nil, zero value otherwise.

func (TextMatch) String

func (tm TextMatch) String() string

type Timeline

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"`
	// A list of parent commits.
	Parents []*Commit `json:"parents,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"`
}

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

func (*Timeline) GetActor

func (t *Timeline) GetActor() *User

GetActor returns the Actor field.

func (*Timeline) GetAssignee

func (t *Timeline) GetAssignee() *User

GetAssignee returns the Assignee field.

func (*Timeline) GetAssigner

func (t *Timeline) GetAssigner() *User

GetAssigner returns the Assigner field.

func (*Timeline) GetAuthor

func (t *Timeline) GetAuthor() *CommitAuthor

GetAuthor returns the Author field.

func (*Timeline) GetBody

func (t *Timeline) GetBody() string

GetBody returns the Body field if it's non-nil, zero value otherwise.

func (*Timeline) GetCommitID

func (t *Timeline) GetCommitID() string

GetCommitID returns the CommitID field if it's non-nil, zero value otherwise.

func (*Timeline) GetCommitURL

func (t *Timeline) GetCommitURL() string

GetCommitURL returns the CommitURL field if it's non-nil, zero value otherwise.

func (*Timeline) GetCommitter

func (t *Timeline) GetCommitter() *CommitAuthor

GetCommitter returns the Committer field.

func (*Timeline) GetCreatedAt

func (t *Timeline) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Timeline) GetEvent

func (t *Timeline) GetEvent() string

GetEvent returns the Event field if it's non-nil, zero value otherwise.

func (*Timeline) GetID

func (t *Timeline) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Timeline) GetLabel

func (t *Timeline) GetLabel() *Label

GetLabel returns the Label field.

func (*Timeline) GetMessage

func (t *Timeline) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*Timeline) GetMilestone

func (t *Timeline) GetMilestone() *Milestone

GetMilestone returns the Milestone field.

func (*Timeline) GetProjectCard

func (t *Timeline) GetProjectCard() *ProjectCard

GetProjectCard returns the ProjectCard field.

func (*Timeline) GetRename

func (t *Timeline) GetRename() *Rename

GetRename returns the Rename field.

func (*Timeline) GetRequester

func (t *Timeline) GetRequester() *User

GetRequester returns the Requester field.

func (*Timeline) GetReviewer

func (t *Timeline) GetReviewer() *User

GetReviewer returns the Reviewer field.

func (*Timeline) GetSHA

func (t *Timeline) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*Timeline) GetSource

func (t *Timeline) GetSource() *Source

GetSource returns the Source field.

func (*Timeline) GetState

func (t *Timeline) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Timeline) GetSubmittedAt

func (t *Timeline) GetSubmittedAt() time.Time

GetSubmittedAt returns the SubmittedAt field if it's non-nil, zero value otherwise.

func (*Timeline) GetURL

func (t *Timeline) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Timeline) GetUser

func (t *Timeline) GetUser() *User

GetUser returns the User field.

type Timestamp

type Timestamp struct {
	time.Time
}

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.

func (Timestamp) Equal

func (t Timestamp) Equal(u Timestamp) bool

Equal reports whether t and u are equal based on time.Equal

func (Timestamp) String

func (t Timestamp) String() string

func (*Timestamp) UnmarshalJSON

func (t *Timestamp) UnmarshalJSON(data []byte) (err error)

UnmarshalJSON implements the json.Unmarshaler interface. Time is expected in RFC3339 or Unix format.

type Tool

type Tool struct {
	Name    *string `json:"name,omitempty"`
	GUID    *string `json:"guid,omitempty"`
	Version *string `json:"version,omitempty"`
}

Tool represents the tool used to generate a GitHub Code Scanning Alert.

func (*Tool) GetGUID

func (t *Tool) GetGUID() string

GetGUID returns the GUID field if it's non-nil, zero value otherwise.

func (*Tool) GetName

func (t *Tool) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Tool) GetVersion

func (t *Tool) GetVersion() string

GetVersion returns the Version field if it's non-nil, zero value otherwise.

type TopicResult

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 (*TopicResult) GetCreatedAt

func (t *TopicResult) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*TopicResult) GetCreatedBy

func (t *TopicResult) GetCreatedBy() string

GetCreatedBy returns the CreatedBy field if it's non-nil, zero value otherwise.

func (*TopicResult) GetCurated

func (t *TopicResult) GetCurated() bool

GetCurated returns the Curated field if it's non-nil, zero value otherwise.

func (*TopicResult) GetDescription

func (t *TopicResult) GetDescription() string

GetDescription returns the Description field if it's non-nil, zero value otherwise.

func (*TopicResult) GetDisplayName

func (t *TopicResult) GetDisplayName() string

GetDisplayName returns the DisplayName field if it's non-nil, zero value otherwise.

func (*TopicResult) GetFeatured

func (t *TopicResult) GetFeatured() bool

GetFeatured returns the Featured field if it's non-nil, zero value otherwise.

func (*TopicResult) GetName

func (t *TopicResult) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*TopicResult) GetScore

func (t *TopicResult) GetScore() *float64

GetScore returns the Score field.

func (*TopicResult) GetShortDescription

func (t *TopicResult) GetShortDescription() string

GetShortDescription returns the ShortDescription field if it's non-nil, zero value otherwise.

func (*TopicResult) GetUpdatedAt

func (t *TopicResult) GetUpdatedAt() string

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type TopicsSearchResult

type TopicsSearchResult struct {
	Total             *int           `json:"total_count,omitempty"`
	IncompleteResults *bool          `json:"incomplete_results,omitempty"`
	Topics            []*TopicResult `json:"items,omitempty"`
}

TopicsSearchResult represents the result of a topics search.

func (*TopicsSearchResult) GetIncompleteResults

func (t *TopicsSearchResult) GetIncompleteResults() bool

GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.

func (*TopicsSearchResult) GetTotal

func (t *TopicsSearchResult) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type TotalCacheUsage added in v49.1.0

type TotalCacheUsage struct {
	TotalActiveCachesUsageSizeInBytes int64 `json:"total_active_caches_size_in_bytes"`
	TotalActiveCachesCount            int   `json:"total_active_caches_count"`
}

TotalCacheUsage represents total GitHub actions cache usage of an organization or enterprise.

GitHub API docs: https://docs.github.com/en/rest/actions/cache?apiVersion=2022-11-28#get-github-actions-cache-usage-for-an-enterprise

type TrafficBreakdownOptions

type TrafficBreakdownOptions struct {
	Per string `url:"per,omitempty"`
}

TrafficBreakdownOptions specifies the parameters to methods that support breakdown per day or week. Can be one of: day, week. Default: day.

type TrafficClones

type TrafficClones struct {
	Clones  []*TrafficData `json:"clones,omitempty"`
	Count   *int           `json:"count,omitempty"`
	Uniques *int           `json:"uniques,omitempty"`
}

TrafficClones represent information about the number of clones in the last 14 days.

func (*TrafficClones) GetCount

func (t *TrafficClones) GetCount() int

GetCount returns the Count field if it's non-nil, zero value otherwise.

func (*TrafficClones) GetUniques

func (t *TrafficClones) GetUniques() int

GetUniques returns the Uniques field if it's non-nil, zero value otherwise.

type TrafficData

type TrafficData struct {
	Timestamp *Timestamp `json:"timestamp,omitempty"`
	Count     *int       `json:"count,omitempty"`
	Uniques   *int       `json:"uniques,omitempty"`
}

TrafficData represent information about a specific timestamp in views or clones list.

func (*TrafficData) GetCount

func (t *TrafficData) GetCount() int

GetCount returns the Count field if it's non-nil, zero value otherwise.

func (*TrafficData) GetTimestamp

func (t *TrafficData) GetTimestamp() Timestamp

GetTimestamp returns the Timestamp field if it's non-nil, zero value otherwise.

func (*TrafficData) GetUniques

func (t *TrafficData) GetUniques() int

GetUniques returns the Uniques field if it's non-nil, zero value otherwise.

type TrafficPath

type TrafficPath struct {
	Path    *string `json:"path,omitempty"`
	Title   *string `json:"title,omitempty"`
	Count   *int    `json:"count,omitempty"`
	Uniques *int    `json:"uniques,omitempty"`
}

TrafficPath represent information about the traffic on a path of the repo.

func (*TrafficPath) GetCount

func (t *TrafficPath) GetCount() int

GetCount returns the Count field if it's non-nil, zero value otherwise.

func (*TrafficPath) GetPath

func (t *TrafficPath) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*TrafficPath) GetTitle

func (t *TrafficPath) GetTitle() string

GetTitle returns the Title field if it's non-nil, zero value otherwise.

func (*TrafficPath) GetUniques

func (t *TrafficPath) GetUniques() int

GetUniques returns the Uniques field if it's non-nil, zero value otherwise.

type TrafficReferrer

type TrafficReferrer struct {
	Referrer *string `json:"referrer,omitempty"`
	Count    *int    `json:"count,omitempty"`
	Uniques  *int    `json:"uniques,omitempty"`
}

TrafficReferrer represent information about traffic from a referrer .

func (*TrafficReferrer) GetCount

func (t *TrafficReferrer) GetCount() int

GetCount returns the Count field if it's non-nil, zero value otherwise.

func (*TrafficReferrer) GetReferrer

func (t *TrafficReferrer) GetReferrer() string

GetReferrer returns the Referrer field if it's non-nil, zero value otherwise.

func (*TrafficReferrer) GetUniques

func (t *TrafficReferrer) GetUniques() int

GetUniques returns the Uniques field if it's non-nil, zero value otherwise.

type TrafficViews

type TrafficViews struct {
	Views   []*TrafficData `json:"views,omitempty"`
	Count   *int           `json:"count,omitempty"`
	Uniques *int           `json:"uniques,omitempty"`
}

TrafficViews represent information about the number of views in the last 14 days.

func (*TrafficViews) GetCount

func (t *TrafficViews) GetCount() int

GetCount returns the Count field if it's non-nil, zero value otherwise.

func (*TrafficViews) GetUniques

func (t *TrafficViews) GetUniques() int

GetUniques returns the Uniques field if it's non-nil, zero value otherwise.

type TransferRequest

type TransferRequest struct {
	NewOwner string  `json:"new_owner"`
	TeamID   []int64 `json:"team_ids,omitempty"`
}

TransferRequest represents a request to transfer a repository.

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

Tree represents a GitHub tree.

func (*Tree) GetSHA

func (t *Tree) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*Tree) GetTruncated

func (t *Tree) GetTruncated() bool

GetTruncated returns the Truncated field if it's non-nil, zero value otherwise.

func (Tree) String

func (t Tree) String() string

type TreeEntry

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

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.

func (*TreeEntry) GetContent

func (t *TreeEntry) GetContent() string

GetContent returns the Content field if it's non-nil, zero value otherwise.

func (*TreeEntry) GetMode

func (t *TreeEntry) GetMode() string

GetMode returns the Mode field if it's non-nil, zero value otherwise.

func (*TreeEntry) GetPath

func (t *TreeEntry) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*TreeEntry) GetSHA

func (t *TreeEntry) GetSHA() string

GetSHA returns the SHA field if it's non-nil, zero value otherwise.

func (*TreeEntry) GetSize

func (t *TreeEntry) GetSize() int

GetSize returns the Size field if it's non-nil, zero value otherwise.

func (*TreeEntry) GetType

func (t *TreeEntry) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*TreeEntry) GetURL

func (t *TreeEntry) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*TreeEntry) MarshalJSON

func (t *TreeEntry) MarshalJSON() ([]byte, error)

func (TreeEntry) String

func (t TreeEntry) String() string

type TwoFactorAuthError

type TwoFactorAuthError ErrorResponse

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.

func (*TwoFactorAuthError) Error

func (r *TwoFactorAuthError) Error() string

type UnauthenticatedRateLimitedTransport

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
}

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.

func (*UnauthenticatedRateLimitedTransport) Client

Client returns an *http.Client that makes requests which are subject to the rate limit of your OAuth application.

func (*UnauthenticatedRateLimitedTransport) RoundTrip

RoundTrip implements the RoundTripper interface.

type UpdateAttributeForSCIMUserOperations

type UpdateAttributeForSCIMUserOperations struct {
	Op    string          `json:"op"`              // (Required.)
	Path  *string         `json:"path,omitempty"`  // (Optional.)
	Value json.RawMessage `json:"value,omitempty"` // (Optional.)
}

UpdateAttributeForSCIMUserOperations represents operations for UpdateAttributeForSCIMUser.

func (*UpdateAttributeForSCIMUserOperations) GetPath

GetPath returns the Path field if it's non-nil, zero value otherwise.

type UpdateAttributeForSCIMUserOptions

type UpdateAttributeForSCIMUserOptions struct {
	Schemas    []string                             `json:"schemas,omitempty"` // (Optional.)
	Operations UpdateAttributeForSCIMUserOperations `json:"operations"`        // Set of operations to be performed. (Required.)
}

UpdateAttributeForSCIMUserOptions represents options for UpdateAttributeForSCIMUser.

GitHub API docs: https://docs.github.com/en/rest/scim#update-an-attribute-for-a-scim-user--parameters

type UpdateCheckRunOptions

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.)
}

UpdateCheckRunOptions sets up parameters needed to update a CheckRun.

func (*UpdateCheckRunOptions) GetCompletedAt

func (u *UpdateCheckRunOptions) GetCompletedAt() Timestamp

GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.

func (*UpdateCheckRunOptions) GetConclusion

func (u *UpdateCheckRunOptions) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*UpdateCheckRunOptions) GetDetailsURL

func (u *UpdateCheckRunOptions) GetDetailsURL() string

GetDetailsURL returns the DetailsURL field if it's non-nil, zero value otherwise.

func (*UpdateCheckRunOptions) GetExternalID

func (u *UpdateCheckRunOptions) GetExternalID() string

GetExternalID returns the ExternalID field if it's non-nil, zero value otherwise.

func (*UpdateCheckRunOptions) GetOutput

func (u *UpdateCheckRunOptions) GetOutput() *CheckRunOutput

GetOutput returns the Output field.

func (*UpdateCheckRunOptions) GetStatus

func (u *UpdateCheckRunOptions) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

type UpdateRunnerGroupRequest

type UpdateRunnerGroupRequest struct {
	Name                     *string  `json:"name,omitempty"`
	Visibility               *string  `json:"visibility,omitempty"`
	AllowsPublicRepositories *bool    `json:"allows_public_repositories,omitempty"`
	RestrictedToWorkflows    *bool    `json:"restricted_to_workflows,omitempty"`
	SelectedWorkflows        []string `json:"selected_workflows,omitempty"`
}

UpdateRunnerGroupRequest represents a request to update a Runner group for an organization.

func (*UpdateRunnerGroupRequest) GetAllowsPublicRepositories

func (u *UpdateRunnerGroupRequest) GetAllowsPublicRepositories() bool

GetAllowsPublicRepositories returns the AllowsPublicRepositories field if it's non-nil, zero value otherwise.

func (*UpdateRunnerGroupRequest) GetName

func (u *UpdateRunnerGroupRequest) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*UpdateRunnerGroupRequest) GetRestrictedToWorkflows

func (u *UpdateRunnerGroupRequest) GetRestrictedToWorkflows() bool

GetRestrictedToWorkflows returns the RestrictedToWorkflows field if it's non-nil, zero value otherwise.

func (*UpdateRunnerGroupRequest) GetVisibility

func (u *UpdateRunnerGroupRequest) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

type UploadOptions

type UploadOptions struct {
	Name      string `url:"name,omitempty"`
	Label     string `url:"label,omitempty"`
	MediaType string `url:"-"`
}

UploadOptions specifies the parameters to methods that support uploads.

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

User represents a GitHub user.

func (*User) GetAvatarURL

func (u *User) GetAvatarURL() string

GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.

func (*User) GetBio

func (u *User) GetBio() string

GetBio returns the Bio field if it's non-nil, zero value otherwise.

func (*User) GetBlog

func (u *User) GetBlog() string

GetBlog returns the Blog field if it's non-nil, zero value otherwise.

func (*User) GetCollaborators

func (u *User) GetCollaborators() int

GetCollaborators returns the Collaborators field if it's non-nil, zero value otherwise.

func (*User) GetCompany

func (u *User) GetCompany() string

GetCompany returns the Company field if it's non-nil, zero value otherwise.

func (*User) GetCreatedAt

func (u *User) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*User) GetDiskUsage

func (u *User) GetDiskUsage() int

GetDiskUsage returns the DiskUsage field if it's non-nil, zero value otherwise.

func (*User) GetEmail

func (u *User) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*User) GetEventsURL

func (u *User) GetEventsURL() string

GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.

func (*User) GetFollowers

func (u *User) GetFollowers() int

GetFollowers returns the Followers field if it's non-nil, zero value otherwise.

func (*User) GetFollowersURL

func (u *User) GetFollowersURL() string

GetFollowersURL returns the FollowersURL field if it's non-nil, zero value otherwise.

func (*User) GetFollowing

func (u *User) GetFollowing() int

GetFollowing returns the Following field if it's non-nil, zero value otherwise.

func (*User) GetFollowingURL

func (u *User) GetFollowingURL() string

GetFollowingURL returns the FollowingURL field if it's non-nil, zero value otherwise.

func (*User) GetGistsURL

func (u *User) GetGistsURL() string

GetGistsURL returns the GistsURL field if it's non-nil, zero value otherwise.

func (*User) GetGravatarID

func (u *User) GetGravatarID() string

GetGravatarID returns the GravatarID field if it's non-nil, zero value otherwise.

func (*User) GetHTMLURL

func (u *User) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*User) GetHireable

func (u *User) GetHireable() bool

GetHireable returns the Hireable field if it's non-nil, zero value otherwise.

func (*User) GetID

func (u *User) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*User) GetLdapDn

func (u *User) GetLdapDn() string

GetLdapDn returns the LdapDn field if it's non-nil, zero value otherwise.

func (*User) GetLocation

func (u *User) GetLocation() string

GetLocation returns the Location field if it's non-nil, zero value otherwise.

func (*User) GetLogin

func (u *User) GetLogin() string

GetLogin returns the Login field if it's non-nil, zero value otherwise.

func (*User) GetName

func (u *User) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*User) GetNodeID

func (u *User) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*User) GetOrganizationsURL

func (u *User) GetOrganizationsURL() string

GetOrganizationsURL returns the OrganizationsURL field if it's non-nil, zero value otherwise.

func (*User) GetOwnedPrivateRepos

func (u *User) GetOwnedPrivateRepos() int

GetOwnedPrivateRepos returns the OwnedPrivateRepos field if it's non-nil, zero value otherwise.

func (*User) GetPermissions

func (u *User) GetPermissions() map[string]bool

GetPermissions returns the Permissions map if it's non-nil, an empty map otherwise.

func (*User) GetPlan

func (u *User) GetPlan() *Plan

GetPlan returns the Plan field.

func (*User) GetPrivateGists

func (u *User) GetPrivateGists() int

GetPrivateGists returns the PrivateGists field if it's non-nil, zero value otherwise.

func (*User) GetPublicGists

func (u *User) GetPublicGists() int

GetPublicGists returns the PublicGists field if it's non-nil, zero value otherwise.

func (*User) GetPublicRepos

func (u *User) GetPublicRepos() int

GetPublicRepos returns the PublicRepos field if it's non-nil, zero value otherwise.

func (*User) GetReceivedEventsURL

func (u *User) GetReceivedEventsURL() string

GetReceivedEventsURL returns the ReceivedEventsURL field if it's non-nil, zero value otherwise.

func (*User) GetReposURL

func (u *User) GetReposURL() string

GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.

func (*User) GetRoleName

func (u *User) GetRoleName() string

GetRoleName returns the RoleName field if it's non-nil, zero value otherwise.

func (*User) GetSiteAdmin

func (u *User) GetSiteAdmin() bool

GetSiteAdmin returns the SiteAdmin field if it's non-nil, zero value otherwise.

func (*User) GetStarredURL

func (u *User) GetStarredURL() string

GetStarredURL returns the StarredURL field if it's non-nil, zero value otherwise.

func (*User) GetSubscriptionsURL

func (u *User) GetSubscriptionsURL() string

GetSubscriptionsURL returns the SubscriptionsURL field if it's non-nil, zero value otherwise.

func (*User) GetSuspendedAt

func (u *User) GetSuspendedAt() Timestamp

GetSuspendedAt returns the SuspendedAt field if it's non-nil, zero value otherwise.

func (*User) GetTotalPrivateRepos

func (u *User) GetTotalPrivateRepos() int

GetTotalPrivateRepos returns the TotalPrivateRepos field if it's non-nil, zero value otherwise.

func (*User) GetTwitterUsername

func (u *User) GetTwitterUsername() string

GetTwitterUsername returns the TwitterUsername field if it's non-nil, zero value otherwise.

func (*User) GetTwoFactorAuthentication

func (u *User) GetTwoFactorAuthentication() bool

GetTwoFactorAuthentication returns the TwoFactorAuthentication field if it's non-nil, zero value otherwise.

func (*User) GetType

func (u *User) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*User) GetURL

func (u *User) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*User) GetUpdatedAt

func (u *User) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (User) String

func (u User) String() string

type UserAuthorization

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

UserAuthorization represents the impersonation response.

func (*UserAuthorization) GetApp

func (u *UserAuthorization) GetApp() *OAuthAPP

GetApp returns the App field.

func (*UserAuthorization) GetCreatedAt

func (u *UserAuthorization) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetFingerprint

func (u *UserAuthorization) GetFingerprint() string

GetFingerprint returns the Fingerprint field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetHashedToken

func (u *UserAuthorization) GetHashedToken() string

GetHashedToken returns the HashedToken field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetID

func (u *UserAuthorization) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetNote

func (u *UserAuthorization) GetNote() string

GetNote returns the Note field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetNoteURL

func (u *UserAuthorization) GetNoteURL() string

GetNoteURL returns the NoteURL field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetToken

func (u *UserAuthorization) GetToken() string

GetToken returns the Token field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetTokenLastEight

func (u *UserAuthorization) GetTokenLastEight() string

GetTokenLastEight returns the TokenLastEight field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetURL

func (u *UserAuthorization) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*UserAuthorization) GetUpdatedAt

func (u *UserAuthorization) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type UserContext

type UserContext struct {
	Message *string `json:"message,omitempty"`
	Octicon *string `json:"octicon,omitempty"`
}

UserContext represents the contextual information about user.

func (*UserContext) GetMessage

func (u *UserContext) GetMessage() string

GetMessage returns the Message field if it's non-nil, zero value otherwise.

func (*UserContext) GetOcticon

func (u *UserContext) GetOcticon() string

GetOcticon returns the Octicon field if it's non-nil, zero value otherwise.

type UserEmail

type UserEmail struct {
	Email      *string `json:"email,omitempty"`
	Primary    *bool   `json:"primary,omitempty"`
	Verified   *bool   `json:"verified,omitempty"`
	Visibility *string `json:"visibility,omitempty"`
}

UserEmail represents user's email address

func (*UserEmail) GetEmail

func (u *UserEmail) GetEmail() string

GetEmail returns the Email field if it's non-nil, zero value otherwise.

func (*UserEmail) GetPrimary

func (u *UserEmail) GetPrimary() bool

GetPrimary returns the Primary field if it's non-nil, zero value otherwise.

func (*UserEmail) GetVerified

func (u *UserEmail) GetVerified() bool

GetVerified returns the Verified field if it's non-nil, zero value otherwise.

func (*UserEmail) GetVisibility

func (u *UserEmail) GetVisibility() string

GetVisibility returns the Visibility field if it's non-nil, zero value otherwise.

type UserEvent

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

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

func (*UserEvent) GetAction

func (u *UserEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*UserEvent) GetEnterprise

func (u *UserEvent) GetEnterprise() *Enterprise

GetEnterprise returns the Enterprise field.

func (*UserEvent) GetInstallation

func (u *UserEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*UserEvent) GetSender

func (u *UserEvent) GetSender() *User

GetSender returns the Sender field.

func (*UserEvent) GetUser

func (u *UserEvent) GetUser() *User

GetUser returns the User field.

type UserLDAPMapping

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

UserLDAPMapping represents the mapping between a GitHub user and an LDAP user.

func (*UserLDAPMapping) GetAvatarURL

func (u *UserLDAPMapping) GetAvatarURL() string

GetAvatarURL returns the AvatarURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetEventsURL

func (u *UserLDAPMapping) GetEventsURL() string

GetEventsURL returns the EventsURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetFollowersURL

func (u *UserLDAPMapping) GetFollowersURL() string

GetFollowersURL returns the FollowersURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetFollowingURL

func (u *UserLDAPMapping) GetFollowingURL() string

GetFollowingURL returns the FollowingURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetGistsURL

func (u *UserLDAPMapping) GetGistsURL() string

GetGistsURL returns the GistsURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetGravatarID

func (u *UserLDAPMapping) GetGravatarID() string

GetGravatarID returns the GravatarID field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetID

func (u *UserLDAPMapping) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetLDAPDN

func (u *UserLDAPMapping) GetLDAPDN() string

GetLDAPDN returns the LDAPDN field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetLogin

func (u *UserLDAPMapping) GetLogin() string

GetLogin returns the Login field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetOrganizationsURL

func (u *UserLDAPMapping) GetOrganizationsURL() string

GetOrganizationsURL returns the OrganizationsURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetReceivedEventsURL

func (u *UserLDAPMapping) GetReceivedEventsURL() string

GetReceivedEventsURL returns the ReceivedEventsURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetReposURL

func (u *UserLDAPMapping) GetReposURL() string

GetReposURL returns the ReposURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetSiteAdmin

func (u *UserLDAPMapping) GetSiteAdmin() bool

GetSiteAdmin returns the SiteAdmin field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetStarredURL

func (u *UserLDAPMapping) GetStarredURL() string

GetStarredURL returns the StarredURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetSubscriptionsURL

func (u *UserLDAPMapping) GetSubscriptionsURL() string

GetSubscriptionsURL returns the SubscriptionsURL field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetType

func (u *UserLDAPMapping) GetType() string

GetType returns the Type field if it's non-nil, zero value otherwise.

func (*UserLDAPMapping) GetURL

func (u *UserLDAPMapping) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (UserLDAPMapping) String

func (m UserLDAPMapping) String() string

type UserListOptions

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
}

UserListOptions specifies optional parameters to the UsersService.ListAll method.

type UserMigration

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

UserMigration represents a GitHub migration (archival).

func (*UserMigration) GetCreatedAt

func (u *UserMigration) GetCreatedAt() string

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*UserMigration) GetExcludeAttachments

func (u *UserMigration) GetExcludeAttachments() bool

GetExcludeAttachments returns the ExcludeAttachments field if it's non-nil, zero value otherwise.

func (*UserMigration) GetGUID

func (u *UserMigration) GetGUID() string

GetGUID returns the GUID field if it's non-nil, zero value otherwise.

func (*UserMigration) GetID

func (u *UserMigration) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*UserMigration) GetLockRepositories

func (u *UserMigration) GetLockRepositories() bool

GetLockRepositories returns the LockRepositories field if it's non-nil, zero value otherwise.

func (*UserMigration) GetState

func (u *UserMigration) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*UserMigration) GetURL

func (u *UserMigration) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*UserMigration) GetUpdatedAt

func (u *UserMigration) GetUpdatedAt() string

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (UserMigration) String

func (m UserMigration) String() string

type UserMigrationOptions

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
}

UserMigrationOptions specifies the optional parameters to Migration methods.

type UserStats

type UserStats struct {
	TotalUsers     *int `json:"total_users,omitempty"`
	AdminUsers     *int `json:"admin_users,omitempty"`
	SuspendedUsers *int `json:"suspended_users,omitempty"`
}

UserStats represents the number of total, admin and suspended users.

func (*UserStats) GetAdminUsers

func (u *UserStats) GetAdminUsers() int

GetAdminUsers returns the AdminUsers field if it's non-nil, zero value otherwise.

func (*UserStats) GetSuspendedUsers

func (u *UserStats) GetSuspendedUsers() int

GetSuspendedUsers returns the SuspendedUsers field if it's non-nil, zero value otherwise.

func (*UserStats) GetTotalUsers

func (u *UserStats) GetTotalUsers() int

GetTotalUsers returns the TotalUsers field if it's non-nil, zero value otherwise.

func (UserStats) String

func (s UserStats) String() string

type UserSuspendOptions

type UserSuspendOptions struct {
	Reason *string `json:"reason,omitempty"`
}

UserSuspendOptions represents the reason a user is being suspended.

func (*UserSuspendOptions) GetReason

func (u *UserSuspendOptions) GetReason() string

GetReason returns the Reason field if it's non-nil, zero value otherwise.

type UsersSearchResult

type UsersSearchResult struct {
	Total             *int    `json:"total_count,omitempty"`
	IncompleteResults *bool   `json:"incomplete_results,omitempty"`
	Users             []*User `json:"items,omitempty"`
}

UsersSearchResult represents the result of a users search.

func (*UsersSearchResult) GetIncompleteResults

func (u *UsersSearchResult) GetIncompleteResults() bool

GetIncompleteResults returns the IncompleteResults field if it's non-nil, zero value otherwise.

func (*UsersSearchResult) GetTotal

func (u *UsersSearchResult) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

type UsersService

type UsersService service

UsersService handles communication with the user related methods of the GitHub API.

GitHub API docs: https://docs.github.com/en/rest/users/

func (*UsersService) AcceptInvitation

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 (*UsersService) AddEmails

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 (*UsersService) BlockUser

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 (*UsersService) CreateGPGKey

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 (*UsersService) CreateKey

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 (*UsersService) CreateProject

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 (*UsersService) CreateSSHSigningKey

func (s *UsersService) CreateSSHSigningKey(ctx context.Context, key *Key) (*SSHSigningKey, *Response, error)

CreateSSHSigningKey adds a SSH signing key for the authenticated user.

GitHub API docs: https://docs.github.com/en/rest/users/ssh-signing-keys#create-a-ssh-signing-key-for-the-authenticated-user

func (*UsersService) DeclineInvitation

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 (*UsersService) DeleteEmails

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 (*UsersService) DeleteGPGKey

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 (*UsersService) DeleteKey

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 (*UsersService) DeletePackage

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 (*UsersService) DeleteSSHSigningKey

func (s *UsersService) DeleteSSHSigningKey(ctx context.Context, id int64) (*Response, error)

DeleteKey deletes a SSH signing key for the authenticated user.

GitHub API docs: https://docs.github.com/en/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user

func (*UsersService) DemoteSiteAdmin

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 (*UsersService) Edit

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 (*UsersService) Follow

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 (*UsersService) Get

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 (*UsersService) GetByID

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 (*UsersService) GetGPGKey

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 (*UsersService) GetHovercard

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 (*UsersService) GetKey

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 (*UsersService) GetPackage

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 (*UsersService) GetSSHSigningKey

func (s *UsersService) GetSSHSigningKey(ctx context.Context, id int64) (*SSHSigningKey, *Response, error)

GetSSHSigningKey fetches a single SSH signing key for the authenticated user.

GitHub API docs: https://docs.github.com/en/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user

func (*UsersService) IsBlocked

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 (*UsersService) IsFollowing

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 (*UsersService) ListAll

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
package main

import (
	"context"
	"log"

	"github.com/google/go-github/v49/github"
)

func main() {
	client := github.NewClient(nil)
	opts := &github.UserListOptions{}
	for {
		ctx := context.Background()
		users, _, err := client.Users.ListAll(ctx, opts)
		if err != nil {
			log.Fatalf("error listing users: %v", err)
		}
		if len(users) == 0 {
			break
		}
		opts.Since = *users[len(users)-1].ID
		// Process users...
	}
}
Output:

func (*UsersService) ListBlockedUsers

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 (*UsersService) ListEmails

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 (*UsersService) ListFollowers

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 (*UsersService) ListFollowing

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 (*UsersService) ListGPGKeys

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 (*UsersService) ListInvitations

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 (*UsersService) ListKeys

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 (*UsersService) ListPackages

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 (*UsersService) ListProjects

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 (*UsersService) ListSSHSigningKeys

func (s *UsersService) ListSSHSigningKeys(ctx context.Context, user string, opts *ListOptions) ([]*SSHSigningKey, *Response, error)

ListSSHSigningKeys lists the SSH signing keys for a user. Passing an empty username string will fetch SSH signing keys for the authenticated user.

GitHub API docs: https://docs.github.com/en/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-the-authenticated-user GitHub API docs: https://docs.github.com/en/rest/users/ssh-signing-keys#list-ssh-signing-keys-for-a-user

func (*UsersService) PackageDeleteVersion

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 (*UsersService) PackageGetAllVersions

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 (*UsersService) PackageGetVersion

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 (*UsersService) PackageRestoreVersion

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 (*UsersService) PromoteSiteAdmin

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 (*UsersService) RestorePackage

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 (*UsersService) Suspend

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 (*UsersService) UnblockUser

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 (*UsersService) Unfollow

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 (*UsersService) Unsuspend

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

type VulnerabilityPackage

type VulnerabilityPackage struct {
	Ecosystem *string `json:"ecosystem,omitempty"`
	Name      *string `json:"name,omitempty"`
}

VulnerabilityPackage represents the package object for an Advisory Vulnerability.

func (*VulnerabilityPackage) GetEcosystem

func (v *VulnerabilityPackage) GetEcosystem() string

GetEcosystem returns the Ecosystem field if it's non-nil, zero value otherwise.

func (*VulnerabilityPackage) GetName

func (v *VulnerabilityPackage) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

type WatchEvent

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

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

func (*WatchEvent) GetAction

func (w *WatchEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*WatchEvent) GetInstallation

func (w *WatchEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*WatchEvent) GetRepo

func (w *WatchEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*WatchEvent) GetSender

func (w *WatchEvent) GetSender() *User

GetSender returns the Sender field.

type WebHookAuthor deprecated

type WebHookAuthor = CommitAuthor

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 WebHookCommit deprecated

type WebHookCommit = HeadCommit

WebHookCommit represents the commit variant we receive from GitHub in a WebHookPayload.

Deprecated: Please use HeadCommit instead.

type WebHookPayload deprecated

type WebHookPayload = PushEvent

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 WeeklyCommitActivity

type WeeklyCommitActivity struct {
	Days  []int      `json:"days,omitempty"`
	Total *int       `json:"total,omitempty"`
	Week  *Timestamp `json:"week,omitempty"`
}

WeeklyCommitActivity represents the weekly commit activity for a repository. The days array is a group of commits per day, starting on Sunday.

func (*WeeklyCommitActivity) GetTotal

func (w *WeeklyCommitActivity) GetTotal() int

GetTotal returns the Total field if it's non-nil, zero value otherwise.

func (*WeeklyCommitActivity) GetWeek

func (w *WeeklyCommitActivity) GetWeek() Timestamp

GetWeek returns the Week field if it's non-nil, zero value otherwise.

func (WeeklyCommitActivity) String

func (w WeeklyCommitActivity) String() string

type WeeklyStats

type WeeklyStats struct {
	Week      *Timestamp `json:"w,omitempty"`
	Additions *int       `json:"a,omitempty"`
	Deletions *int       `json:"d,omitempty"`
	Commits   *int       `json:"c,omitempty"`
}

WeeklyStats represents the number of additions, deletions and commits a Contributor made in a given week.

func (*WeeklyStats) GetAdditions

func (w *WeeklyStats) GetAdditions() int

GetAdditions returns the Additions field if it's non-nil, zero value otherwise.

func (*WeeklyStats) GetCommits

func (w *WeeklyStats) GetCommits() int

GetCommits returns the Commits field if it's non-nil, zero value otherwise.

func (*WeeklyStats) GetDeletions

func (w *WeeklyStats) GetDeletions() int

GetDeletions returns the Deletions field if it's non-nil, zero value otherwise.

func (*WeeklyStats) GetWeek

func (w *WeeklyStats) GetWeek() Timestamp

GetWeek returns the Week field if it's non-nil, zero value otherwise.

func (WeeklyStats) String

func (w WeeklyStats) String() string

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

Workflow represents a repository action workflow.

func (*Workflow) GetBadgeURL

func (w *Workflow) GetBadgeURL() string

GetBadgeURL returns the BadgeURL field if it's non-nil, zero value otherwise.

func (*Workflow) GetCreatedAt

func (w *Workflow) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*Workflow) GetHTMLURL

func (w *Workflow) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*Workflow) GetID

func (w *Workflow) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*Workflow) GetName

func (w *Workflow) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*Workflow) GetNodeID

func (w *Workflow) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*Workflow) GetPath

func (w *Workflow) GetPath() string

GetPath returns the Path field if it's non-nil, zero value otherwise.

func (*Workflow) GetState

func (w *Workflow) GetState() string

GetState returns the State field if it's non-nil, zero value otherwise.

func (*Workflow) GetURL

func (w *Workflow) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*Workflow) GetUpdatedAt

func (w *Workflow) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

type WorkflowBill

type WorkflowBill struct {
	TotalMS *int64 `json:"total_ms,omitempty"`
}

WorkflowBill specifies billable time for a specific environment in a workflow.

func (*WorkflowBill) GetTotalMS

func (w *WorkflowBill) GetTotalMS() int64

GetTotalMS returns the TotalMS field if it's non-nil, zero value otherwise.

type WorkflowBillMap

type WorkflowBillMap map[string]*WorkflowBill

WorkflowBillMap represents different runner environments available for a workflow. Its key is the name of its environment, e.g. "UBUNTU", "MACOS", "WINDOWS", etc.

type WorkflowDispatchEvent

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

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

func (*WorkflowDispatchEvent) GetInstallation

func (w *WorkflowDispatchEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*WorkflowDispatchEvent) GetOrg

func (w *WorkflowDispatchEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*WorkflowDispatchEvent) GetRef

func (w *WorkflowDispatchEvent) GetRef() string

GetRef returns the Ref field if it's non-nil, zero value otherwise.

func (*WorkflowDispatchEvent) GetRepo

func (w *WorkflowDispatchEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*WorkflowDispatchEvent) GetSender

func (w *WorkflowDispatchEvent) GetSender() *User

GetSender returns the Sender field.

func (*WorkflowDispatchEvent) GetWorkflow

func (w *WorkflowDispatchEvent) GetWorkflow() string

GetWorkflow returns the Workflow field if it's non-nil, zero value otherwise.

type WorkflowJob

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"`
	RunAttempt      *int64   `json:"run_attempt,omitempty"`
}

WorkflowJob represents a repository action workflow job.

func (*WorkflowJob) GetCheckRunURL

func (w *WorkflowJob) GetCheckRunURL() string

GetCheckRunURL returns the CheckRunURL field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetCompletedAt

func (w *WorkflowJob) GetCompletedAt() Timestamp

GetCompletedAt returns the CompletedAt field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetConclusion

func (w *WorkflowJob) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetHTMLURL

func (w *WorkflowJob) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetHeadSHA

func (w *WorkflowJob) GetHeadSHA() string

GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetID

func (w *WorkflowJob) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetName

func (w *WorkflowJob) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetNodeID

func (w *WorkflowJob) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetRunAttempt

func (w *WorkflowJob) GetRunAttempt() int64

GetRunAttempt returns the RunAttempt field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetRunID

func (w *WorkflowJob) GetRunID() int64

GetRunID returns the RunID field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetRunURL

func (w *WorkflowJob) GetRunURL() string

GetRunURL returns the RunURL field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetRunnerGroupID

func (w *WorkflowJob) GetRunnerGroupID() int64

GetRunnerGroupID returns the RunnerGroupID field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetRunnerGroupName

func (w *WorkflowJob) GetRunnerGroupName() string

GetRunnerGroupName returns the RunnerGroupName field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetRunnerID

func (w *WorkflowJob) GetRunnerID() int64

GetRunnerID returns the RunnerID field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetRunnerName

func (w *WorkflowJob) GetRunnerName() string

GetRunnerName returns the RunnerName field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetStartedAt

func (w *WorkflowJob) GetStartedAt() Timestamp

GetStartedAt returns the StartedAt field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetStatus

func (w *WorkflowJob) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*WorkflowJob) GetURL

func (w *WorkflowJob) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

type WorkflowJobEvent

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

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

func (*WorkflowJobEvent) GetAction

func (w *WorkflowJobEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*WorkflowJobEvent) GetInstallation

func (w *WorkflowJobEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*WorkflowJobEvent) GetOrg

func (w *WorkflowJobEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*WorkflowJobEvent) GetRepo

func (w *WorkflowJobEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*WorkflowJobEvent) GetSender

func (w *WorkflowJobEvent) GetSender() *User

GetSender returns the Sender field.

func (*WorkflowJobEvent) GetWorkflowJob

func (w *WorkflowJobEvent) GetWorkflowJob() *WorkflowJob

GetWorkflowJob returns the WorkflowJob field.

type WorkflowRun

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

WorkflowRun represents a repository action workflow run.

func (*WorkflowRun) GetActor

func (w *WorkflowRun) GetActor() *User

GetActor returns the Actor field.

func (*WorkflowRun) GetArtifactsURL

func (w *WorkflowRun) GetArtifactsURL() string

GetArtifactsURL returns the ArtifactsURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetCancelURL

func (w *WorkflowRun) GetCancelURL() string

GetCancelURL returns the CancelURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetCheckSuiteID

func (w *WorkflowRun) GetCheckSuiteID() int64

GetCheckSuiteID returns the CheckSuiteID field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetCheckSuiteNodeID

func (w *WorkflowRun) GetCheckSuiteNodeID() string

GetCheckSuiteNodeID returns the CheckSuiteNodeID field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetCheckSuiteURL

func (w *WorkflowRun) GetCheckSuiteURL() string

GetCheckSuiteURL returns the CheckSuiteURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetConclusion

func (w *WorkflowRun) GetConclusion() string

GetConclusion returns the Conclusion field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetCreatedAt

func (w *WorkflowRun) GetCreatedAt() Timestamp

GetCreatedAt returns the CreatedAt field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetEvent

func (w *WorkflowRun) GetEvent() string

GetEvent returns the Event field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetHTMLURL

func (w *WorkflowRun) GetHTMLURL() string

GetHTMLURL returns the HTMLURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetHeadBranch

func (w *WorkflowRun) GetHeadBranch() string

GetHeadBranch returns the HeadBranch field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetHeadCommit

func (w *WorkflowRun) GetHeadCommit() *HeadCommit

GetHeadCommit returns the HeadCommit field.

func (*WorkflowRun) GetHeadRepository

func (w *WorkflowRun) GetHeadRepository() *Repository

GetHeadRepository returns the HeadRepository field.

func (*WorkflowRun) GetHeadSHA

func (w *WorkflowRun) GetHeadSHA() string

GetHeadSHA returns the HeadSHA field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetID

func (w *WorkflowRun) GetID() int64

GetID returns the ID field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetJobsURL

func (w *WorkflowRun) GetJobsURL() string

GetJobsURL returns the JobsURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetLogsURL

func (w *WorkflowRun) GetLogsURL() string

GetLogsURL returns the LogsURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetName

func (w *WorkflowRun) GetName() string

GetName returns the Name field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetNodeID

func (w *WorkflowRun) GetNodeID() string

GetNodeID returns the NodeID field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetPreviousAttemptURL

func (w *WorkflowRun) GetPreviousAttemptURL() string

GetPreviousAttemptURL returns the PreviousAttemptURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetRepository

func (w *WorkflowRun) GetRepository() *Repository

GetRepository returns the Repository field.

func (*WorkflowRun) GetRerunURL

func (w *WorkflowRun) GetRerunURL() string

GetRerunURL returns the RerunURL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetRunAttempt

func (w *WorkflowRun) GetRunAttempt() int

GetRunAttempt returns the RunAttempt field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetRunNumber

func (w *WorkflowRun) GetRunNumber() int

GetRunNumber returns the RunNumber field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetRunStartedAt

func (w *WorkflowRun) GetRunStartedAt() Timestamp

GetRunStartedAt returns the RunStartedAt field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetStatus

func (w *WorkflowRun) GetStatus() string

GetStatus returns the Status field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetURL

func (w *WorkflowRun) GetURL() string

GetURL returns the URL field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetUpdatedAt

func (w *WorkflowRun) GetUpdatedAt() Timestamp

GetUpdatedAt returns the UpdatedAt field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetWorkflowID

func (w *WorkflowRun) GetWorkflowID() int64

GetWorkflowID returns the WorkflowID field if it's non-nil, zero value otherwise.

func (*WorkflowRun) GetWorkflowURL

func (w *WorkflowRun) GetWorkflowURL() string

GetWorkflowURL returns the WorkflowURL field if it's non-nil, zero value otherwise.

type WorkflowRunAttemptOptions

type WorkflowRunAttemptOptions struct {
	ExcludePullRequests *bool `url:"exclude_pull_requests,omitempty"`
}

WorkflowRunAttemptOptions specifies optional parameters to GetWorkflowRunAttempt.

func (*WorkflowRunAttemptOptions) GetExcludePullRequests

func (w *WorkflowRunAttemptOptions) GetExcludePullRequests() bool

GetExcludePullRequests returns the ExcludePullRequests field if it's non-nil, zero value otherwise.

type WorkflowRunBill

type WorkflowRunBill struct {
	TotalMS *int64               `json:"total_ms,omitempty"`
	Jobs    *int                 `json:"jobs,omitempty"`
	JobRuns []*WorkflowRunJobRun `json:"job_runs,omitempty"`
}

WorkflowRunBill specifies billable time for a specific environment in a workflow run.

func (*WorkflowRunBill) GetJobs

func (w *WorkflowRunBill) GetJobs() int

GetJobs returns the Jobs field if it's non-nil, zero value otherwise.

func (*WorkflowRunBill) GetTotalMS

func (w *WorkflowRunBill) GetTotalMS() int64

GetTotalMS returns the TotalMS field if it's non-nil, zero value otherwise.

type WorkflowRunBillMap

type WorkflowRunBillMap map[string]*WorkflowRunBill

WorkflowRunBillMap represents different runner environments available for a workflow run. Its key is the name of its environment, e.g. "UBUNTU", "MACOS", "WINDOWS", etc.

type WorkflowRunEvent

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

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

func (*WorkflowRunEvent) GetAction

func (w *WorkflowRunEvent) GetAction() string

GetAction returns the Action field if it's non-nil, zero value otherwise.

func (*WorkflowRunEvent) GetInstallation

func (w *WorkflowRunEvent) GetInstallation() *Installation

GetInstallation returns the Installation field.

func (*WorkflowRunEvent) GetOrg

func (w *WorkflowRunEvent) GetOrg() *Organization

GetOrg returns the Org field.

func (*WorkflowRunEvent) GetRepo

func (w *WorkflowRunEvent) GetRepo() *Repository

GetRepo returns the Repo field.

func (*WorkflowRunEvent) GetSender

func (w *WorkflowRunEvent) GetSender() *User

GetSender returns the Sender field.

func (*WorkflowRunEvent) GetWorkflow

func (w *WorkflowRunEvent) GetWorkflow() *Workflow

GetWorkflow returns the Workflow field.

func (*WorkflowRunEvent) GetWorkflowRun

func (w *WorkflowRunEvent) GetWorkflowRun() *WorkflowRun

GetWorkflowRun returns the WorkflowRun field.

type WorkflowRunJobRun

type WorkflowRunJobRun struct {
	JobID      *int   `json:"job_id,omitempty"`
	DurationMS *int64 `json:"duration_ms,omitempty"`
}

WorkflowRunJobRun represents a usage of individual jobs of a specific workflow run.

func (*WorkflowRunJobRun) GetDurationMS

func (w *WorkflowRunJobRun) GetDurationMS() int64

GetDurationMS returns the DurationMS field if it's non-nil, zero value otherwise.

func (*WorkflowRunJobRun) GetJobID

func (w *WorkflowRunJobRun) GetJobID() int

GetJobID returns the JobID field if it's non-nil, zero value otherwise.

type WorkflowRunUsage

type WorkflowRunUsage struct {
	Billable      *WorkflowRunBillMap `json:"billable,omitempty"`
	RunDurationMS *int64              `json:"run_duration_ms,omitempty"`
}

WorkflowRunUsage represents a usage of a specific workflow run.

func (*WorkflowRunUsage) GetBillable

func (w *WorkflowRunUsage) GetBillable() *WorkflowRunBillMap

GetBillable returns the Billable field.

func (*WorkflowRunUsage) GetRunDurationMS

func (w *WorkflowRunUsage) GetRunDurationMS() int64

GetRunDurationMS returns the RunDurationMS field if it's non-nil, zero value otherwise.

type WorkflowRuns

type WorkflowRuns struct {
	TotalCount   *int           `json:"total_count,omitempty"`
	WorkflowRuns []*WorkflowRun `json:"workflow_runs,omitempty"`
}

WorkflowRuns represents a slice of repository action workflow run.

func (*WorkflowRuns) GetTotalCount

func (w *WorkflowRuns) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

type WorkflowUsage

type WorkflowUsage struct {
	Billable *WorkflowBillMap `json:"billable,omitempty"`
}

WorkflowUsage represents a usage of a specific workflow.

func (*WorkflowUsage) GetBillable

func (w *WorkflowUsage) GetBillable() *WorkflowBillMap

GetBillable returns the Billable field.

type Workflows

type Workflows struct {
	TotalCount *int        `json:"total_count,omitempty"`
	Workflows  []*Workflow `json:"workflows,omitempty"`
}

Workflows represents a slice of repository action workflows.

func (*Workflows) GetTotalCount

func (w *Workflows) GetTotalCount() int

GetTotalCount returns the TotalCount field if it's non-nil, zero value otherwise.

Source Files

Jump to

Keyboard shortcuts

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