diff options
Diffstat (limited to 'vendor/github.com/google/go-github')
42 files changed, 857 insertions, 384 deletions
| diff --git a/vendor/github.com/google/go-github/github/activity_events.go b/vendor/github.com/google/go-github/github/activity_events.go index 557001e..5cdcabe 100644 --- a/vendor/github.com/google/go-github/github/activity_events.go +++ b/vendor/github.com/google/go-github/github/activity_events.go @@ -63,6 +63,8 @@ func (e *Event) Payload() (payload interface{}) {  		payload = &MembershipEvent{}  	case "MilestoneEvent":  		payload = &MilestoneEvent{} +	case "OrganizationEvent": +		payload = &OrganizationEvent{}  	case "PageBuildEvent":  		payload = &PageBuildEvent{}  	case "PingEvent": @@ -108,13 +110,13 @@ func (s *ActivityService) ListEvents(opt *ListOptions) ([]*Event, *Response, err  		return nil, nil, err  	} -	events := new([]*Event) -	resp, err := s.client.Do(req, events) +	var events []*Event +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  }  // ListRepositoryEvents lists events for a repository. @@ -132,13 +134,13 @@ func (s *ActivityService) ListRepositoryEvents(owner, repo string, opt *ListOpti  		return nil, nil, err  	} -	events := new([]*Event) -	resp, err := s.client.Do(req, events) +	var events []*Event +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  }  // ListIssueEventsForRepository lists issue events for a repository. @@ -156,13 +158,13 @@ func (s *ActivityService) ListIssueEventsForRepository(owner, repo string, opt *  		return nil, nil, err  	} -	events := new([]*IssueEvent) -	resp, err := s.client.Do(req, events) +	var events []*IssueEvent +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  }  // ListEventsForRepoNetwork lists public events for a network of repositories. @@ -180,13 +182,13 @@ func (s *ActivityService) ListEventsForRepoNetwork(owner, repo string, opt *List  		return nil, nil, err  	} -	events := new([]*Event) -	resp, err := s.client.Do(req, events) +	var events []*Event +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  }  // ListEventsForOrganization lists public events for an organization. @@ -204,13 +206,13 @@ func (s *ActivityService) ListEventsForOrganization(org string, opt *ListOptions  		return nil, nil, err  	} -	events := new([]*Event) -	resp, err := s.client.Do(req, events) +	var events []*Event +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  }  // ListEventsPerformedByUser lists the events performed by a user. If publicOnly is @@ -234,13 +236,13 @@ func (s *ActivityService) ListEventsPerformedByUser(user string, publicOnly bool  		return nil, nil, err  	} -	events := new([]*Event) -	resp, err := s.client.Do(req, events) +	var events []*Event +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  }  // ListEventsReceivedByUser lists the events received by a user. If publicOnly is @@ -264,13 +266,13 @@ func (s *ActivityService) ListEventsReceivedByUser(user string, publicOnly bool,  		return nil, nil, err  	} -	events := new([]*Event) -	resp, err := s.client.Do(req, events) +	var events []*Event +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  }  // ListUserEventsForOrganization provides the user’s organization dashboard. You @@ -289,11 +291,11 @@ func (s *ActivityService) ListUserEventsForOrganization(org, user string, opt *L  		return nil, nil, err  	} -	events := new([]*Event) -	resp, err := s.client.Do(req, events) +	var events []*Event +	resp, err := s.client.Do(req, &events)  	if err != nil {  		return nil, resp, err  	} -	return *events, resp, err +	return events, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/activity_star.go b/vendor/github.com/google/go-github/github/activity_star.go index 5df6814..edf20e8 100644 --- a/vendor/github.com/google/go-github/github/activity_star.go +++ b/vendor/github.com/google/go-github/github/activity_star.go @@ -37,13 +37,13 @@ func (s *ActivityService) ListStargazers(owner, repo string, opt *ListOptions) (  	// TODO: remove custom Accept header when this API fully launches  	req.Header.Set("Accept", mediaTypeStarringPreview) -	stargazers := new([]*Stargazer) -	resp, err := s.client.Do(req, stargazers) +	var stargazers []*Stargazer +	resp, err := s.client.Do(req, &stargazers)  	if err != nil {  		return nil, resp, err  	} -	return *stargazers, resp, err +	return stargazers, resp, nil  }  // ActivityListStarredOptions specifies the optional parameters to the @@ -84,13 +84,13 @@ func (s *ActivityService) ListStarred(user string, opt *ActivityListStarredOptio  	// TODO: remove custom Accept header when this API fully launches  	req.Header.Set("Accept", mediaTypeStarringPreview) -	repos := new([]*StarredRepository) -	resp, err := s.client.Do(req, repos) +	var repos []*StarredRepository +	resp, err := s.client.Do(req, &repos)  	if err != nil {  		return nil, resp, err  	} -	return *repos, resp, err +	return repos, resp, nil  }  // IsStarred checks if a repository is starred by authenticated user. diff --git a/vendor/github.com/google/go-github/github/activity_watching.go b/vendor/github.com/google/go-github/github/activity_watching.go index 9a27541..ac77657 100644 --- a/vendor/github.com/google/go-github/github/activity_watching.go +++ b/vendor/github.com/google/go-github/github/activity_watching.go @@ -37,13 +37,13 @@ func (s *ActivityService) ListWatchers(owner, repo string, opt *ListOptions) ([]  		return nil, nil, err  	} -	watchers := new([]*User) -	resp, err := s.client.Do(req, watchers) +	var watchers []*User +	resp, err := s.client.Do(req, &watchers)  	if err != nil {  		return nil, resp, err  	} -	return *watchers, resp, err +	return watchers, resp, nil  }  // ListWatched lists the repositories the specified user is watching.  Passing @@ -67,13 +67,13 @@ func (s *ActivityService) ListWatched(user string, opt *ListOptions) ([]*Reposit  		return nil, nil, err  	} -	watched := new([]*Repository) -	resp, err := s.client.Do(req, watched) +	var watched []*Repository +	resp, err := s.client.Do(req, &watched)  	if err != nil {  		return nil, resp, err  	} -	return *watched, resp, err +	return watched, resp, nil  }  // GetRepositorySubscription returns the subscription for the specified diff --git a/vendor/github.com/google/go-github/github/authorizations.go b/vendor/github.com/google/go-github/github/authorizations.go index d5a5e63..9f2a1ec 100644 --- a/vendor/github.com/google/go-github/github/authorizations.go +++ b/vendor/github.com/google/go-github/github/authorizations.go @@ -146,12 +146,12 @@ func (s *AuthorizationsService) List(opt *ListOptions) ([]*Authorization, *Respo  		return nil, nil, err  	} -	auths := new([]*Authorization) -	resp, err := s.client.Do(req, auths) +	var auths []*Authorization +	resp, err := s.client.Do(req, &auths)  	if err != nil {  		return nil, resp, err  	} -	return *auths, resp, err +	return auths, resp, nil  }  // Get a single authorization. diff --git a/vendor/github.com/google/go-github/github/event_types.go b/vendor/github.com/google/go-github/github/event_types.go index a1ffa69..6dd7fe3 100644 --- a/vendor/github.com/google/go-github/github/event_types.go +++ b/vendor/github.com/google/go-github/github/event_types.go @@ -15,9 +15,10 @@ 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"` +	Action       *string       `json:"action,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // CreateEvent represents a created repository, branch, or tag. @@ -36,9 +37,10 @@ type CreateEvent struct {  	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"` +	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. @@ -54,9 +56,10 @@ type DeleteEvent struct {  	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"` +	PusherType   *string       `json:"pusher_type,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // DeploymentEvent represents a deployment. @@ -70,7 +73,8 @@ type DeploymentEvent struct {  	Repo       *Repository `json:"repository,omitempty"`  	// The following fields are only populated by Webhook events. -	Sender *User `json:"sender,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // DeploymentStatusEvent represents a deployment status. @@ -85,7 +89,8 @@ type DeploymentStatusEvent struct {  	Repo             *Repository       `json:"repository,omitempty"`  	// The following fields are only populated by Webhook events. -	Sender *User `json:"sender,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // ForkEvent is triggered when a user forks a repository. @@ -97,8 +102,9 @@ type ForkEvent struct {  	Forkee *Repository `json:"forkee,omitempty"`  	// The following fields are only populated by Webhook events. -	Repo   *Repository `json:"repository,omitempty"` -	Sender *User       `json:"sender,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // Page represents a single Wiki page. @@ -119,8 +125,9 @@ 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"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // IssueActivityEvent represents the payload delivered by Issue webhook. @@ -131,8 +138,9 @@ type IssueActivityEvent struct {  	Issue  *Issue  `json:"issue,omitempty"`  	// The following fields are only populated by Webhook events. -	Repo   *Repository `json:"repository,omitempty"` -	Sender *User       `json:"sender,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // EditChange represents the changes when an issue, pull request, or comment has @@ -154,8 +162,8 @@ type IntegrationInstallationEvent struct {  	// The action that was performed. Possible values for an "integration_installation"  	// event are: "created", "deleted".  	Action       *string       `json:"action,omitempty"` -	Installation *Installation `json:"installation,omitempty"`  	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // IntegrationInstallationRepositoriesEvent is triggered when an integration repository @@ -166,10 +174,10 @@ type IntegrationInstallationRepositoriesEvent struct {  	// The action that was performed. Possible values for an "integration_installation_repositories"  	// event are: "added", "removed".  	Action              *string       `json:"action,omitempty"` -	Installation        *Installation `json:"installation,omitempty"`  	RepositoriesAdded   []*Repository `json:"repositories_added,omitempty"`  	RepositoriesRemoved []*Repository `json:"repositories_removed,omitempty"`  	Sender              *User         `json:"sender,omitempty"` +	Installation        *Installation `json:"installation,omitempty"`  }  // IssueCommentEvent is triggered when an issue comment is created on an issue @@ -185,9 +193,10 @@ type IssueCommentEvent struct {  	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"` +	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, @@ -204,9 +213,10 @@ type IssuesEvent struct {  	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"` +	Changes      *EditChange   `json:"changes,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // LabelEvent is triggered when a repository's label is created, edited, or deleted. @@ -220,9 +230,10 @@ type LabelEvent struct {  	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"` +	Changes      *EditChange   `json:"changes,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Org          *Organization `json:"organization,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // MemberEvent is triggered when a user is added as a collaborator to a repository. @@ -235,8 +246,9 @@ type MemberEvent struct {  	Member *User   `json:"member,omitempty"`  	// The following fields are only populated by Webhook events. -	Repo   *Repository `json:"repository,omitempty"` -	Sender *User       `json:"sender,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // MembershipEvent is triggered when a user is added or removed from a team. @@ -255,8 +267,9 @@ type MembershipEvent struct {  	Team   *Team   `json:"team,omitempty"`  	// The following fields are only populated by Webhook events. -	Org    *Organization `json:"organization,omitempty"` -	Sender *User         `json:"sender,omitempty"` +	Org          *Organization `json:"organization,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // MilestoneEvent is triggered when a milestone is created, closed, opened, edited, or deleted. @@ -270,10 +283,33 @@ type MilestoneEvent struct {  	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"` +	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"` +} + +// 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 docs: https://developer.github.com/v3/activity/events/types/#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"`  }  // PageBuildEvent represents an attempted build of a GitHub Pages site, whether @@ -290,9 +326,10 @@ type PageBuildEvent struct {  	Build *PagesBuild `json:"build,omitempty"`  	// The following fields are only populated by Webhook events. -	ID     *int        `json:"id,omitempty"` -	Repo   *Repository `json:"repository,omitempty"` -	Sender *User       `json:"sender,omitempty"` +	ID           *int          `json:"id,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // PingEvent is triggered when a Webhook is added to GitHub. @@ -304,7 +341,8 @@ type PingEvent struct {  	// The ID of the webhook that triggered the ping.  	HookID *int `json:"hook_id,omitempty"`  	// The webhook configuration. -	Hook *Hook `json:"hook,omitempty"` +	Hook         *Hook         `json:"hook,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // PublicEvent is triggered when a private repository is open sourced. @@ -314,8 +352,9 @@ type PingEvent struct {  // GitHub docs: https://developer.github.com/v3/activity/events/types/#publicevent  type PublicEvent struct {  	// The following fields are only populated by Webhook events. -	Repo   *Repository `json:"repository,omitempty"` -	Sender *User       `json:"sender,omitempty"` +	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, @@ -334,9 +373,10 @@ type PullRequestEvent struct {  	PullRequest *PullRequest `json:"pull_request,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"` +	Changes      *EditChange   `json:"changes,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // PullRequestReviewEvent is triggered when a review is submitted on a pull @@ -351,8 +391,9 @@ type PullRequestReviewEvent struct {  	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"` +	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. @@ -372,34 +413,36 @@ type PullRequestReviewCommentEvent struct {  	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"` +	Changes      *EditChange   `json:"changes,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // PushEvent represents a git push to a GitHub repository.  //  // GitHub API docs: http://developer.github.com/v3/activity/events/types/#pushevent  type PushEvent struct { -	PushID       *int                 `json:"push_id,omitempty"` -	Head         *string              `json:"head,omitempty"` -	Ref          *string              `json:"ref,omitempty"` -	Size         *int                 `json:"size,omitempty"` -	Commits      []PushEventCommit    `json:"commits,omitempty"` -	Repo         *PushEventRepository `json:"repository,omitempty"` -	Before       *string              `json:"before,omitempty"` -	DistinctSize *int                 `json:"distinct_size,omitempty"` +	PushID       *int              `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"` -	HeadCommit *PushEventCommit `json:"head_commit,omitempty"` -	Pusher     *User            `json:"pusher,omitempty"` -	Sender     *User            `json:"sender,omitempty"` +	After        *string              `json:"after,omitempty"` +	Created      *bool                `json:"created,omitempty"` +	Deleted      *bool                `json:"deleted,omitempty"` +	Forced       *bool                `json:"forced,omitempty"` +	BaseRef      *string              `json:"base_ref,omitempty"` +	Compare      *string              `json:"compare,omitempty"` +	Repo         *PushEventRepository `json:"repository,omitempty"` +	HeadCommit   *PushEventCommit     `json:"head_commit,omitempty"` +	Pusher       *User                `json:"pusher,omitempty"` +	Sender       *User                `json:"sender,omitempty"` +	Installation *Installation        `json:"installation,omitempty"`  }  func (p PushEvent) String() string { @@ -430,7 +473,7 @@ func (p PushEventCommit) String() string {  	return Stringify(p)  } -// PushEventRepository represents the repo object in a PushEvent payload +// PushEventRepository represents the repo object in a PushEvent payload.  type PushEventRepository struct {  	ID              *int                `json:"id,omitempty"`  	Name            *string             `json:"name,omitempty"` @@ -456,13 +499,16 @@ type PushEventRepository struct {  	DefaultBranch   *string             `json:"default_branch,omitempty"`  	MasterBranch    *string             `json:"master_branch,omitempty"`  	Organization    *string             `json:"organization,omitempty"` - -	// The following fields are only populated by Webhook events. -	URL     *string `json:"url,omitempty"` -	HTMLURL *string `json:"html_url,omitempty"` +	URL             *string             `json:"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"`  } -// PushEventRepoOwner is a basic reporesntation of user/org in a PushEvent payload +// PushEventRepoOwner is a basic representation of user/org in a PushEvent payload.  type PushEventRepoOwner struct {  	Name  *string `json:"name,omitempty"`  	Email *string `json:"email,omitempty"` @@ -478,8 +524,9 @@ type ReleaseEvent struct {  	Release *RepositoryRelease `json:"release,omitempty"`  	// The following fields are only populated by Webhook events. -	Repo   *Repository `json:"repository,omitempty"` -	Sender *User       `json:"sender,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // RepositoryEvent is triggered when a repository is created. @@ -496,8 +543,9 @@ type RepositoryEvent struct {  	Repo   *Repository `json:"repository,omitempty"`  	// The following fields are only populated by Webhook events. -	Org    *Organization `json:"organization,omitempty"` -	Sender *User         `json:"sender,omitempty"` +	Org          *Organization `json:"organization,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // StatusEvent is triggered when the status of a Git commit changes. @@ -516,14 +564,15 @@ type StatusEvent struct {  	Branches    []*Branch `json:"branches,omitempty"`  	// The following fields are only populated by Webhook events. -	ID        *int              `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"` +	ID           *int              `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"`  }  // TeamAddEvent is triggered when a repository is added to a team. @@ -538,8 +587,9 @@ type TeamAddEvent struct {  	Repo *Repository `json:"repository,omitempty"`  	// The following fields are only populated by Webhook events. -	Org    *Organization `json:"organization,omitempty"` -	Sender *User         `json:"sender,omitempty"` +	Org          *Organization `json:"organization,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  }  // WatchEvent is related to starring a repository, not watching. See this API @@ -554,6 +604,7 @@ type WatchEvent struct {  	Action *string `json:"action,omitempty"`  	// The following fields are only populated by Webhook events. -	Repo   *Repository `json:"repository,omitempty"` -	Sender *User       `json:"sender,omitempty"` +	Repo         *Repository   `json:"repository,omitempty"` +	Sender       *User         `json:"sender,omitempty"` +	Installation *Installation `json:"installation,omitempty"`  } diff --git a/vendor/github.com/google/go-github/github/gists.go b/vendor/github.com/google/go-github/github/gists.go index a3327f8..81f55b1 100644 --- a/vendor/github.com/google/go-github/github/gists.go +++ b/vendor/github.com/google/go-github/github/gists.go @@ -42,6 +42,7 @@ type GistFilename string  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"` @@ -109,13 +110,13 @@ func (s *GistsService) List(user string, opt *GistListOptions) ([]*Gist, *Respon  		return nil, nil, err  	} -	gists := new([]*Gist) -	resp, err := s.client.Do(req, gists) +	var gists []*Gist +	resp, err := s.client.Do(req, &gists)  	if err != nil {  		return nil, resp, err  	} -	return *gists, resp, err +	return gists, resp, nil  }  // ListAll lists all public gists. @@ -132,13 +133,13 @@ func (s *GistsService) ListAll(opt *GistListOptions) ([]*Gist, *Response, error)  		return nil, nil, err  	} -	gists := new([]*Gist) -	resp, err := s.client.Do(req, gists) +	var gists []*Gist +	resp, err := s.client.Do(req, &gists)  	if err != nil {  		return nil, resp, err  	} -	return *gists, resp, err +	return gists, resp, nil  }  // ListStarred lists starred gists of authenticated user. @@ -155,13 +156,13 @@ func (s *GistsService) ListStarred(opt *GistListOptions) ([]*Gist, *Response, er  		return nil, nil, err  	} -	gists := new([]*Gist) -	resp, err := s.client.Do(req, gists) +	var gists []*Gist +	resp, err := s.client.Do(req, &gists)  	if err != nil {  		return nil, resp, err  	} -	return *gists, resp, err +	return gists, resp, nil  }  // Get a single gist. @@ -246,13 +247,13 @@ func (s *GistsService) ListCommits(id string) ([]*GistCommit, *Response, error)  		return nil, nil, err  	} -	gistCommits := new([]*GistCommit) -	resp, err := s.client.Do(req, gistCommits) +	var gistCommits []*GistCommit +	resp, err := s.client.Do(req, &gistCommits)  	if err != nil {  		return nil, resp, err  	} -	return *gistCommits, resp, err +	return gistCommits, resp, nil  }  // Delete a gist. @@ -334,11 +335,11 @@ func (s *GistsService) ListForks(id string) ([]*GistFork, *Response, error) {  		return nil, nil, err  	} -	gistForks := new([]*GistFork) -	resp, err := s.client.Do(req, gistForks) +	var gistForks []*GistFork +	resp, err := s.client.Do(req, &gistForks)  	if err != nil {  		return nil, resp, err  	} -	return *gistForks, resp, err +	return gistForks, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/gists_comments.go b/vendor/github.com/google/go-github/github/gists_comments.go index 95a7fc7..71c1c01 100644 --- a/vendor/github.com/google/go-github/github/gists_comments.go +++ b/vendor/github.com/google/go-github/github/gists_comments.go @@ -38,13 +38,13 @@ func (s *GistsService) ListComments(gistID string, opt *ListOptions) ([]*GistCom  		return nil, nil, err  	} -	comments := new([]*GistComment) -	resp, err := s.client.Do(req, comments) +	var comments []*GistComment +	resp, err := s.client.Do(req, &comments)  	if err != nil {  		return nil, resp, err  	} -	return *comments, resp, err +	return comments, resp, nil  }  // GetComment retrieves a single comment from a gist. diff --git a/vendor/github.com/google/go-github/github/github.go b/vendor/github.com/google/go-github/github/github.go index 3d7421f..a58dbfb 100644 --- a/vendor/github.com/google/go-github/github/github.go +++ b/vendor/github.com/google/go-github/github/github.go @@ -85,14 +85,20 @@ const (  	// https://developer.github.com/changes/2016-07-06-github-pages-preiew-api/  	mediaTypePagesPreview = "application/vnd.github.mister-fantastic-preview+json" -	// https://developer.github.com/v3/repos/traffic/ -	mediaTypeTrafficPreview = "application/vnd.github.spiderman-preview+json" -  	// https://developer.github.com/changes/2016-09-14-projects-api/  	mediaTypeProjectsPreview = "application/vnd.github.inertia-preview+json"  	// https://developer.github.com/changes/2016-09-14-Integrations-Early-Access/  	mediaTypeIntegrationPreview = "application/vnd.github.machine-man-preview+json" + +	// https://developer.github.com/changes/2016-11-28-preview-org-membership/ +	mediaTypeOrgMembershipPreview = "application/vnd.github.korra-preview+json" + +	// https://developer.github.com/changes/2017-01-05-commit-search-api/ +	mediaTypeCommitSearchPreview = "application/vnd.github.cloak-preview+json" + +	// https://developer.github.com/changes/2016-12-14-reviews-api/ +	mediaTypePullRequestReviewsPreview = "application/vnd.github.black-cat-preview+json"  )  // A Client manages communication with the GitHub API. @@ -406,6 +412,12 @@ func (c *Client) Do(req *http.Request, v interface{}) (*Response, error) {  	resp, err := c.client.Do(req)  	if err != nil { +		if e, ok := err.(*url.Error); ok { +			if url, err := url.Parse(e.URL); err == nil { +				e.URL = sanitizeURL(url).String() +				return nil, e +			} +		}  		return nil, err  	} @@ -550,7 +562,7 @@ func (r *AbuseRateLimitError) Error() string {  }  // sanitizeURL redacts the client_secret parameter from the URL which may be -// exposed to the user, specifically in the ErrorResponse error message. +// exposed to the user.  func sanitizeURL(uri *url.URL) *url.URL {  	if uri == nil {  		return nil diff --git a/vendor/github.com/google/go-github/github/gitignore.go b/vendor/github.com/google/go-github/github/gitignore.go index faaceb5..3f1f565 100644 --- a/vendor/github.com/google/go-github/github/gitignore.go +++ b/vendor/github.com/google/go-github/github/gitignore.go @@ -32,13 +32,13 @@ func (s GitignoresService) List() ([]string, *Response, error) {  		return nil, nil, err  	} -	availableTemplates := new([]string) -	resp, err := s.client.Do(req, availableTemplates) +	var availableTemplates []string +	resp, err := s.client.Do(req, &availableTemplates)  	if err != nil {  		return nil, resp, err  	} -	return *availableTemplates, resp, err +	return availableTemplates, resp, nil  }  // Get a Gitignore by name. diff --git a/vendor/github.com/google/go-github/github/integration.go b/vendor/github.com/google/go-github/github/integration.go index b8d77ca..033ee44 100644 --- a/vendor/github.com/google/go-github/github/integration.go +++ b/vendor/github.com/google/go-github/github/integration.go @@ -28,11 +28,11 @@ func (s *IntegrationsService) ListInstallations(opt *ListOptions) ([]*Installati  	// TODO: remove custom Accept header when this API fully launches.  	req.Header.Set("Accept", mediaTypeIntegrationPreview) -	i := new([]*Installation) +	var i []*Installation  	resp, err := s.client.Do(req, &i)  	if err != nil {  		return nil, resp, err  	} -	return *i, resp, err +	return i, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/issues.go b/vendor/github.com/google/go-github/github/issues.go index d8e7d41..b14939e 100644 --- a/vendor/github.com/google/go-github/github/issues.go +++ b/vendor/github.com/google/go-github/github/issues.go @@ -141,13 +141,13 @@ func (s *IssuesService) listIssues(u string, opt *IssueListOptions) ([]*Issue, *  	// TODO: remove custom Accept header when this API fully launches.  	req.Header.Set("Accept", mediaTypeReactionsPreview) -	issues := new([]*Issue) -	resp, err := s.client.Do(req, issues) +	var issues []*Issue +	resp, err := s.client.Do(req, &issues)  	if err != nil {  		return nil, resp, err  	} -	return *issues, resp, err +	return issues, resp, nil  }  // IssueListByRepoOptions specifies the optional parameters to the @@ -208,13 +208,13 @@ func (s *IssuesService) ListByRepo(owner string, repo string, opt *IssueListByRe  	// TODO: remove custom Accept header when this API fully launches.  	req.Header.Set("Accept", mediaTypeReactionsPreview) -	issues := new([]*Issue) -	resp, err := s.client.Do(req, issues) +	var issues []*Issue +	resp, err := s.client.Do(req, &issues)  	if err != nil {  		return nil, resp, err  	} -	return *issues, resp, err +	return issues, resp, nil  }  // Get a single issue. @@ -236,7 +236,7 @@ func (s *IssuesService) Get(owner string, repo string, number int) (*Issue, *Res  		return nil, resp, err  	} -	return issue, resp, err +	return issue, resp, nil  }  // Create a new issue on the specified repository. @@ -255,7 +255,7 @@ func (s *IssuesService) Create(owner string, repo string, issue *IssueRequest) (  		return nil, resp, err  	} -	return i, resp, err +	return i, resp, nil  }  // Edit an issue. @@ -274,7 +274,7 @@ func (s *IssuesService) Edit(owner string, repo string, number int, issue *Issue  		return nil, resp, err  	} -	return i, resp, err +	return i, resp, nil  }  // Lock an issue's conversation. diff --git a/vendor/github.com/google/go-github/github/issues_assignees.go b/vendor/github.com/google/go-github/github/issues_assignees.go index 2503be1..1f06102 100644 --- a/vendor/github.com/google/go-github/github/issues_assignees.go +++ b/vendor/github.com/google/go-github/github/issues_assignees.go @@ -22,13 +22,13 @@ func (s *IssuesService) ListAssignees(owner, repo string, opt *ListOptions) ([]*  	if err != nil {  		return nil, nil, err  	} -	assignees := new([]*User) -	resp, err := s.client.Do(req, assignees) +	var assignees []*User +	resp, err := s.client.Do(req, &assignees)  	if err != nil {  		return nil, resp, err  	} -	return *assignees, resp, err +	return assignees, resp, nil  }  // IsAssignee checks if a user is an assignee for the specified repository. diff --git a/vendor/github.com/google/go-github/github/issues_comments.go b/vendor/github.com/google/go-github/github/issues_comments.go index b24c5ae..7d46913 100644 --- a/vendor/github.com/google/go-github/github/issues_comments.go +++ b/vendor/github.com/google/go-github/github/issues_comments.go @@ -66,13 +66,13 @@ func (s *IssuesService) ListComments(owner string, repo string, number int, opt  	// TODO: remove custom Accept header when this API fully launches.  	req.Header.Set("Accept", mediaTypeReactionsPreview) -	comments := new([]*IssueComment) -	resp, err := s.client.Do(req, comments) +	var comments []*IssueComment +	resp, err := s.client.Do(req, &comments)  	if err != nil {  		return nil, resp, err  	} -	return *comments, resp, err +	return comments, resp, nil  }  // GetComment fetches the specified issue comment. @@ -95,7 +95,7 @@ func (s *IssuesService) GetComment(owner string, repo string, id int) (*IssueCom  		return nil, resp, err  	} -	return comment, resp, err +	return comment, resp, nil  }  // CreateComment creates a new comment on the specified issue. @@ -113,7 +113,7 @@ func (s *IssuesService) CreateComment(owner string, repo string, number int, com  		return nil, resp, err  	} -	return c, resp, err +	return c, resp, nil  }  // EditComment updates an issue comment. @@ -131,7 +131,7 @@ func (s *IssuesService) EditComment(owner string, repo string, id int, comment *  		return nil, resp, err  	} -	return c, resp, err +	return c, resp, nil  }  // DeleteComment deletes an issue comment. diff --git a/vendor/github.com/google/go-github/github/issues_labels.go b/vendor/github.com/google/go-github/github/issues_labels.go index c654547..46b2d6e 100644 --- a/vendor/github.com/google/go-github/github/issues_labels.go +++ b/vendor/github.com/google/go-github/github/issues_labels.go @@ -33,13 +33,13 @@ func (s *IssuesService) ListLabels(owner string, repo string, opt *ListOptions)  		return nil, nil, err  	} -	labels := new([]*Label) -	resp, err := s.client.Do(req, labels) +	var labels []*Label +	resp, err := s.client.Do(req, &labels)  	if err != nil {  		return nil, resp, err  	} -	return *labels, resp, err +	return labels, resp, nil  }  // GetLabel gets a single label. @@ -58,7 +58,7 @@ func (s *IssuesService) GetLabel(owner string, repo string, name string) (*Label  		return nil, resp, err  	} -	return label, resp, err +	return label, resp, nil  }  // CreateLabel creates a new label on the specified repository. @@ -77,7 +77,7 @@ func (s *IssuesService) CreateLabel(owner string, repo string, label *Label) (*L  		return nil, resp, err  	} -	return l, resp, err +	return l, resp, nil  }  // EditLabel edits a label. @@ -96,7 +96,7 @@ func (s *IssuesService) EditLabel(owner string, repo string, name string, label  		return nil, resp, err  	} -	return l, resp, err +	return l, resp, nil  }  // DeleteLabel deletes a label. @@ -113,7 +113,7 @@ func (s *IssuesService) DeleteLabel(owner string, repo string, name string) (*Re  // ListLabelsByIssue lists all labels for an issue.  // -// GitHub API docs: http://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository +// GitHub API docs: https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue  func (s *IssuesService) ListLabelsByIssue(owner string, repo string, number int, opt *ListOptions) ([]*Label, *Response, error) {  	u := fmt.Sprintf("repos/%v/%v/issues/%d/labels", owner, repo, number)  	u, err := addOptions(u, opt) @@ -126,18 +126,18 @@ func (s *IssuesService) ListLabelsByIssue(owner string, repo string, number int,  		return nil, nil, err  	} -	labels := new([]*Label) -	resp, err := s.client.Do(req, labels) +	var labels []*Label +	resp, err := s.client.Do(req, &labels)  	if err != nil {  		return nil, resp, err  	} -	return *labels, resp, err +	return labels, resp, nil  }  // AddLabelsToIssue adds labels to an issue.  // -// GitHub API docs: http://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository +// GitHub API docs: https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue  func (s *IssuesService) AddLabelsToIssue(owner string, repo string, number int, labels []string) ([]*Label, *Response, error) {  	u := fmt.Sprintf("repos/%v/%v/issues/%d/labels", owner, repo, number)  	req, err := s.client.NewRequest("POST", u, labels) @@ -145,13 +145,13 @@ func (s *IssuesService) AddLabelsToIssue(owner string, repo string, number int,  		return nil, nil, err  	} -	l := new([]*Label) -	resp, err := s.client.Do(req, l) +	var l []*Label +	resp, err := s.client.Do(req, &l)  	if err != nil {  		return nil, resp, err  	} -	return *l, resp, err +	return l, resp, nil  }  // RemoveLabelForIssue removes a label for an issue. @@ -176,13 +176,13 @@ func (s *IssuesService) ReplaceLabelsForIssue(owner string, repo string, number  		return nil, nil, err  	} -	l := new([]*Label) -	resp, err := s.client.Do(req, l) +	var l []*Label +	resp, err := s.client.Do(req, &l)  	if err != nil {  		return nil, resp, err  	} -	return *l, resp, err +	return l, resp, nil  }  // RemoveLabelsForIssue removes all labels for an issue. @@ -212,11 +212,11 @@ func (s *IssuesService) ListLabelsForMilestone(owner string, repo string, number  		return nil, nil, err  	} -	labels := new([]*Label) -	resp, err := s.client.Do(req, labels) +	var labels []*Label +	resp, err := s.client.Do(req, &labels)  	if err != nil {  		return nil, resp, err  	} -	return *labels, resp, err +	return labels, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/issues_milestones.go b/vendor/github.com/google/go-github/github/issues_milestones.go index b7621ac..0cc2d58 100644 --- a/vendor/github.com/google/go-github/github/issues_milestones.go +++ b/vendor/github.com/google/go-github/github/issues_milestones.go @@ -66,13 +66,13 @@ func (s *IssuesService) ListMilestones(owner string, repo string, opt *Milestone  		return nil, nil, err  	} -	milestones := new([]*Milestone) -	resp, err := s.client.Do(req, milestones) +	var milestones []*Milestone +	resp, err := s.client.Do(req, &milestones)  	if err != nil {  		return nil, resp, err  	} -	return *milestones, resp, err +	return milestones, resp, nil  }  // GetMilestone gets a single milestone. @@ -91,7 +91,7 @@ func (s *IssuesService) GetMilestone(owner string, repo string, number int) (*Mi  		return nil, resp, err  	} -	return milestone, resp, err +	return milestone, resp, nil  }  // CreateMilestone creates a new milestone on the specified repository. @@ -110,7 +110,7 @@ func (s *IssuesService) CreateMilestone(owner string, repo string, milestone *Mi  		return nil, resp, err  	} -	return m, resp, err +	return m, resp, nil  }  // EditMilestone edits a milestone. @@ -129,7 +129,7 @@ func (s *IssuesService) EditMilestone(owner string, repo string, number int, mil  		return nil, resp, err  	} -	return m, resp, err +	return m, resp, nil  }  // DeleteMilestone deletes a milestone. diff --git a/vendor/github.com/google/go-github/github/licenses.go b/vendor/github.com/google/go-github/github/licenses.go index 0b5e8b3..a1fec94 100644 --- a/vendor/github.com/google/go-github/github/licenses.go +++ b/vendor/github.com/google/go-github/github/licenses.go @@ -67,13 +67,13 @@ func (s *LicensesService) List() ([]*License, *Response, error) {  	// TODO: remove custom Accept header when this API fully launches  	req.Header.Set("Accept", mediaTypeLicensesPreview) -	licenses := new([]*License) -	resp, err := s.client.Do(req, licenses) +	var licenses []*License +	resp, err := s.client.Do(req, &licenses)  	if err != nil {  		return nil, resp, err  	} -	return *licenses, resp, err +	return licenses, resp, nil  }  // Get extended metadata for one license. diff --git a/vendor/github.com/google/go-github/github/messages.go b/vendor/github.com/google/go-github/github/messages.go index 5e167ee..5f67ba5 100644 --- a/vendor/github.com/google/go-github/github/messages.go +++ b/vendor/github.com/google/go-github/github/messages.go @@ -53,6 +53,7 @@ var (  		"member":                                "MemberEvent",  		"membership":                            "MembershipEvent",  		"milestone":                             "MilestoneEvent", +		"organization":                          "OrganizationEvent",  		"page_build":                            "PageBuildEvent",  		"ping":                                  "PingEvent",  		"public":                                "PublicEvent", diff --git a/vendor/github.com/google/go-github/github/migrations_source_import.go b/vendor/github.com/google/go-github/github/migrations_source_import.go index 44505fa..451b13e 100644 --- a/vendor/github.com/google/go-github/github/migrations_source_import.go +++ b/vendor/github.com/google/go-github/github/migrations_source_import.go @@ -230,13 +230,13 @@ func (s *MigrationService) CommitAuthors(owner, repo string) ([]*SourceImportAut  	// TODO: remove custom Accept header when this API fully launches  	req.Header.Set("Accept", mediaTypeImportPreview) -	authors := new([]*SourceImportAuthor) -	resp, err := s.client.Do(req, authors) +	var authors []*SourceImportAuthor +	resp, err := s.client.Do(req, &authors)  	if err != nil {  		return nil, resp, err  	} -	return *authors, resp, err +	return authors, resp, nil  }  // MapCommitAuthor updates an author's identity for the import. Your @@ -300,13 +300,13 @@ func (s *MigrationService) LargeFiles(owner, repo string) ([]*LargeFile, *Respon  	// TODO: remove custom Accept header when this API fully launches  	req.Header.Set("Accept", mediaTypeImportPreview) -	files := new([]*LargeFile) -	resp, err := s.client.Do(req, files) +	var files []*LargeFile +	resp, err := s.client.Do(req, &files)  	if err != nil {  		return nil, resp, err  	} -	return *files, resp, err +	return files, resp, nil  }  // CancelImport stops an import for a repository. diff --git a/vendor/github.com/google/go-github/github/misc.go b/vendor/github.com/google/go-github/github/misc.go index 8576a4c..89e1501 100644 --- a/vendor/github.com/google/go-github/github/misc.go +++ b/vendor/github.com/google/go-github/github/misc.go @@ -187,11 +187,11 @@ func (c *Client) ListServiceHooks() ([]*ServiceHook, *Response, error) {  		return nil, nil, err  	} -	hooks := new([]*ServiceHook) -	resp, err := c.Do(req, hooks) +	var hooks []*ServiceHook +	resp, err := c.Do(req, &hooks)  	if err != nil {  		return nil, resp, err  	} -	return *hooks, resp, err +	return hooks, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/orgs.go b/vendor/github.com/google/go-github/github/orgs.go index d137e3e..696c2b7 100644 --- a/vendor/github.com/google/go-github/github/orgs.go +++ b/vendor/github.com/google/go-github/github/orgs.go @@ -125,13 +125,13 @@ func (s *OrganizationsService) List(user string, opt *ListOptions) ([]*Organizat  		return nil, nil, err  	} -	orgs := new([]*Organization) -	resp, err := s.client.Do(req, orgs) +	var orgs []*Organization +	resp, err := s.client.Do(req, &orgs)  	if err != nil {  		return nil, resp, err  	} -	return *orgs, resp, err +	return orgs, resp, nil  }  // Get fetches an organization by name. diff --git a/vendor/github.com/google/go-github/github/orgs_hooks.go b/vendor/github.com/google/go-github/github/orgs_hooks.go index 95b8322..4926311 100644 --- a/vendor/github.com/google/go-github/github/orgs_hooks.go +++ b/vendor/github.com/google/go-github/github/orgs_hooks.go @@ -22,13 +22,13 @@ func (s *OrganizationsService) ListHooks(org string, opt *ListOptions) ([]*Hook,  		return nil, nil, err  	} -	hooks := new([]*Hook) -	resp, err := s.client.Do(req, hooks) +	var hooks []*Hook +	resp, err := s.client.Do(req, &hooks)  	if err != nil {  		return nil, resp, err  	} -	return *hooks, resp, err +	return hooks, resp, nil  }  // GetHook returns a single specified Hook. diff --git a/vendor/github.com/google/go-github/github/orgs_members.go b/vendor/github.com/google/go-github/github/orgs_members.go index 80454ad..ea8a358 100644 --- a/vendor/github.com/google/go-github/github/orgs_members.go +++ b/vendor/github.com/google/go-github/github/orgs_members.go @@ -86,13 +86,13 @@ func (s *OrganizationsService) ListMembers(org string, opt *ListMembersOptions)  		return nil, nil, err  	} -	members := new([]*User) -	resp, err := s.client.Do(req, members) +	var members []*User +	resp, err := s.client.Do(req, &members)  	if err != nil {  		return nil, resp, err  	} -	return *members, resp, err +	return members, resp, nil  }  // IsMember checks if a user is a member of an organization. @@ -270,3 +270,29 @@ func (s *OrganizationsService) RemoveOrgMembership(user, org string) (*Response,  	return s.client.Do(req, nil)  } + +// ListPendingOrgInvitations returns a list of pending invitations. +// +// GitHub API docs: https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations +func (s *OrganizationsService) ListPendingOrgInvitations(org int, opt *ListOptions) ([]*Invitation, *Response, error) { +	u := fmt.Sprintf("orgs/%v/invitations", org) +	u, err := addOptions(u, opt) +	if err != nil { +		return nil, nil, err +	} + +	req, err := s.client.NewRequest("GET", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches. +	req.Header.Set("Accept", mediaTypeOrgMembershipPreview) + +	var pendingInvitations []*Invitation +	resp, err := s.client.Do(req, &pendingInvitations) +	if err != nil { +		return nil, resp, err +	} +	return pendingInvitations, resp, nil +} diff --git a/vendor/github.com/google/go-github/github/orgs_teams.go b/vendor/github.com/google/go-github/github/orgs_teams.go index 8e8550c..ce8cbec 100644 --- a/vendor/github.com/google/go-github/github/orgs_teams.go +++ b/vendor/github.com/google/go-github/github/orgs_teams.go @@ -5,7 +5,10 @@  package github -import "fmt" +import ( +	"fmt" +	"time" +)  // Team represents a team within a GitHub organization.  Teams are used to  // manage access to an organization's repositories. @@ -41,6 +44,21 @@ func (t Team) String() string {  	return Stringify(t)  } +// Invitation represents a team member's invitation status. +type Invitation struct { +	ID    *int    `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"` +} + +func (i Invitation) String() string { +	return Stringify(i) +} +  // ListTeams lists all of the teams for an organization.  //  // GitHub API docs: http://developer.github.com/v3/orgs/teams/#list-teams @@ -56,13 +74,13 @@ func (s *OrganizationsService) ListTeams(org string, opt *ListOptions) ([]*Team,  		return nil, nil, err  	} -	teams := new([]*Team) -	resp, err := s.client.Do(req, teams) +	var teams []*Team +	resp, err := s.client.Do(req, &teams)  	if err != nil {  		return nil, resp, err  	} -	return *teams, resp, err +	return teams, resp, nil  }  // GetTeam fetches a team by ID. @@ -161,13 +179,13 @@ func (s *OrganizationsService) ListTeamMembers(team int, opt *OrganizationListTe  		return nil, nil, err  	} -	members := new([]*User) -	resp, err := s.client.Do(req, members) +	var members []*User +	resp, err := s.client.Do(req, &members)  	if err != nil {  		return nil, resp, err  	} -	return *members, resp, err +	return members, resp, nil  }  // IsTeamMember checks if a user is a member of the specified team. @@ -200,13 +218,13 @@ func (s *OrganizationsService) ListTeamRepos(team int, opt *ListOptions) ([]*Rep  		return nil, nil, err  	} -	repos := new([]*Repository) -	resp, err := s.client.Do(req, repos) +	var repos []*Repository +	resp, err := s.client.Do(req, &repos)  	if err != nil {  		return nil, resp, err  	} -	return *repos, resp, err +	return repos, resp, nil  }  // IsTeamRepo checks if a team manages the specified repository.  If the @@ -289,13 +307,13 @@ func (s *OrganizationsService) ListUserTeams(opt *ListOptions) ([]*Team, *Respon  		return nil, nil, err  	} -	teams := new([]*Team) -	resp, err := s.client.Do(req, teams) +	var teams []*Team +	resp, err := s.client.Do(req, &teams)  	if err != nil {  		return nil, resp, err  	} -	return *teams, resp, err +	return teams, resp, nil  }  // GetTeamMembership returns the membership status for a user in a team. @@ -377,3 +395,32 @@ func (s *OrganizationsService) RemoveTeamMembership(team int, user string) (*Res  	return s.client.Do(req, nil)  } + +// 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 (s *OrganizationsService) ListPendingTeamInvitations(team int, opt *ListOptions) ([]*Invitation, *Response, error) { +	u := fmt.Sprintf("teams/%v/invitations", team) +	u, err := addOptions(u, opt) +	if err != nil { +		return nil, nil, err +	} + +	req, err := s.client.NewRequest("GET", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches. +	req.Header.Set("Accept", mediaTypeOrgMembershipPreview) + +	var pendingInvitations []*Invitation +	resp, err := s.client.Do(req, &pendingInvitations) +	if err != nil { +		return nil, resp, err +	} + +	return pendingInvitations, resp, nil +} diff --git a/vendor/github.com/google/go-github/github/pulls.go b/vendor/github.com/google/go-github/github/pulls.go index 51c6ccb..d3a9ae8 100644 --- a/vendor/github.com/google/go-github/github/pulls.go +++ b/vendor/github.com/google/go-github/github/pulls.go @@ -107,13 +107,13 @@ func (s *PullRequestsService) List(owner string, repo string, opt *PullRequestLi  		return nil, nil, err  	} -	pulls := new([]*PullRequest) -	resp, err := s.client.Do(req, pulls) +	var pulls []*PullRequest +	resp, err := s.client.Do(req, &pulls)  	if err != nil {  		return nil, resp, err  	} -	return *pulls, resp, err +	return pulls, resp, nil  }  // Get a single pull request. @@ -132,7 +132,7 @@ func (s *PullRequestsService) Get(owner string, repo string, number int) (*PullR  		return nil, resp, err  	} -	return pull, resp, err +	return pull, resp, nil  }  // GetRaw gets raw (diff or patch) format of a pull request. @@ -158,7 +158,7 @@ func (s *PullRequestsService) GetRaw(owner string, repo string, number int, opt  		return "", resp, err  	} -	return ret.String(), resp, err +	return ret.String(), resp, nil  }  // NewPullRequest represents a new pull request to be created. @@ -186,15 +186,36 @@ func (s *PullRequestsService) Create(owner string, repo string, pull *NewPullReq  		return nil, resp, err  	} -	return p, resp, err +	return p, resp, nil +} + +type pullRequestUpdate struct { +	Title *string `json:"title,omitempty"` +	Body  *string `json:"body,omitempty"` +	State *string `json:"state,omitempty"` +	Base  *string `json:"base,omitempty"`  }  // Edit a pull request.  // +// The following fields are editable: Title, Body, State, and Base.Ref. +// Base.Ref updates the base branch of the pull request. +//  // GitHub API docs: https://developer.github.com/v3/pulls/#update-a-pull-request  func (s *PullRequestsService) Edit(owner string, repo string, number int, pull *PullRequest) (*PullRequest, *Response, error) {  	u := fmt.Sprintf("repos/%v/%v/pulls/%d", owner, repo, number) -	req, err := s.client.NewRequest("PATCH", u, pull) + +	update := new(pullRequestUpdate) +	if pull != nil { +		update.Title = pull.Title +		update.Body = pull.Body +		update.State = pull.State +		if pull.Base != nil { +			update.Base = pull.Base.Ref +		} +	} + +	req, err := s.client.NewRequest("PATCH", u, update)  	if err != nil {  		return nil, nil, err  	} @@ -205,7 +226,7 @@ func (s *PullRequestsService) Edit(owner string, repo string, number int, pull *  		return nil, resp, err  	} -	return p, resp, err +	return p, resp, nil  }  // ListCommits lists the commits in a pull request. @@ -223,13 +244,13 @@ func (s *PullRequestsService) ListCommits(owner string, repo string, number int,  		return nil, nil, err  	} -	commits := new([]*RepositoryCommit) -	resp, err := s.client.Do(req, commits) +	var commits []*RepositoryCommit +	resp, err := s.client.Do(req, &commits)  	if err != nil {  		return nil, resp, err  	} -	return *commits, resp, err +	return commits, resp, nil  }  // ListFiles lists the files in a pull request. @@ -247,13 +268,13 @@ func (s *PullRequestsService) ListFiles(owner string, repo string, number int, o  		return nil, nil, err  	} -	commitFiles := new([]*CommitFile) -	resp, err := s.client.Do(req, commitFiles) +	var commitFiles []*CommitFile +	resp, err := s.client.Do(req, &commitFiles)  	if err != nil {  		return nil, resp, err  	} -	return *commitFiles, resp, err +	return commitFiles, resp, nil  }  // IsMerged checks if a pull request has been merged. @@ -321,5 +342,5 @@ func (s *PullRequestsService) Merge(owner string, repo string, number int, commi  		return nil, resp, err  	} -	return mergeResult, resp, err +	return mergeResult, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/pulls_comments.go b/vendor/github.com/google/go-github/github/pulls_comments.go index c7af85a..51518f0 100644 --- a/vendor/github.com/google/go-github/github/pulls_comments.go +++ b/vendor/github.com/google/go-github/github/pulls_comments.go @@ -74,13 +74,13 @@ func (s *PullRequestsService) ListComments(owner string, repo string, number int  	// TODO: remove custom Accept header when this API fully launches.  	req.Header.Set("Accept", mediaTypeReactionsPreview) -	comments := new([]*PullRequestComment) -	resp, err := s.client.Do(req, comments) +	var comments []*PullRequestComment +	resp, err := s.client.Do(req, &comments)  	if err != nil {  		return nil, resp, err  	} -	return *comments, resp, err +	return comments, resp, nil  }  // GetComment fetches the specified pull request comment. @@ -102,7 +102,7 @@ func (s *PullRequestsService) GetComment(owner string, repo string, number int)  		return nil, resp, err  	} -	return comment, resp, err +	return comment, resp, nil  }  // CreateComment creates a new comment on the specified pull request. @@ -121,7 +121,7 @@ func (s *PullRequestsService) CreateComment(owner string, repo string, number in  		return nil, resp, err  	} -	return c, resp, err +	return c, resp, nil  }  // EditComment updates a pull request comment. @@ -140,7 +140,7 @@ func (s *PullRequestsService) EditComment(owner string, repo string, number int,  		return nil, resp, err  	} -	return c, resp, err +	return c, resp, nil  }  // DeleteComment deletes a pull request comment. diff --git a/vendor/github.com/google/go-github/github/pulls_reviews.go b/vendor/github.com/google/go-github/github/pulls_reviews.go index ae3cdd4..be57af8 100644 --- a/vendor/github.com/google/go-github/github/pulls_reviews.go +++ b/vendor/github.com/google/go-github/github/pulls_reviews.go @@ -5,15 +5,243 @@  package github -import "time" +import ( +	"fmt" +	"time" +)  // PullRequestReview represents a review of a pull request.  type PullRequestReview struct { -	ID          *int       `json:"id,omitempty"` -	User        *User      `json:"user,omitempty"` -	Body        *string    `json:"body,omitempty"` -	SubmittedAt *time.Time `json:"submitted_at,omitempty"` +	ID             *int       `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"` +} + +func (p PullRequestReview) String() string { +	return Stringify(p) +} + +// DraftReviewComment represents a comment part of the review. +type DraftReviewComment struct { +	Path     *string `json:"path,omitempty"` +	Position *int    `json:"position,omitempty"` +	Body     *string `json:"body,omitempty"` +} + +func (c DraftReviewComment) String() string { +	return Stringify(c) +} + +// PullRequestReviewRequest represents a request to create a review. +type PullRequestReviewRequest struct { +	Body     *string               `json:"body,omitempty"` +	Event    *string               `json:"event,omitempty"` +	Comments []*DraftReviewComment `json:"comments,omitempty"` +} + +func (r PullRequestReviewRequest) String() string { +	return Stringify(r) +} + +// PullRequestReviewDismissalRequest represents a request to dismiss a review. +type PullRequestReviewDismissalRequest struct { +	Message *string `json:"message,omitempty"` +} + +func (r PullRequestReviewDismissalRequest) String() string { +	return Stringify(r) +} + +// 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 (s *PullRequestsService) ListReviews(owner, repo string, number int) ([]*PullRequestReview, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/pulls/%d/reviews", owner, repo, number) + +	req, err := s.client.NewRequest("GET", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches +	req.Header.Set("Accept", mediaTypePullRequestReviewsPreview) + +	var reviews []*PullRequestReview +	resp, err := s.client.Do(req, &reviews) +	if err != nil { +		return nil, resp, err +	} + +	return reviews, resp, nil +} + +// 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 (s *PullRequestsService) GetReview(owner, repo string, number, reviewID int) (*PullRequestReview, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/pulls/%d/reviews/%d", owner, repo, number, reviewID) + +	req, err := s.client.NewRequest("GET", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches +	req.Header.Set("Accept", mediaTypePullRequestReviewsPreview) + +	review := new(PullRequestReview) +	resp, err := s.client.Do(req, review) +	if err != nil { +		return nil, resp, err +	} + +	return review, resp, nil +} + +// 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 (s *PullRequestsService) DeletePendingReview(owner, repo string, number, reviewID int) (*PullRequestReview, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/pulls/%d/reviews/%d", owner, repo, number, reviewID) + +	req, err := s.client.NewRequest("DELETE", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches +	req.Header.Set("Accept", mediaTypePullRequestReviewsPreview) + +	review := new(PullRequestReview) +	resp, err := s.client.Do(req, review) +	if err != nil { +		return nil, resp, err +	} + +	return review, resp, nil +} + +// 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-a-single-reviews-comments +func (s *PullRequestsService) ListReviewComments(owner, repo string, number, reviewID int) ([]*PullRequestComment, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/pulls/%d/reviews/%d/comments", owner, repo, number, reviewID) + +	req, err := s.client.NewRequest("GET", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches +	req.Header.Set("Accept", mediaTypePullRequestReviewsPreview) + +	var comments []*PullRequestComment +	resp, err := s.client.Do(req, &comments) +	if err != nil { +		return nil, resp, err +	} + +	return comments, resp, nil +} + +// 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 (s *PullRequestsService) CreateReview(owner, repo string, number int, review *PullRequestReviewRequest) (*PullRequestReview, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/pulls/%d/reviews", owner, repo, number) + +	req, err := s.client.NewRequest("POST", u, review) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches +	req.Header.Set("Accept", mediaTypePullRequestReviewsPreview) + +	r := new(PullRequestReview) +	resp, err := s.client.Do(req, r) +	if err != nil { +		return nil, resp, err +	} + +	return r, resp, nil +} + +// 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 +func (s *PullRequestsService) SubmitReview(owner, repo string, number, reviewID int, review *PullRequestReviewRequest) (*PullRequestReview, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/pulls/%d/reviews/%d/events", owner, repo, number, reviewID) + +	req, err := s.client.NewRequest("POST", u, review) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches +	req.Header.Set("Accept", mediaTypePullRequestReviewsPreview) + +	r := new(PullRequestReview) +	resp, err := s.client.Do(req, r) +	if err != nil { +		return nil, resp, err +	} + +	return r, resp, nil +} + +// 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 (s *PullRequestsService) DismissReview(owner, repo string, number, reviewID int, review *PullRequestReviewDismissalRequest) (*PullRequestReview, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/pulls/%d/reviews/%d/dismissals", owner, repo, number, reviewID) + +	req, err := s.client.NewRequest("PUT", u, review) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches +	req.Header.Set("Accept", mediaTypePullRequestReviewsPreview) + +	r := new(PullRequestReview) +	resp, err := s.client.Do(req, r) +	if err != nil { +		return nil, resp, err +	} -	// State can be "approved", "rejected", or "commented". -	State *string `json:"state,omitempty"` +	return r, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/repos.go b/vendor/github.com/google/go-github/github/repos.go index 040cd31..019a731 100644 --- a/vendor/github.com/google/go-github/github/repos.go +++ b/vendor/github.com/google/go-github/github/repos.go @@ -175,13 +175,13 @@ func (s *RepositoriesService) List(user string, opt *RepositoryListOptions) ([]*  	// TODO: remove custom Accept header when license support fully launches  	req.Header.Set("Accept", mediaTypeLicensesPreview) -	repos := new([]*Repository) -	resp, err := s.client.Do(req, repos) +	var repos []*Repository +	resp, err := s.client.Do(req, &repos)  	if err != nil {  		return nil, resp, err  	} -	return *repos, resp, err +	return repos, resp, nil  }  // RepositoryListByOrgOptions specifies the optional parameters to the @@ -212,13 +212,13 @@ func (s *RepositoriesService) ListByOrg(org string, opt *RepositoryListByOrgOpti  	// TODO: remove custom Accept header when license support fully launches  	req.Header.Set("Accept", mediaTypeLicensesPreview) -	repos := new([]*Repository) -	resp, err := s.client.Do(req, repos) +	var repos []*Repository +	resp, err := s.client.Do(req, &repos)  	if err != nil {  		return nil, resp, err  	} -	return *repos, resp, err +	return repos, resp, nil  }  // RepositoryListAllOptions specifies the optional parameters to the @@ -244,13 +244,13 @@ func (s *RepositoriesService) ListAll(opt *RepositoryListAllOptions) ([]*Reposit  		return nil, nil, err  	} -	repos := new([]*Repository) -	resp, err := s.client.Do(req, repos) +	var repos []*Repository +	resp, err := s.client.Do(req, &repos)  	if err != nil {  		return nil, resp, err  	} -	return *repos, resp, err +	return repos, resp, nil  }  // Create a new repository.  If an organization is specified, the new @@ -277,7 +277,7 @@ func (s *RepositoriesService) Create(org string, repo *Repository) (*Repository,  		return nil, resp, err  	} -	return r, resp, err +	return r, resp, nil  }  // Get fetches a repository. @@ -301,7 +301,7 @@ func (s *RepositoriesService) Get(owner, repo string) (*Repository, *Response, e  		return nil, resp, err  	} -	return repository, resp, err +	return repository, resp, nil  }  // GetByID fetches a repository. @@ -324,7 +324,7 @@ func (s *RepositoriesService) GetByID(id int) (*Repository, *Response, error) {  		return nil, resp, err  	} -	return repository, resp, err +	return repository, resp, nil  }  // Edit updates a repository. @@ -346,7 +346,7 @@ func (s *RepositoriesService) Edit(owner, repo string, repository *Repository) (  		return nil, resp, err  	} -	return r, resp, err +	return r, resp, nil  }  // Delete a repository. @@ -408,13 +408,13 @@ func (s *RepositoriesService) ListContributors(owner string, repository string,  		return nil, nil, err  	} -	contributor := new([]*Contributor) -	resp, err := s.client.Do(req, contributor) +	var contributor []*Contributor +	resp, err := s.client.Do(req, &contributor)  	if err != nil {  		return nil, nil, err  	} -	return *contributor, resp, err +	return contributor, resp, nil  }  // ListLanguages lists languages for the specified repository. The returned map @@ -440,7 +440,7 @@ func (s *RepositoriesService) ListLanguages(owner string, repo string) (map[stri  		return nil, resp, err  	} -	return languages, resp, err +	return languages, resp, nil  }  // ListTeams lists the teams for the specified repository. @@ -458,13 +458,13 @@ func (s *RepositoriesService) ListTeams(owner string, repo string, opt *ListOpti  		return nil, nil, err  	} -	teams := new([]*Team) -	resp, err := s.client.Do(req, teams) +	var teams []*Team +	resp, err := s.client.Do(req, &teams)  	if err != nil {  		return nil, resp, err  	} -	return *teams, resp, err +	return teams, resp, nil  }  // RepositoryTag represents a repository tag. @@ -490,13 +490,13 @@ func (s *RepositoriesService) ListTags(owner string, repo string, opt *ListOptio  		return nil, nil, err  	} -	tags := new([]*RepositoryTag) -	resp, err := s.client.Do(req, tags) +	var tags []*RepositoryTag +	resp, err := s.client.Do(req, &tags)  	if err != nil {  		return nil, resp, err  	} -	return *tags, resp, err +	return tags, resp, nil  }  // Branch represents a repository branch @@ -508,34 +508,42 @@ type Branch struct {  // Protection represents a repository branch's protection.  type Protection struct { -	RequiredStatusChecks *RequiredStatusChecks `json:"required_status_checks"` -	Restrictions         *BranchRestrictions   `json:"restrictions"` +	RequiredStatusChecks       *RequiredStatusChecks       `json:"required_status_checks"` +	RequiredPullRequestReviews *RequiredPullRequestReviews `json:"required_pull_request_reviews"` +	Restrictions               *BranchRestrictions         `json:"restrictions"`  }  // ProtectionRequest represents a request to create/edit a branch's protection.  type ProtectionRequest struct { -	RequiredStatusChecks *RequiredStatusChecks      `json:"required_status_checks"` -	Restrictions         *BranchRestrictionsRequest `json:"restrictions"` +	RequiredStatusChecks       *RequiredStatusChecks       `json:"required_status_checks"` +	RequiredPullRequestReviews *RequiredPullRequestReviews `json:"required_pull_request_reviews"` +	Restrictions               *BranchRestrictionsRequest  `json:"restrictions"`  }  // RequiredStatusChecks represents the protection status of a individual branch.  type RequiredStatusChecks struct { -	// Enforce required status checks for repository administrators. -	IncludeAdmins *bool `json:"include_admins,omitempty"` -	// Require branches to be up to date before merging. -	Strict *bool `json:"strict,omitempty"` +	// Enforce required status checks for repository administrators. (Required.) +	IncludeAdmins bool `json:"include_admins"` +	// 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. -	Contexts *[]string `json:"contexts,omitempty"` +	// branch. (Required; use []string{} instead of nil for empty list.) +	Contexts []string `json:"contexts"` +} + +// RequiredPullRequestReviews represents the protection configuration for pull requests. +type RequiredPullRequestReviews struct { +	// Enforce pull request reviews for repository administrators. (Required.) +	IncludeAdmins bool `json:"include_admins"`  }  // BranchRestrictions represents the restriction that only certain users or  // teams may push to a branch.  type BranchRestrictions struct {  	// The list of user logins with push access. -	Users []*User `json:"users,omitempty"` +	Users []*User `json:"users"`  	// The list of team slugs with push access. -	Teams []*Team `json:"teams,omitempty"` +	Teams []*Team `json:"teams"`  }  // BranchRestrictionsRequest represents the request to create/edit the @@ -543,10 +551,10 @@ type BranchRestrictions struct {  // separate from BranchRestrictions above because the request structure is  // different from the response structure.  type BranchRestrictionsRequest struct { -	// The list of user logins with push access. -	Users *[]string `json:"users,omitempty"` -	// The list of team slugs with push access. -	Teams *[]string `json:"teams,omitempty"` +	// 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"`  }  // ListBranches lists branches for the specified repository. @@ -567,13 +575,13 @@ func (s *RepositoriesService) ListBranches(owner string, repo string, opt *ListO  	// TODO: remove custom Accept header when this API fully launches  	req.Header.Set("Accept", mediaTypeProtectedBranchesPreview) -	branches := new([]*Branch) -	resp, err := s.client.Do(req, branches) +	var branches []*Branch +	resp, err := s.client.Do(req, &branches)  	if err != nil {  		return nil, resp, err  	} -	return *branches, resp, err +	return branches, resp, nil  }  // GetBranch gets the specified branch for a repository. @@ -595,7 +603,7 @@ func (s *RepositoriesService) GetBranch(owner, repo, branch string) (*Branch, *R  		return nil, resp, err  	} -	return b, resp, err +	return b, resp, nil  }  // GetBranchProtection gets the protection of a given branch. @@ -617,7 +625,7 @@ func (s *RepositoriesService) GetBranchProtection(owner, repo, branch string) (*  		return nil, resp, err  	} -	return p, resp, err +	return p, resp, nil  }  // UpdateBranchProtection updates the protection of a given branch. @@ -639,7 +647,7 @@ func (s *RepositoriesService) UpdateBranchProtection(owner, repo, branch string,  		return nil, resp, err  	} -	return p, resp, err +	return p, resp, nil  }  // RemoveBranchProtection removes the protection of a given branch. @@ -674,5 +682,5 @@ func (s *RepositoriesService) License(owner, repo string) (*RepositoryLicense, *  		return nil, resp, err  	} -	return r, resp, err +	return r, resp, nil  } diff --git a/vendor/github.com/google/go-github/github/repos_collaborators.go b/vendor/github.com/google/go-github/github/repos_collaborators.go index 68a9f46..a19a14a 100644 --- a/vendor/github.com/google/go-github/github/repos_collaborators.go +++ b/vendor/github.com/google/go-github/github/repos_collaborators.go @@ -22,13 +22,13 @@ func (s *RepositoriesService) ListCollaborators(owner, repo string, opt *ListOpt  		return nil, nil, err  	} -	users := new([]*User) -	resp, err := s.client.Do(req, users) +	var users []*User +	resp, err := s.client.Do(req, &users)  	if err != nil {  		return nil, resp, err  	} -	return *users, resp, err +	return users, resp, nil  }  // IsCollaborator checks whether the specified Github user has collaborator @@ -49,6 +49,35 @@ func (s *RepositoriesService) IsCollaborator(owner, repo, user string) (bool, *R  	return isCollab, resp, err  } +// RepositoryPermissionLevel represents the permission level an organization +// member has for a given repository. +type RepositoryPermissionLevel struct { +	// Possible values: "admin", "write", "read", "none" +	Permission *string `json:"permission,omitempty"` + +	User *User `json:"user,omitempty"` +} + +// 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 (s *RepositoriesService) GetPermissionLevel(owner, repo, user string) (*RepositoryPermissionLevel, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/collaborators/%v/permission", owner, repo, user) +	req, err := s.client.NewRequest("GET", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when this API fully launches. +	req.Header.Set("Accept", mediaTypeOrgMembershipPreview) + +	rpl := new(RepositoryPermissionLevel) +	resp, err := s.client.Do(req, rpl) +	if err != nil { +		return nil, resp, err +	} +	return rpl, resp, nil +} +  // RepositoryAddCollaboratorOptions specifies the optional parameters to the  // RepositoriesService.AddCollaborator method.  type RepositoryAddCollaboratorOptions struct { diff --git a/vendor/github.com/google/go-github/github/repos_comments.go b/vendor/github.com/google/go-github/github/repos_comments.go index 34a8d02..7abedc8 100644 --- a/vendor/github.com/google/go-github/github/repos_comments.go +++ b/vendor/github.com/google/go-github/github/repos_comments.go @@ -50,13 +50,13 @@ func (s *RepositoriesService) ListComments(owner, repo string, opt *ListOptions)  	// TODO: remove custom Accept header when this API fully launches.  	req.Header.Set("Accept", mediaTypeReactionsPreview) -	comments := new([]*RepositoryComment) -	resp, err := s.client.Do(req, comments) +	var comments []*RepositoryComment +	resp, err := s.client.Do(req, &comments)  	if err != nil {  		return nil, resp, err  	} -	return *comments, resp, err +	return comments, resp, nil  }  // ListCommitComments lists all the comments for a given commit SHA. @@ -77,13 +77,13 @@ func (s *RepositoriesService) ListCommitComments(owner, repo, sha string, opt *L  	// TODO: remove custom Accept header when this API fully launches.  	req.Header.Set("Accept", mediaTypeReactionsPreview) -	comments := new([]*RepositoryComment) -	resp, err := s.client.Do(req, comments) +	var comments []*RepositoryComment +	resp, err := s.client.Do(req, &comments)  	if err != nil {  		return nil, resp, err  	} -	return *comments, resp, err +	return comments, resp, nil  }  // CreateComment creates a comment for the given commit. diff --git a/vendor/github.com/google/go-github/github/repos_commits.go b/vendor/github.com/google/go-github/github/repos_commits.go index 22e8fca..bc0fbf9 100644 --- a/vendor/github.com/google/go-github/github/repos_commits.go +++ b/vendor/github.com/google/go-github/github/repos_commits.go @@ -120,13 +120,13 @@ func (s *RepositoriesService) ListCommits(owner, repo string, opt *CommitsListOp  		return nil, nil, err  	} -	commits := new([]*RepositoryCommit) -	resp, err := s.client.Do(req, commits) +	var commits []*RepositoryCommit +	resp, err := s.client.Do(req, &commits)  	if err != nil {  		return nil, resp, err  	} -	return *commits, resp, err +	return commits, resp, nil  }  // GetCommit fetches the specified commit, including all details about it. diff --git a/vendor/github.com/google/go-github/github/repos_deployments.go b/vendor/github.com/google/go-github/github/repos_deployments.go index 4b40fbe..32a9a25 100644 --- a/vendor/github.com/google/go-github/github/repos_deployments.go +++ b/vendor/github.com/google/go-github/github/repos_deployments.go @@ -73,19 +73,18 @@ func (s *RepositoriesService) ListDeployments(owner, repo string, opt *Deploymen  		return nil, nil, err  	} -	deployments := new([]*Deployment) -	resp, err := s.client.Do(req, deployments) +	var deployments []*Deployment +	resp, err := s.client.Do(req, &deployments)  	if err != nil {  		return nil, resp, err  	} -	return *deployments, resp, err +	return deployments, resp, nil  }  // GetDeployment returns a single deployment of a repository.  // -// GitHub API docs: https://developer.github.com/v3/repos/deployments/ -// Note: GetDeployment uses the undocumented GitHub API endpoint /repos/:owner/:repo/deployments/:id. +// GitHub API docs: https://developer.github.com/v3/repos/deployments/#get-a-single-deployment  func (s *RepositoriesService) GetDeployment(owner, repo string, deploymentID int) (*Deployment, *Response, error) {  	u := fmt.Sprintf("repos/%v/%v/deployments/%v", owner, repo, deploymentID) @@ -167,13 +166,36 @@ func (s *RepositoriesService) ListDeploymentStatuses(owner, repo string, deploym  		return nil, nil, err  	} -	statuses := new([]*DeploymentStatus) -	resp, err := s.client.Do(req, statuses) +	var statuses []*DeploymentStatus +	resp, err := s.client.Do(req, &statuses)  	if err != nil {  		return nil, resp, err  	} -	return *statuses, resp, err +	return statuses, resp, nil +} + +// 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 (s *RepositoriesService) GetDeploymentStatus(owner, repo string, deploymentID, deploymentStatusID int) (*DeploymentStatus, *Response, error) { +	u := fmt.Sprintf("repos/%v/%v/deployments/%v/statuses/%v", owner, repo, deploymentID, deploymentStatusID) + +	req, err := s.client.NewRequest("GET", u, nil) +	if err != nil { +		return nil, nil, err +	} + +	// TODO: remove custom Accept header when deployment support fully launches +	req.Header.Set("Accept", mediaTypeDeploymentStatusPreview) + +	d := new(DeploymentStatus) +	resp, err := s.client.Do(req, d) +	if err != nil { +		return nil, resp, err +	} + +	return d, resp, err  }  // CreateDeploymentStatus creates a new status for a deployment. diff --git a/vendor/github.com/google/go-github/github/repos_forks.go b/vendor/github.com/google/go-github/github/repos_forks.go index c88f3d3..986559d 100644 --- a/vendor/github.com/google/go-github/github/repos_forks.go +++ b/vendor/github.com/google/go-github/github/repos_forks.go @@ -32,13 +32,13 @@ func (s *RepositoriesService) ListForks(owner, repo string, opt *RepositoryListF  		return nil, nil, err  	} -	repos := new([]*Repository) -	resp, err := s.client.Do(req, repos) +	var repos []*Repository +	resp, err := s.client.Do(req, &repos)  	if err != nil {  		return nil, resp, err  	} -	return *repos, resp, err +	return repos, resp, nil  }  // RepositoryCreateForkOptions specifies the optional parameters to the diff --git a/vendor/github.com/google/go-github/github/repos_hooks.go b/vendor/github.com/google/go-github/github/repos_hooks.go index fe725b4..25f50b2 100644 --- a/vendor/github.com/google/go-github/github/repos_hooks.go +++ b/vendor/github.com/google/go-github/github/repos_hooks.go @@ -117,13 +117,13 @@ func (s *RepositoriesService) ListHooks(owner, repo string, opt *ListOptions) ([  		return nil, nil, err  	} -	hooks := new([]*Hook) -	resp, err := s.client.Do(req, hooks) +	var hooks []*Hook +	resp, err := s.client.Do(req, &hooks)  	if err != nil {  		return nil, resp, err  	} -	return *hooks, resp, err +	return hooks, resp, nil  }  // GetHook returns a single specified Hook. diff --git a/vendor/github.com/google/go-github/github/repos_keys.go b/vendor/github.com/google/go-github/github/repos_keys.go index 0bb404a..f8f4f48 100644 --- a/vendor/github.com/google/go-github/github/repos_keys.go +++ b/vendor/github.com/google/go-github/github/repos_keys.go @@ -24,13 +24,13 @@ func (s *RepositoriesService) ListKeys(owner string, repo string, opt *ListOptio  		return nil, nil, err  	} -	keys := new([]*Key) -	resp, err := s.client.Do(req, keys) +	var keys []*Key +	resp, err := s.client.Do(req, &keys)  	if err != nil {  		return nil, resp, err  	} -	return *keys, resp, err +	return keys, resp, nil  }  // GetKey fetches a single deploy key. diff --git a/vendor/github.com/google/go-github/github/repos_releases.go b/vendor/github.com/google/go-github/github/repos_releases.go index 331a4b7..72d95eb 100644 --- a/vendor/github.com/google/go-github/github/repos_releases.go +++ b/vendor/github.com/google/go-github/github/repos_releases.go @@ -76,12 +76,12 @@ func (s *RepositoriesService) ListReleases(owner, repo string, opt *ListOptions)  		return nil, nil, err  	} -	releases := new([]*RepositoryRelease) -	resp, err := s.client.Do(req, releases) +	var releases []*RepositoryRelease +	resp, err := s.client.Do(req, &releases)  	if err != nil {  		return nil, resp, err  	} -	return *releases, resp, err +	return releases, resp, nil  }  // GetRelease fetches a single release. @@ -188,12 +188,12 @@ func (s *RepositoriesService) ListReleaseAssets(owner, repo string, id int, opt  		return nil, nil, err  	} -	assets := new([]*ReleaseAsset) -	resp, err := s.client.Do(req, assets) +	var assets []*ReleaseAsset +	resp, err := s.client.Do(req, &assets)  	if err != nil { -		return nil, resp, nil +		return nil, resp, err  	} -	return *assets, resp, err +	return assets, resp, nil  }  // GetReleaseAsset fetches a single release asset. @@ -210,7 +210,7 @@ func (s *RepositoriesService) GetReleaseAsset(owner, repo string, id int) (*Rele  	asset := new(ReleaseAsset)  	resp, err := s.client.Do(req, asset)  	if err != nil { -		return nil, resp, nil +		return nil, resp, err  	}  	return asset, resp, err  } @@ -248,7 +248,7 @@ func (s *RepositoriesService) DownloadReleaseAsset(owner, repo string, id int) (  		if !strings.Contains(err.Error(), "disable redirect") {  			return nil, "", err  		} -		return nil, loc, nil +		return nil, loc, nil // Intentionally return no error with valid redirect URL.  	}  	if err := CheckResponse(resp); err != nil { diff --git a/vendor/github.com/google/go-github/github/repos_statuses.go b/vendor/github.com/google/go-github/github/repos_statuses.go index 6478ee2..1056eee 100644 --- a/vendor/github.com/google/go-github/github/repos_statuses.go +++ b/vendor/github.com/google/go-github/github/repos_statuses.go @@ -54,13 +54,13 @@ func (s *RepositoriesService) ListStatuses(owner, repo, ref string, opt *ListOpt  		return nil, nil, err  	} -	statuses := new([]*RepoStatus) -	resp, err := s.client.Do(req, statuses) +	var statuses []*RepoStatus +	resp, err := s.client.Do(req, &statuses)  	if err != nil {  		return nil, resp, err  	} -	return *statuses, resp, err +	return statuses, resp, nil  }  // CreateStatus creates a new status for a repository at the specified diff --git a/vendor/github.com/google/go-github/github/repos_traffic.go b/vendor/github.com/google/go-github/github/repos_traffic.go index 9688b58..0713c73 100644 --- a/vendor/github.com/google/go-github/github/repos_traffic.go +++ b/vendor/github.com/google/go-github/github/repos_traffic.go @@ -60,16 +60,13 @@ func (s *RepositoriesService) ListTrafficReferrers(owner, repo string) ([]*Traff  		return nil, nil, err  	} -	// TODO: remove custom Accept header when this API fully launches. -	req.Header.Set("Accept", mediaTypeTrafficPreview) - -	trafficReferrers := new([]*TrafficReferrer) +	var trafficReferrers []*TrafficReferrer  	resp, err := s.client.Do(req, &trafficReferrers)  	if err != nil {  		return nil, resp, err  	} -	return *trafficReferrers, resp, err +	return trafficReferrers, resp, nil  }  // ListTrafficPaths list the top 10 popular content over the last 14 days. @@ -83,16 +80,13 @@ func (s *RepositoriesService) ListTrafficPaths(owner, repo string) ([]*TrafficPa  		return nil, nil, err  	} -	// TODO: remove custom Accept header when this API fully launches. -	req.Header.Set("Accept", mediaTypeTrafficPreview) - -	var paths = new([]*TrafficPath) +	var paths []*TrafficPath  	resp, err := s.client.Do(req, &paths)  	if err != nil {  		return nil, resp, err  	} -	return *paths, resp, err +	return paths, resp, nil  }  // ListTrafficViews get total number of views for the last 14 days and breaks it down either per day or week. @@ -110,9 +104,6 @@ func (s *RepositoriesService) ListTrafficViews(owner, repo string, opt *TrafficB  		return nil, nil, err  	} -	// TODO: remove custom Accept header when this API fully launches. -	req.Header.Set("Accept", mediaTypeTrafficPreview) -  	trafficViews := new(TrafficViews)  	resp, err := s.client.Do(req, &trafficViews)  	if err != nil { @@ -137,9 +128,6 @@ func (s *RepositoriesService) ListTrafficClones(owner, repo string, opt *Traffic  		return nil, nil, err  	} -	// TODO: remove custom Accept header when this API fully launches. -	req.Header.Set("Accept", mediaTypeTrafficPreview) -  	trafficClones := new(TrafficClones)  	resp, err := s.client.Do(req, &trafficClones)  	if err != nil { diff --git a/vendor/github.com/google/go-github/github/search.go b/vendor/github.com/google/go-github/github/search.go index 579a57d..8fd9430 100644 --- a/vendor/github.com/google/go-github/github/search.go +++ b/vendor/github.com/google/go-github/github/search.go @@ -21,6 +21,7 @@ type SearchService service  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 @@ -54,6 +55,37 @@ func (s *SearchService) Repositories(query string, opt *SearchOptions) (*Reposit  	return result, resp, err  } +// CommitsSearchResult represents the result of a commits search. +type CommitsSearchResult struct { +	Total             *int            `json:"total_count,omitempty"` +	IncompleteResults *bool           `json:"incomplete_results,omitempty"` +	Commits           []*CommitResult `json:"items,omitempty"` +} + +// CommitResult represents a commit object as returned in commit search endpoint response. +type CommitResult struct { +	Hash           *string     `json:"hash,omitempty"` +	Message        *string     `json:"message,omitempty"` +	AuthorID       *int        `json:"author_id,omitempty"` +	AuthorName     *string     `json:"author_name,omitempty"` +	AuthorEmail    *string     `json:"author_email,omitempty"` +	AuthorDate     *Timestamp  `json:"author_date,omitempty"` +	CommitterID    *int        `json:"committer_id,omitempty"` +	CommitterName  *string     `json:"committer_name,omitempty"` +	CommitterEmail *string     `json:"committer_email,omitempty"` +	CommitterDate  *Timestamp  `json:"committer_date,omitempty"` +	Repository     *Repository `json:"repository,omitempty"` +} + +// Commits searches commits via various criteria. +// +// GitHub API Docs: https://developer.github.com/v3/search/#search-commits +func (s *SearchService) Commits(query string, opt *SearchOptions) (*CommitsSearchResult, *Response, error) { +	result := new(CommitsSearchResult) +	resp, err := s.search("commits", query, opt, result) +	return result, resp, err +} +  // IssuesSearchResult represents the result of an issues search.  type IssuesSearchResult struct {  	Total             *int    `json:"total_count,omitempty"` @@ -136,7 +168,7 @@ func (s *SearchService) Code(query string, opt *SearchOptions) (*CodeSearchResul  }  // Helper function that executes search queries against different -// GitHub search types (repositories, code, issues, users) +// GitHub search types (repositories, commits, code, issues, users)  func (s *SearchService) search(searchType string, query string, opt *SearchOptions, result interface{}) (*Response, error) {  	params, err := qs.Values(opt)  	if err != nil { @@ -150,7 +182,12 @@ func (s *SearchService) search(searchType string, query string, opt *SearchOptio  		return nil, err  	} -	if opt != nil && opt.TextMatch { +	switch { +	case searchType == "commits": +		// Accept header for search commits preview endpoint +		// TODO: remove custom Accept header when this API fully launches. +		req.Header.Set("Accept", mediaTypeCommitSearchPreview) +	case opt != nil && opt.TextMatch:  		// Accept header defaults to "application/vnd.github.v3+json"  		// We change it here to fetch back text-match metadata  		req.Header.Set("Accept", "application/vnd.github.v3.text-match+json") diff --git a/vendor/github.com/google/go-github/github/users.go b/vendor/github.com/google/go-github/github/users.go index 8f63746..cd305a9 100644 --- a/vendor/github.com/google/go-github/github/users.go +++ b/vendor/github.com/google/go-github/github/users.go @@ -156,13 +156,13 @@ func (s *UsersService) ListAll(opt *UserListOptions) ([]*User, *Response, error)  		return nil, nil, err  	} -	users := new([]*User) -	resp, err := s.client.Do(req, users) +	var users []*User +	resp, err := s.client.Do(req, &users)  	if err != nil {  		return nil, resp, err  	} -	return *users, resp, err +	return users, resp, nil  }  // ListInvitations lists all currently-open repository invitations for the diff --git a/vendor/github.com/google/go-github/github/users_emails.go b/vendor/github.com/google/go-github/github/users_emails.go index e4a5898..4785946 100644 --- a/vendor/github.com/google/go-github/github/users_emails.go +++ b/vendor/github.com/google/go-github/github/users_emails.go @@ -27,13 +27,13 @@ func (s *UsersService) ListEmails(opt *ListOptions) ([]*UserEmail, *Response, er  		return nil, nil, err  	} -	emails := new([]*UserEmail) -	resp, err := s.client.Do(req, emails) +	var emails []*UserEmail +	resp, err := s.client.Do(req, &emails)  	if err != nil {  		return nil, resp, err  	} -	return *emails, resp, err +	return emails, resp, nil  }  // AddEmails adds email addresses of the authenticated user. @@ -46,13 +46,13 @@ func (s *UsersService) AddEmails(emails []string) ([]*UserEmail, *Response, erro  		return nil, nil, err  	} -	e := new([]*UserEmail) -	resp, err := s.client.Do(req, e) +	var e []*UserEmail +	resp, err := s.client.Do(req, &e)  	if err != nil {  		return nil, resp, err  	} -	return *e, resp, err +	return e, resp, nil  }  // DeleteEmails deletes email addresses from authenticated user. diff --git a/vendor/github.com/google/go-github/github/users_followers.go b/vendor/github.com/google/go-github/github/users_followers.go index 38a1662..123b1c1 100644 --- a/vendor/github.com/google/go-github/github/users_followers.go +++ b/vendor/github.com/google/go-github/github/users_followers.go @@ -28,13 +28,13 @@ func (s *UsersService) ListFollowers(user string, opt *ListOptions) ([]*User, *R  		return nil, nil, err  	} -	users := new([]*User) -	resp, err := s.client.Do(req, users) +	var users []*User +	resp, err := s.client.Do(req, &users)  	if err != nil {  		return nil, resp, err  	} -	return *users, resp, err +	return users, resp, nil  }  // ListFollowing lists the people that a user is following.  Passing the empty @@ -58,13 +58,13 @@ func (s *UsersService) ListFollowing(user string, opt *ListOptions) ([]*User, *R  		return nil, nil, err  	} -	users := new([]*User) -	resp, err := s.client.Do(req, users) +	var users []*User +	resp, err := s.client.Do(req, &users)  	if err != nil {  		return nil, resp, err  	} -	return *users, resp, err +	return users, resp, nil  }  // IsFollowing checks if "user" is following "target".  Passing the empty diff --git a/vendor/github.com/google/go-github/github/users_keys.go b/vendor/github.com/google/go-github/github/users_keys.go index e4c255f..59b1dc2 100644 --- a/vendor/github.com/google/go-github/github/users_keys.go +++ b/vendor/github.com/google/go-github/github/users_keys.go @@ -41,13 +41,13 @@ func (s *UsersService) ListKeys(user string, opt *ListOptions) ([]*Key, *Respons  		return nil, nil, err  	} -	keys := new([]*Key) -	resp, err := s.client.Do(req, keys) +	var keys []*Key +	resp, err := s.client.Do(req, &keys)  	if err != nil {  		return nil, resp, err  	} -	return *keys, resp, err +	return keys, resp, nil  }  // GetKey fetches a single public key. | 
