diff options
Diffstat (limited to 'doc/integration/jira/troubleshooting.md')
-rw-r--r-- | doc/integration/jira/troubleshooting.md | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/doc/integration/jira/troubleshooting.md b/doc/integration/jira/troubleshooting.md new file mode 100644 index 00000000000..0e679693614 --- /dev/null +++ b/doc/integration/jira/troubleshooting.md @@ -0,0 +1,110 @@ +--- +stage: Manage +group: Integrations +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments +--- + +# Troubleshooting Jira integrations **(FREE)** + +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](https://support.atlassian.com/security-and-access-policies/docs/specify-ip-addresses-for-product-access/), make sure you add your self-managed IP addresses or [GitLab.com IP range](../../user/gitlab_com/index.md#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](https://gitlab.com/gitlab-org/gitlab/-/issues/341571) +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](../../administration/operations/rails_console.md#starting-a-rails-console-session), run the following: + + ```ruby + 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 + ``` + +1. 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](../../administration/operations/rails_console.md#starting-a-rails-console-session) to check if Jira Cloud is linked to: + +A specified namespace: + +```ruby +JiraConnectSubscription.where(namespace: Namespace.by_path('group/subgroup')) +``` + +A specified project: + +```ruby +Project.find_by_full_path('path/to/project').jira_subscription_exists? +``` + +Any namespace: + +```ruby +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](../../administration/operations/rails_console.md#starting-a-rails-console-session): + +```ruby +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`](../../administration/logs/index.md#productionlog) to see if it contains the following exception: + +```plaintext +: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. |