Troubleshooting Jira integrations

This page contains a list of common issues you might encounter when working with Jira integrations.

GitLab cannot comment on a Jira issue

If GitLab cannot comment on Jira issues, make sure the Jira user you set up for the integration has permission to:

  • Post comments on a Jira issue.
  • Transition the Jira issue.

Jira issue references and update comments do not work if the GitLab issue tracker is disabled.

If you restrict IP addresses for Jira access, make sure you add your self-managed IP addresses or GitLab.com IP range to the allowlist in Jira.

GitLab cannot close a Jira issue

If GitLab cannot close a Jira issue:

  • Make sure the Transition ID you set in the Jira settings matches the one your project needs to close an issue.

  • Make sure the Jira issue is not already marked as resolved:

    • Check the Jira issue resolution field is not set.
    • Check the issue is not struck through in Jira lists.

CAPTCHA

CAPTCHA might be triggered after several consecutive failed login attempts, which might lead to a 401 unauthorized error when testing your Jira integration. If CAPTCHA has been triggered, you can’t use the Jira REST API to authenticate with the Jira site.

To fix this error, sign in to your Jira instance and complete the CAPTCHA.

Jira integration does not work for imported project

There is a known bug where the Jira integration sometimes does not work for a project that has been imported. As a workaround, disable the integration and then re-enable it.

Bulk change all Jira integrations to Jira instance-level values

To change all Jira projects to use instance-level integration settings:

  1. In a Rails console, run the following:

    jira_integration_instance_id = Integrations::Jira.find_by(instance: true).id
    Integrations::Jira.where(active: true, instance: false, template: false, inherit_from_id: nil).find_each do |integration|
      integration.update_attribute(:inherit_from_id, jira_integration_instance_id)
    end
    
  2. Modify and save the instance-level integration from the UI to propagate the changes to all group-level and project-level integrations.

Check if Jira Cloud is linked

You can use the Rails console to check if Jira Cloud is linked to:

A specified namespace:

JiraConnectSubscription.where(namespace: Namespace.by_path('group/subgroup'))

A specified project:

Project.find_by_full_path('path/to/project').jira_subscription_exists?

Any namespace:

installation = JiraConnectInstallation.find_by_base_url("https://customer_name.atlassian.net")
installation.subscriptions

Bulk update the service integration password for all projects

To reset the Jira user’s password for all projects with active Jira integrations, run the following in a Rails console:

p = Project.find_by_sql("SELECT p.id FROM projects p LEFT JOIN services s ON p.id = s.project_id WHERE s.type = 'JiraService' AND s.active = true")

p.each do |project|
  project.jira_integration.update_attribute(:password, '<your-new-password>')
end

500 Whoops when accessing a Jira issue in GitLab

When accessing a Jira issue in GitLab, you might get a 500 Whoops, something went wrong on our end error. Check production.log to see if it contains the following exception:

:NoMethodError (undefined method 'duedate' for #<JIRA::Resource::Issue:0x00007f406d7b3180>)

If that’s the case, ensure the Due date field is visible for issues in the integrated Jira project.