shared

package
v1.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2021 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IssueMetadata metadataStateType = iota
	PRMetadata
)

Variables

This section is empty.

Functions

func AddMetadataToIssueParams

func AddMetadataToIssueParams(client *api.Client, baseRepo ghrepo.Interface, params map[string]interface{}, tb *IssueMetadataState) error

func BodySurvey added in v1.3.0

func BodySurvey(state *IssueMetadataState, templateContent, editorCommand string) error

func ColorForPR added in v1.2.1

func ColorForPR(pr api.PullRequest) string

func ColorForState added in v1.2.1

func ColorForState(state string) string

ColorForState returns a color constant for a PR/Issue state

func CommentList added in v1.4.0

func CommentList(io *iostreams.IOStreams, comments api.Comments, reviews api.PullRequestReviews, preview bool) (string, error)

func CommentableConfirmSubmitSurvey added in v1.5.0

func CommentableConfirmSubmitSurvey() (bool, error)

func CommentableEditSurvey added in v1.5.0

func CommentableEditSurvey(cf func() (config.Config, error), io *iostreams.IOStreams) func() (string, error)

func CommentableInteractiveEditSurvey added in v1.5.0

func CommentableInteractiveEditSurvey(cf func() (config.Config, error), io *iostreams.IOStreams) func() (string, error)

func CommentablePreRun added in v1.5.0

func CommentablePreRun(cmd *cobra.Command, opts *CommentableOptions) error

func CommentableRun added in v1.5.0

func CommentableRun(opts *CommentableOptions) error

func EditFieldsSurvey added in v1.6.0

func EditFieldsSurvey(editable *Editable, editorCommand string) error

func FetchOptions added in v1.6.0

func FetchOptions(client *api.Client, repo ghrepo.Interface, editable *Editable) error

func FieldsToEditSurvey added in v1.6.0

func FieldsToEditSurvey(editable *Editable) error

func FillFromJSON added in v1.3.0

func FillFromJSON(io *iostreams.IOStreams, recoverFile string, state *IssueMetadataState) error

func FindTemplates added in v1.3.0

func FindTemplates(dir, path string) ([]string, string)

func ListHeader

func ListHeader(repoName string, itemName string, matchCount int, totalMatchCount int, hasFilters bool) string

func ListURLWithQuery

func ListURLWithQuery(listURL string, options FilterOptions) (string, error)

func MetadataSurvey added in v1.3.0

func MetadataSurvey(io *iostreams.IOStreams, baseRepo ghrepo.Interface, fetcher RepoMetadataFetcher, state *IssueMetadataState) error

func NewMockFinder added in v1.10.0

func NewMockFinder(selector string, pr *api.PullRequest, repo ghrepo.Interface) *mockFinder

func NewTemplateManager added in v1.6.0

func NewTemplateManager(httpClient *http.Client, repo ghrepo.Interface, dir string, allowFS bool, isPR bool) *templateManager

func PreserveInput added in v1.3.0

func PreserveInput(io *iostreams.IOStreams, state *IssueMetadataState, createErr *error) func()

func PrintHeader

func PrintHeader(io *iostreams.IOStreams, s string)

func PrintMessage

func PrintMessage(io *iostreams.IOStreams, s string)

func QueryHasStateClause added in v1.11.0

func QueryHasStateClause(searchQuery string) bool

func RawCommentList added in v1.4.0

func RawCommentList(comments api.Comments, reviews api.PullRequestReviews) string

func ReactionGroupList added in v1.4.0

func ReactionGroupList(rgs api.ReactionGroups) string

func RunCommandFinder added in v1.10.0

func RunCommandFinder(selector string, pr *api.PullRequest, repo ghrepo.Interface) *mockFinder

RunCommandFinder is the NewMockFinder substitute to be used ONLY in runCommand-style tests.

func SearchQueryBuild added in v1.8.0

func SearchQueryBuild(options FilterOptions) string

func StateTitleWithColor

func StateTitleWithColor(cs *iostreams.ColorScheme, pr api.PullRequest) string

func TitleSurvey added in v1.3.0

func TitleSurvey(state *IssueMetadataState) error

func WithPrAndIssueQueryParams

func WithPrAndIssueQueryParams(client *api.Client, baseRepo ghrepo.Interface, baseURL string, state IssueMetadataState) (string, error)

Types

type Action

type Action int
const (
	SubmitAction Action = iota
	PreviewAction
	CancelAction
	MetadataAction
	EditCommitMessageAction
)

func ConfirmSubmission added in v1.3.0

func ConfirmSubmission(allowPreview bool, allowMetadata bool) (Action, error)

type Comment added in v1.5.0

type Comment interface {
	AuthorLogin() string
	Association() string
	Content() string
	Created() time.Time
	HiddenReason() string
	IsEdited() bool
	IsHidden() bool
	Link() string
	Reactions() api.ReactionGroups
	Status() string
}

type Commentable added in v1.5.0

type Commentable interface {
	Link() string
	Identifier() string
}

type CommentableOptions added in v1.5.0

type CommentableOptions struct {
	IO                    *iostreams.IOStreams
	HttpClient            func() (*http.Client, error)
	RetrieveCommentable   func() (Commentable, ghrepo.Interface, error)
	EditSurvey            func() (string, error)
	InteractiveEditSurvey func() (string, error)
	ConfirmSubmitSurvey   func() (bool, error)
	OpenInBrowser         func(string) error
	Interactive           bool
	InputType             InputType
	Body                  string
}

type Editable added in v1.6.0

type Editable struct {
	Title     EditableString
	Body      EditableString
	Base      EditableString
	Reviewers EditableSlice
	Assignees EditableSlice
	Labels    EditableSlice
	Projects  EditableSlice
	Milestone EditableString
	Metadata  api.RepoMetadataResult
}

func (Editable) AssigneeIds added in v1.6.0

func (e Editable) AssigneeIds(client *api.Client, repo ghrepo.Interface) (*[]string, error)

func (Editable) BodyValue added in v1.6.0

func (e Editable) BodyValue() *string

func (Editable) Dirty added in v1.6.0

func (e Editable) Dirty() bool

func (Editable) LabelIds added in v1.6.0

func (e Editable) LabelIds() (*[]string, error)

func (Editable) MilestoneId added in v1.6.0

func (e Editable) MilestoneId() (*string, error)

func (Editable) ProjectIds added in v1.6.0

func (e Editable) ProjectIds() (*[]string, error)

func (Editable) ReviewerIds added in v1.6.0

func (e Editable) ReviewerIds() (*[]string, *[]string, error)

func (Editable) TitleValue added in v1.6.0

func (e Editable) TitleValue() *string

type EditableSlice added in v1.6.0

type EditableSlice struct {
	Value   []string
	Add     []string
	Remove  []string
	Default []string
	Options []string
	Edited  bool
	Allowed bool
}

type EditableString added in v1.6.0

type EditableString struct {
	Value   string
	Default string
	Options []string
	Edited  bool
}

type FilterOptions

type FilterOptions struct {
	Entity     string
	State      string
	Assignee   string
	Labels     []string
	Author     string
	BaseBranch string
	Mention    string
	Milestone  string
	Search     string

	Fields []string
}

func (*FilterOptions) IsDefault added in v1.8.0

func (opts *FilterOptions) IsDefault() bool

type FindOptions added in v1.10.0

type FindOptions struct {
	// Selector can be a number with optional `#` prefix, a branch name with optional `<owner>:` prefix, or
	// a PR URL.
	Selector string
	// Fields lists the GraphQL fields to fetch for the PullRequest.
	Fields []string
	// BaseBranch is the name of the base branch to scope the PR-for-branch lookup to.
	BaseBranch string
	// States lists the possible PR states to scope the PR-for-branch lookup to.
	States []string
}

type InputType added in v1.5.0

type InputType int
const (
	InputTypeEditor InputType = iota
	InputTypeInline
	InputTypeWeb
)

type IssueMetadataState

type IssueMetadataState struct {
	Type metadataStateType

	Draft bool

	Body  string
	Title string

	Metadata   []string
	Reviewers  []string
	Assignees  []string
	Labels     []string
	Projects   []string
	Milestones []string

	MetadataResult *api.RepoMetadataResult
	// contains filtered or unexported fields
}

func (*IssueMetadataState) HasMetadata

func (tb *IssueMetadataState) HasMetadata() bool

func (*IssueMetadataState) IsDirty added in v1.3.0

func (tb *IssueMetadataState) IsDirty() bool

func (*IssueMetadataState) MarkDirty added in v1.3.0

func (tb *IssueMetadataState) MarkDirty()

type MeReplacer added in v1.6.0

type MeReplacer struct {
	// contains filtered or unexported fields
}

MeReplacer resolves usages of `@me` to the handle of the currently logged in user.

func NewMeReplacer added in v1.6.0

func NewMeReplacer(apiClient *api.Client, hostname string) *MeReplacer

func (*MeReplacer) Replace added in v1.6.0

func (r *MeReplacer) Replace(handle string) (string, error)

func (*MeReplacer) ReplaceSlice added in v1.6.0

func (r *MeReplacer) ReplaceSlice(handles []string) ([]string, error)

type MetadataFetcher added in v1.3.1

type MetadataFetcher struct {
	IO        *iostreams.IOStreams
	APIClient *api.Client
	Repo      ghrepo.Interface
	State     *IssueMetadataState
}

func (*MetadataFetcher) RepoMetadataFetch added in v1.3.1

func (mf *MetadataFetcher) RepoMetadataFetch(input api.RepoMetadataInput) (*api.RepoMetadataResult, error)

type NotFoundError added in v1.10.0

type NotFoundError struct {
	// contains filtered or unexported fields
}

func (*NotFoundError) Unwrap added in v1.10.0

func (err *NotFoundError) Unwrap() error

type PRFinder added in v1.10.0

type PRFinder interface {
	Find(opts FindOptions) (*api.PullRequest, ghrepo.Interface, error)
}

func NewFinder added in v1.10.0

func NewFinder(factory *cmdutil.Factory) PRFinder

type RepoMetadataFetcher added in v1.3.1

type RepoMetadataFetcher interface {
	RepoMetadataFetch(api.RepoMetadataInput) (*api.RepoMetadataResult, error)
}

type Template added in v1.6.0

type Template interface {
	Name() string
	NameForSubmit() string
	Body() []byte
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL