Set Up Issue & MR Indexing
Get your webhook URL
GitLab webhooks use a different endpoint from GitHub:
Add the webhook in GitLab
Go to your project → Settings → Webhooks:
- • URL: your webhook URL from step 1
- • Secret token: generate a random string (you'll add it to Fly)
- • Trigger: check "Issues events" and "Merge request events"
- • SSL verification: enabled
Set webhook secret on Fly
Bulk-import existing issues (optional)
Webhooks only index new events. To import your existing backlog, use the MCP tool directly:
Verify indexing
Results from GitLab issues and MRs appear tagged with source: "git" and issue_kind: "mr" or "issue".
Self-Hosted GitLab
Pyckle supports self-hosted GitLab instances. Set the GITLAB_URL environment variable to your instance URL:
If your instance requires a private token for API access:
Troubleshooting
Webhook shows 403
The secret token in GitLab doesn't match GITLAB_WEBHOOK_SECRET on Fly. Re-run fly secrets set.
MRs indexed but issues missing
Check that "Issues events" is checked in the GitLab webhook settings — it's a separate checkbox from "Merge request events".
index_git_issues returns 0 results on self-hosted
Ensure GITLAB_URL is set to your base URL (not the API path) and GITLAB_TOKEN has at least Reporter access to the project.