Skip to content

Commit ed84fe7

Browse files
authored
chore: Refactor jira client (#543)
1 parent 16a8a61 commit ed84fe7

File tree

27 files changed

+36
-54
lines changed

27 files changed

+36
-54
lines changed

api/client.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ func Client(config jira.Config) *jira.Client {
5757
return jiraClient
5858
}
5959

60+
// DefaultClient returns default jira client.
61+
func DefaultClient(debug bool) *jira.Client {
62+
return Client(jira.Config{Debug: debug})
63+
}
64+
6065
// ProxyCreate uses either a v2 or v3 version of the Jira POST /issue
6166
// endpoint to create an issue based on configured installation type.
6267
// Defaults to v3 if installation type is not defined in the config.

internal/cmd/board/list/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func List(cmd *cobra.Command, _ []string) {
3434
s := cmdutil.Info(fmt.Sprintf("Fetching boards in project %s...", project))
3535
defer s.Stop()
3636

37-
resp, err := api.Client(jira.Config{Debug: debug}).Boards(project, jira.BoardTypeAll)
37+
resp, err := api.DefaultClient(debug).Boards(project, jira.BoardTypeAll)
3838
if err != nil {
3939
return nil, 0, err
4040
}

internal/cmd/epic/add/add.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func add(cmd *cobra.Command, args []string) {
4040
project := viper.GetString("project.key")
4141
projectType := viper.GetString("project.type")
4242
params := parseFlags(cmd.Flags(), args, project)
43-
client := api.Client(jira.Config{Debug: params.debug})
43+
client := api.DefaultClient(params.debug)
4444

4545
qs := getQuestions(params)
4646
if len(qs) > 0 {

internal/cmd/epic/create/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func create(cmd *cobra.Command, _ []string) {
5151
installation := viper.GetString("installation")
5252

5353
params := parseFlags(cmd.Flags())
54-
client := api.Client(jira.Config{Debug: params.Debug})
54+
client := api.DefaultClient(params.Debug)
5555
cc := createCmd{
5656
client: client,
5757
params: params,

internal/cmd/epic/list/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func epicList(cmd *cobra.Command, args []string) {
7777
debug, err := cmd.Flags().GetBool("debug")
7878
cmdutil.ExitIfError(err)
7979

80-
client := api.Client(jira.Config{Debug: debug})
80+
client := api.DefaultClient(debug)
8181

8282
if len(args) == 0 {
8383
epicExplorerView(cmd, cmd.Flags(), project, projectType, server, client)

internal/cmd/epic/remove/remove.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func remove(cmd *cobra.Command, args []string) {
3838
project := viper.GetString("project.key")
3939
projectType := viper.GetString("project.type")
4040
params := parseFlags(cmd.Flags(), args, project)
41-
client := api.Client(jira.Config{Debug: params.debug})
41+
client := api.DefaultClient(params.debug)
4242

4343
qs := getQuestions(params)
4444
if len(qs) > 0 {

internal/cmd/issue/assign/assign.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ ASSIGNEE Email or display name of the user to assign the issue to`,
6161
func assign(cmd *cobra.Command, args []string) {
6262
project := viper.GetString("project.key")
6363
params := parseArgsAndFlags(cmd.Flags(), args, project)
64-
client := api.Client(jira.Config{Debug: params.debug})
64+
client := api.DefaultClient(params.debug)
6565
ac := assignCmd{
6666
client: client,
6767
users: nil,

internal/cmd/issue/clone/clone.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func clone(cmd *cobra.Command, args []string) {
5151
projectType := viper.GetString("project.type")
5252

5353
params := parseFlags(cmd.Flags())
54-
client := api.Client(jira.Config{Debug: params.debug})
54+
client := api.DefaultClient(params.debug)
5555
cc := cloneCmd{
5656
client: client,
5757
params: params,

internal/cmd/issue/comment/add/add.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func NewCmdCommentAdd() *cobra.Command {
6262

6363
func add(cmd *cobra.Command, args []string) {
6464
params := parseArgsAndFlags(args, cmd.Flags())
65-
client := api.Client(jira.Config{Debug: params.debug})
65+
client := api.DefaultClient(params.debug)
6666
ac := addCmd{
6767
client: client,
6868
linkTypes: nil,

internal/cmd/issue/create/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func create(cmd *cobra.Command, _ []string) {
6666
installation := viper.GetString("installation")
6767

6868
params := parseFlags(cmd.Flags())
69-
client := api.Client(jira.Config{Debug: params.Debug})
69+
client := api.DefaultClient(params.Debug)
7070
cc := createCmd{
7171
client: client,
7272
params: params,

internal/cmd/issue/delete/delete.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func NewCmdDelete() *cobra.Command {
4343
func del(cmd *cobra.Command, args []string) {
4444
project := viper.GetString("project.key")
4545
params := parseArgsAndFlags(cmd.Flags(), args, project)
46-
client := api.Client(jira.Config{Debug: params.debug})
46+
client := api.DefaultClient(params.debug)
4747
mc := deleteCmd{
4848
client: client,
4949
transitions: nil,

internal/cmd/issue/edit/edit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func edit(cmd *cobra.Command, args []string) {
5757
project := viper.GetString("project.key")
5858

5959
params := parseArgsAndFlags(cmd.Flags(), args, project)
60-
client := api.Client(jira.Config{Debug: params.debug})
60+
client := api.DefaultClient(params.debug)
6161
ec := editCmd{
6262
client: client,
6363
params: params,

internal/cmd/issue/link/link.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func NewCmdLink() *cobra.Command {
4747
func link(cmd *cobra.Command, args []string) {
4848
project := viper.GetString("project.key")
4949
params := parseArgsAndFlags(cmd.Flags(), args, project)
50-
client := api.Client(jira.Config{Debug: params.debug})
50+
client := api.DefaultClient(params.debug)
5151
lc := linkCmd{
5252
client: client,
5353
linkTypes: nil,

internal/cmd/issue/link/remote/remote.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func NewCmdRemoteLink() *cobra.Command {
4040
func remotelink(cmd *cobra.Command, args []string) {
4141
project := viper.GetString("project.key")
4242
params := parseArgsAndFlags(cmd.Flags(), args, project)
43-
client := api.Client(jira.Config{Debug: params.debug})
43+
client := api.DefaultClient(params.debug)
4444
lc := linkCmd{
4545
client: client,
4646
params: params,

internal/cmd/issue/list/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func loadList(cmd *cobra.Command) {
9292
return nil, 0, err
9393
}
9494

95-
resp, err := api.ProxySearch(api.Client(jira.Config{Debug: debug}), q.Get(), q.Params().From, q.Params().Limit)
95+
resp, err := api.ProxySearch(api.DefaultClient(debug), q.Get(), q.Params().From, q.Params().Limit)
9696
if err != nil {
9797
return nil, 0, err
9898
}

internal/cmd/issue/move/move.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func move(cmd *cobra.Command, args []string) {
5252
project := viper.GetString("project.key")
5353
installation := viper.GetString("installation")
5454
params := parseArgsAndFlags(cmd.Flags(), args, project)
55-
client := api.Client(jira.Config{Debug: params.debug})
55+
client := api.DefaultClient(params.debug)
5656
mc := moveCmd{
5757
client: client,
5858
transitions: nil,

internal/cmd/issue/unlink/unlink.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func NewCmdUnlink() *cobra.Command {
4141
func unlink(cmd *cobra.Command, args []string) {
4242
project := viper.GetString("project.key")
4343
params := parseArgsAndFlags(cmd.Flags(), args, project)
44-
client := api.Client(jira.Config{Debug: params.debug})
44+
client := api.DefaultClient(params.debug)
4545
uc := unlinkCmd{
4646
client: client,
4747
params: params,

internal/cmd/issue/view/view.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func view(cmd *cobra.Command, args []string) {
5252
s := cmdutil.Info("Fetching issue details...")
5353
defer s.Stop()
5454

55-
client := api.Client(jira.Config{Debug: debug})
55+
client := api.DefaultClient(debug)
5656
return api.ProxyGetIssue(client, key, issue.NewNumCommentsFilter(comments))
5757
}()
5858
cmdutil.ExitIfError(err)

internal/cmd/issue/worklog/add/add.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func NewCmdWorklogAdd() *cobra.Command {
6161

6262
func add(cmd *cobra.Command, args []string) {
6363
params := parseArgsAndFlags(args, cmd.Flags())
64-
client := api.Client(jira.Config{Debug: params.debug})
64+
client := api.DefaultClient(params.debug)
6565
ac := addCmd{
6666
client: client,
6767
params: params,

internal/cmd/project/list/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func List(cmd *cobra.Command, _ []string) {
2929
s := cmdutil.Info("Fetching projects...")
3030
defer s.Stop()
3131

32-
projects, err := api.Client(jira.Config{Debug: debug}).Project()
32+
projects, err := api.DefaultClient(debug).Project()
3333
if err != nil {
3434
return nil, 0, err
3535
}

internal/cmd/serverinfo/serverinfo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func serverInfo(cmd *cobra.Command, _ []string) {
2828
s := cmdutil.Info("Fetching server info...")
2929
defer s.Stop()
3030

31-
info, err := api.Client(jira.Config{Debug: debug}).ServerInfo()
31+
info, err := api.DefaultClient(debug).ServerInfo()
3232
if err != nil {
3333
return nil, err
3434
}

internal/cmd/sprint/add/add.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"github.com/ankitpokhrel/jira-cli/api"
1212
"github.com/ankitpokhrel/jira-cli/internal/cmdutil"
1313
"github.com/ankitpokhrel/jira-cli/internal/query"
14-
"github.com/ankitpokhrel/jira-cli/pkg/jira"
1514
)
1615

1716
const (
@@ -39,7 +38,7 @@ func add(cmd *cobra.Command, args []string) {
3938
server := viper.GetString("server")
4039
project := viper.GetString("project.key")
4140
params := parseFlags(cmd.Flags(), args, project)
42-
client := api.Client(jira.Config{Debug: params.debug})
41+
client := api.DefaultClient(params.debug)
4342

4443
qs := getQuestions(params)
4544
if len(qs) > 0 {

internal/cmd/sprint/list/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func sprintList(cmd *cobra.Command, args []string) {
7777
debug, err := cmd.Flags().GetBool("debug")
7878
cmdutil.ExitIfError(err)
7979

80-
client := api.Client(jira.Config{Debug: debug})
80+
client := api.DefaultClient(debug)
8181

8282
sprintQuery, err := query.NewSprint(cmd.Flags())
8383
cmdutil.ExitIfError(err)

internal/view/epic.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (el *EpicList) Render() error {
4444
dataFn := func() interface{} {
4545
data := d.(tui.TableData)
4646
ci := data.GetIndex(fieldKey)
47-
iss, _ := api.ProxyGetIssue(api.Client(jira.Config{}), data.Get(r, ci), issue.NewNumCommentsFilter(1))
47+
iss, _ := api.ProxyGetIssue(api.DefaultClient(false), data.Get(r, ci), issue.NewNumCommentsFilter(1))
4848
return iss
4949
}
5050
renderFn := func(i interface{}) (string, error) {

internal/view/issues.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (l *IssueList) Render() error {
5858
tui.WithViewModeFunc(func(r, c int, _ interface{}) (func() interface{}, func(interface{}) (string, error)) {
5959
dataFn := func() interface{} {
6060
ci := data.GetIndex(fieldKey)
61-
iss, _ := api.ProxyGetIssue(api.Client(jira.Config{}), data.Get(r, ci), issue.NewNumCommentsFilter(1))
61+
iss, _ := api.ProxyGetIssue(api.DefaultClient(false), data.Get(r, ci), issue.NewNumCommentsFilter(1))
6262
return iss
6363
}
6464
renderFn := func(i interface{}) (string, error) {

internal/view/sprint.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func (sl *SprintList) Render() error {
5454
dataFn := func() interface{} {
5555
data := d.(tui.TableData)
5656
ci := data.GetIndex(fieldKey)
57-
iss, _ := api.ProxyGetIssue(api.Client(jira.Config{}), data.Get(r, ci), issue.NewNumCommentsFilter(1))
57+
iss, _ := api.ProxyGetIssue(api.DefaultClient(false), data.Get(r, ci), issue.NewNumCommentsFilter(1))
5858
return iss
5959
}
6060
renderFn := func(i interface{}) (string, error) {

pkg/jira/client.go

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -174,47 +174,27 @@ func (c *Client) GetV1(ctx context.Context, path string, headers Header) (*http.
174174

175175
// Post sends POST request to v3 version of the jira api.
176176
func (c *Client) Post(ctx context.Context, path string, body []byte, headers Header) (*http.Response, error) {
177-
res, err := c.request(ctx, http.MethodPost, c.server+baseURLv3+path, body, headers)
178-
if err != nil {
179-
return res, err
180-
}
181-
return res, err
177+
return c.request(ctx, http.MethodPost, c.server+baseURLv3+path, body, headers)
182178
}
183179

184180
// PostV2 sends POST request to v2 version of the jira api.
185181
func (c *Client) PostV2(ctx context.Context, path string, body []byte, headers Header) (*http.Response, error) {
186-
res, err := c.request(ctx, http.MethodPost, c.server+baseURLv2+path, body, headers)
187-
if err != nil {
188-
return res, err
189-
}
190-
return res, err
182+
return c.request(ctx, http.MethodPost, c.server+baseURLv2+path, body, headers)
191183
}
192184

193185
// PostV1 sends POST request to v1 version of the jira api.
194186
func (c *Client) PostV1(ctx context.Context, path string, body []byte, headers Header) (*http.Response, error) {
195-
res, err := c.request(ctx, http.MethodPost, c.server+baseURLv1+path, body, headers)
196-
if err != nil {
197-
return res, err
198-
}
199-
return res, err
187+
return c.request(ctx, http.MethodPost, c.server+baseURLv1+path, body, headers)
200188
}
201189

202190
// Put sends PUT request to v3 version of the jira api.
203191
func (c *Client) Put(ctx context.Context, path string, body []byte, headers Header) (*http.Response, error) {
204-
res, err := c.request(ctx, http.MethodPut, c.server+baseURLv3+path, body, headers)
205-
if err != nil {
206-
return res, err
207-
}
208-
return res, err
192+
return c.request(ctx, http.MethodPut, c.server+baseURLv3+path, body, headers)
209193
}
210194

211195
// PutV2 sends PUT request to v2 version of the jira api.
212196
func (c *Client) PutV2(ctx context.Context, path string, body []byte, headers Header) (*http.Response, error) {
213-
res, err := c.request(ctx, http.MethodPut, c.server+baseURLv2+path, body, headers)
214-
if err != nil {
215-
return res, err
216-
}
217-
return res, err
197+
return c.request(ctx, http.MethodPut, c.server+baseURLv2+path, body, headers)
218198
}
219199

220200
// DeleteV2 sends DELETE request to v2 version of the jira api.
@@ -250,9 +230,7 @@ func (c *Client) request(ctx context.Context, method, endpoint string, body []by
250230
req.SetBasicAuth(c.login, c.token)
251231
}
252232

253-
res, err = c.transport.RoundTrip(req.WithContext(ctx))
254-
255-
return res, err
233+
return c.transport.RoundTrip(req.WithContext(ctx))
256234
}
257235

258236
func dump(req *http.Request, res *http.Response) {

0 commit comments

Comments
 (0)