@@ -200,6 +200,7 @@ type DefaultReviewer struct {
200
200
Links map [string ]map [string ]string
201
201
}
202
202
203
+
203
204
type DefaultReviewers struct {
204
205
Page int
205
206
Pagelen int
@@ -208,6 +209,20 @@ type DefaultReviewers struct {
208
209
Next string
209
210
DefaultReviewers []DefaultReviewer
210
211
}
212
+ type EffectiveDefaultReviewer struct {
213
+ User DefaultReviewer
214
+ Type string
215
+ ReviewerType string `mapstructure:"reviewer_type"`
216
+ }
217
+
218
+ type EffectiveDefaultReviewers struct {
219
+ Page int
220
+ Pagelen int
221
+ MaxDepth int
222
+ Size int
223
+ Next string
224
+ EffectiveDefaultReviewers []EffectiveDefaultReviewer
225
+ }
211
226
212
227
type Group struct {
213
228
AccountPrivilege string `mapstructure:"account_privilege"`
@@ -626,6 +641,16 @@ func (r *Repository) DeleteDefaultReviewer(rdro *RepositoryDefaultReviewerOption
626
641
return r .c .execute ("DELETE" , urlStr , "" )
627
642
}
628
643
644
+ func (r * Repository ) ListEffectiveDefaultReviewers (ro * RepositoryOptions ) (* EffectiveDefaultReviewers , error ) {
645
+ urlStr := r .c .requestUrl ("/repositories/%s/%s/effective-default-reviewers" , ro .Owner , ro .RepoSlug )
646
+
647
+ res , err := r .c .executePaginated ("GET" , urlStr , "" , nil )
648
+ if err != nil {
649
+ return nil , err
650
+ }
651
+ return decodeEffectiveDefaultReviewers (res )
652
+ }
653
+
629
654
func (r * Repository ) GetPipelineConfig (rpo * RepositoryPipelineOptions ) (* Pipeline , error ) {
630
655
urlStr := r .c .requestUrl ("/repositories/%s/%s/pipelines_config" , rpo .Owner , rpo .RepoSlug )
631
656
response , err := r .c .execute ("GET" , urlStr , "" )
@@ -1761,6 +1786,53 @@ func decodeDefaultReviewers(response interface{}) (*DefaultReviewers, error) {
1761
1786
return & defaultReviewerVariables , nil
1762
1787
}
1763
1788
1789
+
1790
+ func decodeEffectiveDefaultReviewers (response interface {}) (* EffectiveDefaultReviewers , error ) {
1791
+ responseMap := response .(map [string ]interface {})
1792
+ values := responseMap ["values" ].([]interface {})
1793
+ var variables []EffectiveDefaultReviewer
1794
+ for _ , variable := range values {
1795
+ var defaultReviewerVariable EffectiveDefaultReviewer
1796
+ err := mapstructure .Decode (variable , & defaultReviewerVariable )
1797
+ if err == nil {
1798
+ variables = append (variables , defaultReviewerVariable )
1799
+ }
1800
+ }
1801
+
1802
+ page , ok := responseMap ["page" ].(float64 )
1803
+ if ! ok {
1804
+ page = 0
1805
+ }
1806
+
1807
+ pagelen , ok := responseMap ["pagelen" ].(float64 )
1808
+ if ! ok {
1809
+ pagelen = 0
1810
+ }
1811
+ max_depth , ok := responseMap ["max_depth" ].(float64 )
1812
+ if ! ok {
1813
+ max_depth = 0
1814
+ }
1815
+ size , ok := responseMap ["size" ].(float64 )
1816
+ if ! ok {
1817
+ size = 0
1818
+ }
1819
+
1820
+ next , ok := responseMap ["next" ].(string )
1821
+ if ! ok {
1822
+ next = ""
1823
+ }
1824
+
1825
+ defaultReviewerVariables := EffectiveDefaultReviewers {
1826
+ Page : int (page ),
1827
+ Pagelen : int (pagelen ),
1828
+ MaxDepth : int (max_depth ),
1829
+ Size : int (size ),
1830
+ Next : next ,
1831
+ EffectiveDefaultReviewers : variables ,
1832
+ }
1833
+ return & defaultReviewerVariables , nil
1834
+ }
1835
+
1764
1836
func decodeGroupPermissions (response interface {}) (* GroupPermission , error ) {
1765
1837
var groupPermission GroupPermission
1766
1838
err := mapstructure .Decode (response , & groupPermission )
0 commit comments