Available since 1.3.12 (SE, EE)
Webhooks are an event-driven integration mechanism with external systems. They enable automatic sending of HTTP requests when specific events occur in Deckhouse Code:
- Support for a wide range of events: Push, Merge Request, Issue, Pipeline, Release, and others.
- Request configuration: choice of method (POST, PUT), JSON format, header customization.
- Security features: Secret Token, SSL/TLS, event filtering.
- Support at the project, group, and instance levels.
- Integration with CI/CD, monitoring, messaging platforms, and tracking systems.
- Retry mechanism for connection failures.
Project webhooks are available in Deckhouse Code.
Group webhooks
To add a webhook at the group level, open the group page and navigate to “Settings” → “Webhooks”. Then select the desired events. Group webhooks support all project events plus:
- Member events;
- Project events;
- Subgroup events.
Member events
Member events trigger upon creation, modification, or deletion of group or project members.
If the user has no public email specified, the email in the request body will appear as “[REDACTED]”.
Adding a member
Request header:
X-Gitlab-Event: Member Hook
Example request body:
{
"created_at": "2025-07-02T15:23:25Z",
"updated_at": "2025-07-02T15:35:51Z",
"group_name": "agriculture",
"group_path": "agriculture",
"group_id": 1130,
"user_username": "reported_user_barabara",
"user_name": "Estella Gleason",
"user_email": "[DELETED]",
"user_id": 58,
"group_access": "Guest",
"expires_at": "2025-07-09T00:00:00Z",
"event_name": "user_add_to_group"
}Updating a member
Request header:
X-Gitlab-Event: Member HookExample request body:
{
"created_at": "2025-07-02T15:23:25Z",
"updated_at": "2025-07-02T15:36:21Z",
"group_name": "agriculture",
"group_path": "agriculture",
"group_id": 1130,
"user_username": "reported_user_barabara",
"user_name": "Estella Gleason",
"user_email": "[DELETED]",
"user_id": 58,
"group_access": "Guest",
"expires_at": null,
"event_name": "user_update_for_group"
}Removing a member
Request header:
X-Gitlab-Event: Member HookExample request body:
{
"created_at": "2025-07-02T15:23:25Z",
"updated_at": "2025-07-02T15:36:21Z",
"group_name": "agriculture",
"group_path": "agriculture",
"group_id": 1130,
"user_username": "reported_user_barabara",
"user_name": "Estella Gleason",
"user_email": "[DELETED]",
"user_id": 58,
"group_access": "Guest",
"expires_at": null,
"event_name": "user_remove_from_group"
}Project events
Trigger on creation or deletion of projects in groups and subgroups.
Creating a project
Request header:
X-Gitlab-Event: Project HookExample request body:
{
"event_name": "project_create",
"created_at": "2025-07-02T15:40:09Z",
"updated_at": "2025-07-02T15:40:09Z",
"name": "rspec",
"path": "rspec",
"path_with_namespace": "flant-development/agriculture/rspec",
"project_id": 28,
"project_namespace_id": 1130,
"owners": [
{
"name": "Administrator",
"email": "[DELETED]"
}
],
"project_visibility": "private"
}Deleting a project
Request header:
X-Gitlab-Event: Project HookExample request body:
{
"event_name": "project_destroy",
"created_at": "2025-07-02T15:40:09Z",
"updated_at": "2025-07-02T15:42:04Z",
"name": "rspec",
"path": "rspec",
"path_with_namespace": "flant-development/agriculture/rspec",
"project_id": 28,
"project_namespace_id": 1130,
"owners": [
{
"name": "Administrator",
"email": "[REDACTED]"
}
],
"project_visibility": "private"
}Subgroup events
Trigger on creation or deletion of subgroups.
Creating a subgroup
Request header:
X-Gitlab-Event: Subgroup HookExample request body:
{
"created_at": "2025-07-02T15:44:02Z",
"updated_at": "2025-07-02T15:44:02Z",
"event_name": "subgroup_create",
"name": "finances",
"path": "finances",
"full_path": "flant-development/finances",
"group_id": 1659,
"parent_group_id": 1123,
"parent_name": "Flant development",
"parent_path": "flant-development",
"parent_full_path": "flant-development"
}Deleting a subgroup
Request header:
X-Gitlab-Event: Subgroup HookExample request body:
{
"created_at": "2025-07-02T15:44:02Z",
"updated_at": "2025-07-02T15:44:02Z",
"event_name": "subgroup_destroy",
"name": "finances",
"path": "finances",
"full_path": "flant-development/finances",
"group_id": 1659,
"parent_group_id": 1123,
"parent_name": "Flant development",
"parent_path": "flant-development",
"parent_full_path": "flant-development"
}