Documentation ¶
Index ¶
- type Comment
- type Downloader
- type DownloaderFactory
- type Issue
- type Label
- type MigrateOptions
- type Milestone
- type PullRequest
- type PullRequestBranch
- type Reactions
- type Release
- type ReleaseAsset
- type Repository
- type RetryDownloader
- func (d *RetryDownloader) GetComments(issueNumber int64) ([]*Comment, error)
- func (d *RetryDownloader) GetIssues(page, perPage int) ([]*Issue, bool, error)
- func (d *RetryDownloader) GetLabels() ([]*Label, error)
- func (d *RetryDownloader) GetMilestones() ([]*Milestone, error)
- func (d *RetryDownloader) GetPullRequests(page, perPage int) ([]*PullRequest, error)
- func (d *RetryDownloader) GetReleases() ([]*Release, error)
- func (d *RetryDownloader) GetRepoInfo() (*Repository, error)
- func (d *RetryDownloader) GetTopics() ([]string, error)
- func (d *RetryDownloader) SetContext(ctx context.Context)
- type Uploader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Comment ¶
type Comment struct { IssueIndex int64 PosterID int64 PosterName string PosterEmail string Created time.Time Updated time.Time Content string Reactions *Reactions }
Comment is a standard comment information
type Downloader ¶
type Downloader interface { SetContext(context.Context) GetRepoInfo() (*Repository, error) GetTopics() ([]string, error) GetMilestones() ([]*Milestone, error) GetReleases() ([]*Release, error) GetLabels() ([]*Label, error) GetIssues(page, perPage int) ([]*Issue, bool, error) GetComments(issueNumber int64) ([]*Comment, error) GetPullRequests(page, perPage int) ([]*PullRequest, error) }
Downloader downloads the site repo informations
type DownloaderFactory ¶
type DownloaderFactory interface { Match(opts MigrateOptions) (bool, error) New(opts MigrateOptions) (Downloader, error) GitServiceType() structs.GitServiceType }
DownloaderFactory defines an interface to match a downloader implementation and create a downloader
type Issue ¶
type Issue struct { Number int64 PosterID int64 PosterName string PosterEmail string Title string Content string Milestone string State string // closed, open IsLocked bool Created time.Time Updated time.Time Closed *time.Time Labels []*Label Reactions *Reactions }
Issue is a standard issue information
type MigrateOptions ¶
type MigrateOptions = structs.MigrateRepoOption
MigrateOptions defines the way a repository gets migrated
type Milestone ¶
type Milestone struct { Title string Description string Deadline *time.Time Created time.Time Updated *time.Time Closed *time.Time State string }
Milestone defines a standard milestone
type PullRequest ¶
type PullRequest struct { Number int64 Title string PosterName string PosterID int64 PosterEmail string Content string Milestone string State string Created time.Time Updated time.Time Closed *time.Time Labels []*Label PatchURL string Merged bool MergedTime *time.Time MergeCommitSHA string Head PullRequestBranch Base PullRequestBranch Assignee string Assignees []string IsLocked bool }
PullRequest defines a standard pull request information
func (*PullRequest) IsForkPullRequest ¶
func (p *PullRequest) IsForkPullRequest() bool
IsForkPullRequest returns true if the pull request from a forked repository but not the same repository
type PullRequestBranch ¶
type PullRequestBranch struct { CloneURL string Ref string SHA string RepoName string OwnerName string }
PullRequestBranch represents a pull request branch
func (PullRequestBranch) RepoPath ¶
func (p PullRequestBranch) RepoPath() string
RepoPath returns pull request repo path
type Reactions ¶
type Reactions struct { TotalCount int PlusOne int MinusOne int Laugh int Confused int Heart int Hooray int }
Reactions represents a summary of reactions.
type Release ¶
type Release struct { TagName string TargetCommitish string Name string Body string Draft bool Prerelease bool PublisherID int64 PublisherName string PublisherEmail string Assets []ReleaseAsset Created time.Time Published time.Time }
Release represents a release
type ReleaseAsset ¶
type ReleaseAsset struct { URL string Name string ContentType *string Size *int DownloadCount *int Created time.Time Updated time.Time }
ReleaseAsset represents a release asset
type Repository ¶
type Repository struct { Name string Owner string IsPrivate bool IsMirror bool Description string AuthUsername string AuthPassword string CloneURL string OriginalURL string }
Repository defines a standard repository information
type RetryDownloader ¶ added in v1.11.0
type RetryDownloader struct { Downloader RetryTimes int // the total execute times RetryDelay int // time to delay seconds }
RetryDownloader retry the downloads
func NewRetryDownloader ¶ added in v1.11.0
func NewRetryDownloader(downloader Downloader, retryTimes, retryDelay int) *RetryDownloader
NewRetryDownloader creates a retry downloader
func (*RetryDownloader) GetComments ¶ added in v1.11.0
func (d *RetryDownloader) GetComments(issueNumber int64) ([]*Comment, error)
GetComments returns a repository's comments with retry
func (*RetryDownloader) GetIssues ¶ added in v1.11.0
func (d *RetryDownloader) GetIssues(page, perPage int) ([]*Issue, bool, error)
GetIssues returns a repository's issues with retry
func (*RetryDownloader) GetLabels ¶ added in v1.11.0
func (d *RetryDownloader) GetLabels() ([]*Label, error)
GetLabels returns a repository's labels with retry
func (*RetryDownloader) GetMilestones ¶ added in v1.11.0
func (d *RetryDownloader) GetMilestones() ([]*Milestone, error)
GetMilestones returns a repository's milestones with retry
func (*RetryDownloader) GetPullRequests ¶ added in v1.11.0
func (d *RetryDownloader) GetPullRequests(page, perPage int) ([]*PullRequest, error)
GetPullRequests returns a repository's pull requests with retry
func (*RetryDownloader) GetReleases ¶ added in v1.11.0
func (d *RetryDownloader) GetReleases() ([]*Release, error)
GetReleases returns a repository's releases with retry
func (*RetryDownloader) GetRepoInfo ¶ added in v1.11.0
func (d *RetryDownloader) GetRepoInfo() (*Repository, error)
GetRepoInfo returns a repository information with retry
func (*RetryDownloader) GetTopics ¶ added in v1.11.0
func (d *RetryDownloader) GetTopics() ([]string, error)
GetTopics returns a repository's topics with retry
func (*RetryDownloader) SetContext ¶ added in v1.11.0
func (d *RetryDownloader) SetContext(ctx context.Context)
SetContext set context
type Uploader ¶
type Uploader interface { MaxBatchInsertSize(tp string) int CreateRepo(repo *Repository, opts MigrateOptions) error CreateTopics(topic ...string) error CreateMilestones(milestones ...*Milestone) error CreateReleases(releases ...*Release) error SyncTags() error CreateLabels(labels ...*Label) error CreateIssues(issues ...*Issue) error CreateComments(comments ...*Comment) error CreatePullRequests(prs ...*PullRequest) error Rollback() error Close() }
Uploader uploads all the informations of one repository