---
title: "Events reference"
description: "Which event kinds, actions and times each forge delivers through webhooks."
canonical_url: "https://forges.link/reference/events"
---
# Events reference

> Which event kinds, actions and times each forge delivers through webhooks.

Every provider lists the kinds and actions that its webhook deliveries translate into in `webhooks.events`, and the matrix on this page is built from that list. If you want to know what an event looks like, read [Events](https://forges.link/concepts/events). The following example checks whether a provider can deliver label events:

```ts
const labels = provider.webhooks.events.some(
  event => event.kind === 'label' && event.action === 'labelled',
)
```

## Kinds by forge

<event-matrix>
<table>
<thead>
  <tr>
    <th>
      Kind
    </th>
    
    <th>
      GitHub
    </th>
    
    <th>
      GitLab
    </th>
    
    <th>
      Bitbucket
    </th>
    
    <th>
      Forgejo
    </th>
    
    <th>
      Gitea
    </th>
    
    <th>
      Gitee
    </th>
    
    <th>
      Azure DevOps
    </th>
    
    <th>
      Cursor Origin
    </th>
    
    <th>
      Tangled
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        comment
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        review
      </code>
    </td>
    
    <td>
      <code>
        submitted
      </code>
    </td>
    
    <td>
      <code>
        submitted
      </code>
    </td>
    
    <td>
      <code>
        submitted
      </code>
    </td>
    
    <td>
      <code>
        submitted
      </code>
    </td>
    
    <td>
      <code>
        submitted
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        submitted
      </code>
    </td>
    
    <td>
      <code>
        submitted
      </code>
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        review_comment
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        commit
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        label
      </code>
    </td>
    
    <td>
      <code>
        labelled
      </code>
      
      , <code>
        unlabelled
      </code>
    </td>
    
    <td>
      <code>
        labelled
      </code>
      
      , <code>
        unlabelled
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        edited
      </code>
      
      , <code>
        unlabelled
      </code>
    </td>
    
    <td>
      <code>
        edited
      </code>
      
      , <code>
        unlabelled
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        state_change
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        reopened
      </code>
      
      , <code>
        merged
      </code>
      
      , <code>
        ready_for_review
      </code>
      
      , <code>
        converted_to_draft
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        reopened
      </code>
      
      , <code>
        merged
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        merged
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        reopened
      </code>
      
      , <code>
        merged
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        reopened
      </code>
      
      , <code>
        merged
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        reopened
      </code>
      
      , <code>
        merged
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        merged
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        merged
      </code>
    </td>
    
    <td>
      <code>
        opened
      </code>
      
      , <code>
        closed
      </code>
      
      , <code>
        merged
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        assignment
      </code>
    </td>
    
    <td>
      <code>
        assigned
      </code>
      
      , <code>
        unassigned
      </code>
      
      , <code>
        review_requested
      </code>
    </td>
    
    <td>
      <code>
        assigned
      </code>
      
      , <code>
        unassigned
      </code>
      
      , <code>
        review_requested
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        assigned
      </code>
      
      , <code>
        unassigned
      </code>
    </td>
    
    <td>
      <code>
        assigned
      </code>
      
      , <code>
        unassigned
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        mention
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        referenced
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        reaction
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        push
      </code>
    </td>
    
    <td>
      any
    </td>
    
    <td>
      any
    </td>
    
    <td>
      any
    </td>
    
    <td>
      any
    </td>
    
    <td>
      any
    </td>
    
    <td>
      any
    </td>
    
    <td>
      any
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      any
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        ref
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        repo
      </code>
    </td>
    
    <td>
      <code>
        renamed
      </code>
      
      , <code>
        transferred
      </code>
      
      , <code>
        archived
      </code>
      
      , <code>
        unarchived
      </code>
      
      , <code>
        edited
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        renamed
      </code>
      
      , <code>
        transferred
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        installation
      </code>
    </td>
    
    <td>
      any
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      any
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        membership
      </code>
    </td>
    
    <td>
      any
    </td>
    
    <td>
      any
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        release
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        published
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
      
      , <code>
        other
      </code>
    </td>
    
    <td>
      <code>
        published
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        published
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      <code>
        published
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        star
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        fork
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        wiki
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
      
      , <code>
        renamed
      </code>
    </td>
    
    <td>
      <code>
        created
      </code>
      
      , <code>
        edited
      </code>
      
      , <code>
        deleted
      </code>
      
      , <code>
        renamed
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        other
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
</tbody>
</table>

Pushin.eu and Cloudflare Artifacts receive no webhooks.

GitLab reports `eventKinds: 'heuristic'`, so `kind` can be `other` for wording the provider doesn't recognise.

</event-matrix>

The matrix covers webhook deliveries. Events from `threads.events()` and `sources.subscribe()` use the same kinds, but providers don't list which ones they produce. A kind that is declared without an action, shown as `any`, can arrive with any action, including `other`. Whatever the kind, `kindRaw` and `actionRaw` always keep the names that the forge itself uses.

## Event times

A webhook event's `occurredAt` comes from the first of these timestamps that its payload has. When it has none, or when the event is a deletion, the event has `undated: true` and `occurredAt` is the time the delivery reached `forges`:

<table>
<thead>
  <tr>
    <th>
      Forge
    </th>
    
    <th>
      Timestamps, in order
    </th>
    
    <th>
      Undated deliveries
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      GitHub
    </td>
    
    <td>
      <code>
        created_at
      </code>
      
       of an opened thread, <code>
        merged_at
      </code>
      
       or <code>
        closed_at
      </code>
      
       of a closed one, the comment's <code>
        created_at
      </code>
      
       or, when edited, <code>
        updated_at
      </code>
      
      , the review's <code>
        submitted_at
      </code>
      
      , the release's <code>
        published_at
      </code>
      
       when published, the star's <code>
        starred_at
      </code>
      
      , the new fork's <code>
        created_at
      </code>
      
      , the repository's <code>
        pushed_at
      </code>
      
       for a push and its <code>
        updated_at
      </code>
      
       for a rename, transfer, archive or visibility change, then the thread's <code>
        updated_at
      </code>
    </td>
    
    <td>
      Pings, deletions, branch and tag creation, installations, memberships, <code>
        watch
      </code>
      
       stars, wiki edits and release actions other than publishing
    </td>
  </tr>
  
  <tr>
    <td>
      GitLab
    </td>
    
    <td>
      <code>
        created_at
      </code>
      
       of an opened thread, <code>
        closed_at
      </code>
      
       of a closed issue, the note's <code>
        created_at
      </code>
      
       or, when updated, <code>
        updated_at
      </code>
      
      , the release's <code>
        created_at
      </code>
      
       when created, the newest commit's <code>
        timestamp
      </code>
      
      , the member's <code>
        created_at
      </code>
      
       when added, then <code>
        updated_at
      </code>
    </td>
    
    <td>
      Pushes without commits, removed members, wiki edits and release updates and deletions
    </td>
  </tr>
  
  <tr>
    <td>
      Bitbucket
    </td>
    
    <td>
      The pull request's <code>
        created_on
      </code>
      
       when created, the comment's <code>
        created_on
      </code>
      
       or, when updated, <code>
        updated_on
      </code>
      
      , the approval's or the request for changes' <code>
        date
      </code>
      
      , the newest commit's <code>
        date
      </code>
      
      , then the pull request's <code>
        updated_on
      </code>
    </td>
    
    <td>
      Deleted comments, renames, transfers, forks and branch or tag changes without commits
    </td>
  </tr>
  
  <tr>
    <td>
      Forgejo, Gitea
    </td>
    
    <td>
      <code>
        created_at
      </code>
      
       of an opened thread, <code>
        merged_at
      </code>
      
       or <code>
        closed_at
      </code>
      
       of a closed one, the comment's <code>
        created_at
      </code>
      
       or, when edited, <code>
        updated_at
      </code>
      
      , the release's <code>
        published_at
      </code>
      
       when published, the new fork's <code>
        created_at
      </code>
      
      , the head commit's <code>
        timestamp
      </code>
      
      , then the thread's <code>
        updated_at
      </code>
    </td>
    
    <td>
      Deletions, branch and tag creation, pushes without commits, wiki edits and release actions other than publishing
    </td>
  </tr>
  
  <tr>
    <td>
      Gitee
    </td>
    
    <td>
      <code>
        created_at
      </code>
      
       of an opened thread, <code>
        merged_at
      </code>
      
       of a merge, <code>
        closed_at
      </code>
      
       or <code>
        finished_at
      </code>
      
       of a close, the comment's <code>
        created_at
      </code>
      
      , then the thread's <code>
        updated_at
      </code>
      
      , or the head commit's <code>
        timestamp
      </code>
      
       for a push
    </td>
    
    <td>
      Branch and tag changes without commits
    </td>
  </tr>
  
  <tr>
    <td>
      Azure DevOps
    </td>
    
    <td>
      The event's <code>
        createdDate
      </code>
    </td>
    
    <td>
      Events without one
    </td>
  </tr>
  
  <tr>
    <td>
      Cursor Origin
    </td>
    
    <td>
      The event's <code>
        eventTime
      </code>
    </td>
    
    <td>
      Events without one
    </td>
  </tr>
  
  <tr>
    <td>
      Tangled
    </td>
    
    <td>
      The pull's <code>
        created_at
      </code>
      
       when it is created
    </td>
    
    <td>
      Every other delivery
    </td>
  </tr>
</tbody>
</table>

A push takes the time of its newest commit where the forge doesn't report when the push happened, so a push of older commits can be dated before it happened. Tangled sends no time for a change other than a new pull: its `repository.updated_at` is the time the repository was created.

## Detail and native events

`detail.type` tells you which fields an event carries, so narrowing on it gives you a typed `detail`. The `repo` kind has a separate detail type for each kind of change. An event whose kind has no detail type has no `detail` at all.

When you register a webhook, `webhooks.create({ events })` translates each kind into the event names of the forge, and `webhook.events` maps them back again. If you need a forge event that has no kind, subscribe to it by name with `nativeEvents`. The following table lists the detail type and fields of each kind:

<event-kinds>
<table>
<thead>
  <tr>
    <th>
      Kind
    </th>
    
    <th>
      <code>
        detail.type
      </code>
    </th>
    
    <th>
      Fields
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        comment
      </code>
    </td>
    
    <td>
      <code>
        comment
      </code>
    </td>
    
    <td>
      <code>
        comment?: CommentRef
      </code>
      
      , <code>
        body?: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        review
      </code>
    </td>
    
    <td>
      <code>
        review
      </code>
    </td>
    
    <td>
      <code>
        state: ReviewState
      </code>
      
      , <code>
        stateRaw?: string
      </code>
      
      , <code>
        body?: string
      </code>
      
      , <code>
        review?: ReviewRef
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        review_comment
      </code>
    </td>
    
    <td>
      <code>
        review_comment
      </code>
    </td>
    
    <td>
      <code>
        comment?: CommentRef
      </code>
      
      , <code>
        body?: string
      </code>
      
      , <code>
        path?: string
      </code>
      
      , <code>
        line?: number
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        commit
      </code>
    </td>
    
    <td>
      none
    </td>
    
    <td>
      none
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        label
      </code>
    </td>
    
    <td>
      <code>
        label
      </code>
    </td>
    
    <td>
      <code>
        label: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        state_change
      </code>
    </td>
    
    <td>
      <code>
        state_change
      </code>
    </td>
    
    <td>
      <code>
        state?: ThreadState
      </code>
      
      , <code>
        draft?: boolean
      </code>
      
      , <code>
        reason?: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        assignment
      </code>
    </td>
    
    <td>
      <code>
        assignment
      </code>
    </td>
    
    <td>
      <code>
        assignee?: Actor
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        mention
      </code>
    </td>
    
    <td>
      none
    </td>
    
    <td>
      none
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        referenced
      </code>
    </td>
    
    <td>
      <code>
        referenced
      </code>
    </td>
    
    <td>
      <code>
        from?: ThreadRef | CommitRef
      </code>
      
      , <code>
        fromRepo?: RepoRef
      </code>
      
      , <code>
        text?: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        reaction
      </code>
    </td>
    
    <td>
      none
    </td>
    
    <td>
      none
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        push
      </code>
    </td>
    
    <td>
      <code>
        push
      </code>
    </td>
    
    <td>
      <code>
        ref: string
      </code>
      
      , <code>
        before?: string
      </code>
      
      , <code>
        after?: string
      </code>
      
      , <code>
        commitCount?: number
      </code>
      
      , <code>
        forced: boolean
      </code>
      
      , <code>
        commits: PushCommit[]
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        ref
      </code>
    </td>
    
    <td>
      <code>
        ref
      </code>
    </td>
    
    <td>
      <code>
        ref: string
      </code>
      
      , <code>
        refType: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        repo
      </code>
    </td>
    
    <td>
      <code>
        repo_renamed
      </code>
    </td>
    
    <td>
      <code>
        from: string
      </code>
      
      , <code>
        to: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        repo
      </code>
    </td>
    
    <td>
      <code>
        repo_transferred
      </code>
    </td>
    
    <td>
      <code>
        fromOwner?: string
      </code>
      
      , <code>
        toOwner?: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        repo
      </code>
    </td>
    
    <td>
      <code>
        repo_archived
      </code>
    </td>
    
    <td>
      <code>
        archived: boolean
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        repo
      </code>
    </td>
    
    <td>
      <code>
        repo_visibility
      </code>
    </td>
    
    <td>
      <code>
        isPublic: boolean
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        installation
      </code>
    </td>
    
    <td>
      <code>
        installation
      </code>
    </td>
    
    <td>
      <code>
        actionRaw: string
      </code>
      
      , <code>
        installationId?: string
      </code>
      
      , <code>
        added: RepoRef[]
      </code>
      
      , <code>
        removed: RepoRef[]
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        membership
      </code>
    </td>
    
    <td>
      <code>
        membership
      </code>
    </td>
    
    <td>
      <code>
        actionRaw: string
      </code>
      
      , <code>
        member?: Actor
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        release
      </code>
    </td>
    
    <td>
      <code>
        release
      </code>
    </td>
    
    <td>
      <code>
        release?: ReleaseRef
      </code>
      
      , <code>
        tag?: string
      </code>
      
      , <code>
        name?: string
      </code>
      
      , <code>
        body?: string
      </code>
      
      , <code>
        isPrerelease?: boolean
      </code>
      
      , <code>
        isDraft?: boolean
      </code>
      
      , <code>
        url?: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        star
      </code>
    </td>
    
    <td>
      none
    </td>
    
    <td>
      none
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        fork
      </code>
    </td>
    
    <td>
      <code>
        fork
      </code>
    </td>
    
    <td>
      <code>
        fork?: RepoRef
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        wiki
      </code>
    </td>
    
    <td>
      <code>
        wiki
      </code>
    </td>
    
    <td>
      <code>
        title?: string
      </code>
      
      , <code>
        url?: string
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        other
      </code>
    </td>
    
    <td>
      none
    </td>
    
    <td>
      none
    </td>
  </tr>
</tbody>
</table>

<table>
<thead>
  <tr>
    <th>
      Kind
    </th>
    
    <th>
      GitHub
    </th>
    
    <th>
      GitLab
    </th>
    
    <th>
      Bitbucket
    </th>
    
    <th>
      Forgejo
    </th>
    
    <th>
      Gitea
    </th>
    
    <th>
      Gitee
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        comment
      </code>
    </td>
    
    <td>
      <code>
        issue_comment
      </code>
      
      , <code>
        commit_comment
      </code>
      
      , <code>
        discussion_comment
      </code>
    </td>
    
    <td>
      <code>
        note_events
      </code>
      
      , <code>
        confidential_note_events
      </code>
    </td>
    
    <td>
      <code>
        pullrequest:comment_created
      </code>
      
      , <code>
        pullrequest:comment_updated
      </code>
      
      , <code>
        pullrequest:comment_deleted
      </code>
    </td>
    
    <td>
      <code>
        issue_comment
      </code>
      
      , <code>
        pull_request_comment
      </code>
    </td>
    
    <td>
      <code>
        issue_comment
      </code>
      
      , <code>
        pull_request_comment
      </code>
    </td>
    
    <td>
      <code>
        note_events
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        review
      </code>
    </td>
    
    <td>
      <code>
        pull_request_review
      </code>
    </td>
    
    <td>
      <code>
        merge_requests_events
      </code>
    </td>
    
    <td>
      <code>
        pullrequest:approved
      </code>
      
      , <code>
        pullrequest:unapproved
      </code>
      
      , <code>
        pullrequest:changes_request_created
      </code>
    </td>
    
    <td>
      <code>
        pull_request_review_approved
      </code>
      
      , <code>
        pull_request_review_rejected
      </code>
      
      , <code>
        pull_request_review_comment
      </code>
    </td>
    
    <td>
      <code>
        pull_request_review_approved
      </code>
      
      , <code>
        pull_request_review_rejected
      </code>
      
      , <code>
        pull_request_review_comment
      </code>
    </td>
    
    <td>
      <code>
        merge_requests_events
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        review_comment
      </code>
    </td>
    
    <td>
      <code>
        pull_request_review_comment
      </code>
    </td>
    
    <td>
      <code>
        note_events
      </code>
    </td>
    
    <td>
      <code>
        pullrequest:comment_created
      </code>
      
      , <code>
        pullrequest:comment_updated
      </code>
      
      , <code>
        pullrequest:comment_deleted
      </code>
    </td>
    
    <td>
      <code>
        pull_request_review_comment
      </code>
    </td>
    
    <td>
      <code>
        pull_request_review_comment
      </code>
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        label
      </code>
    </td>
    
    <td>
      <code>
        issues
      </code>
      
      , <code>
        pull_request
      </code>
      
      , <code>
        label
      </code>
    </td>
    
    <td>
      <code>
        issues_events
      </code>
      
      , <code>
        merge_requests_events
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        issue_label
      </code>
      
      , <code>
        pull_request_label
      </code>
    </td>
    
    <td>
      <code>
        issue_label
      </code>
      
      , <code>
        pull_request_label
      </code>
    </td>
    
    <td>
      <code>
        issues_events
      </code>
      
      , <code>
        merge_requests_events
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        state_change
      </code>
    </td>
    
    <td>
      <code>
        issues
      </code>
      
      , <code>
        pull_request
      </code>
      
      , <code>
        discussion
      </code>
    </td>
    
    <td>
      <code>
        issues_events
      </code>
      
      , <code>
        confidential_issues_events
      </code>
      
      , <code>
        merge_requests_events
      </code>
    </td>
    
    <td>
      <code>
        pullrequest:created
      </code>
      
      , <code>
        pullrequest:updated
      </code>
      
      , <code>
        pullrequest:fulfilled
      </code>
      
      , <code>
        pullrequest:rejected
      </code>
    </td>
    
    <td>
      <code>
        issues
      </code>
      
      , <code>
        pull_request
      </code>
      
      , <code>
        pull_request_sync
      </code>
    </td>
    
    <td>
      <code>
        issues
      </code>
      
      , <code>
        pull_request
      </code>
      
      , <code>
        pull_request_sync
      </code>
    </td>
    
    <td>
      <code>
        issues_events
      </code>
      
      , <code>
        merge_requests_events
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        assignment
      </code>
    </td>
    
    <td>
      <code>
        issues
      </code>
      
      , <code>
        pull_request
      </code>
    </td>
    
    <td>
      <code>
        issues_events
      </code>
      
      , <code>
        merge_requests_events
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        issue_assign
      </code>
      
      , <code>
        pull_request_assign
      </code>
    </td>
    
    <td>
      <code>
        issue_assign
      </code>
      
      , <code>
        pull_request_assign
      </code>
    </td>
    
    <td>
      <code>
        issues_events
      </code>
      
      , <code>
        merge_requests_events
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        push
      </code>
    </td>
    
    <td>
      <code>
        push
      </code>
    </td>
    
    <td>
      <code>
        push_events
      </code>
    </td>
    
    <td>
      <code>
        repo:push
      </code>
    </td>
    
    <td>
      <code>
        push
      </code>
    </td>
    
    <td>
      <code>
        push
      </code>
    </td>
    
    <td>
      <code>
        push_events
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        ref
      </code>
    </td>
    
    <td>
      <code>
        create
      </code>
      
      , <code>
        delete
      </code>
    </td>
    
    <td>
      <code>
        tag_push_events
      </code>
      
      , <code>
        push_events
      </code>
    </td>
    
    <td>
      <code>
        repo:push
      </code>
    </td>
    
    <td>
      <code>
        create
      </code>
      
      , <code>
        delete
      </code>
    </td>
    
    <td>
      <code>
        create
      </code>
      
      , <code>
        delete
      </code>
    </td>
    
    <td>
      <code>
        tag_push_events
      </code>
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        repo
      </code>
    </td>
    
    <td>
      <code>
        repository
      </code>
      
      , <code>
        public
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        repo:updated
      </code>
      
      , <code>
        repo:transfer
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        installation
      </code>
    </td>
    
    <td>
      <code>
        installation
      </code>
      
      , <code>
        installation_repositories
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        membership
      </code>
    </td>
    
    <td>
      <code>
        member
      </code>
      
      , <code>
        membership
      </code>
      
      , <code>
        organization
      </code>
      
      , <code>
        team
      </code>
    </td>
    
    <td>
      <code>
        member_events
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        release
      </code>
    </td>
    
    <td>
      <code>
        release
      </code>
    </td>
    
    <td>
      <code>
        releases_events
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        release
      </code>
    </td>
    
    <td>
      <code>
        release
      </code>
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        star
      </code>
    </td>
    
    <td>
      <code>
        star
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        fork
      </code>
    </td>
    
    <td>
      <code>
        fork
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        repo:fork
      </code>
    </td>
    
    <td>
      <code>
        fork
      </code>
    </td>
    
    <td>
      <code>
        fork
      </code>
    </td>
    
    <td>
      ❌
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        wiki
      </code>
    </td>
    
    <td>
      <code>
        gollum
      </code>
    </td>
    
    <td>
      <code>
        wiki_page_events
      </code>
    </td>
    
    <td>
      ❌
    </td>
    
    <td>
      <code>
        wiki
      </code>
    </td>
    
    <td>
      <code>
        wiki
      </code>
    </td>
    
    <td>
      ❌
    </td>
  </tr>
</tbody>
</table>
</event-kinds>


## Sitemap

See the full [sitemap](https://forges.link/sitemap.md) for all pages.
