mirror of
https://github.com/git-chglog/git-chglog.git
synced 2026-01-22 18:06:11 +00:00
BREAKING CHANGE: `JiraIssueId` has been renamed to `JiraIssueID`. This impacts the value for `pattern_maps` in `config.yml`. * chore(ci): add golangci-lint action * chore(lint): address errcheck lint failures * chore(lint): address misspell lint failures * chore(lint): address gocritic lint failures * chore(lint): address golint lint failures * chore(lint): address structcheck lint failures * chore(lint): address gosimple lint failures * chore(lint): address gofmt lint failures * chore(ci): port to official golangci-lint github action * Update golangci configuration for better coverage Signed-off-by: Khosrow Moossavi <khos2ow@gmail.com> * fix: file is not goimports-ed Signed-off-by: Khosrow Moossavi <khos2ow@gmail.com> * fix: golint and exported functions comments Signed-off-by: Khosrow Moossavi <khos2ow@gmail.com> * chore(lint): address gosec G304 warning * chore(lint): address uparam warnings * chore(lint): address scopelint lint failures * fix: cyclomatic complexity Signed-off-by: Khosrow Moossavi <khos2ow@gmail.com> * chore(lint): address prealloc warning, noting that we are warning for now * chore(lint): address govet and errorlint failures * chore: clean up defer logic when checking errors Co-authored-by: Khosrow Moossavi <khos2ow@gmail.com>
38 lines
828 B
Go
38 lines
828 B
Go
package chglog
|
|
|
|
import (
|
|
agjira "github.com/andygrunwald/go-jira"
|
|
)
|
|
|
|
// JiraClient is an HTTP client for Jira
|
|
type JiraClient interface {
|
|
GetJiraIssue(id string) (*agjira.Issue, error)
|
|
}
|
|
|
|
type jiraClient struct {
|
|
username string
|
|
token string
|
|
url string
|
|
}
|
|
|
|
// NewJiraClient returns an instance of JiraClient
|
|
func NewJiraClient(config *Config) JiraClient {
|
|
return jiraClient{
|
|
username: config.Options.JiraUsername,
|
|
token: config.Options.JiraToken,
|
|
url: config.Options.JiraURL,
|
|
}
|
|
}
|
|
|
|
func (jira jiraClient) GetJiraIssue(id string) (*agjira.Issue, error) {
|
|
tp := agjira.BasicAuthTransport{
|
|
Username: jira.username,
|
|
Password: jira.token,
|
|
}
|
|
client, err := agjira.NewClient(tp.Client(), jira.url)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
issue, _, err := client.Issue.Get(id, nil)
|
|
return issue, err
|
|
}
|