Documentation
¶
Index ¶
- type Formatter
- func (jiraFormatter *Formatter) CreateCodeBlock(title string, content string, _ string) string
- func (jiraFormatter *Formatter) CreateLink(title string, url string) string
- func (jiraFormatter *Formatter) CreateTable(headers []string, rows [][]string) (string, error)
- func (jiraFormatter *Formatter) MakeBold(text string) string
- type Integration
- func (i *Integration) CloseIssue(event *output.ResultEvent) error
- func (i *Integration) CreateIssue(event *output.ResultEvent) (*filters.CreateIssueResponse, error)
- func (i *Integration) CreateNewIssue(event *output.ResultEvent) (*filters.CreateIssueResponse, error)
- func (i *Integration) FindExistingIssue(event *output.ResultEvent) (jira.Issue, error)
- func (i *Integration) Name() string
- func (i *Integration) ShouldFilter(event *output.ResultEvent) bool
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Formatter ¶
type Formatter struct {
util.MarkdownFormatter
}
func (*Formatter) CreateCodeBlock ¶
func (*Formatter) CreateLink ¶
func (*Formatter) CreateTable ¶
type Integration ¶
type Integration struct {
Formatter
// contains filtered or unexported fields
}
Integration is a client for an issue tracker integration
func New ¶
func New(options *Options) (*Integration, error)
New creates a new issue tracker integration client based on options.
func (*Integration) CloseIssue ¶
func (i *Integration) CloseIssue(event *output.ResultEvent) error
func (*Integration) CreateIssue ¶
func (i *Integration) CreateIssue(event *output.ResultEvent) (*filters.CreateIssueResponse, error)
CreateIssue creates an issue in the tracker or updates the existing one
func (*Integration) CreateNewIssue ¶
func (i *Integration) CreateNewIssue(event *output.ResultEvent) (*filters.CreateIssueResponse, error)
CreateNewIssue creates a new issue in the tracker
func (*Integration) FindExistingIssue ¶
func (i *Integration) FindExistingIssue(event *output.ResultEvent) (jira.Issue, error)
FindExistingIssue checks if the issue already exists and returns its ID
func (*Integration) Name ¶
func (i *Integration) Name() string
func (*Integration) ShouldFilter ¶
func (i *Integration) ShouldFilter(event *output.ResultEvent) bool
ShouldFilter determines if an issue should be logged to this tracker
type Options ¶
type Options struct {
// Cloud value (optional) is set to true when Jira cloud is used
Cloud bool `yaml:"cloud" json:"cloud"`
// UpdateExisting value (optional) if true, the existing opened issue is updated
UpdateExisting bool `yaml:"update-existing" json:"update_existing"`
// URL is the URL of the jira server
URL string `yaml:"url" json:"url" validate:"required"`
// AccountID is the accountID of the jira user.
AccountID string `yaml:"account-id" json:"account_id" validate:"required"`
// Email is the email of the user for jira instance
Email string `yaml:"email" json:"email" validate:"required,email"`
// Token is the token for jira instance.
Token string `yaml:"token" json:"token" validate:"required"`
// ProjectName is the name of the project.
ProjectName string `yaml:"project-name" json:"project_name" validate:"required"`
// IssueType (optional) is the name of the created issue type
IssueType string `yaml:"issue-type" json:"issue_type"`
// SeverityAsLabel (optional) sends the severity as the label of the created
// issue.
SeverityAsLabel bool `yaml:"severity-as-label" json:"severity_as_label"`
// AllowList contains a list of allowed events for this tracker
AllowList *filters.Filter `yaml:"allow-list"`
// DenyList contains a list of denied events for this tracker
DenyList *filters.Filter `yaml:"deny-list"`
// Severity (optional) is the severity of the issue.
Severity []string `yaml:"severity" json:"severity"`
HttpClient *retryablehttp.Client `yaml:"-" json:"-"`
// for each customfield specified in the configuration options
// we will create a map of customfield name to the value
// that will be used to create the issue
CustomFields map[string]interface{} `yaml:"custom-fields" json:"custom_fields"`
StatusNot string `yaml:"status-not" json:"status_not"`
OmitRaw bool `yaml:"-"`
}
Options contains the configuration options for jira client
Click to show internal directories.
Click to hide internal directories.