Skip to content

Commit a5231d3

Browse files
committed
Export merge bots in the REST API
1 parent 61ab7b6 commit a5231d3

File tree

5 files changed

+25
-5
lines changed

5 files changed

+25
-5
lines changed

rust_team_data/src/v1.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,12 +219,19 @@ pub enum BranchProtectionMode {
219219
PrNotRequired,
220220
}
221221

222+
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
223+
#[serde(rename_all = "snake_case")]
224+
pub enum MergeBot {
225+
Homu,
226+
}
227+
222228
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
223229
pub struct BranchProtection {
224230
pub pattern: String,
225231
pub dismiss_stale_review: bool,
226232
pub mode: BranchProtectionMode,
227233
pub allowed_merge_teams: Vec<String>,
234+
pub merge_bots: Vec<MergeBot>,
228235
}
229236

230237
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]

src/static_api.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
use crate::data::Data;
2-
use crate::schema::{Bot, Email, Permissions, RepoPermission, TeamKind, ZulipGroupMember};
2+
use crate::schema::{
3+
Bot, Email, MergeBot, Permissions, RepoPermission, TeamKind, ZulipGroupMember,
4+
};
35
use anyhow::{ensure, Context as _, Error};
46
use indexmap::IndexMap;
57
use log::info;
@@ -59,6 +61,13 @@ impl<'a> Generator<'a> {
5961
BranchProtectionMode::PrNotRequired
6062
},
6163
allowed_merge_teams: b.allowed_merge_teams.clone(),
64+
merge_bots: b
65+
.merge_bots
66+
.iter()
67+
.map(|bot| match bot {
68+
MergeBot::Homu => v1::MergeBot::Homu,
69+
})
70+
.collect(),
6271
})
6372
.collect();
6473
let managed_by_bors = r.bots.contains(&Bot::Bors);

tests/static-api/_expected/v1/repos.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
"required_approvals": 1
2626
}
2727
},
28-
"allowed_merge_teams": []
28+
"allowed_merge_teams": [],
29+
"merge_bots": []
2930
}
3031
],
3132
"archived": true,
@@ -59,7 +60,8 @@
5960
},
6061
"allowed_merge_teams": [
6162
"foo"
62-
]
63+
],
64+
"merge_bots": []
6365
}
6466
],
6567
"archived": false,

tests/static-api/_expected/v1/repos/archived_repo.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
"required_approvals": 1
2424
}
2525
},
26-
"allowed_merge_teams": []
26+
"allowed_merge_teams": [],
27+
"merge_bots": []
2728
}
2829
],
2930
"archived": true,

tests/static-api/_expected/v1/repos/some_repo.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
},
2626
"allowed_merge_teams": [
2727
"foo"
28-
]
28+
],
29+
"merge_bots": []
2930
}
3031
],
3132
"archived": false,

0 commit comments

Comments
 (0)