@@ -21,36 +21,17 @@ class Issues extends AbstractApi
2121 */
2222 public function all ($ project_id = null , array $ parameters = [])
2323 {
24- $ resolver = $ this ->createOptionsResolver ();
25-
26- $ resolver ->setDefined ('state ' )
27- ->setAllowedValues ('state ' , ['opened ' , 'closed ' ])
28- ;
29- $ resolver ->setDefined ('labels ' );
30- $ resolver ->setDefined ('milestone ' );
31- $ resolver ->setDefined ('iids ' )
32- ->setAllowedTypes ('iids ' , 'array ' )
33- ->setAllowedValues ('iids ' , function (array $ value ) {
34- return count ($ value ) == count (array_filter ($ value , 'is_int ' ));
35- })
36- ;
37- $ resolver ->setDefined ('scope ' )
38- ->setAllowedValues ('scope ' , ['created-by-me ' , 'assigned-to-me ' , 'all ' ])
39- ;
40- $ resolver ->setDefined ('order_by ' )
41- ->setAllowedValues ('order_by ' , ['created_at ' , 'updated_at ' ])
42- ;
43- $ resolver ->setDefined ('sort ' )
44- ->setAllowedValues ('sort ' , ['asc ' , 'desc ' ])
45- ;
46- $ resolver ->setDefined ('search ' );
47- $ resolver ->setDefined ('assignee_id ' )
48- ->setAllowedTypes ('assignee_id ' , 'integer ' )
49- ;
50-
5124 $ path = $ project_id === null ? 'issues ' : $ this ->getProjectPath ($ project_id , 'issues ' );
5225
53- return $ this ->get ($ path , $ resolver ->resolve ($ parameters ));
26+ return $ this ->get ($ path , $ this ->createOptionsResolver ()->resolve ($ parameters ));
27+ }
28+
29+ public function group ($ group_id , array $ parameters = [])
30+ {
31+ return $ this ->get (
32+ $ this ->getGroupPath ($ group_id , 'issues ' ),
33+ $ this ->createOptionsResolver ()->resolve ($ parameters )
34+ );
5435 }
5536
5637 /**
@@ -328,4 +309,39 @@ public function closedByMergeRequests($project_id, $issue_iid)
328309 {
329310 return $ this ->get ($ this ->getProjectPath ($ project_id , 'issues/ ' .$ this ->encodePath ($ issue_iid )).'/closed_by ' );
330311 }
312+
313+ /**
314+ * {@inheritDoc}
315+ */
316+ protected function createOptionsResolver ()
317+ {
318+ $ resolver = parent ::createOptionsResolver ();
319+
320+ $ resolver ->setDefined ('state ' )
321+ ->setAllowedValues ('state ' , ['opened ' , 'closed ' ])
322+ ;
323+ $ resolver ->setDefined ('labels ' );
324+ $ resolver ->setDefined ('milestone ' );
325+ $ resolver ->setDefined ('iids ' )
326+ ->setAllowedTypes ('iids ' , 'array ' )
327+ ->setAllowedValues ('iids ' , function (array $ value ) {
328+ return count ($ value ) == count (array_filter ($ value , 'is_int ' ));
329+ })
330+ ;
331+ $ resolver ->setDefined ('scope ' )
332+ ->setAllowedValues ('scope ' , ['created-by-me ' , 'assigned-to-me ' , 'all ' ])
333+ ;
334+ $ resolver ->setDefined ('order_by ' )
335+ ->setAllowedValues ('order_by ' , ['created_at ' , 'updated_at ' ])
336+ ;
337+ $ resolver ->setDefined ('sort ' )
338+ ->setAllowedValues ('sort ' , ['asc ' , 'desc ' ])
339+ ;
340+ $ resolver ->setDefined ('search ' );
341+ $ resolver ->setDefined ('assignee_id ' )
342+ ->setAllowedTypes ('assignee_id ' , 'integer ' )
343+ ;
344+
345+ return $ resolver ;
346+ }
331347}
0 commit comments