debian-mirror-gitlab/doc/integration/jira/troubleshooting.md
2023-01-12 18:35:48 +00:00

110 lines
4.2 KiB
Markdown

---
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.