Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommentController ¶
type ExecCommentParams ¶
type ExecCommentParams struct {
Stdout string
Stderr string
CombinedOutput string
Command string
JoinCommand string
ExitCode int
// PRNumber is the pull request number where the comment is posted
PRNumber int
// Org is the GitHub Organization or User name
Org string
// Repo is the GitHub Repository name
Repo string
// SHA1 is the commit SHA1
SHA1 string
TemplateKey string
Template string
Vars map[string]any
Outputs []*option.Output
}
type ExecController ¶
type ExecController struct {
Wd string
Stdin io.Reader
Stdout io.Writer
Stderr io.Writer
Getenv func(string) string
Reader Reader
GitHub GitHub
Renderer Renderer
Executor Executor
Expr Expr
Platform Platform
Config *config.Config
Fs afero.Fs
}
func (*ExecController) Exec ¶
func (c *ExecController) Exec(ctx context.Context, logger *slog.Logger, opts *option.ExecOptions) error
type GitHub ¶
type GitHub interface {
CreateComment(ctx context.Context, cmt *github.Comment) error
ListComments(ctx context.Context, pr *github.PullRequest) ([]*github.IssueComment, error)
HideComment(ctx context.Context, nodeID string) error
GetAuthenticatedUser(ctx context.Context) (string, error)
PRNumberWithSHA(ctx context.Context, owner, repo, sha string) (int, error)
}
GitHub is API to post a comment to GitHub
type HideController ¶
type HideController struct {
// Wd is a path to the working directory
Wd string
// Getenv returns the environment variable. os.Getenv
Getenv func(string) string
// HasStdin returns true if there is the standard input
// If there is the standard input, it is treated as the comment template
HasStdin func() bool
Stderr io.Writer
GitHub GitHub
Platform Platform
Config *config.Config
Expr Expr
}
func (*HideController) Hide ¶
func (c *HideController) Hide(ctx context.Context, logger *slog.Logger, opts *option.HideOptions) error
type InitController ¶
type InitController struct {
Fsys Fsys
}
type ParamListHiddenComments ¶
type Platform ¶
type Platform interface {
ComplementPost(opts *option.PostOptions) error
ComplementExec(opts *option.ExecOptions) error
ComplementHide(opts *option.HideOptions) error
CI() string
}
type PostController ¶
type PostController struct {
// Wd is a path to the working directory
Wd string
// Getenv returns the environment variable. os.Getenv
Getenv func(string) string
// HasStdin returns true if there is the standard input
// If there is the standard input, it is treated as the comment template
HasStdin func() bool
Stdin io.Reader
Stderr io.Writer
GitHub GitHub
Renderer Renderer
Platform Platform
Config *config.Config
Expr Expr
}
func (*PostController) Post ¶
func (c *PostController) Post(ctx context.Context, logger *slog.Logger, opts *option.PostOptions) error
type PostTemplateParams ¶
type PostTemplateParams struct {
// PRNumber is the pull request number where the comment is posted
PRNumber int
// Org is the GitHub Organization or User name
Org string
// Repo is the GitHub Repository name
Repo string
// SHA1 is the commit SHA1
SHA1 string
TemplateKey string
Vars map[string]any
}
Click to show internal directories.
Click to hide internal directories.