SEP 12, 2025
The GitHub comment job posts reports of your workflow's completed builds and updates to GitHub pull requests. It makes it easy for your reviewers and testers to see what your changes will look like once they're deployed.
To post build and update reports to a GitHub pull request, add a job with type: github-comment to your workflow:
name: PR Auto Comment
on:
pull_request: {}
jobs:
# build_ios, build_android, and publish_update jobs
comment_on_pr:
name: Post Results to PR
after: [build_ios, build_android, publish_update]
type: github-comment
The job above will auto-detect the build and update IDs in your workflow and include them in a GitHub comment.
The job operates in two modes: auto-with-overrides mode (default) and payload mode for fully custom comments.
By default, the job automatically discovers all completed builds and updates from your workflow. You can customize which builds and updates to include:
name: Custom Build Report
jobs:
# build_ios, build_android, and publish_update jobs
custom_comment:
name: Post Custom Report
after: [build_ios, build_android, publish_update]
type: github-comment
params:
message: "🎉 Preview builds are ready! Please test these changes before approving the PR."
build_ids:
- ${{ after.build_ios.outputs.build_id }}
- ${{ after.build_android.outputs.build_id }}
update_group_ids:
- ${{ after.publish_update.outputs.first_update_group_id }}
For complete control over comment content, use payload mode with markdown:
name: Custom Comment
jobs:
custom_payload:
name: Post Custom Comment
type: github-comment
params:
payload: |
## 🚀 Deployment Complete
Your custom comment!
The GitHub comment job is flexible, so that it can fit your team's needs. You can combine the control flow properties of jobs, like needs and after, to post specific messages about job statuses:
name: Conditional PR Comment
on:
pull_request: {}
jobs:
build_android:
name: Build Android
type: build
params:
platform: android
profile: preview
comment_success:
name: Post Success Comment
needs: [build_android]
if: ${{ needs.build_android.status == 'success' }}
type: github-comment
params:
message: '✅ Android build succeeded! Ready for testing.'
build_ids:
- ${{ needs.build_android.outputs.build_id }}
comment_failure:
name: Post Failure Comment
after: [build_android]
if: ${{ after.build_android.status == 'failure' }}
type: github-comment
params:
payload: |
❌ **Android build failed**
Please check the [workflow logs](https://expo.dev/accounts/[account]/projects/[project]/workflows) for details.
Learn more about the GitHub Comment job type in our prepackaged jobs documentation.
Fetched April 8, 2026