@@ -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 /**
@@ -338,4 +319,39 @@ public function showParticipants($project_id, $issue_iid)
338319 {
339320 return $ this ->get ($ this ->getProjectPath ($ project_id , 'issues/ ' .$ this ->encodePath ($ issue_iid )).'/participants ' );
340321 }
322+
323+ /**
324+ * {@inheritDoc}
325+ */
326+ protected function createOptionsResolver ()
327+ {
328+ $ resolver = parent ::createOptionsResolver ();
329+
330+ $ resolver ->setDefined ('state ' )
331+ ->setAllowedValues ('state ' , ['opened ' , 'closed ' ])
332+ ;
333+ $ resolver ->setDefined ('labels ' );
334+ $ resolver ->setDefined ('milestone ' );
335+ $ resolver ->setDefined ('iids ' )
336+ ->setAllowedTypes ('iids ' , 'array ' )
337+ ->setAllowedValues ('iids ' , function (array $ value ) {
338+ return count ($ value ) == count (array_filter ($ value , 'is_int ' ));
339+ })
340+ ;
341+ $ resolver ->setDefined ('scope ' )
342+ ->setAllowedValues ('scope ' , ['created-by-me ' , 'assigned-to-me ' , 'all ' ])
343+ ;
344+ $ resolver ->setDefined ('order_by ' )
345+ ->setAllowedValues ('order_by ' , ['created_at ' , 'updated_at ' ])
346+ ;
347+ $ resolver ->setDefined ('sort ' )
348+ ->setAllowedValues ('sort ' , ['asc ' , 'desc ' ])
349+ ;
350+ $ resolver ->setDefined ('search ' );
351+ $ resolver ->setDefined ('assignee_id ' )
352+ ->setAllowedTypes ('assignee_id ' , 'integer ' )
353+ ;
354+
355+ return $ resolver ;
356+ }
341357}
0 commit comments