Integrations

Integrations connect Forge Logger to external issue trackers and notification services. When configured, bug reports can be exported as issues or notifications automatically or manually.

Supported providers

ProviderWhat it does
GitHubCreates a GitHub Issue in the configured repository
GitLabCreates a GitLab Issue in the configured project
JiraCreates a Jira ticket in the configured project
DiscordSends a formatted message to a Discord webhook URL
WebhookSends a POST request with the report payload to a custom URL

Setting up an integration

Navigate to your project’s Settings page and open the Integrations section. Each provider is a card — toggle it on to enable it and reveal its configuration fields. While configuring, you can open the in-app Setup guide (the help icon on each card) for these same steps.

GitHub

  1. Create a GitHub personal access token at github.com/settings/tokens. A classic token needs the repo scope; a fine-grained token needs Issues: Read and write on the target repository.
  2. Expand the GitHub card, toggle it on, and fill in:
    • Owner — the user or organization that owns the repo, e.g. acme
    • Repository — the repository name only, e.g. game-client
    • Token — the personal access token (stored encrypted)
    • Labels — optional comma-separated labels applied to created issues
  3. Choose Manual or Automatic upload mode and click Save.

GitLab

  1. Create a GitLab personal (or project) access token with the api scope at gitlab.com/-/user_settings/personal_access_tokens.
  2. Find your numeric Project ID under the project name on its homepage, or in Settings → General.
  3. Expand the GitLab card, toggle it on, and fill in:
    • Hosthttps://gitlab.com or your self-hosted instance URL
    • Project ID — the numeric project ID
    • Token — the access token (stored encrypted)
    • Labels — optional comma-separated labels
  4. Click Save.

Jira

  1. Create an Atlassian API token at id.atlassian.com/manage-profile/security/api-tokens.
  2. Expand the Jira card, toggle it on, and fill in:
    • Host — your site URL, e.g. https://your-org.atlassian.net
    • Project Key — e.g. GAME
    • Email — the Atlassian account email that owns the token
    • API Token — the Atlassian API token (stored encrypted)
  3. Click Save.

Authentication uses HTTP Basic (email + API token). Issues are created as type Bug by default.

Discord

  1. In Discord, open Server Settings → Integrations → Webhooks and click New Webhook.
  2. Select the target channel and click Copy Webhook URL.
  3. Expand the Discord card, toggle it on, and paste the URL into Webhook URL.
  4. Click Save.

The webhook URL is itself the credential — keep it secret. It is stored encrypted.

Webhook

  1. Prepare an HTTPS endpoint that accepts the report payload and is reachable from the public internet.
  2. Expand the Webhook card, toggle it on, and fill in:
    • Webhook URL — your HTTPS endpoint
    • HTTP MethodPOST (default) or PUT
    • AuthenticationNone, Bearer Token (sent as Authorization: Bearer <token>), or Basic Auth (username + password)
    • Signature Secret — optional HMAC-SHA256 secret; the signature is sent in the Signature Header (default X-Webhook-Signature) as sha256=<hex>
    • Timeout (ms) — optional, between 1000 and 30000
  3. Click Save.

Upload modes

ModeBehavior
ManualReports are exported only when you click “Export” on a report
AutomaticEvery new report is automatically exported to the configured provider

Managing integrations

  • Enable / Disable — toggle an integration without removing it
  • Update — change the configuration or credentials
  • Delete — remove the integration entirely

Security

  • Integration secrets (tokens, API keys, webhook secrets) are encrypted at rest using GCP Cloud KMS envelope encryption.
  • The hasSecret flag indicates whether a secret is configured.
  • The secretFingerprint shows a hash of the stored secret for verification.
  • Secrets are never returned in API responses — only the fingerprint is visible.