github

package
v15.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2018 License: BSD-3-Clause, CC-BY-3.0 Imports: 26 Imported by: 0

Documentation ¶

Overview ¶

Package github provides a client for using the GitHub API.

Usage:

import "github.com/google/go-github/github"

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://developer.github.com/v3/.

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.

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

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:

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

Learn more about GitHub rate limiting at https://developer.github.com/v3/#rate-limiting.

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://developer.github.com/v3/#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
}

Google App Engine ¶

Go on App Engine Classic (which as of this writing uses Go 1.6) can not use the "context" import and still relies on "golang.org/x/net/context". As a result, if you wish to continue to use "go-github" on App Engine Classic, you will need to rewrite all the "context" imports using the following command:

gofmt -w -r '"context" -> "golang.org/x/net/context"' *.go

See "with_appengine.go" for more details.

Index ¶

Examples ¶

Constants ¶

View Source
const (
	// Tarball specifies an archive in gzipped tar format.
	Tarball archiveFormat = "tarball"

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

Variables ¶

This section is empty.

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 either no response body, or a JSON response body that maps to ErrorResponse. Any other response body will be silently ignored.

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://developer.github.com/v3/repos/hooks/#webhook-headers

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, secretKey []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. secretKey is the GitHub Webhook secret message.

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 WebHookType ¶

func WebHookType(r *http.Request) string

WebHookType returns the event type of webhook request r.

GitHub API docs: https://developer.github.com/v3/repos/hooks/#webhook-headers

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

APIMeta represents metadata about the GitHub API.

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://developer.github.com/v3/#abuse-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.

type AcceptedError ¶

type AcceptedError struct{}

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

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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/activity/notifications/#view-a-single-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://developer.github.com/v3/activity/notifications/#get-a-thread-subscription

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://developer.github.com/v3/activity/starring/#check-if-you-are-starring-a-repository

func (*ActivityService) ListEvents ¶

func (s *ActivityService) ListEvents(ctx context.Context, opt *ListOptions) ([]*Event, *Response, error)

ListEvents drinks from the firehose of all public events across GitHub.

GitHub API docs: https://developer.github.com/v3/activity/events/#list-public-events

func (*ActivityService) ListEventsForOrganization ¶

func (s *ActivityService) ListEventsForOrganization(ctx context.Context, org string, opt *ListOptions) ([]*Event, *Response, error)

ListEventsForOrganization lists public events for an organization.

GitHub API docs: https://developer.github.com/v3/activity/events/#list-public-events-for-an-organization

func (*ActivityService) ListEventsForRepoNetwork ¶

func (s *ActivityService) ListEventsForRepoNetwork(ctx context.Context, owner, repo string, opt *ListOptions) ([]*Event, *Response, error)

ListEventsForRepoNetwork lists public events for a network of repositories.

GitHub API docs: https://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories

func (*ActivityService) ListEventsPerformedByUser ¶

func (s *ActivityService) ListEventsPerformedByUser(ctx context.Context, user string, publicOnly bool, opt *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://developer.github.com/v3/activity/events/#list-events-performed-by-a-user

func (*ActivityService) ListEventsReceivedByUser ¶

func (s *ActivityService) ListEventsReceivedByUser(ctx context.Context, user string, publicOnly bool, opt *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://developer.github.com/v3/activity/events/#list-events-that-a-user-has-received

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, opt *ListOptions) ([]*IssueEvent, *Response, error)

ListIssueEventsForRepository lists issue events for a repository.

GitHub API docs: https://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository

func (*ActivityService) ListNotifications ¶

func (s *ActivityService) ListNotifications(ctx context.Context, opt *NotificationListOptions) ([]*Notification, *Response, error)

ListNotifications lists all notifications for the authenticated user.

GitHub API docs: https://developer.github.com/v3/activity/notifications/#list-your-notifications

func (*ActivityService) ListRepositoryEvents ¶

func (s *ActivityService) ListRepositoryEvents(ctx context.Context, owner, repo string, opt *ListOptions) ([]*Event, *Response, error)

ListRepositoryEvents lists events for a repository.

GitHub API docs: https://developer.github.com/v3/activity/events/#list-repository-events

func (*ActivityService) ListRepositoryNotifications ¶

func (s *ActivityService) ListRepositoryNotifications(ctx context.Context, owner, repo string, opt *NotificationListOptions) ([]*Notification, *Response, error)

ListRepositoryNotifications lists all notifications in a given repository for the authenticated user.

GitHub API docs: https://developer.github.com/v3/activity/notifications/#list-your-notifications-in-a-repository

func (*ActivityService) ListStargazers ¶

func (s *ActivityService) ListStargazers(ctx context.Context, owner, repo string, opt *ListOptions) ([]*Stargazer, *Response, error)

ListStargazers lists people who have starred the specified repo.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/activity/starring/#list-repositories-being-starred

func (*ActivityService) ListUserEventsForOrganization ¶

func (s *ActivityService) ListUserEventsForOrganization(ctx context.Context, org, user string, opt *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://developer.github.com/v3/activity/events/#list-events-for-an-organization

func (*ActivityService) ListWatched ¶

func (s *ActivityService) ListWatched(ctx context.Context, user string, opt *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://developer.github.com/v3/activity/watching/#list-repositories-being-watched

func (*ActivityService) ListWatchers ¶

func (s *ActivityService) ListWatchers(ctx context.Context, owner, repo string, opt *ListOptions) ([]*User, *Response, error)

ListWatchers lists watchers of a particular repo.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/activity/notifications/#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://developer.github.com/v3/activity/notifications/#mark-notifications-as-read-in-a-repository

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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/activity/starring/#star-a-repository

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://developer.github.com/v3/activity/starring/#unstar-a-repository

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://developer.github.com/v3/enterprise/

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://developer.github.com/v3/enterprise-admin/admin_stats/

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://developer.github.com/v3/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://developer.github.com/v3/enterprise/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 App ¶

type App struct {
	ID          *int64     `json:"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   *time.Time `json:"created_at,omitempty"`
	UpdatedAt   *time.Time `json:"updated_at,omitempty"`
}

App represents a GitHub App.

func (*App) GetCreatedAt ¶

func (a *App) GetCreatedAt() time.Time

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) GetOwner ¶

func (a *App) GetOwner() *User

GetOwner returns the Owner field.

func (*App) GetUpdatedAt ¶

func (a *App) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt 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://developer.github.com/v3/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://developer.github.com/v3/apps/installations/#add-repository-to-installation

func (*AppsService) CreateInstallationToken ¶

func (s *AppsService) CreateInstallationToken(ctx context.Context, id int64) (*InstallationToken, *Response, error)

CreateInstallationToken creates a new installation token.

GitHub API docs: https://developer.github.com/v3/apps/#create-a-new-installation-token

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://developer.github.com/v3/apps/#get-a-single-github-app

func (*AppsService) GetInstallation ¶

func (s *AppsService) GetInstallation(ctx context.Context, id int64) (*Installation, *Response, error)

GetInstallation returns the specified installation.

GitHub API docs: https://developer.github.com/v3/apps/#get-a-single-installation

func (*AppsService) ListInstallations ¶

func (s *AppsService) ListInstallations(ctx context.Context, opt *ListOptions) ([]*Installation, *Response, error)

ListInstallations lists the installations that the current GitHub App has.

GitHub API docs: https://developer.github.com/v3/apps/#find-installations

func (*AppsService) ListRepos ¶

func (s *AppsService) ListRepos(ctx context.Context, opt *ListOptions) ([]*Repository, *Response, error)

ListRepos lists the repositories that are accessible to the authenticated installation.

GitHub API docs: https://developer.github.com/v3/apps/installations/#list-repositories

func (*AppsService) ListUserInstallations ¶

func (s *AppsService) ListUserInstallations(ctx context.Context, opt *ListOptions) ([]*Installation, *Response, error)

ListUserInstallations lists installations that are accessible to the authenticated user.

GitHub API docs: https://developer.github.com/v3/apps/#list-installations-for-user

func (*AppsService) ListUserRepos ¶

func (s *AppsService) ListUserRepos(ctx context.Context, id int64, opt *ListOptions) ([]*Repository, *Response, error)

ListUserRepos lists repositories that are accessible to the authenticated user for an installation.

GitHub API docs: https://developer.github.com/v3/apps/installations/#list-repositories-accessible-to-the-user-for-an-installation

func (*AppsService) RemoveRepository ¶

func (s *AppsService) RemoveRepository(ctx context.Context, instID, repoID int64) (*Response, error)

RemoveRepository removes a single repository from an installation.

GitHub docs: https://developer.github.com/v3/apps/installations/#remove-repository-from-installation

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://developer.github.com/v3/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://developer.github.com/v3/oauth_authorizations/

func (*AuthorizationsService) Check ¶

func (s *AuthorizationsService) Check(ctx context.Context, clientID string, token 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://developer.github.com/v3/oauth_authorizations/#check-an-authorization

func (*AuthorizationsService) Create ¶

Create a new authorization for the specified OAuth application.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization

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/2.5/v3/users/administration/#create-an-impersonation-oauth-token

func (*AuthorizationsService) Delete ¶

func (s *AuthorizationsService) Delete(ctx context.Context, id int64) (*Response, error)

Delete a single authorization.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization

func (*AuthorizationsService) DeleteGrant ¶

func (s *AuthorizationsService) DeleteGrant(ctx context.Context, id int64) (*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://developer.github.com/v3/oauth_authorizations/#delete-a-grant

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/2.5/v3/users/administration/#delete-an-impersonation-oauth-token

func (*AuthorizationsService) Edit ¶

Edit a single authorization.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization

func (*AuthorizationsService) Get ¶

Get a single authorization.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization

func (*AuthorizationsService) GetGrant ¶

func (s *AuthorizationsService) GetGrant(ctx context.Context, id int64) (*Grant, *Response, error)

GetGrant gets a single OAuth application grant.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant

func (*AuthorizationsService) GetOrCreateForApp ¶

func (s *AuthorizationsService) GetOrCreateForApp(ctx context.Context, clientID string, auth *AuthorizationRequest) (*Authorization, *Response, error)

GetOrCreateForApp creates a new authorization for the specified OAuth application, only if an authorization for that application doesn’t already exist for the user.

If a new token is created, the HTTP status code will be "201 Created", and the returned Authorization.Token field will be populated. If an existing token is returned, the status code will be "200 OK" and the Authorization.Token field will be empty.

clientID is the OAuth Client ID with which to create the token.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint

func (*AuthorizationsService) List ¶

List the authorizations for the authenticated user.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations

func (*AuthorizationsService) ListGrants ¶

func (s *AuthorizationsService) ListGrants(ctx context.Context, opt *ListOptions) ([]*Grant, *Response, error)

ListGrants lists the set of OAuth applications that have been granted access to a user's account. This will return one entry for each application that has been granted access to the account, regardless of the number of tokens an application has generated for the user.

GitHub API docs: https://developer.github.com/v3/oauth_authorizations/#list-your-grants

func (*AuthorizationsService) Reset ¶

func (s *AuthorizationsService) Reset(ctx context.Context, clientID string, token 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://developer.github.com/v3/oauth_authorizations/#reset-an-authorization

func (*AuthorizationsService) Revoke ¶

func (s *AuthorizationsService) Revoke(ctx context.Context, clientID string, token 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://developer.github.com/v3/oauth_authorizations/#revoke-an-authorization-for-an-application

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

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

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 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.
	Activity       *ActivityService
	Admin          *AdminService
	Apps           *AppsService
	Authorizations *AuthorizationsService
	Gists          *GistsService
	Git            *GitService
	Gitignores     *GitignoresService
	Issues         *IssuesService
	Licenses       *LicensesService
	Marketplace    *MarketplaceService
	Migrations     *MigrationService
	Organizations  *OrganizationsService
	Projects       *ProjectsService
	PullRequests   *PullRequestsService
	Reactions      *ReactionsService
	Repositories   *RepositoriesService
	Search         *SearchService
	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, http.DefaultClient 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 the same URL). If either URL does not have a trailing slash, one is added automatically. If a nil httpClient is provided, http.DefaultClient 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.

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://developer.github.com/v3/meta/

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 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 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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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, opt *MarkdownOptions) (string, *Response, error)

Markdown renders an arbitrary Markdown document.

GitHub API docs: https://developer.github.com/v3/markdown/

Example ¶
package main

import (
	"context"
	"fmt"

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

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

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

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

	fmt.Println(output)
}

func (*Client) NewRequest ¶

func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Request, error)

NewRequest creates an API request. A relative URL can be provided in urlStr, in which case it is resolved relative to the BaseURL of the Client. Relative URLs should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.

func (*Client) NewUploadRequest ¶

func (c *Client) NewUploadRequest(urlStr string, reader io.Reader, size int64, mediaType string) (*http.Request, error)

NewUploadRequest creates an upload request. A relative URL can be provided in urlStr, in which case it is resolved relative to the UploadURL of the Client. Relative URLs should always be specified without a preceding slash.

func (*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 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 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 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"`
}

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://developer.github.com/v3/activity/events/types/#commitcommentevent

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

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) 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"`
	Contributing  *Metric `json:"contributing"`
	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) GetContributing ¶

func (c *CommunityHealthFiles) GetContributing() *Metric

GetContributing returns the Contributing field.

func (*CommunityHealthFiles) GetLicense ¶

func (c *CommunityHealthFiles) GetLicense() *Metric

GetLicense returns the License field.

func (*CommunityHealthFiles) GetReadme ¶

func (c *CommunityHealthFiles) GetReadme() *Metric

GetReadme returns the Readme field.

type CommunityHealthMetrics ¶

type CommunityHealthMetrics struct {
	HealthPercentage *int                  `json:"health_percentage"`
	Files            *CommunityHealthFiles `json:"files"`
	UpdatedAt        *time.Time            `json:"updated_at"`
}

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

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 Contributor ¶

type Contributor struct {
	Login             *string `json:"login,omitempty"`
	ID                *int64  `json:"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"`
}

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

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

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://developer.github.com/v3/activity/events/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) 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 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://developer.github.com/v3/activity/events/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 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://developer.github.com/v3/activity/events/types/#deploymentevent

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               *string   `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) GetPayload ¶

func (d *DeploymentRequest) GetPayload() string

GetPayload returns the Payload 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".
	State         *string    `json:"state,omitempty"`
	Creator       *User      `json:"creator,omitempty"`
	Description   *string    `json:"description,omitempty"`
	TargetURL     *string    `json:"target_url,omitempty"`
	CreatedAt     *Timestamp `json:"created_at,omitempty"`
	UpdatedAt     *Timestamp `json:"updated_at,omitempty"`
	DeploymentURL *string    `json:"deployment_url,omitempty"`
	RepositoryURL *string    `json:"repository_url,omitempty"`
	NodeID        *string    `json:"node_id,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) GetID ¶

func (d *DeploymentStatus) GetID() int64

GetID returns the ID 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) 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://developer.github.com/v3/activity/events/types/#deploymentstatusevent

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

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 []string{} instead of nil for empty list.)
	Users []string `json:"users"`
	// The list of team slugs which can dismiss pull request reviews. (Required; use []string{} instead of nil for empty list.)
	Teams []string `json:"teams"`
}

DismissalRestrictionsRequest represents the request to create/edit the restriction to allows only specific users or teams to dimiss pull request reviews. It is separate from DismissalRestrictions above because the request structure is different from the response structure.

type DraftReviewComment ¶

type DraftReviewComment struct {
	Path     *string `json:"path,omitempty"`
	Position *int    `json:"position,omitempty"`
	Body     *string `json:"body,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) 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) String ¶

func (c DraftReviewComment) String() string

type EditChange ¶

type EditChange struct {
	Title *struct {
		From *string `json:"from,omitempty"`
	} `json:"title,omitempty"`
	Body *struct {
		From *string `json:"from,omitempty"`
	} `json:"body,omitempty"`
}

EditChange represents the changes when an issue, pull request, or comment has been edited.

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 API docs: https://developer.github.com/v3/#client-errors

func (*Error) Error ¶

func (e *Error) Error() string

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.
	// See https://developer.github.com/changes/2016-03-17-the-451-status-code-is-now-supported/
	// for more information.
	Block *struct {
		Reason    string     `json:"reason,omitempty"`
		CreatedAt *Timestamp `json:"created_at,omitempty"`
	} `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://developer.github.com/v3/#client-errors
	DocumentationURL string `json:"documentation_url,omitempty"`
}

An ErrorResponse reports one or more errors caused by an API request.

GitHub API docs: https://developer.github.com/v3/#client-errors

func (*ErrorResponse) Error ¶

func (r *ErrorResponse) Error() string

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 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 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                       *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"`
	} `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 (*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 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://developer.github.com/v3/activity/events/types/#forkevent

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"`
	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) String ¶

func (k GPGKey) String() string

String stringifies a GPGKey.

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) 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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/gists/comments/#create-a-comment

func (*GistsService) Delete ¶

func (s *GistsService) Delete(ctx context.Context, id string) (*Response, error)

Delete a gist.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/gists/comments/#delete-a-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://developer.github.com/v3/gists/#edit-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://developer.github.com/v3/gists/comments/#edit-a-comment

func (*GistsService) Fork ¶

func (s *GistsService) Fork(ctx context.Context, id string) (*Gist, *Response, error)

Fork a gist.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/gists/#get-a-single-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://developer.github.com/v3/gists/comments/#get-a-single-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://developer.github.com/v3/gists/#get-a-specific-revision-of-a-gist

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://developer.github.com/v3/gists/#check-if-a-gist-is-starred

func (*GistsService) List ¶

func (s *GistsService) List(ctx context.Context, user string, opt *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://developer.github.com/v3/gists/#list-gists

func (*GistsService) ListAll ¶

func (s *GistsService) ListAll(ctx context.Context, opt *GistListOptions) ([]*Gist, *Response, error)

ListAll lists all public gists.

GitHub API docs: https://developer.github.com/v3/gists/#list-gists

func (*GistsService) ListComments ¶

func (s *GistsService) ListComments(ctx context.Context, gistID string, opt *ListOptions) ([]*GistComment, *Response, error)

ListComments lists all comments for a gist.

GitHub API docs: https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist

func (*GistsService) ListCommits ¶

func (s *GistsService) ListCommits(ctx context.Context, id string, opt *ListOptions) ([]*GistCommit, *Response, error)

ListCommits lists commits of a gist.

GitHub API docs: https://developer.github.com/v3/gists/#list-gist-commits

func (*GistsService) ListForks ¶

func (s *GistsService) ListForks(ctx context.Context, id string) ([]*GistFork, *Response, error)

ListForks lists forks of a gist.

GitHub API docs: https://developer.github.com/v3/gists/#list-gist-forks

func (*GistsService) ListStarred ¶

func (s *GistsService) ListStarred(ctx context.Context, opt *GistListOptions) ([]*Gist, *Response, error)

ListStarred lists starred gists of authenticated user.

GitHub API docs: https://developer.github.com/v3/gists/#list-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://developer.github.com/v3/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://developer.github.com/v3/gists/#unstar-a-gist

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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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 fetchs a blob from a repo given a SHA.

GitHub API docs: https://developer.github.com/v3/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 fetchs the Commit object for a given SHA.

GitHub API docs: https://developer.github.com/v3/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 object for a given Git ref. If there is no exact match, GetRef will return an error.

Note: The GitHub API can return multiple matches. If you wish to use this functionality please use the GetRefs() method.

GitHub API docs: https://developer.github.com/v3/git/refs/#get-a-reference

func (*GitService) GetRefs ¶

func (s *GitService) GetRefs(ctx context.Context, owner string, repo string, ref string) ([]*Reference, *Response, error)

GetRefs fetches a slice of Reference objects for a given Git ref. If there is an exact match, only that ref is returned. If there is no exact match, GitHub returns all refs that start with ref. If returned error is nil, there will be at least 1 ref returned. For example:

"heads/featureA" -> ["refs/heads/featureA"]                         // Exact match, single ref is returned.
"heads/feature"  -> ["refs/heads/featureA", "refs/heads/featureB"]  // All refs that start with ref.
"heads/notexist" -> []                                              // Returns an error.

GitHub API docs: https://developer.github.com/v3/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 fetchs a tag from a repo given a SHA.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/git/trees/#get-a-tree

func (*GitService) ListRefs ¶

func (s *GitService) ListRefs(ctx context.Context, owner, repo string, opt *ReferenceListOptions) ([]*Reference, *Response, error)

ListRefs lists all refs in a repository.

GitHub API docs: https://developer.github.com/v3/git/refs/#get-all-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://developer.github.com/v3/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://developer.github.com/v3/gitignore/

func (GitignoresService) Get ¶

Get a Gitignore by name.

GitHub API docs: https://developer.github.com/v3/gitignore/#get-a-single-template

func (GitignoresService) List ¶

List all available Gitignore templates.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/activity/events/types/#gollumevent

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 Hook ¶

type Hook struct {
	CreatedAt *time.Time             `json:"created_at,omitempty"`
	UpdatedAt *time.Time             `json:"updated_at,omitempty"`
	Name      *string                `json:"name,omitempty"`
	URL       *string                `json:"url,omitempty"`
	Events    []string               `json:"events,omitempty"`
	Active    *bool                  `json:"active,omitempty"`
	Config    map[string]interface{} `json:"config,omitempty"`
	ID        *int64                 `json:"id,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) 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 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 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"`
	Account         *User   `json:"account,omitempty"`
	AccessTokensURL *string `json:"access_tokens_url,omitempty"`
	RepositoriesURL *string `json:"repositories_url,omitempty"`
	HTMLURL         *string `json:"html_url,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) GetHTMLURL ¶

func (i *Installation) GetHTMLURL() string

GetHTMLURL returns the HTMLURL 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) GetRepositoriesURL ¶

func (i *Installation) GetRepositoriesURL() string

GetRepositoriesURL returns the RepositoriesURL 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" or "deleted".
	Action       *string       `json:"action,omitempty"`
	Sender       *User         `json:"sender,omitempty"`
	Installation *Installation `json:"installation,omitempty"`
}

InstallationEvent is triggered when a GitHub App has been installed or uninstalled. The Webhook event name is "installation".

GitHub API docs: https://developer.github.com/v3/activity/events/types/#installationevent

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 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://developer.github.com/v3/activity/events/types/#installationrepositoriesevent

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

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) GetToken ¶

func (i *InstallationToken) GetToken() string

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

type Invitation ¶

type Invitation struct {
	ID    *int64  `json:"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"`
}

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) GetID ¶

func (i *Invitation) GetID() int64

GetID returns the ID 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) GetRole ¶

func (i *Invitation) GetRole() string

GetRole returns the Role 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"`
	Locked           *bool             `json:"locked,omitempty"`
	Title            *string           `json:"title,omitempty"`
	Body             *string           `json:"body,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://developer.github.com/v3/search/#text-match-metadata
	TextMatches []TextMatch `json:"text_matches,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) GetAssignee ¶

func (i *Issue) GetAssignee() *User

GetAssignee returns the Assignee field.

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

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://developer.github.com/v3/activity/events/types/#issuecommentevent

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) 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, locked, unlocked
	//       The Actor did that to the issue.
	//
	//     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.
	//
	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"`
}

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) 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) GetMilestone ¶

func (i *IssueEvent) GetMilestone() *Milestone

GetMilestone returns the Milestone field.

func (*IssueEvent) GetRename ¶

func (i *IssueEvent) GetRename() *Rename

GetRename returns the Rename field.

func (*IssueEvent) GetURL ¶

func (i *IssueEvent) GetURL() string

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

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.

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"`
	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) 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: "assigned",
	// "unassigned", "labeled", "unlabeled", "opened", "closed", "reopened", "edited".
	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 assigned, unassigned, labeled, unlabeled, opened, closed, or reopened. The Webhook event name is "issues".

GitHub API docs: https://developer.github.com/v3/activity/events/types/#issuesevent

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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/issues/comments/#create-a-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://developer.github.com/v3/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://developer.github.com/v3/issues/milestones/#create-a-milestone

func (*IssuesService) DeleteComment ¶

func (s *IssuesService) DeleteComment(ctx context.Context, owner string, repo string, id int) (*Response, error)

DeleteComment deletes an issue comment.

GitHub API docs: https://developer.github.com/v3/issues/comments/#delete-a-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://developer.github.com/v3/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://developer.github.com/v3/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 an issue.

GitHub API docs: https://developer.github.com/v3/issues/#edit-an-issue

func (*IssuesService) EditComment ¶

func (s *IssuesService) EditComment(ctx context.Context, owner string, repo string, id int, comment *IssueComment) (*IssueComment, *Response, error)

EditComment updates an issue comment.

GitHub API docs: https://developer.github.com/v3/issues/comments/#edit-a-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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/issues/#get-a-single-issue

func (*IssuesService) GetComment ¶

func (s *IssuesService) GetComment(ctx context.Context, owner string, repo string, id int) (*IssueComment, *Response, error)

GetComment fetches the specified issue comment.

GitHub API docs: https://developer.github.com/v3/issues/comments/#get-a-single-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://developer.github.com/v3/issues/events/#get-a-single-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://developer.github.com/v3/issues/labels/#get-a-single-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://developer.github.com/v3/issues/milestones/#get-a-single-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://developer.github.com/v3/issues/assignees/#check-assignee

func (*IssuesService) List ¶

func (s *IssuesService) List(ctx context.Context, all bool, opt *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://developer.github.com/v3/issues/#list-issues

func (*IssuesService) ListAssignees ¶

func (s *IssuesService) ListAssignees(ctx context.Context, owner, repo string, opt *ListOptions) ([]*User, *Response, error)

ListAssignees fetches all available assignees (owners and collaborators) to which issues may be assigned.

GitHub API docs: https://developer.github.com/v3/issues/assignees/#list-assignees

func (*IssuesService) ListByOrg ¶

func (s *IssuesService) ListByOrg(ctx context.Context, org string, opt *IssueListOptions) ([]*Issue, *Response, error)

ListByOrg fetches the issues in the specified organization for the authenticated user.

GitHub API docs: https://developer.github.com/v3/issues/#list-issues

func (*IssuesService) ListByRepo ¶

func (s *IssuesService) ListByRepo(ctx context.Context, owner string, repo string, opt *IssueListByRepoOptions) ([]*Issue, *Response, error)

ListByRepo lists the issues for the specified repository.

GitHub API docs: https://developer.github.com/v3/issues/#list-issues-for-a-repository

func (*IssuesService) ListComments ¶

func (s *IssuesService) ListComments(ctx context.Context, owner string, repo string, number int, opt *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://developer.github.com/v3/issues/comments/#list-comments-on-an-issue

func (*IssuesService) ListIssueEvents ¶

func (s *IssuesService) ListIssueEvents(ctx context.Context, owner, repo string, number int, opt *ListOptions) ([]*IssueEvent, *Response, error)

ListIssueEvents lists events for the specified issue.

GitHub API docs: https://developer.github.com/v3/issues/events/#list-events-for-an-issue

func (*IssuesService) ListIssueTimeline ¶

func (s *IssuesService) ListIssueTimeline(ctx context.Context, owner, repo string, number int, opt *ListOptions) ([]*Timeline, *Response, error)

ListIssueTimeline lists events for the specified issue.

GitHub API docs: https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue

func (*IssuesService) ListLabels ¶

func (s *IssuesService) ListLabels(ctx context.Context, owner string, repo string, opt *ListOptions) ([]*Label, *Response, error)

ListLabels lists all labels for a repository.

GitHub API docs: https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository

func (*IssuesService) ListLabelsByIssue ¶

func (s *IssuesService) ListLabelsByIssue(ctx context.Context, owner string, repo string, number int, opt *ListOptions) ([]*Label, *Response, error)

ListLabelsByIssue lists all labels for an issue.

GitHub API docs: https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue

func (*IssuesService) ListLabelsForMilestone ¶

func (s *IssuesService) ListLabelsForMilestone(ctx context.Context, owner string, repo string, number int, opt *ListOptions) ([]*Label, *Response, error)

ListLabelsForMilestone lists labels for every issue in a milestone.

GitHub API docs: https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone

func (*IssuesService) ListMilestones ¶

func (s *IssuesService) ListMilestones(ctx context.Context, owner string, repo string, opt *MilestoneListOptions) ([]*Milestone, *Response, error)

ListMilestones lists all milestones for a repository.

GitHub API docs: https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository

func (*IssuesService) ListRepositoryEvents ¶

func (s *IssuesService) ListRepositoryEvents(ctx context.Context, owner, repo string, opt *ListOptions) ([]*IssueEvent, *Response, error)

ListRepositoryEvents lists events for the specified repository.

GitHub API docs: https://developer.github.com/v3/issues/events/#list-events-for-a-repository

func (*IssuesService) Lock ¶

func (s *IssuesService) Lock(ctx context.Context, owner string, repo string, number int) (*Response, error)

Lock an issue's conversation.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/issues/labels/#remove-all-labels-from-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://developer.github.com/v3/issues/labels/#replace-all-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://developer.github.com/v3/issues/#unlock-an-issue

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

Key represents a public SSH key used to authenticate a user or deploy script.

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

	// The following fields are only populated by Webhook events.
	Changes      *EditChange   `json:"changes,omitempty"`
	Repo         *Repository   `json:"repository,omitempty"`
	Org          *Organization `json:"organization,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://developer.github.com/v3/activity/events/types/#labelevent

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.

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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/licenses/#get-an-individual-license

func (*LicensesService) List ¶

func (s *LicensesService) List(ctx context.Context) ([]*License, *Response, error)

List popular open source licenses.

GitHub API docs: https://developer.github.com/v3/licenses/#list-all-licenses

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 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 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-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 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 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 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 MarketplacePlan ¶

type MarketplacePlan struct {
	URL                 *string   `json:"url,omitempty"`
	AccountsURL         *string   `json:"accounts_url,omitempty"`
	ID                  *int64    `json:"id,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"`
	PriceModel          *string   `json:"price_model,omitempty"`
	UnitName            *string   `json:"unit_name,omitempty"`
	Bullets             *[]string `json:"bullets,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) 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) GetPriceModel ¶

func (m *MarketplacePlan) GetPriceModel() string

GetPriceModel returns the PriceModel 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"`
	Email                    *string              `json:"email,omitempty"`
	OrganizationBillingEmail *string              `json:"organization_billing_email,omitempty"`
	MarketplacePurchase      *MarketplacePurchase `json:"marketplace_purchase,omitempty"`
}

MarketplacePlanAccount represents a GitHub Account (user or organization) on a specific plan.

func (*MarketplacePlanAccount) GetEmail ¶

func (m *MarketplacePlanAccount) GetEmail() string

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

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) 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    *string                 `json:"billing_cycle,omitempty"`
	NextBillingDate *string                 `json:"next_billing_date,omitempty"`
	UnitCount       *int                    `json:"unit_count,omitempty"`
	Plan            *MarketplacePlan        `json:"plan,omitempty"`
	Account         *MarketplacePlanAccount `json:"account,omitempty"`
}

MarketplacePurchase represents a GitHub Apps Marketplace Purchase.

func (*MarketplacePurchase) GetAccount ¶

GetAccount returns the Account field.

func (*MarketplacePurchase) GetBillingCycle ¶

func (m *MarketplacePurchase) GetBillingCycle() string

GetBillingCycle returns the BillingCycle field if it's non-nil, zero value otherwise.

func (*MarketplacePurchase) GetNextBillingDate ¶

func (m *MarketplacePurchase) GetNextBillingDate() string

GetNextBillingDate returns the NextBillingDate 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.

type MarketplacePurchaseEvent ¶

type MarketplacePurchaseEvent struct {
	// Action is the action that was performed. Possible values are:
	// "purchased", "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://developer.github.com/v3/activity/events/types/#marketplacepurchaseevent

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://developer.github.com/v3/apps/marketplace/
	Stubbed bool
	// contains filtered or unexported fields
}

MarketplaceService handles communication with the marketplace related methods of the GitHub API.

GitHub API docs: https://developer.github.com/v3/apps/marketplace/

func (*MarketplaceService) ListMarketplacePurchasesForUser ¶

func (s *MarketplaceService) ListMarketplacePurchasesForUser(ctx context.Context, opt *ListOptions) ([]*MarketplacePurchase, *Response, error)

ListMarketplacePurchasesForUser lists all GitHub marketplace purchases made by a user.

GitHub API docs: https://developer.github.com/v3/apps/marketplace/#get-a-users-marketplace-purchases

func (*MarketplaceService) ListPlanAccountsForAccount ¶

func (s *MarketplaceService) ListPlanAccountsForAccount(ctx context.Context, accountID int64, opt *ListOptions) ([]*MarketplacePlanAccount, *Response, error)

ListPlanAccountsForAccount lists all GitHub accounts (user or organization) associated with an account.

GitHub API docs: https://developer.github.com/v3/apps/marketplace/#check-if-a-github-account-is-associated-with-any-marketplace-listing

func (*MarketplaceService) ListPlanAccountsForPlan ¶

func (s *MarketplaceService) ListPlanAccountsForPlan(ctx context.Context, planID int64, opt *ListOptions) ([]*MarketplacePlanAccount, *Response, error)

ListPlanAccountsForPlan lists all GitHub accounts (user or organization) on a specific plan.

GitHub API docs: https://developer.github.com/v3/apps/marketplace/#list-all-github-accounts-user-or-organization-on-a-specific-plan

func (*MarketplaceService) ListPlans ¶

ListPlans lists all plans for your Marketplace listing.

GitHub API docs: https://developer.github.com/v3/apps/marketplace/#list-all-plans-for-your-marketplace-listing

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://developer.github.com/v3/activity/events/types/#memberevent

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://developer.github.com/v3/activity/events/types/#membershipevent

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 Metric ¶

type Metric struct {
	Name    *string `json:"name"`
	Key     *string `json:"key"`
	URL     *string `json:"url"`
	HTMLURL *string `json:"html_url"`
}

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) 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://developer.github.com/v3/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://developer.github.com/v3/migration/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://developer.github.com/v3/migration/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://developer.github.com/v3/migration/migrations/#delete-a-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://developer.github.com/v3/migration/source_imports/#get-import-progress

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://developer.github.com/v3/migration/source_imports/#get-large-files

func (*MigrationService) ListMigrations ¶

func (s *MigrationService) ListMigrations(ctx context.Context, org string) ([]*Migration, *Response, error)

ListMigrations lists the most recent migrations.

GitHub API docs: https://developer.github.com/v3/migration/migrations/#get-a-list-of-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://developer.github.com/v3/migration/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://developer.github.com/v3/migration/migrations/#download-a-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://developer.github.com/v3/migration/migrations/#get-the-status-of-a-migration

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://developer.github.com/v3/migration/source_imports/#set-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://developer.github.com/v3/migration/source_imports/#start-an-import

func (*MigrationService) StartMigration ¶

func (s *MigrationService) StartMigration(ctx context.Context, org string, repos []string, opt *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://developer.github.com/v3/migration/migrations/#start-a-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://developer.github.com/v3/migration/migrations/#unlock-a-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://developer.github.com/v3/migration/source_imports/#update-existing-import

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://developer.github.com/v3/activity/events/types/#milestoneevent

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

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) 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://developer.github.com/v3/activity/notifications/#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 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://developer.github.com/v3/activity/events/types/#orgblockevent

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"`
	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"`
	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"`
	NodeID            *string    `json:"node_id,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) 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) 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) 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) 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) 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) GetTotalPrivateRepos ¶

func (o *Organization) GetTotalPrivateRepos() int

GetTotalPrivateRepos returns the TotalPrivateRepos 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) String ¶

func (o Organization) String() string

type OrganizationAddTeamMembershipOptions ¶

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

OrganizationAddTeamMembershipOptions does stuff specifies the optional parameters to the OrganizationsService.AddTeamMembership method.

type OrganizationAddTeamRepoOptions ¶

type OrganizationAddTeamRepoOptions 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
	//
	// If not specified, the team's permission attribute will be used.
	Permission string `json:"permission,omitempty"`
}

OrganizationAddTeamRepoOptions specifies the optional parameters to the OrganizationsService.AddTeamRepo method.

type OrganizationEvent ¶

type OrganizationEvent struct {
	// Action is the action that was performed.
	// Can be one of "member_added", "member_removed", or "member_invited".
	Action *string `json:"action,omitempty"`

	// Invitaion 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 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://developer.github.com/v3/activity/events/types/#organizationevent

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 OrganizationListTeamMembersOptions ¶

type OrganizationListTeamMembersOptions 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
}

OrganizationListTeamMembersOptions specifies the optional parameters to the OrganizationsService.ListTeamMembers method.

type OrganizationsListOptions ¶

type OrganizationsListOptions struct {
	// Since filters Organizations by ID.
	Since int `url:"since,omitempty"`

	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://developer.github.com/v3/orgs/

func (*OrganizationsService) AddTeamMembership ¶

AddTeamMembership adds or invites a user to a team.

In order to add a membership between a user and a team, the authenticated user must have 'admin' permissions to the team or be an owner of the organization that the team is associated with.

If the user is already a part of the team's organization (meaning they're on at least one other team in the organization), this endpoint will add the user to the team.

If the user is completely unaffiliated with the team's organization (meaning they're on none of the organization's teams), this endpoint will send an invitation to the user via email. This newly-created membership will be in the "pending" state until the user accepts the invitation, at which point the membership will transition to the "active" state and the user will be added as a member of the team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#add-team-membership

func (*OrganizationsService) AddTeamRepo ¶

func (s *OrganizationsService) AddTeamRepo(ctx context.Context, team int64, owner string, repo string, opt *OrganizationAddTeamRepoOptions) (*Response, error)

AddTeamRepo adds a repository to be managed by the specified team. 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://developer.github.com/v3/orgs/teams/#add-team-repo

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://developer.github.com/v3/orgs/blocking/#block-a-user

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://developer.github.com/v3/orgs/members/#conceal-a-users-membership

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://developer.github.com/v3/orgs/outside_collaborators/#convert-member-to-outside-collaborator

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. Name and Config are required fields.

GitHub API docs: https://developer.github.com/v3/orgs/hooks/#create-a-hook

func (*OrganizationsService) CreateProject ¶

func (s *OrganizationsService) CreateProject(ctx context.Context, org string, opt *ProjectOptions) (*Project, *Response, error)

CreateProject creates a GitHub Project for the specified organization.

GitHub API docs: https://developer.github.com/v3/projects/#create-an-organization-project

func (*OrganizationsService) CreateTeam ¶

func (s *OrganizationsService) CreateTeam(ctx context.Context, org string, team *NewTeam) (*Team, *Response, error)

CreateTeam creates a new team within an organization.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#create-team

func (*OrganizationsService) DeleteHook ¶

func (s *OrganizationsService) DeleteHook(ctx context.Context, org string, id int) (*Response, error)

DeleteHook deletes a specified Hook.

GitHub API docs: https://developer.github.com/v3/orgs/hooks/#delete-a-hook

func (*OrganizationsService) DeleteTeam ¶

func (s *OrganizationsService) DeleteTeam(ctx context.Context, team int64) (*Response, error)

DeleteTeam deletes a team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#delete-team

func (*OrganizationsService) Edit ¶

Edit an organization.

GitHub API docs: https://developer.github.com/v3/orgs/#edit-an-organization

func (*OrganizationsService) EditHook ¶

func (s *OrganizationsService) EditHook(ctx context.Context, org string, id int, hook *Hook) (*Hook, *Response, error)

EditHook updates a specified Hook.

GitHub API docs: https://developer.github.com/v3/orgs/hooks/#edit-a-hook

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://developer.github.com/v3/orgs/members/#add-or-update-organization-membership GitHub API docs: https://developer.github.com/v3/orgs/members/#edit-your-organization-membership

func (*OrganizationsService) EditTeam ¶

func (s *OrganizationsService) EditTeam(ctx context.Context, id int64, team *NewTeam) (*Team, *Response, error)

EditTeam edits a team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#edit-team

func (*OrganizationsService) Get ¶

Get fetches an organization by name.

GitHub API docs: https://developer.github.com/v3/orgs/#get-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 int) (*Hook, *Response, error)

GetHook returns a single specified Hook.

GitHub API docs: https://developer.github.com/v3/orgs/hooks/#get-single-hook

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://developer.github.com/v3/orgs/members/#get-organization-membership https://developer.github.com/v3/orgs/members/#get-your-organization-membership

func (*OrganizationsService) GetTeam ¶

func (s *OrganizationsService) GetTeam(ctx context.Context, team int64) (*Team, *Response, error)

GetTeam fetches a team by ID.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#get-team

func (*OrganizationsService) GetTeamMembership ¶

func (s *OrganizationsService) GetTeamMembership(ctx context.Context, team int64, user string) (*Membership, *Response, error)

GetTeamMembership returns the membership status for a user in a team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#get-team-membership

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://developer.github.com/v3/orgs/blocking/#check-whether-a-user-is-blocked-from-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://developer.github.com/v3/orgs/members/#check-membership

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://developer.github.com/v3/orgs/members/#check-public-membership

func (*OrganizationsService) IsTeamMember deprecated

func (s *OrganizationsService) IsTeamMember(ctx context.Context, team int64, user string) (bool, *Response, error)

IsTeamMember checks if a user is a member of the specified team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#get-team-member

Deprecated: This API has been marked as deprecated in the Github API docs, OrganizationsService.GetTeamMembership method should be used instead.

func (*OrganizationsService) IsTeamRepo ¶

func (s *OrganizationsService) IsTeamRepo(ctx context.Context, team int64, owner string, repo string) (*Repository, *Response, error)

IsTeamRepo checks if a team 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://developer.github.com/v3/orgs/teams/#check-if-a-team-manages-a-repository

func (*OrganizationsService) List ¶

List the organizations for a user. Passing the empty string will list organizations for the authenticated user.

GitHub API docs: https://developer.github.com/v3/orgs/#list-user-organizations

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://developer.github.com/v3/orgs/#list-all-organizations

func (*OrganizationsService) ListBlockedUsers ¶

func (s *OrganizationsService) ListBlockedUsers(ctx context.Context, org string, opt *ListOptions) ([]*User, *Response, error)

ListBlockedUsers lists all the users blocked by an organization.

GitHub API docs: https://developer.github.com/v3/orgs/blocking/#list-blocked-users

func (*OrganizationsService) ListChildTeams ¶

func (s *OrganizationsService) ListChildTeams(ctx context.Context, teamID int64, opt *ListOptions) ([]*Team, *Response, error)

ListChildTeams lists child teams for a team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#list-child-teams

func (*OrganizationsService) ListHooks ¶

func (s *OrganizationsService) ListHooks(ctx context.Context, org string, opt *ListOptions) ([]*Hook, *Response, error)

ListHooks lists all Hooks for the specified organization.

GitHub API docs: https://developer.github.com/v3/orgs/hooks/#list-hooks

func (*OrganizationsService) ListMembers ¶

func (s *OrganizationsService) ListMembers(ctx context.Context, org string, opt *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://developer.github.com/v3/orgs/members/#members-list

func (*OrganizationsService) ListOrgMemberships ¶

func (s *OrganizationsService) ListOrgMemberships(ctx context.Context, opt *ListOrgMembershipsOptions) ([]*Membership, *Response, error)

ListOrgMemberships lists the organization memberships for the authenticated user.

GitHub API docs: https://developer.github.com/v3/orgs/members/#list-your-organization-memberships

func (*OrganizationsService) ListOutsideCollaborators ¶

func (s *OrganizationsService) ListOutsideCollaborators(ctx context.Context, org string, opt *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://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators

func (*OrganizationsService) ListPendingOrgInvitations ¶

func (s *OrganizationsService) ListPendingOrgInvitations(ctx context.Context, org string, opt *ListOptions) ([]*Invitation, *Response, error)

ListPendingOrgInvitations returns a list of pending invitations.

GitHub API docs: https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations

func (*OrganizationsService) ListPendingTeamInvitations ¶

func (s *OrganizationsService) ListPendingTeamInvitations(ctx context.Context, team int64, opt *ListOptions) ([]*Invitation, *Response, error)

ListPendingTeamInvitations get pending invitaion list in team. Warning: The API may change without advance notice during the preview period. Preview features are not supported for production use.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#list-pending-team-invitations

func (*OrganizationsService) ListProjects ¶

func (s *OrganizationsService) ListProjects(ctx context.Context, org string, opt *ProjectListOptions) ([]*Project, *Response, error)

ListProjects lists the projects for an organization.

GitHub API docs: https://developer.github.com/v3/projects/#list-organization-projects

func (*OrganizationsService) ListTeamMembers ¶

func (s *OrganizationsService) ListTeamMembers(ctx context.Context, team int64, opt *OrganizationListTeamMembersOptions) ([]*User, *Response, error)

ListTeamMembers lists all of the users who are members of the specified team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#list-team-members

func (*OrganizationsService) ListTeamRepos ¶

func (s *OrganizationsService) ListTeamRepos(ctx context.Context, team int64, opt *ListOptions) ([]*Repository, *Response, error)

ListTeamRepos lists the repositories that the specified team has access to.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#list-team-repos

func (*OrganizationsService) ListTeams ¶

func (s *OrganizationsService) ListTeams(ctx context.Context, org string, opt *ListOptions) ([]*Team, *Response, error)

ListTeams lists all of the teams for an organization.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#list-teams

func (*OrganizationsService) ListUserTeams ¶

func (s *OrganizationsService) ListUserTeams(ctx context.Context, opt *ListOptions) ([]*Team, *Response, error)

ListUserTeams lists a user's teams GitHub API docs: https://developer.github.com/v3/orgs/teams/#list-user-teams

func (*OrganizationsService) PingHook ¶

func (s *OrganizationsService) PingHook(ctx context.Context, org string, id int) (*Response, error)

PingHook triggers a 'ping' event to be sent to the Hook.

GitHub API docs: https://developer.github.com/v3/orgs/hooks/#ping-a-hook

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://developer.github.com/v3/orgs/members/#publicize-a-users-membership

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://developer.github.com/v3/orgs/members/#remove-a-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://developer.github.com/v3/orgs/members/#remove-organization-membership

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://developer.github.com/v3/orgs/outside_collaborators/#remove-outside-collaborator

func (*OrganizationsService) RemoveTeamMembership ¶

func (s *OrganizationsService) RemoveTeamMembership(ctx context.Context, team int64, user string) (*Response, error)

RemoveTeamMembership removes a user from a team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#remove-team-membership

func (*OrganizationsService) RemoveTeamRepo ¶

func (s *OrganizationsService) RemoveTeamRepo(ctx context.Context, team int64, owner string, repo string) (*Response, error)

RemoveTeamRepo removes a repository from being managed by the specified team. Note that this does not delete the repository, it just removes it from the team.

GitHub API docs: https://developer.github.com/v3/orgs/teams/#remove-team-repo

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://developer.github.com/v3/orgs/blocking/#unblock-a-user

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://developer.github.com/v3/activity/events/types/#pagebuildevent

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

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

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) 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) 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 Project ¶

type Project struct {
	ID        *int64     `json:"id,omitempty"`
	URL       *string    `json:"url,omitempty"`
	OwnerURL  *string    `json:"owner_url,omitempty"`
	Name      *string    `json:"name,omitempty"`
	Body      *string    `json:"body,omitempty"`
	Number    *int       `json:"number,omitempty"`
	CreatedAt *Timestamp `json:"created_at,omitempty"`
	UpdatedAt *Timestamp `json:"updated_at,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) 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) 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) GetNumber ¶

func (p *Project) GetNumber() int

GetNumber returns the Number 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) 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 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"`

	// The following fields are only populated by Webhook events.
	ColumnID *int64 `json:"column_id,omitempty"`
}

ProjectCard represents a card in a column of a GitHub Project.

GitHub API docs: https://developer.github.com/v3/projects/cards/#get-a-project-card

func (*ProjectCard) GetColumnID ¶

func (p *ProjectCard) GetColumnID() int64

GetColumnID returns the ColumnID 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) GetNote ¶

func (p *ProjectCard) GetNote() string

GetNote returns the Note 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 *struct {
		From *string `json:"from,omitempty"`
	} `json:"note,omitempty"`
}

ProjectCardChange represents the changes when a project card has been edited.

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://developer.github.com/v3/activity/events/types/#projectcardevent

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 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 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".
	ContentType string `json:"content_type,omitempty"`
}

ProjectCardOptions specifies the parameters to the ProjectsService.CreateProjectCard and ProjectsService.UpdateProjectCard methods.

type ProjectChange ¶

type ProjectChange struct {
	Name *struct {
		From *string `json:"from,omitempty"`
	} `json:"name,omitempty"`
	Body *struct {
		From *string `json:"from,omitempty"`
	} `json:"body,omitempty"`
}

ProjectChange represents the changes when a project has been edited.

type ProjectColumn ¶

type ProjectColumn struct {
	ID         *int64     `json:"id,omitempty"`
	Name       *string    `json:"name,omitempty"`
	ProjectURL *string    `json:"project_url,omitempty"`
	CreatedAt  *Timestamp `json:"created_at,omitempty"`
	UpdatedAt  *Timestamp `json:"updated_at,omitempty"`
}

ProjectColumn represents a column of a GitHub Project.

GitHub API docs: https://developer.github.com/v3/repos/projects/

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) GetProjectURL ¶

func (p *ProjectColumn) GetProjectURL() string

GetProjectURL returns the ProjectURL 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 *struct {
		From *string `json:"from,omitempty"`
	} `json:"name,omitempty"`
}

ProjectColumnChange represents the changes when a project column has been edited.

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://developer.github.com/v3/activity/events/types/#projectcolumnevent

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 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://developer.github.com/v3/activity/events/types/#projectevent

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

ProjectOptions specifies the parameters to the RepositoriesService.CreateProject and ProjectsService.UpdateProject methods.

type ProjectsService ¶

type ProjectsService service

ProjectsService provides access to the projects functions in the GitHub API.

GitHub API docs: https://developer.github.com/v3/projects/

func (*ProjectsService) CreateProjectCard ¶

func (s *ProjectsService) CreateProjectCard(ctx context.Context, columnID int64, opt *ProjectCardOptions) (*ProjectCard, *Response, error)

CreateProjectCard creates a card in the specified column of a GitHub Project.

GitHub API docs: https://developer.github.com/v3/projects/cards/#create-a-project-card

func (*ProjectsService) CreateProjectColumn ¶

func (s *ProjectsService) CreateProjectColumn(ctx context.Context, projectID int64, opt *ProjectColumnOptions) (*ProjectColumn, *Response, error)

CreateProjectColumn creates a column for the specified (by number) project.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/projects/#get-a-project

func (*ProjectsService) GetProjectCard ¶

func (s *ProjectsService) GetProjectCard(ctx context.Context, columnID int64) (*ProjectCard, *Response, error)

GetProjectCard gets a card in a column of a GitHub Project.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/projects/columns/#get-a-project-column

func (*ProjectsService) ListProjectCards ¶

func (s *ProjectsService) ListProjectCards(ctx context.Context, columnID int64, opt *ListOptions) ([]*ProjectCard, *Response, error)

ListProjectCards lists the cards in a column of a GitHub Project.

GitHub API docs: https://developer.github.com/v3/projects/cards/#list-project-cards

func (*ProjectsService) ListProjectColumns ¶

func (s *ProjectsService) ListProjectColumns(ctx context.Context, projectID int64, opt *ListOptions) ([]*ProjectColumn, *Response, error)

ListProjectColumns lists the columns of a GitHub Project for a repo.

GitHub API docs: https://developer.github.com/v3/projects/columns/#list-project-columns

func (*ProjectsService) MoveProjectCard ¶

func (s *ProjectsService) MoveProjectCard(ctx context.Context, cardID int64, opt *ProjectCardMoveOptions) (*Response, error)

MoveProjectCard moves a card within a GitHub Project.

GitHub API docs: https://developer.github.com/v3/projects/cards/#move-a-project-card

func (*ProjectsService) MoveProjectColumn ¶

func (s *ProjectsService) MoveProjectColumn(ctx context.Context, columnID int64, opt *ProjectColumnMoveOptions) (*Response, error)

MoveProjectColumn moves a column within a GitHub Project.

GitHub API docs: https://developer.github.com/v3/projects/columns/#move-a-project-column

func (*ProjectsService) UpdateProject ¶

func (s *ProjectsService) UpdateProject(ctx context.Context, id int64, opt *ProjectOptions) (*Project, *Response, error)

UpdateProject updates a repository project.

GitHub API docs: https://developer.github.com/v3/projects/#update-a-project

func (*ProjectsService) UpdateProjectCard ¶

func (s *ProjectsService) UpdateProjectCard(ctx context.Context, cardID int64, opt *ProjectCardOptions) (*ProjectCard, *Response, error)

UpdateProjectCard updates a card of a GitHub Project.

GitHub API docs: https://developer.github.com/v3/projects/cards/#update-a-project-card

func (*ProjectsService) UpdateProjectColumn ¶

func (s *ProjectsService) UpdateProjectColumn(ctx context.Context, columnID int64, opt *ProjectColumnOptions) (*ProjectColumn, *Response, error)

UpdateProjectColumn updates a column of a GitHub Project.

GitHub API docs: https://developer.github.com/v3/projects/columns/#update-a-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"`
}

Protection represents a repository branch's protection.

func (*Protection) GetEnforceAdmins ¶

func (p *Protection) GetEnforceAdmins() *AdminEnforcement

GetEnforceAdmins returns the EnforceAdmins 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 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"`
}

ProtectionRequest represents a request to create/edit a branch's protection.

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 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://developer.github.com/v3/activity/events/types/#publicevent

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 PullRequest ¶

type PullRequest struct {
	ID                  *int64     `json:"id,omitempty"`
	Number              *int       `json:"number,omitempty"`
	State               *string    `json:"state,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"`
	User                *User      `json:"user,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"`
	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"`
	ReviewCommentsURL   *string    `json:"review_comments_url,omitempty"`
	ReviewCommentURL    *string    `json:"review_comment_url,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"`

	Head *PullRequestBranch `json:"head,omitempty"`
	Base *PullRequestBranch `json:"base,omitempty"`
}

PullRequest represents a GitHub pull request on a repository.

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) 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) GetCommits ¶

func (p *PullRequest) GetCommits() int

GetCommits returns the Commits 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) 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 (*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) GetReviewCommentURL ¶

func (p *PullRequest) GetReviewCommentURL() string

GetReviewCommentURL returns the ReviewCommentURL 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 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 PullRequestComment ¶

type PullRequestComment struct {
	ID               *int64     `json:"id,omitempty"`
	InReplyTo        *int64     `json:"in_reply_to,omitempty"`
	Body             *string    `json:"body,omitempty"`
	Path             *string    `json:"path,omitempty"`
	DiffHunk         *string    `json:"diff_hunk,omitempty"`
	Position         *int       `json:"position,omitempty"`
	OriginalPosition *int       `json:"original_position,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"`
	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) 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) GetOriginalCommitID ¶

func (p *PullRequestComment) GetOriginalCommitID() string

GetOriginalCommitID returns the OriginalCommitID 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) 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) 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) 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", "closed", "reopened", "synchronize", "edited".
	// 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.
	Action      *string      `json:"action,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"`
	RequestedReviewers []*User       `json:"requested_reviewers,omitempty"` // Populated in "review_requested", "review_request_removed" event deliveries.
	Repo               *Repository   `json:"repository,omitempty"`
	Sender             *User         `json:"sender,omitempty"`
	Installation       *Installation `json:"installation,omitempty"`
}

PullRequestEvent is triggered when a pull request is assigned, unassigned, labeled, unlabeled, opened, closed, reopened, or synchronized. The Webhook event name is "pull_request".

GitHub API docs: https://developer.github.com/v3/activity/events/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) 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) GetNumber ¶

func (p *PullRequestEvent) GetNumber() int

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

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) 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. 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 // Extra detail to append to 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
}

PullRequestOptions lets you define how a pull request will be merged.

type PullRequestReview ¶

type PullRequestReview struct {
	ID             *int64     `json:"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"`
}

PullRequestReview represents a review of a pull request.

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) 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://developer.github.com/v3/activity/events/types/#pullrequestreviewcommentevent

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://developer.github.com/v3/activity/events/types/#pullrequestreviewevent

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 {
	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) String ¶

func (r PullRequestReviewRequest) String() string

type PullRequestReviewsEnforcement ¶

type PullRequestReviewsEnforcement struct {
	// Specifies which users and teams can dismiss pull request reviews.
	DismissalRestrictions DismissalRestrictions `json:"dismissal_restrictions"`
	// 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"`
}

PullRequestReviewsEnforcement represents the pull request reviews enforcement of a protected branch.

type PullRequestReviewsEnforcementRequest ¶

type PullRequestReviewsEnforcementRequest struct {
	// Specifies which users and teams should be allowed to dismiss pull request reviews. Can be nil to disable the restrictions.
	DismissalRestrictionsRequest *DismissalRestrictionsRequest `json:"dismissal_restrictions"`
	// 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"`
}

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) GetDismissalRestrictionsRequest ¶

func (p *PullRequestReviewsEnforcementRequest) GetDismissalRestrictionsRequest() *DismissalRestrictionsRequest

GetDismissalRestrictionsRequest returns the DismissalRestrictionsRequest field.

func (PullRequestReviewsEnforcementRequest) MarshalJSON ¶

func (req PullRequestReviewsEnforcementRequest) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. Converts nil value of PullRequestReviewsEnforcementRequest.DismissalRestrictionsRequest to empty array

type PullRequestReviewsEnforcementUpdate ¶

type PullRequestReviewsEnforcementUpdate struct {
	// Specifies which users and teams can dismiss pull request reviews. Can be omitted.
	DismissalRestrictionsRequest *DismissalRestrictionsRequest `json:"dismissal_restrictions,omitempty"`
	// Specifies if approved reviews can be dismissed automatically, when a new commit is pushed. Can be omitted.
	DismissStaleReviews *bool `json:"dismiss_stale_reviews,omitempty"`
	// RequireCodeOwnerReviews specifies if an approved review is required in pull requests including files with a designated code owner.
	RequireCodeOwnerReviews bool `json:"require_code_owner_reviews,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) 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.

type PullRequestsService ¶

type PullRequestsService service

PullRequestsService handles communication with the pull request related methods of the GitHub API.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/pulls/#create-a-pull-request

func (*PullRequestsService) CreateComment ¶

func (s *PullRequestsService) CreateComment(ctx context.Context, owner string, repo string, number int, comment *PullRequestComment) (*PullRequestComment, *Response, error)

CreateComment creates a new comment on the specified pull request.

GitHub API docs: https://developer.github.com/v3/pulls/comments/#create-a-comment

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.

TODO: Follow up with GitHub support about an issue with this method's returned error format and remove this comment once it's fixed. Read more about it here - https://github.com/google/go-github/issues/540

GitHub API docs: https://developer.github.com/v3/pulls/reviews/#create-a-pull-request-review

func (*PullRequestsService) DeleteComment ¶

func (s *PullRequestsService) DeleteComment(ctx context.Context, owner string, repo string, number int) (*Response, error)

DeleteComment deletes a pull request comment.

GitHub API docs: https://developer.github.com/v3/pulls/comments/#delete-a-comment

func (*PullRequestsService) DeletePendingReview ¶

func (s *PullRequestsService) DeletePendingReview(ctx context.Context, owner, repo string, number, reviewID int64) (*PullRequestReview, *Response, error)

DeletePendingReview deletes the specified pull request pending review.

TODO: Follow up with GitHub support about an issue with this method's returned error format and remove this comment once it's fixed. Read more about it here - https://github.com/google/go-github/issues/540

GitHub API docs: https://developer.github.com/v3/pulls/reviews/#delete-a-pending-review

func (*PullRequestsService) DismissReview ¶

func (s *PullRequestsService) DismissReview(ctx context.Context, owner, repo string, number, reviewID int64, review *PullRequestReviewDismissalRequest) (*PullRequestReview, *Response, error)

DismissReview dismisses a specified review on the specified pull request.

TODO: Follow up with GitHub support about an issue with this method's returned error format and remove this comment once it's fixed. Read more about it here - https://github.com/google/go-github/issues/540

GitHub API docs: https://developer.github.com/v3/pulls/reviews/#dismiss-a-pull-request-review

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://developer.github.com/v3/pulls/#update-a-pull-request

func (*PullRequestsService) EditComment ¶

func (s *PullRequestsService) EditComment(ctx context.Context, owner string, repo string, number int, comment *PullRequestComment) (*PullRequestComment, *Response, error)

EditComment updates a pull request comment.

GitHub API docs: https://developer.github.com/v3/pulls/comments/#edit-a-comment

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://developer.github.com/v3/pulls/#get-a-single-pull-request

func (*PullRequestsService) GetComment ¶

func (s *PullRequestsService) GetComment(ctx context.Context, owner string, repo string, number int) (*PullRequestComment, *Response, error)

GetComment fetches the specified pull request comment.

GitHub API docs: https://developer.github.com/v3/pulls/comments/#get-a-single-comment

func (*PullRequestsService) GetRaw ¶

func (s *PullRequestsService) GetRaw(ctx context.Context, owner string, repo string, number int, opt RawOptions) (string, *Response, error)

GetRaw gets a single pull request in raw (diff or patch) format.

func (*PullRequestsService) GetReview ¶

func (s *PullRequestsService) GetReview(ctx context.Context, owner, repo string, number, reviewID int64) (*PullRequestReview, *Response, error)

GetReview fetches the specified pull request review.

TODO: Follow up with GitHub support about an issue with this method's returned error format and remove this comment once it's fixed. Read more about it here - https://github.com/google/go-github/issues/540

GitHub API docs: https://developer.github.com/v3/pulls/reviews/#get-a-single-review

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://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged

func (*PullRequestsService) List ¶

List the pull requests for the specified repository.

GitHub API docs: https://developer.github.com/v3/pulls/#list-pull-requests

func (*PullRequestsService) ListComments ¶

func (s *PullRequestsService) ListComments(ctx context.Context, owner string, repo string, number int, opt *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://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request

func (*PullRequestsService) ListCommits ¶

func (s *PullRequestsService) ListCommits(ctx context.Context, owner string, repo string, number int, opt *ListOptions) ([]*RepositoryCommit, *Response, error)

ListCommits lists the commits in a pull request.

GitHub API docs: https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request

func (*PullRequestsService) ListFiles ¶

func (s *PullRequestsService) ListFiles(ctx context.Context, owner string, repo string, number int, opt *ListOptions) ([]*CommitFile, *Response, error)

ListFiles lists the files in a pull request.

GitHub API docs: https://developer.github.com/v3/pulls/#list-pull-requests-files

func (*PullRequestsService) ListReviewComments ¶

func (s *PullRequestsService) ListReviewComments(ctx context.Context, owner, repo string, number, reviewID int64, opt *ListOptions) ([]*PullRequestComment, *Response, error)

ListReviewComments lists all the comments for the specified review.

TODO: Follow up with GitHub support about an issue with this method's returned error format and remove this comment once it's fixed. Read more about it here - https://github.com/google/go-github/issues/540

GitHub API docs: https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review

func (*PullRequestsService) ListReviewers ¶

func (s *PullRequestsService) ListReviewers(ctx context.Context, owner, repo string, number int, opt *ListOptions) (*Reviewers, *Response, error)

ListReviewers lists reviewers whose reviews have been requested on the specified pull request.

GitHub API docs: https://developer.github.com/v3/pulls/review_requests/#list-review-requests

func (*PullRequestsService) ListReviews ¶

func (s *PullRequestsService) ListReviews(ctx context.Context, owner, repo string, number int, opt *ListOptions) ([]*PullRequestReview, *Response, error)

ListReviews lists all reviews on the specified pull request.

TODO: Follow up with GitHub support about an issue with this method's returned error format and remove this comment once it's fixed. Read more about it here - https://github.com/google/go-github/issues/540

GitHub API docs: https://developer.github.com/v3/pulls/reviews/#list-reviews-on-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 (Merge Buttonâ„¢). commitMessage is the title for the automatic commit message.

GitHub API docs: https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-buttontrade

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://developer.github.com/v3/pulls/review_requests/#delete-a-review-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://developer.github.com/v3/pulls/review_requests/#create-a-review-request

func (*PullRequestsService) SubmitReview ¶

func (s *PullRequestsService) SubmitReview(ctx context.Context, owner, repo string, number, reviewID int64, review *PullRequestReviewRequest) (*PullRequestReview, *Response, error)

SubmitReview submits a specified review on the specified pull request.

TODO: Follow up with GitHub support about an issue with this method's returned error format and remove this comment once it's fixed. Read more about it here - https://github.com/google/go-github/issues/540

GitHub API docs: https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review

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      []PushEventCommit `json:"commits,omitempty"`
	Before       *string           `json:"before,omitempty"`
	DistinctSize *int              `json:"distinct_size,omitempty"`

	// The following fields are only populated by Webhook events.
	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   *PushEventCommit     `json:"head_commit,omitempty"`
	Pusher       *User                `json:"pusher,omitempty"`
	Sender       *User                `json:"sender,omitempty"`
	Installation *Installation        `json:"installation,omitempty"`
}

PushEvent represents a git push to a GitHub repository.

GitHub API docs: https://developer.github.com/v3/activity/events/types/#pushevent

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

GetHeadCommit returns the HeadCommit field.

func (*PushEvent) GetInstallation ¶

func (p *PushEvent) GetInstallation() *Installation

GetInstallation returns the Installation 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 PushEventCommit ¶

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

PushEventCommit represents a git commit in a GitHub PushEvent.

func (*PushEventCommit) GetAuthor ¶

func (p *PushEventCommit) GetAuthor() *CommitAuthor

GetAuthor returns the Author field.

func (*PushEventCommit) GetCommitter ¶

func (p *PushEventCommit) GetCommitter() *CommitAuthor

GetCommitter returns the Committer field.

func (*PushEventCommit) GetDistinct ¶

func (p *PushEventCommit) GetDistinct() bool

GetDistinct returns the Distinct field if it's non-nil, zero value otherwise.

func (*PushEventCommit) GetID ¶

func (p *PushEventCommit) GetID() string

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

func (*PushEventCommit) GetMessage ¶

func (p *PushEventCommit) GetMessage() string

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

func (*PushEventCommit) GetSHA ¶

func (p *PushEventCommit) GetSHA() string

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

func (*PushEventCommit) GetTimestamp ¶

func (p *PushEventCommit) GetTimestamp() Timestamp

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

func (*PushEventCommit) GetTreeID ¶

func (p *PushEventCommit) GetTreeID() string

GetTreeID returns the TreeID field if it's non-nil, zero value otherwise.

func (*PushEventCommit) GetURL ¶

func (p *PushEventCommit) GetURL() string

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

func (PushEventCommit) String ¶

func (p PushEventCommit) 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"`
	Name            *string             `json:"name,omitempty"`
	FullName        *string             `json:"full_name,omitempty"`
	Owner           *PushEventRepoOwner `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"`
	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"`
	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) 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) 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) 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() *PushEventRepoOwner

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) 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, and error message starts with "API rate limit exceeded for ".

func (*RateLimitError) Error ¶

func (r *RateLimitError) Error() string

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://developer.github.com/v3/#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://developer.github.com/v3/search/#rate-limit
	Search *Rate `json:"search"`
}

RateLimits represents the rate limits for the current client.

func (*RateLimits) GetCore ¶

func (r *RateLimits) GetCore() *Rate

GetCore returns the Core field.

func (*RateLimits) GetSearch ¶

func (r *RateLimits) GetSearch() *Rate

GetSearch returns the Search 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"`
	// Content is the type of reaction.
	// Possible values are:
	//     "+1", "-1", "laugh", "confused", "heart", "hooray".
	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) 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"`
	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) 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) 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://developer.github.com/v3/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.

GitHub API docs: https://developer.github.com/v3/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.

GitHub API docs: https://developer.github.com/v3/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.

GitHub API docs: https://developer.github.com/v3/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.

GitHub API docs: https://developer.github.com/v3/reactions/#create-reaction-for-an-issue-comment

func (*ReactionsService) DeleteReaction ¶

func (s *ReactionsService) DeleteReaction(ctx context.Context, id int64) (*Response, error)

DeleteReaction deletes a reaction.

GitHub API docs: https://developer.github.com/v3/reaction/reactions/#delete-a-reaction-archive

func (*ReactionsService) ListCommentReactions ¶

func (s *ReactionsService) ListCommentReactions(ctx context.Context, owner, repo string, id int64, opt *ListOptions) ([]*Reaction, *Response, error)

ListCommentReactions lists the reactions for a commit comment.

GitHub API docs: https://developer.github.com/v3/reactions/#list-reactions-for-a-commit-comment

func (*ReactionsService) ListIssueCommentReactions ¶

func (s *ReactionsService) ListIssueCommentReactions(ctx context.Context, owner, repo string, id int64, opt *ListOptions) ([]*Reaction, *Response, error)

ListIssueCommentReactions lists the reactions for an issue comment.

GitHub API docs: https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment

func (*ReactionsService) ListIssueReactions ¶

func (s *ReactionsService) ListIssueReactions(ctx context.Context, owner, repo string, number int, opt *ListOptions) ([]*Reaction, *Response, error)

ListIssueReactions lists the reactions for an issue.

GitHub API docs: https://developer.github.com/v3/reactions/#list-reactions-for-an-issue

func (*ReactionsService) ListPullRequestCommentReactions ¶

func (s *ReactionsService) ListPullRequestCommentReactions(ctx context.Context, owner, repo string, id int64, opt *ListOptions) ([]*Reaction, *Response, error)

ListPullRequestCommentReactions lists the reactions for a pull request review comment.

GitHub API docs: https://developer.github.com/v3/reactions/#list-reactions-for-an-issue-comment

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 {
	Type string `url:"-"`

	ListOptions
}

ReferenceListOptions specifies optional parameters to the GitService.ListRefs method.

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

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) 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 value is: "published".
	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. The Webhook event name is "release".

GitHub API docs: https://developer.github.com/v3/activity/events/types/#releaseevent

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

	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) 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) 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://developer.github.com/v3/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://developer.github.com/v3/repos/branches/#add-admin-enforcement-of-protected-branch

func (*RepositoriesService) AddCollaborator ¶

func (s *RepositoriesService) AddCollaborator(ctx context.Context, owner, repo, user string, opt *RepositoryAddCollaboratorOptions) (*Response, error)

AddCollaborator sends an invitation to the specified GitHub user to become a collaborator to the given repo.

GitHub API docs: https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator

func (*RepositoriesService) CompareCommits ¶

func (s *RepositoriesService) CompareCommits(ctx context.Context, owner, repo string, base, head string) (*CommitsComparison, *Response, error)

CompareCommits compares a range of commits with each other. todo: support media formats - https://github.com/google/go-github/issues/6

GitHub API docs: https://developer.github.com/v3/repos/commits/index.html#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.

GitHub API docs: https://developer.github.com/v3/repos/#create

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://developer.github.com/v3/repos/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://developer.github.com/v3/repos/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://developer.github.com/v3/repos/deployments/#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://developer.github.com/v3/repos/contents/#create-a-file

func (*RepositoriesService) CreateFork ¶

func (s *RepositoriesService) CreateFork(ctx context.Context, owner, repo string, opt *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. A follow up request, after a delay of a second or so, should result in a successful request.

GitHub API docs: https://developer.github.com/v3/repos/forks/#create-a-fork

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. Name and Config are required fields.

GitHub API docs: https://developer.github.com/v3/repos/hooks/#create-a-hook

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://developer.github.com/v3/repos/keys/#create

func (*RepositoriesService) CreateProject ¶

func (s *RepositoriesService) CreateProject(ctx context.Context, owner, repo string, opt *ProjectOptions) (*Project, *Response, error)

CreateProject creates a GitHub Project for the specified repository.

GitHub API docs: https://developer.github.com/v3/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.

GitHub API docs: https://developer.github.com/v3/repos/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://developer.github.com/v3/repos/statuses/#create-a-status

func (*RepositoriesService) Delete ¶

func (s *RepositoriesService) Delete(ctx context.Context, owner, repo string) (*Response, error)

Delete a repository.

GitHub API docs: https://developer.github.com/v3/repos/#delete-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://developer.github.com/v3/repos/comments/#delete-a-commit-comment

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://developer.github.com/v3/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://developer.github.com/v3/repos/hooks/#delete-a-hook

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://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation

func (*RepositoriesService) DeleteKey ¶

func (s *RepositoriesService) DeleteKey(ctx context.Context, owner string, repo string, id int) (*Response, error)

DeleteKey deletes a deploy key.

GitHub API docs: https://developer.github.com/v3/repos/keys/#delete

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://developer.github.com/v3/repos/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://developer.github.com/v3/repos/releases/#delete-a-release-asset

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://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch

func (*RepositoriesService) DownloadContents ¶

func (s *RepositoriesService) DownloadContents(ctx context.Context, owner, repo, filepath string, opt *RepositoryContentGetOptions) (io.ReadCloser, 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.

func (*RepositoriesService) DownloadReleaseAsset ¶

func (s *RepositoriesService) DownloadReleaseAsset(ctx context.Context, owner, repo string, id int64) (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.

GitHub API docs: https://developer.github.com/v3/repos/releases/#get-a-single-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://developer.github.com/v3/repos/#edit

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://developer.github.com/v3/repos/hooks/#edit-a-hook

func (*RepositoriesService) EditKey ¶

func (s *RepositoriesService) EditKey(ctx context.Context, owner string, repo string, id int, key *Key) (*Key, *Response, error)

EditKey edits a deploy key.

GitHub API docs: https://developer.github.com/v3/repos/keys/#edit

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.

GitHub API docs: https://developer.github.com/v3/repos/releases/#edit-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://developer.github.com/v3/repos/releases/#edit-a-release-asset

func (*RepositoriesService) Get ¶

func (s *RepositoriesService) Get(ctx context.Context, owner, repo string) (*Repository, *Response, error)

Get fetches a repository.

GitHub API docs: https://developer.github.com/v3/repos/#get

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://developer.github.com/v3/repos/branches/#get-admin-enforcement-of-protected-branch

func (s *RepositoriesService) GetArchiveLink(ctx context.Context, owner, repo string, archiveformat archiveFormat, opt *RepositoryContentGetOptions) (*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://developer.github.com/v3/repos/contents/#get-archive-link

func (*RepositoriesService) GetBranch ¶

func (s *RepositoriesService) GetBranch(ctx context.Context, owner, repo, branch string) (*Branch, *Response, error)

GetBranch gets the specified branch for a repository.

GitHub API docs: https://developer.github.com/v3/repos/#get-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://developer.github.com/v3/repos/branches/#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.

GitHub API docs: https://developer.github.com/v3/codes_of_conduct/#get-the-contents-of-a-repositorys-code-of-conduct

func (*RepositoriesService) GetCombinedStatus ¶

func (s *RepositoriesService) GetCombinedStatus(ctx context.Context, owner, repo, ref string, opt *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://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref

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://developer.github.com/v3/repos/comments/#get-a-single-commit-comment

func (*RepositoriesService) GetCommit ¶

func (s *RepositoriesService) GetCommit(ctx context.Context, owner, repo, sha string) (*RepositoryCommit, *Response, error)

GetCommit fetches the specified commit, including all details about it.

GitHub API docs: https://developer.github.com/v3/repos/commits/#get-a-single-commit See also: https://developer.github.com/v3/git/commits/#get-a-single-commit provides the same functionality

func (*RepositoriesService) GetCommitRaw ¶

func (s *RepositoriesService) GetCommitRaw(ctx context.Context, owner string, repo string, sha string, opt RawOptions) (string, *Response, error)

GetCommitRaw fetches the specified commit in raw (diff or patch) format.

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://developer.github.com/v3/repos/commits/#get-the-sha-1-of-a-commit-reference

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://developer.github.com/v3/repos/community/#retrieve-community-health-metrics

func (*RepositoriesService) GetContents ¶

func (s *RepositoriesService) GetContents(ctx context.Context, owner, repo, path string, opt *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://developer.github.com/v3/repos/contents/#get-contents

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://developer.github.com/v3/repos/deployments/#get-a-single-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://developer.github.com/v3/repos/deployments/#get-a-single-deployment-status

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://developer.github.com/v3/repos/hooks/#get-single-hook

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://developer.github.com/v3/repos/keys/#get

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://developer.github.com/v3/repos/pages/#list-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://developer.github.com/v3/repos/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://developer.github.com/v3/repos/pages/#list-a-specific-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://developer.github.com/v3/repos/pages/#get-information-about-a-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://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level

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://developer.github.com/v3/repos/branches/#get-pull-request-review-enforcement-of-protected-branch

func (*RepositoriesService) GetReadme ¶

GetReadme gets the Readme file for the repository.

GitHub API docs: https://developer.github.com/v3/repos/contents/#get-the-readme

Example ¶
package main

import (
	"context"
	"fmt"

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

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

	readme, _, err := client.Repositories.GetReadme(context.Background(), "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)
}

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://developer.github.com/v3/repos/releases/#get-a-single-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://developer.github.com/v3/repos/releases/#get-a-single-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://developer.github.com/v3/repos/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://developer.github.com/v3/repos/branches/#get-required-status-checks-of-protected-branch

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://developer.github.com/v3/repos/collaborators/#get

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://developer.github.com/v3/licenses/#get-the-contents-of-a-repositorys-license

func (*RepositoriesService) List ¶

List the repositories for a user. Passing the empty string will list repositories for the authenticated user.

GitHub API docs: https://developer.github.com/v3/repos/#list-user-repositories

Example ¶
package main

import (
	"context"
	"fmt"

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

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

	user := "willnorris"
	opt := &github.RepositoryListOptions{Type: "owner", Sort: "updated", Direction: "desc"}

	repos, _, err := client.Repositories.List(context.Background(), user, opt)
	if err != nil {
		fmt.Println(err)
	}

	fmt.Printf("Recently updated repositories by %q: %v", user, github.Stringify(repos))
}

func (*RepositoriesService) ListAll ¶

ListAll lists all GitHub repositories in the order that they were created.

GitHub API docs: https://developer.github.com/v3/repos/#list-all-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://developer.github.com/v3/repos/#list-all-topics-for-a-repository

func (*RepositoriesService) ListBranches ¶

func (s *RepositoriesService) ListBranches(ctx context.Context, owner string, repo string, opt *ListOptions) ([]*Branch, *Response, error)

ListBranches lists branches for the specified repository.

GitHub API docs: https://developer.github.com/v3/repos/#list-branches

func (*RepositoriesService) ListByOrg ¶

ListByOrg lists the repositories for an organization.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/repos/statistics/#code-frequency

func (*RepositoriesService) ListCollaborators ¶

func (s *RepositoriesService) ListCollaborators(ctx context.Context, owner, repo string, opt *ListCollaboratorsOptions) ([]*User, *Response, error)

ListCollaborators lists the GitHub users that have access to the repository.

GitHub API docs: https://developer.github.com/v3/repos/collaborators/#list-collaborators

func (*RepositoriesService) ListComments ¶

func (s *RepositoriesService) ListComments(ctx context.Context, owner, repo string, opt *ListOptions) ([]*RepositoryComment, *Response, error)

ListComments lists all the comments for the repository.

GitHub API docs: https://developer.github.com/v3/repos/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://developer.github.com/v3/repos/statistics/#commit-activity

func (*RepositoriesService) ListCommitComments ¶

func (s *RepositoriesService) ListCommitComments(ctx context.Context, owner, repo, sha string, opt *ListOptions) ([]*RepositoryComment, *Response, error)

ListCommitComments lists all the comments for a given commit SHA.

GitHub API docs: https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit

func (*RepositoriesService) ListCommits ¶

func (s *RepositoriesService) ListCommits(ctx context.Context, owner, repo string, opt *CommitsListOptions) ([]*RepositoryCommit, *Response, error)

ListCommits lists the commits of a repository.

GitHub API docs: https://developer.github.com/v3/repos/commits/#list

func (*RepositoriesService) ListContributors ¶

func (s *RepositoriesService) ListContributors(ctx context.Context, owner string, repository string, opt *ListContributorsOptions) ([]*Contributor, *Response, error)

ListContributors lists contributors for a repository.

GitHub API docs: https://developer.github.com/v3/repos/#list-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://developer.github.com/v3/repos/statistics/#contributors

func (*RepositoriesService) ListDeploymentStatuses ¶

func (s *RepositoriesService) ListDeploymentStatuses(ctx context.Context, owner, repo string, deployment int64, opt *ListOptions) ([]*DeploymentStatus, *Response, error)

ListDeploymentStatuses lists the statuses of a given deployment of a repository.

GitHub API docs: https://developer.github.com/v3/repos/deployments/#list-deployment-statuses

func (*RepositoriesService) ListDeployments ¶

func (s *RepositoriesService) ListDeployments(ctx context.Context, owner, repo string, opt *DeploymentsListOptions) ([]*Deployment, *Response, error)

ListDeployments lists the deployments of a repository.

GitHub API docs: https://developer.github.com/v3/repos/deployments/#list-deployments

func (*RepositoriesService) ListForks ¶

func (s *RepositoriesService) ListForks(ctx context.Context, owner, repo string, opt *RepositoryListForksOptions) ([]*Repository, *Response, error)

ListForks lists the forks of the specified repository.

GitHub API docs: https://developer.github.com/v3/repos/forks/#list-forks

func (*RepositoriesService) ListHooks ¶

func (s *RepositoriesService) ListHooks(ctx context.Context, owner, repo string, opt *ListOptions) ([]*Hook, *Response, error)

ListHooks lists all Hooks for the specified repository.

GitHub API docs: https://developer.github.com/v3/repos/hooks/#list

func (*RepositoriesService) ListInvitations ¶

func (s *RepositoriesService) ListInvitations(ctx context.Context, owner, repo string, opt *ListOptions) ([]*RepositoryInvitation, *Response, error)

ListInvitations lists all currently-open repository invitations.

GitHub API docs: https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository

func (*RepositoriesService) ListKeys ¶

func (s *RepositoriesService) ListKeys(ctx context.Context, owner string, repo string, opt *ListOptions) ([]*Key, *Response, error)

ListKeys lists the deploy keys for a repository.

GitHub API docs: https://developer.github.com/v3/repos/keys/#list

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://developer.github.com/v3/repos/#list-languages

func (*RepositoriesService) ListPagesBuilds ¶

func (s *RepositoriesService) ListPagesBuilds(ctx context.Context, owner, repo string, opt *ListOptions) ([]*PagesBuild, *Response, error)

ListPagesBuilds lists the builds for a GitHub Pages site.

GitHub API docs: https://developer.github.com/v3/repos/pages/#list-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://developer.github.com/v3/repos/statistics/#participation

func (*RepositoriesService) ListProjects ¶

func (s *RepositoriesService) ListProjects(ctx context.Context, owner, repo string, opt *ProjectListOptions) ([]*Project, *Response, error)

ListProjects lists the projects for a repo.

GitHub API docs: https://developer.github.com/v3/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://developer.github.com/v3/repos/statistics/#punch-card

func (*RepositoriesService) ListReleaseAssets ¶

func (s *RepositoriesService) ListReleaseAssets(ctx context.Context, owner, repo string, id int64, opt *ListOptions) ([]*ReleaseAsset, *Response, error)

ListReleaseAssets lists the release's assets.

GitHub API docs: https://developer.github.com/v3/repos/releases/#list-assets-for-a-release

func (*RepositoriesService) ListReleases ¶

func (s *RepositoriesService) ListReleases(ctx context.Context, owner, repo string, opt *ListOptions) ([]*RepositoryRelease, *Response, error)

ListReleases lists the releases for a repository.

GitHub API docs: https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository

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://developer.github.com/v3/repos/branches/#list-required-status-checks-contexts-of-protected-branch

func (*RepositoriesService) ListStatuses ¶

func (s *RepositoriesService) ListStatuses(ctx context.Context, owner, repo, ref string, opt *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://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref

func (*RepositoriesService) ListTags ¶

func (s *RepositoriesService) ListTags(ctx context.Context, owner string, repo string, opt *ListOptions) ([]*RepositoryTag, *Response, error)

ListTags lists tags for the specified repository.

GitHub API docs: https://developer.github.com/v3/repos/#list-tags

func (*RepositoriesService) ListTeams ¶

func (s *RepositoriesService) ListTeams(ctx context.Context, owner string, repo string, opt *ListOptions) ([]*Team, *Response, error)

ListTeams lists the teams for the specified repository.

GitHub API docs: https://developer.github.com/v3/repos/#list-teams

func (*RepositoriesService) ListTrafficClones ¶

func (s *RepositoriesService) ListTrafficClones(ctx context.Context, owner, repo string, opt *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://developer.github.com/v3/repos/traffic/#views

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://developer.github.com/v3/repos/traffic/#list-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://developer.github.com/v3/repos/traffic/#list-referrers

func (*RepositoriesService) ListTrafficViews ¶

func (s *RepositoriesService) ListTrafficViews(ctx context.Context, owner, repo string, opt *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://developer.github.com/v3/repos/traffic/#views

func (*RepositoriesService) Merge ¶

Merge a branch in the specified repository.

GitHub API docs: https://developer.github.com/v3/repos/merging/#perform-a-merge

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://developer.github.com/v3/repos/hooks/#ping-a-hook

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://developer.github.com/v3/repos/branches/#remove-admin-enforcement-of-protected-branch

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://developer.github.com/v3/repos/branches/#remove-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://developer.github.com/v3/repos/collaborators/#remove-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://developer.github.com/v3/repos/branches/#remove-pull-request-review-enforcement-of-protected-branch

func (*RepositoriesService) ReplaceAllTopics ¶

func (s *RepositoriesService) ReplaceAllTopics(ctx context.Context, owner, repo string, topics []string) ([]string, *Response, error)

ReplaceAllTopics replaces topics for a repository.

GitHub API docs: https://developer.github.com/v3/repos/#replace-all-topics-for-a-repository

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://developer.github.com/v3/repos/pages/#request-a-page-build

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://developer.github.com/v3/repos/hooks/#test-a-push-hook

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://developer.github.com/v3/repos/#transfer-a-repository

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://developer.github.com/v3/repos/branches/#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://developer.github.com/v3/repos/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://developer.github.com/v3/repos/contents/#update-a-file

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://developer.github.com/v3/repos/invitations/#update-a-repository-invitation

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://developer.github.com/v3/repos/branches/#update-pull-request-review-enforcement-of-protected-branch

func (*RepositoriesService) UploadReleaseAsset ¶

func (s *RepositoriesService) UploadReleaseAsset(ctx context.Context, owner, repo string, id int64, opt *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://developer.github.com/v3/repos/releases/#upload-a-release-asset

type Repository ¶

type Repository struct {
	ID               *int64           `json:"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"`
	StargazersCount  *int             `json:"stargazers_count,omitempty"`
	SubscribersCount *int             `json:"subscribers_count,omitempty"`
	WatchersCount    *int             `json:"watchers_count,omitempty"`
	Size             *int             `json:"size,omitempty"`
	AutoInit         *bool            `json:"auto_init,omitempty"`
	Parent           *Repository      `json:"parent,omitempty"`
	Source           *Repository      `json:"source,omitempty"`
	Organization     *Organization    `json:"organization,omitempty"`
	Permissions      *map[string]bool `json:"permissions,omitempty"`
	AllowRebaseMerge *bool            `json:"allow_rebase_merge,omitempty"`
	AllowSquashMerge *bool            `json:"allow_squash_merge,omitempty"`
	AllowMergeCommit *bool            `json:"allow_merge_commit,omitempty"`
	Topics           []string         `json:"topics,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"`
	LicenseTemplate   *string `json:"license_template,omitempty"`
	GitignoreTemplate *string `json:"gitignore_template,omitempty"`
	Archived          *bool   `json:"archived,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://developer.github.com/v3/search/#text-match-metadata
	TextMatches []TextMatch `json:"text_matches,omitempty"`
}

Repository represents a GitHub repository.

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) 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) 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) 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) 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) 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) 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) GetNotificationsURL ¶

func (r *Repository) GetNotificationsURL() string

GetNotificationsURL returns the NotificationsURL 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 field if it's non-nil, zero value 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) 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) 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) 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) 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) 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 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
	//
	// 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"`
	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) 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 {
	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) 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"`
	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) 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,omitempty"` // 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 `url:"organization,omitempty"`
}

RepositoryCreateForkOptions specifies the optional parameters to the RepositoriesService.CreateFork method.

type RepositoryEvent ¶

type RepositoryEvent struct {
	// Action is the action that was performed. Possible values are: "created", "deleted",
	// "publicized", "privatized".
	Action *string     `json:"action,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"`
}

RepositoryEvent is triggered when a repository is created. 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://developer.github.com/v3/activity/events/types/#repositoryevent

func (*RepositoryEvent) GetAction ¶

func (r *RepositoryEvent) GetAction() string

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

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

	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 {
	ID              *int64         `json:"id,omitempty"`
	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"`
	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"`
}

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) GetDraft ¶

func (r *RepositoryRelease) GetDraft() bool

GetDraft returns the Draft 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) GetName ¶

func (r *RepositoryRelease) GetName() string

GetName returns the Name 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 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 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. (Required; use []string{} instead of nil for empty list.)
	Contexts []string `json:"contexts"`
}

RequiredStatusChecks represents the protection status of a individual branch.

type Response ¶

type Response struct {
	*http.Response

	NextPage  int
	PrevPage  int
	FirstPage int
	LastPage  int

	Rate
}

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 {
	Reviewers     []string `json:"reviewers,omitempty"`
	TeamReviewers []string `json:"team_reviewers,omitempty"`
}

ReviewersRequest specifies users and teams for a pull request review request.

type Scope ¶

type Scope string

Scope models a GitHub authorization scope.

GitHub API docs: https://developer.github.com/v3/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"
)

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

GitHub API docs: https://developer.github.com/v3/search/

func (*SearchService) Code ¶

Code searches code via various criteria.

GitHub API docs: https://developer.github.com/v3/search/#search-code

func (*SearchService) Commits ¶

Commits searches commits via various criteria.

GitHub API docs: https://developer.github.com/v3/search/#search-commits

func (*SearchService) Issues ¶

Issues searches issues via various criteria.

GitHub API docs: https://developer.github.com/v3/search/#search-issues

func (*SearchService) Repositories ¶

func (s *SearchService) Repositories(ctx context.Context, query string, opt *SearchOptions) (*RepositoriesSearchResult, *Response, error)

Repositories searches repositories via various criteria.

GitHub API docs: https://developer.github.com/v3/search/#search-repositories

func (*SearchService) Users ¶

Users searches users via various criteria.

GitHub API docs: https://developer.github.com/v3/search/#search-users

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

type Source struct {
	ID    *int64  `json:"id,omitempty"`
	URL   *string `json:"url,omitempty"`
	Actor *User   `json:"actor,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) 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://developer.github.com/v3/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 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://developer.github.com/v3/activity/events/types/#statusevent

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 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 Team ¶

type Team struct {
	ID          *int64  `json:"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"`

	// 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"`
	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) 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) 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) 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://developer.github.com/v3/activity/events/types/#teamaddevent

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 TeamChange ¶

type TeamChange struct {
	Description *struct {
		From *string `json:"from,omitempty"`
	} `json:"description,omitempty"`
	Name *struct {
		From *string `json:"from,omitempty"`
	} `json:"name,omitempty"`
	Privacy *struct {
		From *string `json:"from,omitempty"`
	} `json:"privacy,omitempty"`
	Repository *struct {
		Permissions *struct {
			From *struct {
				Admin *bool `json:"admin,omitempty"`
				Pull  *bool `json:"pull,omitempty"`
				Push  *bool `json:"push,omitempty"`
			} `json:"from,omitempty"`
		} `json:"permissions,omitempty"`
	} `json:"repository,omitempty"`
}

TeamChange represents the changes when a team has been edited.

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://developer.github.com/v3/activity/events/types/#teamevent

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

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

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://developer.github.com/v3/issues/timeline/

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) 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) 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) GetMilestone ¶

func (t *Timeline) GetMilestone() *Milestone

GetMilestone returns the Milestone field.

func (*Timeline) GetRename ¶

func (t *Timeline) GetRename() *Rename

GetRename returns the Rename field.

func (*Timeline) GetSource ¶

func (t *Timeline) GetSource() *Source

GetSource returns the Source field.

func (*Timeline) GetURL ¶

func (t *Timeline) GetURL() string

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

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 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_id,omitempty"`
}

TransferRequest represents a request to transfer a repository.

type Tree ¶

type Tree struct {
	SHA     *string     `json:"sha,omitempty"`
	Entries []TreeEntry `json:"tree,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) 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) 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 append the querystring params client_id=xxx&client_secret=yyy to all requests.

See https://developer.github.com/v3/#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 UploadOptions ¶

type UploadOptions struct {
	Name string `url:"name,omitempty"`
}

UploadOptions specifies the parameters to methods that support uploads.

type User ¶

type User struct {
	Login             *string    `json:"login,omitempty"`
	ID                *int64     `json:"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"`
	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"`
	Plan              *Plan      `json:"plan,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://developer.github.com/v3/search/#text-match-metadata
	TextMatches []TextMatch `json:"text_matches,omitempty"`

	// Permissions identifies the permissions that a user has on a given
	// repository. This is only populated when calling Repositories.ListCollaborators.
	Permissions *map[string]bool `json:"permissions,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) 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) 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 field if it's non-nil, zero value 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) 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) 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 UserEmail ¶

type UserEmail struct {
	Email    *string `json:"email,omitempty"`
	Primary  *bool   `json:"primary,omitempty"`
	Verified *bool   `json:"verified,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.

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

	ListOptions
}

UserListOptions specifies optional parameters to the UsersService.ListAll method.

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 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://developer.github.com/v3/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://developer.github.com/v3/repos/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://developer.github.com/v3/users/emails/#add-email-addresses

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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/users/keys/#create-a-public-key

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://developer.github.com/v3/repos/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://developer.github.com/v3/users/emails/#delete-email-addresses

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://developer.github.com/v3/users/gpg_keys/#delete-a-gpg-key

func (*UsersService) DeleteKey ¶

func (s *UsersService) DeleteKey(ctx context.Context, id int64) (*Response, error)

DeleteKey deletes a public key.

GitHub API docs: https://developer.github.com/v3/users/keys/#delete-a-public-key

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/v3/users/administration/#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://developer.github.com/v3/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://developer.github.com/v3/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://developer.github.com/v3/users/#get-a-single-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://developer.github.com/v3/users/gpg_keys/#get-a-single-gpg-key

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://developer.github.com/v3/users/keys/#get-a-single-public-key

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://developer.github.com/v3/users/blocking/#check-whether-youve-blocked-a-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://developer.github.com/v3/users/followers/#check-if-you-are-following-a-user

func (*UsersService) ListAll ¶

func (s *UsersService) ListAll(ctx context.Context, opt *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://developer.github.com/v3/users/#get-all-users

Example ¶
package main

import (
	"context"
	"log"

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

func main() {
	client := github.NewClient(nil)
	opts := &github.UserListOptions{}
	for {
		users, _, err := client.Users.ListAll(context.Background(), 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...
	}
}

func (*UsersService) ListBlockedUsers ¶

func (s *UsersService) ListBlockedUsers(ctx context.Context, opt *ListOptions) ([]*User, *Response, error)

ListBlockedUsers lists all the blocked users by the authenticated user.

GitHub API docs: https://developer.github.com/v3/users/blocking/#list-blocked-users

func (*UsersService) ListEmails ¶

func (s *UsersService) ListEmails(ctx context.Context, opt *ListOptions) ([]*UserEmail, *Response, error)

ListEmails lists all email addresses for the authenticated user.

GitHub API docs: https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user

func (*UsersService) ListFollowers ¶

func (s *UsersService) ListFollowers(ctx context.Context, user string, opt *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://developer.github.com/v3/users/followers/#list-followers-of-a-user

func (*UsersService) ListFollowing ¶

func (s *UsersService) ListFollowing(ctx context.Context, user string, opt *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://developer.github.com/v3/users/followers/#list-users-followed-by-another-user

func (*UsersService) ListGPGKeys ¶

func (s *UsersService) ListGPGKeys(ctx context.Context, user string, opt *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://developer.github.com/v3/users/gpg_keys/#list-gpg-keys-for-a-user

func (*UsersService) ListInvitations ¶

func (s *UsersService) ListInvitations(ctx context.Context, opt *ListOptions) ([]*RepositoryInvitation, *Response, error)

ListInvitations lists all currently-open repository invitations for the authenticated user.

GitHub API docs: https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations

func (*UsersService) ListKeys ¶

func (s *UsersService) ListKeys(ctx context.Context, user string, opt *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://developer.github.com/v3/users/keys/#list-public-keys-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/v3/users/administration/#promote-an-ordinary-user-to-a-site-administrator

func (*UsersService) Suspend ¶

func (s *UsersService) Suspend(ctx context.Context, user string) (*Response, error)

Suspend a user on a GitHub Enterprise instance.

GitHub API docs: https://developer.github.com/v3/users/administration/#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://developer.github.com/v3/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://developer.github.com/v3/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/v3/users/administration/#unsuspend-a-user

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://developer.github.com/v3/activity/events/types/#watchevent

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 ¶

type WebHookAuthor struct {
	Email    *string `json:"email,omitempty"`
	Name     *string `json:"name,omitempty"`
	Username *string `json:"username,omitempty"`
}

WebHookAuthor represents the author or committer of a commit, as specified in a WebHookCommit. The commit author may not correspond to a GitHub User.

func (*WebHookAuthor) GetEmail ¶

func (w *WebHookAuthor) GetEmail() string

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

func (*WebHookAuthor) GetName ¶

func (w *WebHookAuthor) GetName() string

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

func (*WebHookAuthor) GetUsername ¶

func (w *WebHookAuthor) GetUsername() string

GetUsername returns the Username field if it's non-nil, zero value otherwise.

func (WebHookAuthor) String ¶

func (w WebHookAuthor) String() string

type WebHookCommit ¶

type WebHookCommit struct {
	Added     []string       `json:"added,omitempty"`
	Author    *WebHookAuthor `json:"author,omitempty"`
	Committer *WebHookAuthor `json:"committer,omitempty"`
	Distinct  *bool          `json:"distinct,omitempty"`
	ID        *string        `json:"id,omitempty"`
	Message   *string        `json:"message,omitempty"`
	Modified  []string       `json:"modified,omitempty"`
	Removed   []string       `json:"removed,omitempty"`
	Timestamp *time.Time     `json:"timestamp,omitempty"`
}

WebHookCommit represents the commit variant we receive from GitHub in a WebHookPayload.

func (*WebHookCommit) GetAuthor ¶

func (w *WebHookCommit) GetAuthor() *WebHookAuthor

GetAuthor returns the Author field.

func (*WebHookCommit) GetCommitter ¶

func (w *WebHookCommit) GetCommitter() *WebHookAuthor

GetCommitter returns the Committer field.

func (*WebHookCommit) GetDistinct ¶

func (w *WebHookCommit) GetDistinct() bool

GetDistinct returns the Distinct field if it's non-nil, zero value otherwise.

func (*WebHookCommit) GetID ¶

func (w *WebHookCommit) GetID() string

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

func (*WebHookCommit) GetMessage ¶

func (w *WebHookCommit) GetMessage() string

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

func (*WebHookCommit) GetTimestamp ¶

func (w *WebHookCommit) GetTimestamp() time.Time

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

func (WebHookCommit) String ¶

func (w WebHookCommit) String() string

type WebHookPayload ¶

type WebHookPayload struct {
	After      *string         `json:"after,omitempty"`
	Before     *string         `json:"before,omitempty"`
	Commits    []WebHookCommit `json:"commits,omitempty"`
	Compare    *string         `json:"compare,omitempty"`
	Created    *bool           `json:"created,omitempty"`
	Deleted    *bool           `json:"deleted,omitempty"`
	Forced     *bool           `json:"forced,omitempty"`
	HeadCommit *WebHookCommit  `json:"head_commit,omitempty"`
	Pusher     *User           `json:"pusher,omitempty"`
	Ref        *string         `json:"ref,omitempty"`
	Repo       *Repository     `json:"repository,omitempty"`
	Sender     *User           `json:"sender,omitempty"`
}

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

func (*WebHookPayload) GetAfter ¶

func (w *WebHookPayload) GetAfter() string

GetAfter returns the After field if it's non-nil, zero value otherwise.

func (*WebHookPayload) GetBefore ¶

func (w *WebHookPayload) GetBefore() string

GetBefore returns the Before field if it's non-nil, zero value otherwise.

func (*WebHookPayload) GetCompare ¶

func (w *WebHookPayload) GetCompare() string

GetCompare returns the Compare field if it's non-nil, zero value otherwise.

func (*WebHookPayload) GetCreated ¶

func (w *WebHookPayload) GetCreated() bool

GetCreated returns the Created field if it's non-nil, zero value otherwise.

func (*WebHookPayload) GetDeleted ¶

func (w *WebHookPayload) GetDeleted() bool

GetDeleted returns the Deleted field if it's non-nil, zero value otherwise.

func (*WebHookPayload) GetForced ¶

func (w *WebHookPayload) GetForced() bool

GetForced returns the Forced field if it's non-nil, zero value otherwise.

func (*WebHookPayload) GetHeadCommit ¶

func (w *WebHookPayload) GetHeadCommit() *WebHookCommit

GetHeadCommit returns the HeadCommit field.

func (*WebHookPayload) GetPusher ¶

func (w *WebHookPayload) GetPusher() *User

GetPusher returns the Pusher field.

func (*WebHookPayload) GetRef ¶

func (w *WebHookPayload) GetRef() string

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

func (*WebHookPayload) GetRepo ¶

func (w *WebHookPayload) GetRepo() *Repository

GetRepo returns the Repo field.

func (*WebHookPayload) GetSender ¶

func (w *WebHookPayload) GetSender() *User

GetSender returns the Sender field.

func (WebHookPayload) String ¶

func (w WebHookPayload) String() string

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

Jump to

Keyboard shortcuts

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