Skip to content

Commit 44bbe85

Browse files
committed
Fix some webhook deserialization errors.
1 parent 0b24251 commit 44bbe85

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

src/github.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -983,14 +983,18 @@ pub enum IssuesAction {
983983
Demilestoned,
984984
ReviewRequested {
985985
/// The person requested to review the pull request
986-
requested_reviewer: User,
986+
///
987+
/// This can be `None` when a review is requested for a team.
988+
requested_reviewer: Option<User>,
987989
},
988990
ReviewRequestRemoved,
989991
ReadyForReview,
990992
Synchronize,
991993
ConvertedToDraft,
992994
AutoMergeEnabled,
993995
AutoMergeDisabled,
996+
Enqueued,
997+
Dequeued,
994998
}
995999

9961000
#[derive(Debug, serde::Deserialize)]

src/handlers/review_requested.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ pub(crate) async fn parse_input(
1515
return Ok(None);
1616
}
1717

18-
let IssuesAction::ReviewRequested { requested_reviewer } = &event.action else {
18+
let IssuesAction::ReviewRequested {
19+
requested_reviewer: Some(requested_reviewer),
20+
} = &event.action
21+
else {
1922
return Ok(None);
2023
};
2124

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ pub fn deserialize_payload<T: serde::de::DeserializeOwned>(v: &str) -> anyhow::R
163163
match res {
164164
Ok(r) => Ok(r),
165165
Err(e) => {
166+
log::error!("failed to deserialize webhook payload: {v}");
166167
let ctx = format!("at {:?}", e.path());
167168
Err(e.into_inner()).context(ctx)
168169
}

0 commit comments

Comments
 (0)