Skip to content

Troubleshooting

Use this page when GitHub is not delivering events to Sigvane, your inbox looks empty, or the CLI is not processing inbox items.

For a GitHub webhook to become an inbox item:

  1. GitHub must send the delivery to the exact Sigvane webhook URL.
  2. The request must use application/json.
  3. The signing secret in GitHub must match the current signing secret in Sigvane.
  4. Sigvane must accept and store the delivery.
  5. The browser, API, or CLI must read the stored inbox item.

Work through the path in that order. It usually points to the problem faster than changing several settings at once.

If Sigvane shows no recent items after you add the webhook:

  • Open the webhook in GitHub and check Recent Deliveries.
  • Confirm the Payload URL matches the full Sigvane webhook URL exactly.
  • Confirm Content type is application/json.
  • Confirm Secret uses the current Sigvane signing secret.
  • Confirm Active is checked.
  • Redeliver the ping event from GitHub, then refresh Recent items in Sigvane.

If GitHub has no recent deliveries, the webhook may not be active or may not be saved on the repository or organization you expected.

Open the failed delivery in Recent Deliveries and check GitHub’s response details.

Common causes:

  • Wrong webhook URL. Copy the URL from the Sigvane inbox again and paste it into GitHub’s Payload URL field.
  • Wrong content type. Change GitHub’s Content type to application/json.
  • Wrong signing secret. Copy the current Sigvane signing secret and update GitHub’s Secret field.
  • Wrong webhook scope. A repository webhook only sends events for that repository. An organization webhook can send events for many repositories in the organization.

After changing GitHub settings, use Recent Deliveries -> Redeliver to test again.

If ping works but your workflow never sees the event it expects, check the selected GitHub events.

For example, a webhook configured for only push events will not send pull_request events. Open the webhook in GitHub, update Which events would you like to trigger this webhook?, save it, then trigger or redeliver an event.

If you rotate an inbox signing secret in Sigvane, update every GitHub webhook that sends to that inbox.

Old deliveries signed with the previous secret may fail after rotation. New deliveries should work once GitHub uses the updated secret.

Duplicate deliveries can happen in normal webhook systems. GitHub may redeliver an event, and a worker may retry work after an interruption.

Use the inbox item’s providerDeliveryId when you need to identify the original provider delivery. For GitHub inboxes, this comes from GitHub’s delivery id.

Make handlers safe to run more than once before they comment on pull requests, deploy code, send notifications, or call another system.

If sigvane inbox poll --once does not write or process any items:

  • Confirm the inbox has recent items in Sigvane.
  • Confirm the config uses the inbox slug, not the webhook URL.
  • Confirm SIGVANE_API_KEY is set in the same shell where you run the CLI.
  • Run sigvane config check and fix any reported config problems.
  • Trigger or redeliver a new GitHub delivery, then run sigvane inbox poll --once again.

If your handler command fails, fix the command and run the poll again. Design the command so it can safely handle the same inbox item more than once.

If the CLI keeps replaying an old item after you intentionally handled it another way, reset the saved cursor for that inbox:

Terminal window
sigvane state reset github-repo

Replace github-repo with your inbox slug.

Check these first:

  • The API key was copied correctly and exported without extra spaces.
  • The API key belongs to the same Sigvane account that owns the inbox.
  • The inbox slug in the config matches the inbox in Sigvane.
  • The Sigvane server URL in the config is https://api.sigvane.com unless you are intentionally using another environment.

For security, Sigvane may avoid revealing whether another account’s resource exists. Treat not-found responses as a reason to check both the API key and the inbox slug.