Skip to content

Webhooks

To configure a webhook, use the instructions.

It is possible to specify a webhook secret. The secret comes in the Gitflic-Webhook-Secret header

Common webhook fields:

Field Type Description
action String Name of the event
project_id String Project ID
project Object Object describing the project

List of webhook events:

Event Description
TEST_WEBHOOK Webhook test
ISSUE_CREATE Issue creation
ISSUE_UPDATE Issue update
NEW_ISSUE_NOTE Creation of an issue comment
MERGE_REQUEST_CREATE Merge request creation
MERGE_REQUEST_UPDATE Merge request update
MERGE_REQUEST_ACCEPT Merge request approval
MERGE_REQUEST_CLOSE Merge request closure
MERGE_REQUEST_CANCEL Merge request cancellation
MERGE Merge
DISCUSSION_CREATE Creation of a discussion comment
TAG_CREATE Tag creation
TAG_DELETE Tag deletion
BRANCH_CREATE Branch creation
BRANCH_DELETE Branch deletion
BRANCH_UPDATE Branch update
COLLABORATOR_ADD Collaborator addition
COLLABORATOR_UPDATE Collaborator permissions update
COLLABORATOR_DELETE Collaborator deletion
PIPELINE_NEW New pipeline
PIPELINE_SUCCESS Successful pipeline
PIPELINE_FAIL Pipeline failure
PIPELINE_WARNING Pipeline warning

Contents of the project object:

Event Type Description
project_id String Project ID
title String Project name
alias String Project alias
owner_alias String Project owner alias
owner_type String Project owner type. Possible types: USER, TEAM, and COMPANY
http_transport_url String Link for cloning the project via HTTPS
ssh_transport_url String Link for cloning the project via SSH
language String Programming language
private Boolean Private project true or public false

Webhook test

A test request that can be sent to check webhook operability.

Response example
    
{
  "action": "TEST_WEBHOOK",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4"
}
    
  

Issue creation

Description of the issue object fields:

Field Type Description
id String Issue ID.
user_id String ID of the user who created the issue.
user_alias String Alias of the user who created the issue.
title String Issue title.
description String Issue description.
status String Issue status. Possible statuses: OPEN, IN_PROGRESS, CLOSED, COMPLETED
labels Set (String) Array containing issue labels
Response example
    
{
  "action": "ISSUE_CREATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "issue": {
    "id": "a54541ce-aaaa-aaaa-aaaa-c057ecd86610",
    "user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "user_alias": "adminuser",    
    "title": "test title",
    "description": "test description",
    "status": "OPEN",
    "labels": []
  },
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  }
}
    
  

Issue update

Description of the issue object fields:

Field Type Description
id String Issue ID.
user_id String ID of the user who updated the issue.
user_alias String Alias of the user who updated the issue.
title String Issue title.
description String Issue description.
status String Issue status. Possible statuses: OPEN, IN_PROGRESS, CLOSED, COMPLETED
labels Set (String) Array containing issue labels
Response example
    
{
  "action": "ISSUE_UPDATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "issue": {
    "id": "d929d155-aaaa-aaaa-aaaa-05352809923d",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "user_alias": "adminuser",
    "title": "test title",
    "description": "test description",
    "status": "OPEN",
    "labels": []
  },
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  }
}
    
  

New issue comment

Description of the issue_note object fields:

Field Type Description
id String Issue comment ID.
user_id String ID of the user who wrote the comment.
issue_id String Issue ID.
message String Message.
issue_local_id String Local issue ID.
Response example
    
{
  "action": "NEW_ISSUE_NOTE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "issue_note": {
    "id": "89bb7628-aaaa-aaaa-aaaa-f9a1864b56f4",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "issue_id": "245612b6-aaaa-aaaa-aaaa-8b71c1cd1fe0",
    "message": "test message",
    "issue_local_id": 10
  }
}
    
  

Merge request creation

Description of the merge_request object fields:

Field Type Description
id String Merge request ID.
user_id String ID of the user who created the merge request.
title String Merge request title.
description String Merge request description.
status String Merge request status. Possible statuses: OPENED, MERGED,CLOSED,CANCELED,FAILED
source_project_id String Source project ID.
source_commit String Source commit hash.
source_branch String Source branch of the merge request.
target_project_id String Target project ID for the merge.
target_branch String Target branch of the merge request.
local_id String Local merge request ID.
url String Merge request URL.
status_title String Name of the merge request status: Открыт, Слит,Закрыт,Отменен,Ошибка
can_merge Boolean Merge request can be merged true or not false
author_username String Username of the user who created the merge request.

Description of the merge_requirements object fields:

Field Type Description
LAST_PIPELINE_SUCCESS Boolean The last pipeline completed successfully true or not false
WORK_NOT_IN_PROGRESS Boolean Merge request is not blocked true or blocked false
RIGHTS_TO_MERGE Boolean The user has true or does not have false merge permission
NO_CONFLICTS Boolean Merge request has no conflicts true or has conflicts false
BRANCH_NOT_PROTECTED_FOR_USER Boolean The user has true or does not have false permission to merge into the protected branch
HAS_ALL_APPROVERS Boolean Merge request has received true or has not received false the required approvals from approvers
HAS_ALL_CODEOWNERS Boolean Merge request has received true or has not received false the required approvals from code owners
MERGE_RESULTS_PIPELINE_SUCCESS Boolean Merge result pipeline completed successfully true or not false
Response example
    
{
  "action": "MERGE_REQUEST_CREATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "merge_request": {
    "id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
    "user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "title": "test title",
    "description": "test description",
    "status": "OPENED",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "omega",
    "source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
    "status_title": "Открыт",
    "can_merge": false,
    "author_username": "adminuser"
  },
  "merge_requirements": {
    "LAST_PIPELINE_SUCCESS": false,
    "WORK_NOT_IN_PROGRESS": true,
    "RIGHTS_TO_MERGE": true,
    "NO_CONFLICTS": false,
    "BRANCH_NOT_PROTECTED_FOR_USER": false,
    "HAS_ALL_APPROVERS": false,
    "HAS_ALL_CODEOWNERS": true,
    "MERGE_RESULTS_PIPELINE_SUCCESS": false
  }
}
    
  

Merge request update

Description of the merge_request object fields:

Field Type Description
id String Merge request ID.
user_id String ID of the user who created the merge request.
title String Merge request title.
description String Merge request description.
status String Merge request status. Possible statuses: OPENED, MERGED,CLOSED,CANCELED,FAILED
source_project_id String Source project ID.
source_commit String Source commit hash.
source_branch String Source branch of the merge request.
target_project_id String Target project ID for the merge.
target_branch String Target branch of the merge request.
local_id String Local merge request ID.
url String Merge request URL.
status_title String Name of the merge request status: Открыт, Слит,Закрыт,Отменен,Ошибка
can_merge Boolean Merge request can be merged true or not false
author_username String Username of the user who created the merge request.

Description of the merge_requirements object fields:

Field Type Description
LAST_PIPELINE_SUCCESS Boolean The last pipeline completed successfully true or not false
WORK_NOT_IN_PROGRESS Boolean Merge request is not blocked true or blocked false
RIGHTS_TO_MERGE Boolean The user has true or does not have false merge permission
NO_CONFLICTS Boolean Merge request has no conflicts true or has conflicts false
BRANCH_NOT_PROTECTED_FOR_USER Boolean The user has true or does not have false permission to merge into the protected branch
HAS_ALL_APPROVERS Boolean Merge request has received true or has not received false the required approvals from approvers
HAS_ALL_CODEOWNERS Boolean Merge request has received true or has not received false the required approvals from code owners
MERGE_RESULTS_PIPELINE_SUCCESS Boolean Merge result pipeline completed successfully true or not false

Description of the initiator object fields:

Field Type Description
id String UUID of the user who updated the merge request
name String Alias of the user who updated the merge request
Response example
    
{
  "action": "MERGE_REQUEST_UPDATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "merge_request": {
    "id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
    "user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "title": "test title",
    "description": "test description",
    "status": "OPENED",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "omega",
    "source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/merge-request/1"
    "status_title": "Открыт",
    "can_merge": false,
    "author_username": "adminuser"
  },
  "merge_requirements": {
    "LAST_PIPELINE_SUCCESS": false,
    "WORK_NOT_IN_PROGRESS": true,
    "RIGHTS_TO_MERGE": true,
    "NO_CONFLICTS": false,
    "BRANCH_NOT_PROTECTED_FOR_USER": false,
    "HAS_ALL_APPROVERS": false,
    "HAS_ALL_CODEOWNERS": true,
    "MERGE_RESULTS_PIPELINE_SUCCESS": false
  },  
  "initiator": {
    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "name": "adminuser"
  }
}
    
  

Merge request approval

Description of the merge_request object fields:

Field Type Description
id String Merge request ID.
user_id String ID of the user who created the merge request.
title String Merge request title.
description String Merge request description.
status String Merge request status. Possible statuses: OPENED, MERGED,CLOSED,CANCELED,FAILED
source_project_id String Source project ID.
source_commit String Source commit hash.
source_branch String Source branch of the merge request.
target_project_id String Target project ID for the merge.
target_branch String Target branch of the merge request.
local_id String Local merge request ID.
url String Merge request URL.
status_title String Name of the merge request status: Открыт, Слит,Закрыт,Отменен,Ошибка
can_merge Boolean Merge request can be merged true or not false
author_username String Username of the user who created the merge request.

Description of the merge_requirements object fields:

Field Type Description
LAST_PIPELINE_SUCCESS Boolean The last pipeline completed successfully true or not false
WORK_NOT_IN_PROGRESS Boolean Merge request is not blocked true or blocked false
RIGHTS_TO_MERGE Boolean The user has true or does not have false merge permission
NO_CONFLICTS Boolean Merge request has no conflicts true or has conflicts false
BRANCH_NOT_PROTECTED_FOR_USER Boolean The user has true or does not have false permission to merge into the protected branch
HAS_ALL_APPROVERS Boolean Merge request has received true or has not received false the required approvals from approvers
HAS_ALL_CODEOWNERS Boolean Merge request has received true or has not received false the required approvals from code owners
MERGE_RESULTS_PIPELINE_SUCCESS Boolean Merge result pipeline completed successfully true or not false

Description of the initiator object fields:

Field Type Description
id String UUID of the user who approved the merge request
name String Alias of the user who approved the merge request
Response example
    
{
  "action": "MERGE_REQUEST_ACCEPT",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "merge_request": {
    "id": "79ea9af0-aaaa-aaaa-aaaa-3dfdb0c84d9f",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "description": "test",
    "status": "OPENED",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "omega",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/merge-request/1"
    "status_title": "Открыт",
    "can_merge": false,
    "author_username": "adminuser"
  },
  "merge_requirements": {
    "LAST_PIPELINE_SUCCESS": false,
    "WORK_NOT_IN_PROGRESS": true,
    "RIGHTS_TO_MERGE": true,
    "NO_CONFLICTS": false,
    "BRANCH_NOT_PROTECTED_FOR_USER": false,
    "HAS_ALL_APPROVERS": false,
    "HAS_ALL_CODEOWNERS": true,
    "MERGE_RESULTS_PIPELINE_SUCCESS": false
  },
  "initiator": {
    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "name": "adminuser"
  }
}
    
  

Merge request closure

Description of the merge_request object fields:

Field Type Description
id String Merge request ID.
user_id String ID of the user who created the merge request.
title String Merge request title.
description String Merge request description.
status String Merge request status. Possible statuses: OPENED, MERGED,CLOSED,CANCELED,FAILED
source_project_id String Source project ID.
source_commit String Source commit hash.
source_branch String Source branch of the merge request.
target_project_id String Target project ID for the merge.
target_branch String Target branch of the merge request.
local_id String Local merge request ID.
url String Merge request URL.
status_title String Name of the merge request status: Открыт, Слит,Закрыт,Отменен,Ошибка
can_merge Boolean Merge request can be merged true or not false
author_username String Username of the user who created the merge request.

Description of the initiator object fields:

Field Type Description
id String UUID of the user who closed the merge request
name String Alias of the user who closed the merge request

This webhook always returns the merge_requirements object empty.

Response example
    
{
  "action": "MERGE_REQUEST_CLOSE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "merge_request": {
    "id": "2a774081-aaaa-aaaa-aaaa-78d342ab3d26",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "title": "test title",
    "description": "test description",
    "status": "CLOSED",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "omega",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
    "status_title": "Закрыт",
    "can_merge": false,
    "author_username": "adminuser"
  },
  "merge_requirements": {},
  "initiator": {
    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "name": "adminuser"
  }
}
    
  

Merge request cancellation

Description of the merge_request object fields:

Field Type Description
id String Merge request ID.
user_id String ID of the user who created the merge request.
title String Merge request title.
description String Merge request description.
status String Merge request status. Possible statuses: OPENED, MERGED,CLOSED,CANCELED,FAILED
source_project_id String Source project ID.
source_commit String Source commit hash.
source_branch String Source branch of the merge request.
target_project_id String Target project ID for the merge.
target_branch String Target branch of the merge request.
local_id String Local merge request ID.
url String Merge request URL.
status_title String Name of the merge request status: Открыт, Слит,Закрыт,Отменен,Ошибка
can_merge Boolean Merge request can be merged true or not false
author_username String Username of the user who created the merge request.

Description of the initiator object fields:

Field Type Description
id String UUID of the user who canceled the merge request
name String Alias of the user who canceled the merge request

This webhook always returns the merge_requirements object empty.

Response example
    
{
  "action": "MERGE_REQUEST_CANCEL",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "merge_request": {
    "id": "df34cb11-aaaa-aaaa-aaaa-7a2397bed8ab",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "title": "test",
    "description": "test",
    "status": "CANCELED",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "omega",
    "source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
    "status_title": "Отменен"
    "can_merge": false,,
    "author_username": "adminuser"
  },
  "merge_requirements": {},
  "initiator": {
    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "name": "adminuser"
  }
}
    
  

Merge

Description of the merge_request object fields:

Field Type Description
id String Merge request ID.
user_id String ID of the user who created the merge request.
title String Merge request title.
description String Merge request description.
status String Merge request status. Possible statuses: OPENED, MERGED,CLOSED,CANCELED,FAILED
source_project_id String Source project ID.
source_commit String Source commit hash.
source_branch String Source branch of the merge request.
target_project_id String Target project ID for the merge.
target_branch String Target branch of the merge request.
local_id String Local merge request ID.
url String Merge request URL.
status_title String Name of the merge request status: Открыт, Слит,Закрыт,Отменен,Ошибка
can_merge Boolean Merge request can be merged true or not false
author_username String Username of the user who created the merge request.

Description of the initiator object fields:

Field Type Description
id String UUID of the user who performed the merge request
name String Alias of the user who performed the merge request

This webhook always returns the merge_requirements object empty.

Response example
    
{
  "action": "MERGE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "merge_request": {
    "id": "c4f3fb62-aaaa-aaaa-aaaa-f5b4ccdf6c96",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "title": "test",
    "description": "test",
    "status": "MERGED",
    "source_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "source_branch": "main",
    "source_commit": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "target_project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "target_branch": "master",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/merge-request/1",
    "status_title": "Слит",
    "can_merge": false,
    "author_username": "adminuser"
  },
    "merge_requirements": {},
  "initiator": {
    "id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "name": "adminuser"
  }
}
    
  

Discussion creation

Description of the discussion object fields:

Field Type Description
id String Discussion ID.
message String Message.
type String Discussion type. Possible types: DISCUSSION_CREATED, DISCUSSION_REPLY_CREATE
merge_request_id String Merge request ID.
discussion_id String Discussion ID.
file_path String Path to the file for which the discussion was created.
line String Line number in the file for which the discussion was created.
author_username String Alias of the discussion author.
merge_request_status String Merge request status. Possible statuses: OPENED,CLOSED,MERGED,FAILED,CONFLICT,CANCELED.
merge_request_local_id String Local ID of the merge request in which the discussion was created.
merge_request_url String URL of the merge request in which the discussion was created.
Response example
    
{
  "action": "DISCUSSION_CREATE",
  "project_id": "c94aedd2-aaaa-aaaa-aaaa-67fbf1112a82",
  "discussion": {
    "id": "6c665aa6-aaaa-aaaa-aaaa-427fa11e1481",
    "message": "test message",
    "type": "DISCUSSION_REPLY_CREATE",
    "merge_request_id": "055c532c-aaaa-aaaa-aaaa-70591043ef50",
    "discussion_id": "a4177765-aaaa-aaaa-aaaa-e64b54a38659",
    "file_path": "README.md",
    "line": "1",
    "author_username": "username",
    "merge_request_status": "OPENED",
    "merge_request_local_id": 1,
    "merge_request_url": "https://gitflic.ru/project/adminuser/example/merge-request/1"
  },
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  }
}
    
  

Tag creation

Description of the push object fields:

Field Type Description
before String Previous commit hash. (For new tags, the zero commit)
after String Current commit hash. (The tag was created on this commit)
ref String Link to a Git object.
commits Array Array of commits.(The tag does not contain commits, only a link to a commit)
total_commits_count String Number of commits.
author_id String Tag author ID.
Response example
    
{
  "action": "TAG_CREATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "push": {
    "before": "0000000000000000000000000000000000000000",
    "after": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "ref": "refs/tags/1.2.3",
    "commits": [],
    "total_commits_count": 0,
    "author_id": "6736240a-aaaa-aaaa-aaaa-cab026562172"
  }
}
    
  

Tag deletion

Description of the push object fields:

Field Type Description
before String Previous commit hash. (The deleted tag was created on this commit)
after String Current commit hash. (Zero commit for the deleted tag)
ref String Link to a Git object.
commits Array Array of commits. (The tag does not contain commits, only a link to a commit)
total_commits_count String Number of commits.
author_id String Tag author ID.
Response example
    
{
  "action": "TAG_DELETE"",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "push": {
    "before": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "after": "0000000000000000000000000000000000000000",
    "ref": "refs/tags/1.2.3",
    "commits": [],
    "total_commits_count": 0,
    "author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  

Branch creation

Description of the push object fields:

Field Type Description
before String Previous commit hash.
after String Current commit hash. (Last commit on the created branch)
ref String Link to a Git object.
commits Array Array of commits.(If a branch is pushed without new commits, the array will be empty)
total_commits_count String Number of commits.
author_id String Tag author ID.

Description of fields of objects included in commits:

Field Type Description
id String Commit ID.
message String Commit message.
author_name String Commit author name
author_email String Commit author email
timestamp String Commit time in UTC format.
Response example
    
{
  "action": "BRANCH_CREATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "push": {
    "before": "0000000000000000000000000000000000000000",
    "after": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "ref": "refs/heads/develop",
    "commits": [
      {
        "id": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
        "message": "develop branch",
        "author_name": "Ivan Ivanov",
        "author_email": "ivanIvanov@mail.com",
        "timestamp": "2022-04-13T14:12:51"
      }
    ],
    "total_commits_count": 1
    "author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  

Branch deletion

Field Type Description
before String Previous commit hash.
after String Current commit hash. (Zero commit for the deleted branch)
ref String Link to a Git object.
commits Array Array of commits. (Empty for the deleted branch)
total_commits_count String Number of commits.
author_id String Tag author ID.
Response example
    
{
  "action": "BRANCH_DELETE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "push": {
    "before": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "after": "0000000000000000000000000000000000000000",
    "ref": "refs/heads/develop",
    "commits": [],
    "total_commits_count": 0,
    "author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  

Branch update

Description of the push object fields:

Field Type Description
before String Previous commit hash.
after String Current commit hash.
ref String Link to a Git object.
commits Array Array of commits. (Maximum number of displayed commits is 20)
total_commits_count String Number of commits.
author_id String Tag author ID.

Description of fields of objects included in commits:

Field Type Description
id String Commit ID.
message String Commit message.
author_name String Commit author name.
author_email String Commit author email.
timestamp String Commit time in UTC format.
Response example
    
{
  "action": "BRANCH_UPDATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "push": {
    "before": "ad49abb508911caaaaaaaaaaaad93f4df4c926e2",
    "after": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
    "ref": "refs/heads/master",
    "commits": [
      {
        "id": "6747c9b8114558aaaaaaaaaaaaf0e9c264ec1380",
        "message": "developer",
        "author_name": "GitFlic",
        "author_email": "support@gitflic.ru",
        "timestamp": "2022-04-13T14:17:32"
      },
    ],
    "total_commits_count": 2,
    "author_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51"
  }
}
    
  

Collaborator addition

This webhook is triggered when a user has accepted an invitation to the project.

Description of the collaborator object fields:

Field Type Description
userid String ID of the user being added.
user_alias String Alias of the user being added.
role String Name of the user role in the project.
base_role String Base role of the user in the project. Possible roles: OWNER, ADMIN, DEVELOPER, REPORTER, GUEST
Response example
    
{
  "action": "COLLABORATOR_ADD",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "collaborator": {
    "userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "user_alias": "test-user",
    "role": "Докладчик",
    "base_role": "REPORTER"
  }
}
    
  

Collaborator permissions update

This webhook is triggered when a user role has been changed.

Description of the collaborator object fields:

Field Type Description
userid String ID of the user whose role was changed.
user_alias String Alias of the user whose role was changed.
role String Name of the user's new role in the project.
base_role String New base role of the user in the project. Possible roles: OWNER, ADMIN, DEVELOPER, REPORTER, GUEST
Response example
    
{
  "action": "COLLABORATOR_UPDATE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "collaborator": {
    "userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "user_alias": "test-user",
    "role": "Докладчик",
    "base_role": "REPORTER"
  }
}
    
  

Collaborator deletion

Description of the collaborator object fields:

Field Type Description
userid String ID of the user who was removed from the project.
user_alias String Alias of the user who was removed from the project.
role String Name of the role that the user had in the project before deletion.
base_role String Base role that the user had in the project before deletion. Possible roles: OWNER, ADMIN, DEVELOPER, REPORTER, GUEST
Response example
    
{
  "action": "COLLABORATOR_DELETE",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "collaborator": {
    "userid": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "user_alias": "test-user",    
    "role": "Докладчик",
    "base_role": "REPORTER"
  }
}
    
  

New pipeline

Description of the pipeline object fields:

Field Type Description
id String Pipeline ID.
user_id String ID of the user who started the pipeline.
user_alias String Alias of the user who created the pipeline.
commit_id String Hash of the latest commit in the pipeline.
commit Object Object containing information about the commit on which the pipeline was created
ref String Link to the Git object on which the pipeline was created
local_id String Local pipeline ID.
url String Pipeline URL.

Description of the commit object fields:

Field Type Description
id String Commit hash.
message String Commit message.
author_name String Commit author name
author_email String Commit author email
timestamp String Commit time in UTC format.
Response example
    
{
  "action": "PIPELINE_NEW",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "pipeline": {
    "id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "user_alias": "adminuser",    
    "commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
    "commit": {
        "id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
        "message": "develop branch",
        "author_name": "Ivan Ivanov",
        "author_email": "ivanIvanov@mail.com",
        "timestamp": "2022-04-13T14:12:51"
      }
    "ref": "refs/heads/develop",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
  }
}
    
  

Successful pipeline

Description of the pipeline object fields:

Field Type Description
id String Pipeline ID.
user_id String ID of the user who started the pipeline.
commit_id String Hash of the latest commit in the pipeline.
commit Object Object containing information about the commit on which the pipeline was created
ref String Link to the Git object on which the pipeline was created
local_id String Local pipeline ID.
url String Pipeline URL.

Description of the commit object fields:

Field Type Description
id String Commit hash.
message String Commit message.
author_name String Commit author name
author_email String Commit author email
timestamp String Commit time in UTC format.
Response example
    
{
  "action": "PIPELINE_SUCCESS",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "pipeline": {
    "id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
    "commit": {
        "id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
        "message": "develop branch",
        "author_name": "Ivan Ivanov",
        "author_email": "ivanIvanov@mail.com",
        "timestamp": "2022-04-13T14:12:51"
      }
    "ref": "refs/heads/develop",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
  }
}
    
  

Pipeline failure

Description of the pipeline object fields:

Field Type Description
id String Pipeline ID.
user_id String ID of the user who started the pipeline.
commit_id String Hash of the latest commit in the pipeline.
commit Object Object containing information about the commit on which the pipeline was created
ref String Link to the Git object on which the pipeline was created
local_id String Local pipeline ID.
url String Pipeline URL.

Description of the commit object fields:

Field Type Description
id String Commit hash.
message String Commit message.
author_name String Commit author name
author_email String Commit author email
timestamp String Commit time in UTC format.
Response example
    
{
  "action": "PIPELINE_FAIL",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "test",
    "alias": "test",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "pipeline": {
    "id": "d1ac15f4-aaaa-aaaa-aaaa-49fcfa5e8af4",
    "user_id": "8473a25a-aaaa-aaaa-aaaa-3e5c9e0a4b51",
    "commit_id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
    "commit": {
        "id": "de9585ea7aaaaaaaaaaaa0843d1335640052b46d",
        "message": "develop branch",
        "author_name": "Ivan Ivanov",
        "author_email": "ivanIvanov@mail.com",
        "timestamp": "2022-04-13T14:12:51"
      }
    "ref": "refs/heads/develop",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
  }
}
    
  

Pipeline warning

Description of the pipeline object fields:

Field Type Description
id String Pipeline ID.
user_id String ID of the user who started the pipeline.
commit_id String Hash of the latest commit in the pipeline.
commit Object Object containing information about the commit on which the pipeline was created
ref String Link to the Git object on which the pipeline was created
local_id String Local pipeline ID.
url String Pipeline URL.

Description of the commit object fields:

Field Type Description
id String Commit hash.
message String Commit message.
author_name String Commit author name
author_email String Commit author email
timestamp String Commit time in UTC format.
Response example
    
{
  "action": "PIPELINE_WARNING",
  "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
  "project": {
    "project_id": "a34c945a-aaaa-aaaa-aaaa-78e5ae992ef4",
    "title": "example",
    "alias": "example",
    "owner_alias": "adminuser",
    "owner_type": "USER",
    "http_transport_url": "https://gitflic.ru/project/adminuser/example.git",
    "ssh_transport_url": "git@gitflic.ru:adminuser/example.git",
    "language": "Markdown",
    "private": false
  },
  "pipeline": {
    "id": "e7d12aa5-aaaa-aaaa-aaaa-6d03761bb6d3",
    "user_id": "6736240a-aaaa-aaaa-aaaa-cab026562172",
    "user_alias": "adminuser",
    "commit_id": "a97ce78ded328bafaaaaaaaaaaaaf2133c94af",
    "commit": {
      "id": "a97ce78ded328bafaaaaaaaaaaaaf2133c94af",
      "message": "test commit message",
      "author_name": "adminuser",
      "author_email": "adminuser@example.com",
      "timestamp": "2026-06-15T15:41:57"
    },
    "ref": "refs/heads/master",
    "local_id": 1,
    "url": "https://gitflic.ru/project/adminuser/example/ci-cd/pipeline/1"
  }
}
    
  

Automated translation!

This page has been automatically translated. The text may contain inaccuracies.