issue_comment.reactions_update

IssueCommentReactionsUpdate event - represents update of reactions on an issue comment

CI execution_ref: Default branch.

can-trigger-ci: true

REQUEST BODY SCHEMA: application/json
required

Field

Description

header

object (Common header included in all public events)

repository

object (Repository)

issue

object (Issue)

comment

object (IssueComment)

added_reactions

Array of strings (Reactions that were added)

Enum: "like" "dislike" "heart" "check_mark" "eyes" "fire" "victory_hand" "heart_eyes" "hundred_points" "party_popper" "party_face" "rolling_eyes" "fist" "clapping_hands" "thinking_face" "neutral_face" "winking_face" "open_mouth" "shrug" "pleading_face" "confused_face" "smiling_face" "sunglasses" "rocket" "robot" "goose"

removed_reactions

Array of strings (Reactions that were removed)

Enum: "like" "dislike" "heart" "check_mark" "eyes" "fire" "victory_hand" "heart_eyes" "hundred_points" "party_popper" "party_face" "rolling_eyes" "fist" "clapping_hands" "thinking_face" "neutral_face" "winking_face" "open_mouth" "shrug" "pleading_face" "confused_face" "smiling_face" "sunglasses" "rocket" "robot" "goose"

Field

Description

id

string (Unique identifier for this event instance)

type

string (Event type)

occurred_at

string <date-time> (When the event occurred)

aggregate_id

string (ID of the primary entity this event is about)

aggregate_type

string (Type of the primary entity (derived from event_type))

metadata

object (Public metadata)

organization_id

string (Organization context)

repository_id

string (Repository context)

triggered_by

object (UserEmbedded)

correlation_id

string
Correlation ID for tracking event chains back to the original request.
Uses request_id from the originating gRPC/HTTP request when available,
falls back to trace_id or the root event's ID.

causation_id

string
Causation ID is the ID of the event that directly caused this event.
Empty for root events (events triggered directly by user actions).
Used to reconstruct the event tree within a correlation chain.

header.metadata

Field

Description

property name*
additional property

string

header.triggered_by

Field

Description

id

string (Id will contain "<external-user>" if user is external)

slug

string (Slug will contain "<external-user>" if user is external)

repository

Field

Description

id

string

name

string
Deprecated: obsolete, prefer using slug. Will be removed in future API iterations.

default_branch

string

organization

object (OrganizationEmbedded)

slug

string

template_type

string (RepoTemplate)

Enum: "not_a_template" "organizational" "system"

is_empty

boolean

description

string

visibility

string (Repository.Visibility)

Enum: "public" "internal" "private"

logo

object (Image)

clone_url

object (CloneURL)

web_url

string

links

Array of objects (Link)

counters

object (RepositoryCounters)

last_updated

string <date-time>

language

object (Language)

parent

object (RepositoryEmbedded)

migration_source

object (MigrationSource)

project

object (ProjectEmbedded)

rating

object (RepositoryRating)
Aggregated rating information for a repository.

settings

object (RepositorySettings)

repository.organization

Field

Description

id

string

slug

string

Field

Description

url

string

repository.clone_url

Field

Description

https

string

ssh

string

Field

Description

link

string

type

string (Link.LinkType)

Enum: "default" "social_network" "homepage" "email" "telegram"

repository.counters

Field

Description

forks

string <uint64>

pull_requests

string <uint64>

issues

string <uint64>

tags

string <uint64>

branches

string <uint64>

repository.language

Field

Description

name

string

color

string

repository.parent

Field

Description

id

string

slug

string

organization

object (OrganizationEmbedded)

repository.parent.organization

Field

Description

id

string

slug

string

repository.migration_source

Field

Description

url

string

domain

string

repository.project

Field

Description

id

string

slug

string

repository.rating

Field

Description

value

number <double>
Current repository rating value.

percentile

number <double>
Repository percentile among rated repositories. Omitted while percentile data is unavailable.

reaction_counts

Array of objects (RepositoryRatingReactionCount)
Reaction counters grouped by reaction type.

repository.rating.reaction_counts

Field

Description

type

string (RepositoryRatingReaction.Type)

  • none: Remove the current user's rating reaction.
  • positive_low: A low positive rating reaction. Corresponds to Like in the SourceCraft interface.
  • positive_medium: A medium positive rating reaction. Corresponds to Heart in the SourceCraft interface.
  • positive_high: A high positive rating reaction. Corresponds to Diamond in the SourceCraft interface.

Enum: "none" "positive_low" "positive_medium" "positive_high"

count

string <uint64>

repository.settings

Field

Description

allow_external_contributions

boolean
Whether authenticated users without organization or repository access can contribute to a public repository.
Has no effect on non-public repositories.

issue

Field

Description

id

string

slug

string

title

string

description

string

status

object (IssueStatus)

author

object (UserEmbedded)

updated_by

object (UserEmbedded)

created_at

string <date-time>

updated_at

string <date-time>

assignee

object (UserEmbedded)

labels

Array of objects (LabelEmbedded)

linked_prs

Array of objects (PullRequestEmbedded)

priority

string (mapping is done by const name, except for the unspecified)

Enum: "trivial" "minor" "normal" "critical" "blocker"

visibility

string (Issue.Visibility)

Enum: "public" "private"

milestone

object (MilestoneEmbedded)

deadline

string <date-time> (User-defined deadline for the issue)

started_at

string <date-time> (Timestamp when the issue was last moved to in_progress status)

completed_at

string <date-time> (Timestamp when the issue was last moved to completed or canceled status)

repository

object (RepositoryEmbedded)

issue.status

Field

Description

id

string

slug

string

name

string

status_type

string (StatusType)

Enum: "initial" "in_progress" "paused" "completed" "cancelled"

issue.author

Field

Description

id

string (Id will contain "<external-user>" if user is external)

slug

string (Slug will contain "<external-user>" if user is external)

issue.updated_by

Field

Description

id

string (Id will contain "<external-user>" if user is external)

slug

string (Slug will contain "<external-user>" if user is external)

issue.assignee

Field

Description

id

string (Id will contain "<external-user>" if user is external)

slug

string (Slug will contain "<external-user>" if user is external)

issue.labels

Field

Description

id

string

slug

string

name

string

color

string

issue.linked_prs

Field

Description

id

string

slug

string

issue.milestone

Field

Description

id

string

slug

string

issue.repository

Field

Description

id

string

slug

string

organization

object (OrganizationEmbedded)

issue.repository.organization

Field

Description

id

string

slug

string

comment

Field

Description

id

string

body

string

parent

object (IssueCommentEmbedded)

author

object (UserEmbedded)

updated_by

object (UserEmbedded)

created_at

string <date-time>

updated_at

string <date-time>

reactions

object (key is one of Reactions)

attachments

Array of objects (AttachmentEmbedded)

comment.parent

Field

Description

id

string

comment.author

Field

Description

id

string (Id will contain "<external-user>" if user is external)

slug

string (Slug will contain "<external-user>" if user is external)

comment.updated_by

Field

Description

id

string (Id will contain "<external-user>" if user is external)

slug

string (Slug will contain "<external-user>" if user is external)

comment.reactions

Field

Description

property name*
additional property

object (ReactionCount)

comment.reactions.additional-property

Field

Description

count

integer <int32>

self_react

boolean

comment.attachments

Field

Description

id

string

Request samples
{
  "$ref": "#/components/schemas/IssueCommentReactionsUpdate",
  "components": {
    "schemas": {
      "IssueCommentReactionsUpdate": {
        "type": "object",
        "properties": {
          "header": {
            "$ref": "#/components/schemas/EventHeader"
          },
          "repository": {
            "$ref": "#/components/schemas/Repository"
          },
          "issue": {
            "$ref": "#/components/schemas/Issue"
          },
          "comment": {
            "$ref": "#/components/schemas/IssueComment"
          },
          "added_reactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Reaction"
            },
            "title": "Reactions that were added"
          },
          "removed_reactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Reaction"
            },
            "title": "Reactions that were removed"
          }
        },
        "title": "IssueCommentReactionsUpdate event - represents update of reactions on an issue comment"
      },
      "EventHeader": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "Unique identifier for this event instance"
          },
          "type": {
            "type": "string",
            "title": "Event type"
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time",
            "title": "When the event occurred"
          },
          "aggregate_id": {
            "type": "string",
            "title": "ID of the primary entity this event is about"
          },
          "aggregate_type": {
            "type": "string",
            "title": "Type of the primary entity (derived from event_type)"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "title": "Public metadata"
          },
          "organization_id": {
            "type": "string",
            "title": "Organization context"
          },
          "repository_id": {
            "type": "string",
            "title": "Repository context"
          },
          "triggered_by": {
            "$ref": "#/components/schemas/UserEmbedded"
          },
          "correlation_id": {
            "type": "string",
            "description": "Correlation ID for tracking event chains back to the original request.\nUses request_id from the originating gRPC/HTTP request when available,\nfalls back to trace_id or the root event's ID."
          },
          "causation_id": {
            "type": "string",
            "description": "Causation ID is the ID of the event that directly caused this event.\nEmpty for root events (events triggered directly by user actions).\nUsed to reconstruct the event tree within a correlation chain."
          }
        },
        "title": "Common header included in all public events"
      },
      "UserEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "Id will contain \"<external-user>\" if user is external"
          },
          "slug": {
            "type": "string",
            "title": "Slug will contain \"<external-user>\" if user is external"
          }
        }
      },
      "Repository": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Deprecated: obsolete, prefer using slug. Will be removed in future API iterations."
          },
          "default_branch": {
            "type": "string"
          },
          "organization": {
            "$ref": "#/components/schemas/OrganizationEmbedded"
          },
          "slug": {
            "type": "string"
          },
          "template_type": {
            "$ref": "#/components/schemas/RepoTemplate"
          },
          "is_empty": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "visibility": {
            "$ref": "#/components/schemas/Repository.Visibility"
          },
          "logo": {
            "$ref": "#/components/schemas/Image"
          },
          "clone_url": {
            "$ref": "#/components/schemas/CloneURL"
          },
          "web_url": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "counters": {
            "$ref": "#/components/schemas/RepositoryCounters"
          },
          "last_updated": {
            "type": "string",
            "format": "date-time"
          },
          "language": {
            "$ref": "#/components/schemas/Language"
          },
          "parent": {
            "$ref": "#/components/schemas/RepositoryEmbedded"
          },
          "migration_source": {
            "$ref": "#/components/schemas/MigrationSource"
          },
          "project": {
            "$ref": "#/components/schemas/ProjectEmbedded"
          },
          "rating": {
            "$ref": "#/components/schemas/RepositoryRating"
          },
          "settings": {
            "$ref": "#/components/schemas/RepositorySettings"
          }
        }
      },
      "OrganizationEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        }
      },
      "RepoTemplate": {
        "type": "string",
        "enum": [
          "not_a_template",
          "organizational",
          "system"
        ]
      },
      "Repository.Visibility": {
        "type": "string",
        "enum": [
          "public",
          "internal",
          "private"
        ]
      },
      "Image": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          }
        }
      },
      "CloneURL": {
        "type": "object",
        "properties": {
          "https": {
            "type": "string"
          },
          "ssh": {
            "type": "string"
          }
        }
      },
      "Link": {
        "type": "object",
        "properties": {
          "link": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/Link.LinkType"
          }
        }
      },
      "Link.LinkType": {
        "type": "string",
        "enum": [
          "default",
          "social_network",
          "homepage",
          "email",
          "telegram"
        ]
      },
      "RepositoryCounters": {
        "type": "object",
        "properties": {
          "forks": {
            "type": "string",
            "format": "uint64"
          },
          "pull_requests": {
            "type": "string",
            "format": "uint64"
          },
          "issues": {
            "type": "string",
            "format": "uint64"
          },
          "tags": {
            "type": "string",
            "format": "uint64"
          },
          "branches": {
            "type": "string",
            "format": "uint64"
          }
        }
      },
      "Language": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        }
      },
      "RepositoryEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "organization": {
            "$ref": "#/components/schemas/OrganizationEmbedded"
          }
        }
      },
      "MigrationSource": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          }
        }
      },
      "ProjectEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        }
      },
      "RepositoryRating": {
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "format": "double",
            "description": "Current repository rating value."
          },
          "percentile": {
            "type": "number",
            "format": "double",
            "description": "Repository percentile among rated repositories. Omitted while percentile data is unavailable."
          },
          "reaction_counts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepositoryRatingReactionCount"
            },
            "description": "Reaction counters grouped by reaction type."
          }
        },
        "description": "Aggregated rating information for a repository."
      },
      "RepositoryRatingReactionCount": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/RepositoryRatingReaction.Type"
          },
          "count": {
            "type": "string",
            "format": "uint64"
          }
        },
        "description": "Number of rating reactions of a particular type."
      },
      "RepositoryRatingReaction.Type": {
        "type": "string",
        "enum": [
          "none",
          "positive_low",
          "positive_medium",
          "positive_high"
        ],
        "description": " - none: Remove the current user's rating reaction.\n - positive_low: A low positive rating reaction. Corresponds to Like in the SourceCraft interface.\n - positive_medium: A medium positive rating reaction. Corresponds to Heart in the SourceCraft interface.\n - positive_high: A high positive rating reaction. Corresponds to Diamond in the SourceCraft interface."
      },
      "RepositorySettings": {
        "type": "object",
        "properties": {
          "allow_external_contributions": {
            "type": "boolean",
            "description": "Whether authenticated users without organization or repository access can contribute to a public repository.\nHas no effect on non-public repositories."
          }
        }
      },
      "Issue": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/IssueStatus"
          },
          "author": {
            "$ref": "#/components/schemas/UserEmbedded"
          },
          "updated_by": {
            "$ref": "#/components/schemas/UserEmbedded"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "assignee": {
            "$ref": "#/components/schemas/UserEmbedded"
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LabelEmbedded"
            }
          },
          "linked_prs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullRequestEmbedded"
            }
          },
          "priority": {
            "$ref": "#/components/schemas/Priority"
          },
          "visibility": {
            "$ref": "#/components/schemas/Issue.Visibility"
          },
          "milestone": {
            "$ref": "#/components/schemas/MilestoneEmbedded"
          },
          "deadline": {
            "type": "string",
            "format": "date-time",
            "title": "User-defined deadline for the issue"
          },
          "started_at": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp when the issue was last moved to in_progress status"
          },
          "completed_at": {
            "type": "string",
            "format": "date-time",
            "title": "Timestamp when the issue was last moved to completed or canceled status"
          },
          "repository": {
            "$ref": "#/components/schemas/RepositoryEmbedded"
          }
        }
      },
      "IssueStatus": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status_type": {
            "$ref": "#/components/schemas/StatusType"
          }
        }
      },
      "StatusType": {
        "type": "string",
        "enum": [
          "initial",
          "in_progress",
          "paused",
          "completed",
          "cancelled"
        ]
      },
      "LabelEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        }
      },
      "PullRequestEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        }
      },
      "Priority": {
        "type": "string",
        "enum": [
          "trivial",
          "minor",
          "normal",
          "critical",
          "blocker"
        ],
        "title": "mapping is done by const name, except for the unspecified"
      },
      "Issue.Visibility": {
        "type": "string",
        "enum": [
          "public",
          "private"
        ]
      },
      "MilestoneEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        }
      },
      "IssueComment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "parent": {
            "$ref": "#/components/schemas/IssueCommentEmbedded"
          },
          "author": {
            "$ref": "#/components/schemas/UserEmbedded"
          },
          "updated_by": {
            "$ref": "#/components/schemas/UserEmbedded"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "reactions": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ReactionCount"
            },
            "title": "key is one of Reactions"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentEmbedded"
            }
          }
        }
      },
      "IssueCommentEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "ReactionCount": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "self_react": {
            "type": "boolean"
          }
        }
      },
      "AttachmentEmbedded": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "Reaction": {
        "type": "string",
        "enum": [
          "like",
          "dislike",
          "heart",
          "check_mark",
          "eyes",
          "fire",
          "victory_hand",
          "heart_eyes",
          "hundred_points",
          "party_popper",
          "party_face",
          "rolling_eyes",
          "fist",
          "clapping_hands",
          "thinking_face",
          "neutral_face",
          "winking_face",
          "open_mouth",
          "shrug",
          "pleading_face",
          "confused_face",
          "smiling_face",
          "sunglasses",
          "rocket",
          "robot",
          "goose"
        ]
      }
    }
  }
}
Previous
Next