mirror of
				https://github.com/interviewstreet/go-jira.git
				synced 2025-10-30 23:47:46 +02:00 
			
		
		
		
	Merge branch 'master' of https://github.com/andygrunwald/go-jira
This commit is contained in:
		
							
								
								
									
										6
									
								
								issue.go
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								issue.go
									
									
									
									
									
								
							| @@ -490,6 +490,8 @@ type SearchOptions struct { | ||||
| 	// Expand: Expand specific sections in the returned issues | ||||
| 	Expand string `url:"expand,omitempty"` | ||||
| 	Fields []string | ||||
| 	// ValidateQuery: The validateQuery param offers control over whether to validate and how strictly to treat the validation. Default: strict. | ||||
| 	ValidateQuery string `url:"validateQuery,omitempty"` | ||||
| } | ||||
|  | ||||
| // searchResult is only a small wrapper around the Search (with JQL) method | ||||
| @@ -824,8 +826,8 @@ func (s *IssueService) Search(jql string, options *SearchOptions) ([]Issue, *Res | ||||
| 	if options == nil { | ||||
| 		u = fmt.Sprintf("rest/api/2/search?jql=%s", url.QueryEscape(jql)) | ||||
| 	} else { | ||||
| 		u = fmt.Sprintf("rest/api/2/search?jql=%s&startAt=%d&maxResults=%d&expand=%s&fields=%s", url.QueryEscape(jql), | ||||
| 			options.StartAt, options.MaxResults, options.Expand, strings.Join(options.Fields, ",")) | ||||
| 		u = fmt.Sprintf("rest/api/2/search?jql=%s&startAt=%d&maxResults=%d&expand=%s&fields=%s&validateQuery=%s", url.QueryEscape(jql), | ||||
| 			options.StartAt, options.MaxResults, options.Expand, strings.Join(options.Fields, ","), options.ValidateQuery) | ||||
| 	} | ||||
|  | ||||
| 	req, err := s.client.NewRequest("GET", u, nil) | ||||
|   | ||||
| @@ -505,15 +505,15 @@ func TestIssueService_SearchPages(t *testing.T) { | ||||
| 	defer teardown() | ||||
| 	testMux.HandleFunc("/rest/api/2/search", func(w http.ResponseWriter, r *http.Request) { | ||||
| 		testMethod(t, r, "GET") | ||||
| 		if r.URL.String() == "/rest/api/2/search?jql=something&startAt=1&maxResults=2&expand=foo&fields=" { | ||||
| 		if r.URL.String() == "/rest/api/2/search?jql=something&startAt=1&maxResults=2&expand=foo&fields=&validateQuery=warn" { | ||||
| 			w.WriteHeader(http.StatusOK) | ||||
| 			fmt.Fprint(w, `{"expand": "schema,names","startAt": 1,"maxResults": 2,"total": 6,"issues": [{"expand": "html","id": "10230","self": "http://kelpie9:8081/rest/api/2/issue/BULK-62","key": "BULK-62","fields": {"summary": "testing","timetracking": null,"issuetype": {"self": "http://kelpie9:8081/rest/api/2/issuetype/5","id": "5","description": "The sub-task of the issue","iconUrl": "http://kelpie9:8081/images/icons/issue_subtask.gif","name": "Sub-task","subtask": true},"customfield_10071": null}},{"expand": "html","id": "10004","self": "http://kelpie9:8081/rest/api/2/issue/BULK-47","key": "BULK-47","fields": {"summary": "Cheese v1 2.0 issue","timetracking": null,"issuetype": {"self": "http://kelpie9:8081/rest/api/2/issuetype/3","id": "3","description": "A task that needs to be done.","iconUrl": "http://kelpie9:8081/images/icons/task.gif","name": "Task","subtask": false}}}]}`) | ||||
| 			return | ||||
| 		} else if r.URL.String() == "/rest/api/2/search?jql=something&startAt=3&maxResults=2&expand=foo&fields=" { | ||||
| 		} else if r.URL.String() == "/rest/api/2/search?jql=something&startAt=3&maxResults=2&expand=foo&fields=&validateQuery=warn" { | ||||
| 			w.WriteHeader(http.StatusOK) | ||||
| 			fmt.Fprint(w, `{"expand": "schema,names","startAt": 3,"maxResults": 2,"total": 6,"issues": [{"expand": "html","id": "10230","self": "http://kelpie9:8081/rest/api/2/issue/BULK-62","key": "BULK-62","fields": {"summary": "testing","timetracking": null,"issuetype": {"self": "http://kelpie9:8081/rest/api/2/issuetype/5","id": "5","description": "The sub-task of the issue","iconUrl": "http://kelpie9:8081/images/icons/issue_subtask.gif","name": "Sub-task","subtask": true},"customfield_10071": null}},{"expand": "html","id": "10004","self": "http://kelpie9:8081/rest/api/2/issue/BULK-47","key": "BULK-47","fields": {"summary": "Cheese v1 2.0 issue","timetracking": null,"issuetype": {"self": "http://kelpie9:8081/rest/api/2/issuetype/3","id": "3","description": "A task that needs to be done.","iconUrl": "http://kelpie9:8081/images/icons/task.gif","name": "Task","subtask": false}}}]}`) | ||||
| 			return | ||||
| 		} else if r.URL.String() == "/rest/api/2/search?jql=something&startAt=5&maxResults=2&expand=foo&fields=" { | ||||
| 		} else if r.URL.String() == "/rest/api/2/search?jql=something&startAt=5&maxResults=2&expand=foo&fields=&validateQuery=warn" { | ||||
| 			w.WriteHeader(http.StatusOK) | ||||
| 			fmt.Fprint(w, `{"expand": "schema,names","startAt": 5,"maxResults": 2,"total": 6,"issues": [{"expand": "html","id": "10230","self": "http://kelpie9:8081/rest/api/2/issue/BULK-62","key": "BULK-62","fields": {"summary": "testing","timetracking": null,"issuetype": {"self": "http://kelpie9:8081/rest/api/2/issuetype/5","id": "5","description": "The sub-task of the issue","iconUrl": "http://kelpie9:8081/images/icons/issue_subtask.gif","name": "Sub-task","subtask": true},"customfield_10071": null}}]}`) | ||||
| 			return | ||||
| @@ -522,7 +522,7 @@ func TestIssueService_SearchPages(t *testing.T) { | ||||
| 		t.Errorf("Unexpected URL: %v", r.URL) | ||||
| 	}) | ||||
|  | ||||
| 	opt := &SearchOptions{StartAt: 1, MaxResults: 2, Expand: "foo"} | ||||
| 	opt := &SearchOptions{StartAt: 1, MaxResults: 2, Expand: "foo", ValidateQuery: "warn"} | ||||
| 	issues := make([]Issue, 0) | ||||
| 	err := testClient.Issue.SearchPages("something", opt, func(issue Issue) error { | ||||
| 		issues = append(issues, issue) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user