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.