I’ve got GitLab connected to Jira and the basic integration is working fine. When I mention Jira ticket numbers in GitLab commits, the connection shows up correctly between both systems.
The problem I’m facing is with status transitions. The close transition works perfectly when I use “Closes PROJECTKEY-123” in my commits, but other transitions like moving tickets to “In Progress” status just don’t trigger at all.
I created an API token in Jira but didn’t modify any other settings there. In my GitLab project, I went to Settings > Integrations > Jira and enabled the transition feature. I’m using custom transition settings with these IDs:
- 15: Backlog
- 25: Active
- 35: Complete
Even with this setup, commands like “Starts PROJECTKEY-123” or “Progresses PROJECTKEY-123” have no effect on the ticket status. The tickets stay in their original state.
Am I missing some configuration step in either Jira or GitLab? Do I need special permissions or workflow settings in Jira to make this work properly?
Double-check your GitLab integration settings - you need to map those custom keywords to the transition IDs. In the Jira integration section, there’s a “transition keywords” field where you set up what “starts” or “progresses” should trigger. Without that mapping, GitLab has no clue which transition ID to use when you put those words in your commits.
Sounds like a permissions issue. I hit the same thing - my Jira user had transition permissions but wasn’t in the right project role for automated transitions. Check if your API token user has the ‘Transition Issues’ permission for that specific project. Also make sure the transitions you’re triggering actually exist from the current ticket status - GitLab won’t error out if the workflow path doesn’t exist. One more thing: double-check your keyword format matches your GitLab integration settings exactly. Whitespace or wrong casing can break the pattern matching.
Your transition IDs are probably wrong. Those numbers rarely match what you see in Jira’s interface. Go to your workflow editor and hover over the arrows or check transition properties to get the real IDs. I wasted hours on this before realizing I was using status IDs instead of transition IDs. Also check if your API token user can actually perform those transitions - sometimes you’ll have close permissions but not others. Last thing: make sure your custom keywords are set up correctly in GitLab’s Jira integration under transition options.
Had this exact headache a few months ago. GitLab’s transition keywords are way more limited than you’d think. “Closes” works because it’s built-in, but custom ones like “Starts” or “Progresses” won’t work out of the box. You’ve got to set them up in your GitLab project settings - look for the Jira integration section where you can map your keywords to transition IDs. Also, make sure the transition actually works from your ticket’s current status. If your ticket’s in “To Do” but transition ID 25 only works from “In Progress,” it’ll just fail silently. Double-check your Jira workflow to see what transitions are possible from where your ticket sits right now.
sounds like a workflow permissions issue tbh. check if your jira user (the one with api token) has the “transition issues” permission for those specific workflow states. also double-check that transition IDs are correct - sometimes they change when you edit workflows.