Documentation
¶
Index ¶
- Constants
- Variables
- func CaptureCrash()
- func DefaultGitHubHost() string
- func FormatError(action string, err error) (ee error)
- func GetIssueTemplate() string
- func GetPullRequestTemplate() string
- func IsHttpsProtocol() bool
- func SanitizeProjectName(name string) string
- type AuthError
- type Branch
- func (b *Branch) IsMaster() bool
- func (b *Branch) IsRemote() bool
- func (b *Branch) LongName() string
- func (b *Branch) PushTarget(owner string, preferUpstream bool) (branch *Branch)
- func (b *Branch) RemoteName() string
- func (b *Branch) ShortName() string
- func (b *Branch) Upstream() (u *Branch, err error)
- type CIStatus
- type CIStatusResponse
- type Client
- func (client *Client) CommitPatch(project *Project, sha string) (patch io.ReadCloser, err error)
- func (client *Client) CreateIssue(project *Project, params interface{}) (issue *Issue, err error)
- func (client *Client) CreatePullRequest(project *Project, params map[string]interface{}) (pr *PullRequest, err error)
- func (client *Client) CreateRelease(project *Project, releaseParams *Release) (release *Release, err error)
- func (client *Client) CreateRepository(project *Project, description, homepage string, isPrivate bool) (repo *octokit.Repository, err error)
- func (client *Client) CurrentUser() (user *octokit.User, err error)
- func (client *Client) DeleteReleaseAsset(asset *ReleaseAsset) (err error)
- func (client *Client) DownloadReleaseAsset(url string) (asset io.ReadCloser, err error)
- func (client *Client) EditRelease(release *Release, releaseParams map[string]interface{}) (updatedRelease *Release, err error)
- func (client *Client) FetchCIStatus(project *Project, sha string) (status *CIStatusResponse, err error)
- func (client *Client) FetchIssues(project *Project, filterParams map[string]interface{}) (issues []Issue, err error)
- func (client *Client) FetchRelease(project *Project, tagName string) (foundRelease *Release, err error)
- func (client *Client) FetchReleases(project *Project) (response []Release, err error)
- func (client *Client) FindOrCreateToken(user, password, twoFactorCode string) (token string, err error)
- func (client *Client) ForkRepository(project *Project) (repo *Repository, err error)
- func (client *Client) GhLatestTagName() (tagName string, err error)
- func (client *Client) GistPatch(id string) (patch io.ReadCloser, err error)
- func (client *Client) IsRepositoryExist(project *Project) bool
- func (client *Client) PullRequest(project *Project, id string) (pr *PullRequest, err error)
- func (client *Client) PullRequestPatch(project *Project, id string) (patch io.ReadCloser, err error)
- func (client *Client) Repository(project *Project) (repo *octokit.Repository, err error)
- func (client *Client) UpdateIssue(project *Project, issueNumber int, params map[string]interface{}) (err error)
- func (client *Client) UploadReleaseAsset(release *Release, filename, label string) (asset *ReleaseAsset, err error)
- type Config
- func (c *Config) DefaultHost() (host *Host, err error)
- func (c *Config) DetectToken() string
- func (c *Config) Find(host string) *Host
- func (c *Config) PromptForHost(host string) (h *Host, err error)
- func (c *Config) PromptForOTP() string
- func (c *Config) PromptForPassword(host, user string) (pass string)
- func (c *Config) PromptForUser(host string) (user string)
- type Editor
- type GitHubRepo
- func (r *GitHubRepo) CurrentBranch() (branch *Branch, err error)
- func (r *GitHubRepo) CurrentProject() (project *Project, err error)
- func (r *GitHubRepo) MainProject() (project *Project, err error)
- func (r *GitHubRepo) MainRemote() (remote *Remote, err error)
- func (r *GitHubRepo) MasterBranch() (branch *Branch)
- func (r *GitHubRepo) OriginRemote() (remote *Remote, err error)
- func (r *GitHubRepo) RemoteBranchAndProject(owner string, preferUpstream bool) (branch *Branch, project *Project, err error)
- func (r *GitHubRepo) RemoteByName(name string) (*Remote, error)
- func (r *GitHubRepo) RemoteForRepo(repo *Repository) (*Remote, error)
- func (r *GitHubRepo) UpstreamProject() (project *Project, err error)
- type GithubHostError
- type Host
- type Issue
- type IssueLabel
- type Milestone
- type Project
- type PullRequest
- type PullRequestSpec
- type Release
- type ReleaseAsset
- type Remote
- type Repository
- type RepositoryPermissions
- type URL
- type User
Constants ¶
View Source
const ( GitHubHost string = "github.com" GitHubApiHost string = "api.github.com" OAuthAppURL string = "http://hub.github.com/" )
Variables ¶
View Source
var (
GitHubHostEnv = os.Getenv("GITHUB_HOST")
)
View Source
var (
OriginNamesInLookupOrder = []string{"upstream", "github", "origin"}
)
View Source
var UserAgent = "Hub " + version.Version
Functions ¶
func CaptureCrash ¶
func CaptureCrash()
func DefaultGitHubHost ¶
func DefaultGitHubHost() string
func FormatError ¶
func GetIssueTemplate ¶
func GetIssueTemplate() string
func GetPullRequestTemplate ¶
func GetPullRequestTemplate() string
func IsHttpsProtocol ¶
func IsHttpsProtocol() bool
func SanitizeProjectName ¶
Types ¶
type AuthError ¶
type AuthError struct {
Err error
}
func (*AuthError) IsDuplicatedTokenError ¶
func (*AuthError) IsRequired2FACodeError ¶
type Branch ¶
type Branch struct {
Repo *GitHubRepo
Name string
}
func (*Branch) PushTarget ¶
func (*Branch) RemoteName ¶
type CIStatusResponse ¶
type Client ¶
type Client struct {
Host *Host
}
func NewClientWithHost ¶
func (*Client) CommitPatch ¶
func (*Client) CreateIssue ¶
func (*Client) CreatePullRequest ¶
func (client *Client) CreatePullRequest(project *Project, params map[string]interface{}) (pr *PullRequest, err error)
func (*Client) CreateRelease ¶
func (*Client) CreateRepository ¶
func (*Client) DeleteReleaseAsset ¶
func (client *Client) DeleteReleaseAsset(asset *ReleaseAsset) (err error)
func (*Client) DownloadReleaseAsset ¶
func (client *Client) DownloadReleaseAsset(url string) (asset io.ReadCloser, err error)
func (*Client) EditRelease ¶
func (*Client) FetchCIStatus ¶
func (client *Client) FetchCIStatus(project *Project, sha string) (status *CIStatusResponse, err error)
func (*Client) FetchIssues ¶
func (*Client) FetchRelease ¶
func (*Client) FetchReleases ¶
func (*Client) FindOrCreateToken ¶
func (*Client) ForkRepository ¶
func (client *Client) ForkRepository(project *Project) (repo *Repository, err error)
func (*Client) GhLatestTagName ¶
func (*Client) GistPatch ¶
func (client *Client) GistPatch(id string) (patch io.ReadCloser, err error)
func (*Client) IsRepositoryExist ¶
func (*Client) PullRequest ¶
func (client *Client) PullRequest(project *Project, id string) (pr *PullRequest, err error)
func (*Client) PullRequestPatch ¶
func (*Client) Repository ¶
func (client *Client) Repository(project *Project) (repo *octokit.Repository, err error)
func (*Client) UpdateIssue ¶
func (*Client) UploadReleaseAsset ¶
func (client *Client) UploadReleaseAsset(release *Release, filename, label string) (asset *ReleaseAsset, err error)
type Config ¶
type Config struct {
Hosts []*Host `toml:"hosts"`
}
func CreateTestConfigs ¶
Public for testing purpose
func CurrentConfig ¶
func CurrentConfig() *Config
func (*Config) DefaultHost ¶
func (*Config) DetectToken ¶
func (*Config) PromptForOTP ¶
func (*Config) PromptForPassword ¶
func (*Config) PromptForUser ¶
type Editor ¶
type Editor struct {
Program string
Topic string
File string
Message string
CS string
// contains filtered or unexported fields
}
func (*Editor) DeleteFile ¶
func (*Editor) EditTitleAndBody ¶
type GitHubRepo ¶
type GitHubRepo struct {
// contains filtered or unexported fields
}
func LocalRepo ¶
func LocalRepo() (repo *GitHubRepo, err error)
func (*GitHubRepo) CurrentBranch ¶
func (r *GitHubRepo) CurrentBranch() (branch *Branch, err error)
func (*GitHubRepo) CurrentProject ¶
func (r *GitHubRepo) CurrentProject() (project *Project, err error)
func (*GitHubRepo) MainProject ¶
func (r *GitHubRepo) MainProject() (project *Project, err error)
func (*GitHubRepo) MainRemote ¶
func (r *GitHubRepo) MainRemote() (remote *Remote, err error)
func (*GitHubRepo) MasterBranch ¶
func (r *GitHubRepo) MasterBranch() (branch *Branch)
func (*GitHubRepo) OriginRemote ¶
func (r *GitHubRepo) OriginRemote() (remote *Remote, err error)
func (*GitHubRepo) RemoteBranchAndProject ¶
func (*GitHubRepo) RemoteByName ¶
func (r *GitHubRepo) RemoteByName(name string) (*Remote, error)
func (*GitHubRepo) RemoteForRepo ¶
func (r *GitHubRepo) RemoteForRepo(repo *Repository) (*Remote, error)
func (*GitHubRepo) UpstreamProject ¶
func (r *GitHubRepo) UpstreamProject() (project *Project, err error)
type GithubHostError ¶
type GithubHostError struct {
// contains filtered or unexported fields
}
func (*GithubHostError) Error ¶
func (e *GithubHostError) Error() string
type Issue ¶
type Issue struct {
Number int `json:"number"`
State string `json:"state"`
Title string `json:"title"`
Body string `json:"body"`
User *User `json:"user"`
Assignees []User `json:"assignees"`
Labels []IssueLabel `json:"labels"`
PullRequest *PullRequest `json:"pull_request"`
HtmlUrl string `json:"html_url"`
Comments int `json:"comments"`
Milestone *Milestone `json:"milestone"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type IssueLabel ¶
type Project ¶
func NewProject ¶
type PullRequest ¶
type PullRequest struct {
ApiUrl string `json:"url"`
Number int `json:"number"`
HtmlUrl string `json:"html_url"`
Title string `json:"title"`
Head *PullRequestSpec `json:"head"`
Base *PullRequestSpec `json:"base"`
}
func (*PullRequest) IsSameRepo ¶
func (pr *PullRequest) IsSameRepo() bool
type PullRequestSpec ¶
type PullRequestSpec struct {
Label string `json:"label"`
Ref string `json:"ref"`
Sha string `json:"sha"`
Repo *Repository `json:"repo"`
}
type Release ¶
type Release struct {
Name string `json:"name"`
TagName string `json:"tag_name"`
TargetCommitish string `json:"target_commitish"`
Body string `json:"body"`
Draft bool `json:"draft"`
Prerelease bool `json:"prerelease"`
Assets []ReleaseAsset `json:"assets"`
TarballUrl string `json:"tarball_url"`
ZipballUrl string `json:"zipball_url"`
HtmlUrl string `json:"html_url"`
UploadUrl string `json:"upload_url"`
ApiUrl string `json:"url"`
}
type ReleaseAsset ¶
type Repository ¶
type Repository struct {
Name string `json:"name"`
Parent *Repository `json:"parent"`
Owner *User `json:"owner"`
Private bool `json:"private"`
Permissions *RepositoryPermissions `json:"permissions"`
HtmlUrl string `json:"html_url"`
}
type RepositoryPermissions ¶
type URL ¶
func (URL) ProjectPath ¶
Click to show internal directories.
Click to hide internal directories.