 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- func AddReview(client *Client, pr *PullRequest, input *PullRequestReviewInput) error
- func BranchDeleteRemote(client *Client, repo ghrepo.Interface, branch string) error
- func CurrentLoginName(client *Client) (string, error)
- func IssueClose(client *Client, repo ghrepo.Interface, issue Issue) error
- func IssueReopen(client *Client, repo ghrepo.Interface, issue Issue) error
- func NewHTTPClient(opts ...ClientOption) *http.Client
- func PullRequestClose(client *Client, repo ghrepo.Interface, pr *PullRequest) error
- func PullRequestMerge(client *Client, repo ghrepo.Interface, pr *PullRequest, ...) error
- func PullRequestReady(client *Client, repo ghrepo.Interface, pr *PullRequest) error
- func PullRequestReopen(client *Client, repo ghrepo.Interface, pr *PullRequest) error
- func RepoDefaultBranch(client *Client, repo ghrepo.Interface) (string, error)
- func RepoParent(client *Client, repo ghrepo.Interface) (ghrepo.Interface, error)
- type Client
- func (c Client) GraphQL(query string, variables map[string]interface{}, data interface{}) error
- func (c Client) HasScopes(wantedScopes ...string) (bool, string, error)
- func (c Client) PullRequestDiff(baseRepo ghrepo.Interface, prNumber int) (string, error)
- func (c Client) REST(method string, p string, body io.Reader, data interface{}) error
 
- type ClientOption
- func AddHeader(name, value string) ClientOption
- func AddHeaderFunc(name string, value func() string) ClientOption
- func CheckScopes(wantedScope string, cb func(string) error) ClientOption
- func ReplaceTripper(tr http.RoundTripper) ClientOption
- func VerboseLog(out io.Writer, logTraffic bool, colorize bool) ClientOption
 
- type Gist
- type GistFile
- type GistFilename
- type GraphQLError
- type GraphQLErrorResponse
- type HTTPError
- type Issue
- type IssuesAndTotalCount
- type IssuesDisabledError
- type IssuesPayload
- type NotFoundError
- type OrgTeam
- type PullRequest
- func CreatePullRequest(client *Client, repo *Repository, params map[string]interface{}) (*PullRequest, error)
- func PullRequestByNumber(client *Client, repo ghrepo.Interface, number int) (*PullRequest, error)
- func PullRequestForBranch(client *Client, repo ghrepo.Interface, baseBranch, headBranch string) (*PullRequest, error)
 
- type PullRequestAndTotalCount
- type PullRequestChecksStatus
- type PullRequestMergeMethod
- type PullRequestReviewInput
- type PullRequestReviewState
- type PullRequestReviewStatus
- type PullRequestsPayload
- type RepoAssignee
- type RepoLabel
- type RepoMetadataInput
- type RepoMetadataResult
- func (m *RepoMetadataResult) LabelsToIDs(names []string) ([]string, error)
- func (m *RepoMetadataResult) MembersToIDs(names []string) ([]string, error)
- func (m *RepoMetadataResult) MilestoneToID(title string) (string, error)
- func (m *RepoMetadataResult) ProjectsToIDs(names []string) ([]string, error)
- func (m *RepoMetadataResult) TeamsToIDs(names []string) ([]string, error)
 
- type RepoMilestone
- type RepoNetworkResult
- type RepoProject
- type RepoResolveInput
- type Repository
- type RepositoryOwner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddReview ¶ added in v0.8.0
func AddReview(client *Client, pr *PullRequest, input *PullRequestReviewInput) error
func BranchDeleteRemote ¶ added in v0.9.0
func CurrentLoginName ¶ added in v0.10.0
func IssueClose ¶ added in v0.8.0
func IssueReopen ¶ added in v0.8.0
func NewHTTPClient ¶ added in v0.10.0
func NewHTTPClient(opts ...ClientOption) *http.Client
NewHTTPClient initializes an http.Client
func PullRequestClose ¶ added in v0.8.0
func PullRequestClose(client *Client, repo ghrepo.Interface, pr *PullRequest) error
func PullRequestMerge ¶ added in v0.9.0
func PullRequestMerge(client *Client, repo ghrepo.Interface, pr *PullRequest, m PullRequestMergeMethod) error
func PullRequestReady ¶ added in v0.9.0
func PullRequestReady(client *Client, repo ghrepo.Interface, pr *PullRequest) error
func PullRequestReopen ¶ added in v0.8.0
func PullRequestReopen(client *Client, repo ghrepo.Interface, pr *PullRequest) error
func RepoDefaultBranch ¶ added in v0.11.0
Types ¶
type Client ¶
type Client struct {
	// contains filtered or unexported fields
}
    Client facilitates making HTTP requests to the GitHub API
func NewClientFromHTTP ¶ added in v0.11.1
NewClientFromHTTP takes in an http.Client instance
func (Client) HasScopes ¶ added in v0.9.0
Returns whether or not scopes are present, appID, and error
func (Client) PullRequestDiff ¶ added in v0.9.0
type ClientOption ¶
type ClientOption = func(http.RoundTripper) http.RoundTripper
ClientOption represents an argument to NewClient
func AddHeader ¶
func AddHeader(name, value string) ClientOption
AddHeader turns a RoundTripper into one that adds a request header
func AddHeaderFunc ¶ added in v0.8.0
func AddHeaderFunc(name string, value func() string) ClientOption
AddHeaderFunc is an AddHeader that gets the string value from a function
func CheckScopes ¶ added in v0.8.0
func CheckScopes(wantedScope string, cb func(string) error) ClientOption
CheckScopes checks whether an OAuth scope is present in a response
func ReplaceTripper ¶
func ReplaceTripper(tr http.RoundTripper) ClientOption
ReplaceTripper substitutes the underlying RoundTripper with a custom one
func VerboseLog ¶
func VerboseLog(out io.Writer, logTraffic bool, colorize bool) ClientOption
VerboseLog enables request/response logging within a RoundTripper
type Gist ¶ added in v0.9.0
type Gist struct {
	Description string                    `json:"description,omitempty"`
	Public      bool                      `json:"public,omitempty"`
	Files       map[GistFilename]GistFile `json:"files,omitempty"`
	HTMLURL     string                    `json:"html_url,omitempty"`
}
    Gist represents a GitHub's gist.
func GistCreate ¶ added in v0.9.0
func GistCreate(client *Client, description string, public bool, files map[string]string) (*Gist, error)
Create a gist for authenticated user.
GitHub API docs: https://developer.github.com/v3/gists/#create-a-gist
type GistFilename ¶ added in v0.9.0
type GistFilename string
type GraphQLError ¶
GraphQLError is a single error returned in a GraphQL response
type GraphQLErrorResponse ¶
type GraphQLErrorResponse struct {
	Errors []GraphQLError
}
    GraphQLErrorResponse contains errors returned in a GraphQL response
func (GraphQLErrorResponse) Error ¶
func (gr GraphQLErrorResponse) Error() string
type Issue ¶
type Issue struct {
	ID        string
	Number    int
	Title     string
	URL       string
	State     string
	Closed    bool
	Body      string
	CreatedAt time.Time
	UpdatedAt time.Time
	Comments  struct {
		TotalCount int
	}
	Author struct {
		Login string
	}
	Assignees struct {
		Nodes []struct {
			Login string
		}
		TotalCount int
	}
	Labels struct {
		Nodes []struct {
			Name string
		}
		TotalCount int
	}
	ProjectCards struct {
		Nodes []struct {
			Project struct {
				Name string
			}
			Column struct {
				Name string
			}
		}
		TotalCount int
	}
	Milestone struct {
		Title string
	}
}
    Ref. https://developer.github.com/v4/object/issue/
func IssueByNumber ¶
func IssueCreate ¶
func IssueCreate(client *Client, repo *Repository, params map[string]interface{}) (*Issue, error)
IssueCreate creates an issue in a GitHub repository
type IssuesAndTotalCount ¶
type IssuesDisabledError ¶ added in v0.8.0
type IssuesDisabledError struct {
	// contains filtered or unexported fields
}
    type IssuesPayload ¶
type IssuesPayload struct {
	Assigned  IssuesAndTotalCount
	Mentioned IssuesAndTotalCount
	Authored  IssuesAndTotalCount
}
    func IssueStatus ¶
type NotFoundError ¶
type NotFoundError struct {
	// contains filtered or unexported fields
}
    func (*NotFoundError) Unwrap ¶ added in v0.11.1
func (err *NotFoundError) Unwrap() error
type PullRequest ¶
type PullRequest struct {
	ID          string
	Number      int
	Title       string
	State       string
	Closed      bool
	URL         string
	BaseRefName string
	HeadRefName string
	Body        string
	Mergeable   string
	Author struct {
		Login string
	}
	HeadRepositoryOwner struct {
		Login string
	}
	HeadRepository struct {
		Name             string
		DefaultBranchRef struct {
			Name string
		}
	}
	IsCrossRepository   bool
	IsDraft             bool
	MaintainerCanModify bool
	ReviewDecision string
	Commits struct {
		TotalCount int
		Nodes      []struct {
			Commit struct {
				StatusCheckRollup struct {
					Contexts struct {
						Nodes []struct {
							State      string
							Status     string
							Conclusion string
						}
					}
				}
			}
		}
	}
	ReviewRequests struct {
		Nodes []struct {
			RequestedReviewer struct {
				TypeName string `json:"__typename"`
				Login    string
				Name     string
			}
		}
		TotalCount int
	}
	Reviews struct {
		Nodes []struct {
			Author struct {
				Login string
			}
			State string
		}
	}
	Assignees struct {
		Nodes []struct {
			Login string
		}
		TotalCount int
	}
	Labels struct {
		Nodes []struct {
			Name string
		}
		TotalCount int
	}
	ProjectCards struct {
		Nodes []struct {
			Project struct {
				Name string
			}
			Column struct {
				Name string
			}
		}
		TotalCount int
	}
	Milestone struct {
		Title string
	}
}
    func CreatePullRequest ¶
func CreatePullRequest(client *Client, repo *Repository, params map[string]interface{}) (*PullRequest, error)
CreatePullRequest creates a pull request in a GitHub repository
func PullRequestByNumber ¶
func PullRequestForBranch ¶
func (*PullRequest) ChecksStatus ¶
func (pr *PullRequest) ChecksStatus() (summary PullRequestChecksStatus)
func (PullRequest) HeadLabel ¶
func (pr PullRequest) HeadLabel() string
func (*PullRequest) ReviewStatus ¶
func (pr *PullRequest) ReviewStatus() PullRequestReviewStatus
type PullRequestAndTotalCount ¶
type PullRequestAndTotalCount struct {
	TotalCount   int
	PullRequests []PullRequest
}
    func PullRequestList ¶
func PullRequestList(client *Client, vars map[string]interface{}, limit int) (*PullRequestAndTotalCount, error)
type PullRequestChecksStatus ¶
type PullRequestMergeMethod ¶ added in v0.9.0
type PullRequestMergeMethod int
const ( PullRequestMergeMethodMerge PullRequestMergeMethod = iota PullRequestMergeMethodRebase PullRequestMergeMethodSquash )
type PullRequestReviewInput ¶ added in v0.8.0
type PullRequestReviewInput struct {
	Body  string
	State PullRequestReviewState
}
    type PullRequestReviewState ¶ added in v0.8.0
type PullRequestReviewState int
const ( ReviewApprove PullRequestReviewState = iota ReviewRequestChanges ReviewComment )
type PullRequestReviewStatus ¶
type PullRequestsPayload ¶
type PullRequestsPayload struct {
	ViewerCreated   PullRequestAndTotalCount
	ReviewRequested PullRequestAndTotalCount
	CurrentPR       *PullRequest
	DefaultBranch   string
}
    func PullRequests ¶
type RepoAssignee ¶ added in v0.8.0
func RepoAssignableUsers ¶ added in v0.8.0
func RepoAssignableUsers(client *Client, repo ghrepo.Interface) ([]RepoAssignee, error)
RepoAssignableUsers fetches all the assignable users for a repository
type RepoMetadataInput ¶ added in v0.8.0
type RepoMetadataResult ¶ added in v0.8.0
type RepoMetadataResult struct {
	AssignableUsers []RepoAssignee
	Labels          []RepoLabel
	Projects        []RepoProject
	Milestones      []RepoMilestone
	Teams           []OrgTeam
}
    func RepoMetadata ¶ added in v0.8.0
func RepoMetadata(client *Client, repo ghrepo.Interface, input RepoMetadataInput) (*RepoMetadataResult, error)
RepoMetadata pre-fetches the metadata for attaching to issues and pull requests
func RepoResolveMetadataIDs ¶ added in v0.9.0
func RepoResolveMetadataIDs(client *Client, repo ghrepo.Interface, input RepoResolveInput) (*RepoMetadataResult, error)
RepoResolveMetadataIDs looks up GraphQL node IDs in bulk
func (*RepoMetadataResult) LabelsToIDs ¶ added in v0.8.0
func (m *RepoMetadataResult) LabelsToIDs(names []string) ([]string, error)
func (*RepoMetadataResult) MembersToIDs ¶ added in v0.8.0
func (m *RepoMetadataResult) MembersToIDs(names []string) ([]string, error)
func (*RepoMetadataResult) MilestoneToID ¶ added in v0.8.0
func (m *RepoMetadataResult) MilestoneToID(title string) (string, error)
func (*RepoMetadataResult) ProjectsToIDs ¶ added in v0.8.0
func (m *RepoMetadataResult) ProjectsToIDs(names []string) ([]string, error)
func (*RepoMetadataResult) TeamsToIDs ¶ added in v0.8.0
func (m *RepoMetadataResult) TeamsToIDs(names []string) ([]string, error)
type RepoMilestone ¶ added in v0.8.0
func RepoMilestones ¶ added in v0.8.0
func RepoMilestones(client *Client, repo ghrepo.Interface) ([]RepoMilestone, error)
RepoMilestones fetches all open milestones in a repository
type RepoNetworkResult ¶
type RepoNetworkResult struct {
	ViewerLogin  string
	Repositories []*Repository
}
    RepoNetworkResult describes the relationship between related repositories
func RepoNetwork ¶
func RepoNetwork(client *Client, repos []ghrepo.Interface) (RepoNetworkResult, error)
RepoNetwork inspects the relationship between multiple GitHub repositories
type RepoProject ¶ added in v0.8.0
func OrganizationProjects ¶ added in v0.8.0
func OrganizationProjects(client *Client, owner string) ([]RepoProject, error)
OrganizationProjects fetches all open projects for an organization
func RepoProjects ¶ added in v0.8.0
func RepoProjects(client *Client, repo ghrepo.Interface) ([]RepoProject, error)
RepoProjects fetches all open projects for a repository
type RepoResolveInput ¶ added in v0.9.0
type Repository ¶
type Repository struct {
	ID          string
	Name        string
	Description string
	URL         string
	CloneURL    string
	CreatedAt   time.Time
	Owner       RepositoryOwner
	IsPrivate        bool
	HasIssuesEnabled bool
	ViewerPermission string
	DefaultBranchRef struct {
		Name string
	}
	Parent *Repository
	// contains filtered or unexported fields
}
    Repository contains information about a GitHub repo
func ForkRepo ¶
func ForkRepo(client *Client, repo ghrepo.Interface) (*Repository, error)
ForkRepo forks the repository on GitHub and returns the new repository
func GitHubRepo ¶
func GitHubRepo(client *Client, repo ghrepo.Interface) (*Repository, error)
func InitRepoHostname ¶ added in v0.11.1
func InitRepoHostname(repo *Repository, hostname string) *Repository
func RepoFindFork ¶ added in v0.6.3
func RepoFindFork(client *Client, repo ghrepo.Interface) (*Repository, error)
RepoFindFork finds a fork of repo affiliated with the viewer
func (Repository) IsFork ¶
func (r Repository) IsFork() bool
IsFork is true when this repository has a parent repository
func (Repository) RepoHost ¶ added in v0.11.0
func (r Repository) RepoHost() string
RepoHost is the GitHub hostname of the repository
func (Repository) RepoName ¶
func (r Repository) RepoName() string
RepoName is the name of the repository
func (Repository) RepoOwner ¶
func (r Repository) RepoOwner() string
RepoOwner is the login name of the owner
func (Repository) ViewerCanPush ¶
func (r Repository) ViewerCanPush() bool
ViewerCanPush is true when the requesting user has push access
func (Repository) ViewerCanTriage ¶ added in v0.8.0
func (r Repository) ViewerCanTriage() bool
ViewerCanTriage is true when the requesting user can triage issues and pull requests
type RepositoryOwner ¶
type RepositoryOwner struct {
	Login string
}
    RepositoryOwner is the owner of a GitHub repository