@@ -538,23 +538,32 @@ pub(crate) struct Ruleset {
538538 pub ( crate ) rules : BTreeSet < RulesetRule > ,
539539}
540540
541- #[ derive( Clone , Debug , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ) ]
541+ #[ derive(
542+ Clone , Debug , Default , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ,
543+ ) ]
542544#[ serde( rename_all = "lowercase" ) ]
543545pub ( crate ) enum RulesetTarget {
546+ #[ default]
544547 Branch ,
545548 Tag ,
546549}
547550
548- #[ derive( Clone , Debug , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ) ]
551+ #[ derive(
552+ Clone , Debug , Default , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ,
553+ ) ]
549554#[ serde( rename_all = "PascalCase" ) ]
550555pub ( crate ) enum RulesetSourceType {
556+ #[ default]
551557 Repository ,
552558 Organization ,
553559}
554560
555- #[ derive( Clone , Debug , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ) ]
561+ #[ derive(
562+ Clone , Debug , Default , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ,
563+ ) ]
556564#[ serde( rename_all = "lowercase" ) ]
557565pub ( crate ) enum RulesetEnforcement {
566+ #[ default]
558567 Active ,
559568 Disabled ,
560569 Evaluate ,
@@ -628,21 +637,48 @@ pub(crate) struct MergeQueueParameters {
628637 pub ( crate ) min_entries_to_merge_wait_minutes : i32 ,
629638}
630639
631- #[ derive( Clone , Debug , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ) ]
640+ pub ( crate ) const DEFAULT_MERGE_QUEUE_TIMEOUT_MINUTES : i32 = 360 ;
641+ pub ( crate ) const DEFAULT_MERGE_QUEUE_MAX_ENTRIES_TO_BUILD : i32 = 5 ;
642+ pub ( crate ) const DEFAULT_MERGE_QUEUE_MAX_ENTRIES_TO_MERGE : i32 = 5 ;
643+ pub ( crate ) const DEFAULT_MERGE_QUEUE_MIN_ENTRIES_TO_MERGE : i32 = 0 ;
644+ pub ( crate ) const DEFAULT_MERGE_QUEUE_MIN_ENTRIES_TO_MERGE_WAIT_MINUTES : i32 = 0 ;
645+
646+ #[ derive(
647+ Clone , Debug , Default , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ,
648+ ) ]
632649#[ serde( rename_all = "SCREAMING_SNAKE_CASE" ) ]
633650pub ( crate ) enum MergeQueueGroupingStrategy {
651+ #[ default]
634652 Allgreen ,
635653 Headgreen ,
636654}
637655
638- #[ derive( Clone , Debug , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ) ]
656+ #[ derive(
657+ Clone , Debug , Default , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ,
658+ ) ]
639659#[ serde( rename_all = "SCREAMING_SNAKE_CASE" ) ]
640660pub ( crate ) enum MergeQueueMergeMethod {
661+ #[ default]
641662 Merge ,
642663 Squash ,
643664 Rebase ,
644665}
645666
667+ impl Default for MergeQueueParameters {
668+ fn default ( ) -> Self {
669+ Self {
670+ check_response_timeout_minutes : DEFAULT_MERGE_QUEUE_TIMEOUT_MINUTES ,
671+ grouping_strategy : MergeQueueGroupingStrategy :: default ( ) ,
672+ max_entries_to_build : DEFAULT_MERGE_QUEUE_MAX_ENTRIES_TO_BUILD ,
673+ max_entries_to_merge : DEFAULT_MERGE_QUEUE_MAX_ENTRIES_TO_MERGE ,
674+ merge_method : MergeQueueMergeMethod :: default ( ) ,
675+ min_entries_to_merge : DEFAULT_MERGE_QUEUE_MIN_ENTRIES_TO_MERGE ,
676+ min_entries_to_merge_wait_minutes :
677+ DEFAULT_MERGE_QUEUE_MIN_ENTRIES_TO_MERGE_WAIT_MINUTES ,
678+ }
679+ }
680+ }
681+
646682#[ derive( Clone , Debug , PartialEq , Eq , PartialOrd , Ord , serde:: Serialize , serde:: Deserialize ) ]
647683pub ( crate ) struct RequiredDeploymentsParameters {
648684 pub ( crate ) required_deployment_environments : Vec < String > ,
@@ -662,6 +698,7 @@ pub(crate) struct RequiredStatusChecksParameters {
662698 #[ serde( skip_serializing_if = "Option::is_none" ) ]
663699 pub ( crate ) do_not_enforce_on_create : Option < bool > ,
664700 pub ( crate ) required_status_checks : Vec < RequiredStatusCheck > ,
701+ /// Whether pull requests targeting a matching branch must be tested with the latest code.
665702 pub ( crate ) strict_required_status_checks_policy : bool ,
666703}
667704
0 commit comments