Troubleshoot MergeLoom ticket-to-code jobs
Most first-run ticket-to-code issues fall into five buckets:
- worker cannot enroll
- provider is not ready
- integration cannot connect
- ticket does not match intake
- PR or MR cannot be created
Check the right UI first
Use https://controller.mergeloom.ai for integrations,
workflow rules, ticket intake, job audit state, and PR/MR output. Use the
local worker UI at http://127.0.0.1:8010/ for provider
readiness, worker-local logs, run streams, and local trace detail.
Worker cannot enroll
Section titled “Worker cannot enroll”Check:
JCA_WORKER_CONTROL_PLANE_URLishttps://controller.mergeloom.aiJCA_WORKER_TENANT_SLUGJCA_WORKER_ENROLLMENT_TOKEN- worker logs
- control plane logs
- network access from worker to control plane
Docker logs:
docker compose logs -fProvider is not ready
Section titled “Provider is not ready”Check:
- provider card readiness state in worker UI
- login status
- API key or bearer token
- model name
- base URL
- network access from worker container or pod
- OpenAI-compatible tool-calling self-test result
For CLI providers, remember that auth happens inside the worker container, not on your host shell.
Integration cannot connect
Section titled “Integration cannot connect”Check callback URLs:
https://controller.mergeloom.ai/api/integrations/jira/callbackhttps://controller.mergeloom.ai/api/integrations/monday/callbackhttps://controller.mergeloom.ai/api/integrations/github/callbackhttps://controller.mergeloom.ai/api/integrations/gitlab/callbackhttps://controller.mergeloom.ai/api/integrations/azure-boards/callbackCheck the OAuth app callback URL matches the MergeLoom controller URL used in the browser: https://controller.mergeloom.ai.
Ticket does not match intake
Section titled “Ticket does not match intake”Check:
- intake source is correct
- intake query is correct
- ticket has the managed label or tag
- ticket is in the configured ready state
- ticket is assigned to a MergeLoom workspace user when required
- repo routing label is present if multiple work repos are enabled
- Scheduled intake is turned on in Global workflow settings
If the repository route does not match, MergeLoom comments on the ticket and records a routing error in the controller activity log. Use the repository catalog routing label exactly as shown, for example repo-api.
Default managed label:
mergeloom
PR or MR is not created
Section titled “PR or MR is not created”Check:
- repository is enabled as a writable work repo
- GitHub App or GitLab OAuth permissions allow branch push and PR/MR creation
- default branch exists
- validation commands pass
- worker can push to the repository
- branch protection allows the expected review flow
Job is blocked
Section titled “Job is blocked”A blocked job is usually a useful safety signal.
Common reasons:
- ticket does not contain enough information
- provider failed
- validation command failed
- repository setup command failed
- permission denied pushing branch
- diff exceeded configured policy
Add a comment with clearer instructions, move the ticket back to the ready state, and let MergeLoom pick it up again.