diff --git a/src/github/issue.rs b/src/github/issue.rs index c46cfaed..43984342 100644 --- a/src/github/issue.rs +++ b/src/github/issue.rs @@ -632,7 +632,7 @@ impl Issue { let review = client .json(client.get(&review_url)) .await - .context("unable to fetch review")?; + .with_context(|| format!("unable to fetch review ({review_id})"))?; Ok(review) } } @@ -663,10 +663,15 @@ pub struct Comment { #[derive(Debug, serde::Deserialize, Eq, PartialEq)] #[serde(rename_all = "snake_case")] pub enum PullRequestReviewState { + #[serde(alias = "APPROVED")] Approved, + #[serde(alias = "CHANGES_REQUESTED")] ChangesRequested, + #[serde(alias = "COMMENTED")] Commented, + #[serde(alias = "DISMISSED")] Dismissed, + #[serde(alias = "PENDING")] Pending, } diff --git a/src/handlers/review_changes_since.rs b/src/handlers/review_changes_since.rs index d8c2e0af..bb287c66 100644 --- a/src/handlers/review_changes_since.rs +++ b/src/handlers/review_changes_since.rs @@ -49,6 +49,12 @@ pub(crate) async fn handle( .. }, ) = event + && ( + // review + event.comment.pr_review_state.is_some() + // review comments + || event.comment.pull_request_review_id.is_some() + ) { let issue_repo = event.issue.repository(); let pr_num = event.issue.number; @@ -58,8 +64,7 @@ pub(crate) async fn handle( let link = format!("https://{host}/gh-changes-since/{issue_repo}/{pr_num}/{base}..{head}"); - if event.comment.pull_request_review_id.is_none() && event.comment.pr_review_state.is_some() - { + if event.comment.pr_review_state.is_some() { // this is a review (not a review comment) {