Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GitHub Webhook Integration
Summary
Adds a GitHub webhook listener that lets the agent respond to comments on issues and PRs directly from GitHub. When someone mentions
@jarvisin a GitHub comment, the agent processes the request and replies as a GitHub comment — no Slack required.What it does
POST /github/webhookendpoint that receives GitHub webhook eventsissue_comment— comments on issues or PRs (top-level)pull_request_review_comment— inline review comments on PR diffs@jarvis review this PR) and uses Opus model for thoseLOG_CHANNEL_IDis configuredSecurity layers (in order)
X-Hub-Signature-256againstGITHUB_WEBHOOK_SECRETGITHUB_ALLOWED_REPOSgh api(cached 1h)New environment variables
GITHUB_WEBHOOK_SECRETGITHUB_ORGdecentralandGITHUB_ALLOWED_REPOSNotes
GITHUB_TOKENshould haveread:orgscope for the membership check to work with private org members. Without it, only public members are recognized.AgentSchedulerinstance, sharing the same concurrency limit (MAX_CONCURRENT_AGENTS) — a spike in GitHub events won't starve Slack requests since they use separate schedulers.GITHUB_WEBHOOK_SECRETis not set, the handler is not initialized and the endpoint returns 503.