5
5
"encoding/base64"
6
6
"encoding/json"
7
7
"fmt"
8
+ "net/url"
8
9
"strconv"
9
10
"strings"
10
11
"time"
@@ -91,6 +92,7 @@ type JiraWorklogUpdate struct {
91
92
}
92
93
93
94
func (jc * JiraClient ) GetIssuesByJQL (jql string , maxResults int ) (JQLResponse , error ) {
95
+ requestUrl := fmt .Sprintf ("%s/rest/api/3/search/jql" , Config .JiraUrl )
94
96
payload := & JQLSearch {
95
97
Expand : []string {"names" },
96
98
Jql : jql ,
@@ -99,13 +101,17 @@ func (jc *JiraClient) GetIssuesByJQL(jql string, maxResults int) (JQLResponse, e
99
101
Fields : []string {"summary" , "status" },
100
102
StartAt : 0 ,
101
103
}
102
- payloadJson , err := json .Marshal (payload )
103
- if err != nil {
104
- return JQLResponse {}, err
105
- }
106
- requestBody := bytes .NewBuffer (payloadJson )
107
- requestUrl := fmt .Sprintf ("%s/rest/api/2/search" , Config .JiraUrl )
108
- response , err := SendHttpRequest ("POST" , requestUrl , requestBody , jc .getHttpHeaders (), 200 )
104
+
105
+ q := url.Values {}
106
+ q .Set ("jql" , payload .Jql )
107
+ q .Set ("maxResults" , fmt .Sprintf ("%d" , payload .MaxResults ))
108
+ q .Set ("startAt" , fmt .Sprintf ("%d" , payload .StartAt ))
109
+ q .Set ("fields" , strings .Join (payload .Fields , "," ))
110
+ q .Set ("expand" , strings .Join (payload .Expand , "," ))
111
+ q .Set ("fieldsByKeys" , strconv .FormatBool (payload .FieldsByKeys ))
112
+
113
+ fullUrl := requestUrl + "?" + q .Encode ()
114
+ response , err := SendHttpRequest ("GET" , fullUrl , nil , jc .getHttpHeaders (), 200 )
109
115
if err != nil {
110
116
return JQLResponse {}, err
111
117
}
0 commit comments