Overview
GitScrum webhooks deliver real-time HTTP POST notifications when events occur in your projects. Automate workflows and integrate with external systems.
Webhooks enable your external systems to receive real-time notifications when events happen inside GitScrum projects. Instead of polling the API for changes, your server receives an HTTP POST request the moment a task is created, a sprint is updated, or time is tracked.
How Webhooks Work
GitScrum webhooks follow a simple publish-subscribe model:
- You configure an endpoint URL for specific events in Project Settings → Webhooks
- When that event occurs, GitScrum sends an HTTP POST request to your URL
- Your server processes the payload and returns a 2xx status code
Each webhook is scoped to a single project. You configure endpoints per event type, giving you granular control over which notifications you receive.
Available Events
GitScrum supports 26 webhook events across six categories:
Task Events (7)
| Event | Description |
|---|---|
issues.store | Task created |
issues.update | Task updated |
issues.move.board | Task moved between board columns |
issues.assignees.store | Assignee added to task |
issues.assignees.destroy | Assignee removed from task |
issues.destroy | Task deleted |
issues.move.project | Task moved to another project |
Time Tracking Events (5)
| Event | Description |
|---|---|
time-tracking.issues.start | Timer started |
time-tracking.issues.stop | Timer stopped |
time-tracking.issues.cancel | Timer cancelled |
time-tracking.issues.destroy | Time entry deleted |
time-tracking.issues.store | Manual time entry created |
Comments & Media Events (6)
| Event | Description |
|---|---|
comments.issues.store | Comment created |
comments.issues.destroy | Comment deleted |
attachments.issues.store | Attachment added |
attachments.issues.destroy | Attachment removed |
videos.issues.store | Video added |
videos.issues.destroy | Video removed |
User Story Events (4)
| Event | Description |
|---|---|
user-stories.store | User story created |
user-stories.update | User story updated |
user-stories.vote | User story voted |
user-stories.destroy | User story deleted |
Sprint Events (3)
| Event | Description |
|---|---|
sprints.store | Sprint created |
sprints.update | Sprint updated |
sprints.destroy | Sprint deleted |
Other Events (1)
| Event | Description |
|---|---|
discussions.vote | Discussion voted |
See each event page for the complete JSON payload reference.
Key Characteristics
- Per-project scope — Each webhook is configured within a specific project
- HTTP POST delivery — All events are delivered as JSON payloads via POST requests
- Synchronous dispatch — Events are sent immediately when actions occur
- Custom headers — Requests include
X-Header: GitScrumandUser-Agent: GitScrum Webhook - Delivery logging — Each webhook delivery is logged with status code and response
Pro Feature
Webhooks are available on GitScrum Pro plans and above. Free plan users can view the webhook configuration interface but cannot activate endpoints.
Requirements
Your webhook endpoint must:
- Be publicly accessible from the internet
- Accept HTTP POST requests with JSON body
- Respond with a 2xx status code within 30 seconds
- Support HTTPS (strongly recommended)
Next Steps
- Quick Start — Set up your first webhook in 5 minutes
- Setup Endpoints — Configure endpoints in the GitScrum UI
- Task Created — See a full payload example
- Payload Format — Understand the JSON payload structure
- Security — Headers, HTTPS, and security considerations