Skip to content

Commit be8a154

Browse files
committed
fix(#109): use appropriate filters api url for Jira Cloud instances
1 parent 3fb0df0 commit be8a154

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ fjira jql
207207

208208
## My Jira Filters
209209

210-
You can search using your stored Jira Filters:
210+
You can search using your stored (favourites) Jira Filters:
211211

212212
```shell
213213
fjira filters

internal/jira/jira_filters.go

+8-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ type Filter struct {
1313
}
1414

1515
const (
16-
FilterUrl = "/rest/api/2/filter/%s"
17-
MyFilterUrl = "/rest/api/2/filter/my"
16+
FilterUrl = "/rest/api/2/filter/%s"
17+
MyFilterUrl = "/rest/api/2/filter/my"
18+
MyFilterUrlJiraServer = "/rest/api/2/filter/favourite"
1819
)
1920

2021
func (api *httpApi) GetFilter(filterId string) (*Filter, error) {
@@ -31,7 +32,11 @@ func (api *httpApi) GetFilter(filterId string) (*Filter, error) {
3132
}
3233

3334
func (api *httpApi) GetMyFilters() ([]Filter, error) {
34-
resultBytes, err := api.jiraRequest("GET", MyFilterUrl, &nilParams{}, nil)
35+
url := MyFilterUrl
36+
if api.IsJiraServer() {
37+
url = MyFilterUrlJiraServer
38+
}
39+
resultBytes, err := api.jiraRequest("GET", url, &nilParams{}, nil)
3540
if err != nil {
3641
return nil, err
3742
}

internal/jira/jira_filters_test.go

+8-6
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,17 @@ import (
88

99
func Test_httpApi_GetFilter(t *testing.T) {
1010
tests := []struct {
11-
name string
12-
want *Filter
13-
wantErr bool
11+
name string
12+
want *Filter
13+
tokenType JiraTokenType
14+
wantErr bool
1415
}{
15-
{"should get filter", &Filter{Name: "Filter for FJIR board"}, false},
16+
{"should get filter", &Filter{Name: "Filter for FJIR board"}, ApiToken, false},
17+
{"should get filter", &Filter{Name: "Filter for FJIR board"}, PersonalToken, false},
1618
}
1719
for _, tt := range tests {
1820
t.Run(tt.name, func(t *testing.T) {
19-
api := NewJiraApiMock(func(w http.ResponseWriter, r *http.Request) {
21+
api := NewJiraApiMockWithTokenType(func(w http.ResponseWriter, r *http.Request) {
2022
w.WriteHeader(200)
2123
body := `
2224
{
@@ -85,7 +87,7 @@ func Test_httpApi_GetFilter(t *testing.T) {
8587
}
8688
`
8789
w.Write([]byte(body)) //nolint:errcheck
88-
})
90+
}, tt.tokenType)
8991
got, err := api.GetFilter("10006")
9092
if (err != nil) != tt.wantErr {
9193
t.Errorf("GetFilter() error = %v, wantErr %v", err, tt.wantErr)

0 commit comments

Comments
 (0)