doc-locale/fr-fr/administration/settings/jira_cloud_app_troubleshooting.md
{{< details >}}
{{< /details >}}
Lors de l'administration de l'application GitLab pour Jira Cloud, vous pouvez rencontrer les problèmes suivants.
Pour le dépannage des utilisateurs, consultez l'application GitLab pour Jira Cloud.
Il est possible que vous receviez le message suivant vous invitant à vous connecter à GitLab.com alors que vous êtes déjà connecté :
Sign in or sign up before continuing.
L'application GitLab pour Jira Cloud utilise un iframe pour ajouter des groupes sur la page des paramètres. Certains navigateurs bloquent les cookies intersites, ce qui peut conduire à ce problème.
Pour résoudre ce problème, configurez l'authentification OAuth.
Vous pouvez obtenir l'une des erreurs suivantes si vous avez installé l'application GitLab pour Jira Cloud depuis la liste officielle du Marketplace et l'avez remplacée par une installation manuelle :
The app "gitlab-jira-connect-gitlab.com" could not be installed as a local app as it has previously been installed from Atlassian Marketplace
The app host returned HTTP response code 401 when we tried to contact it during installation. Please try again later or contact the app vendor.
Pour résoudre ce problème, désactivez le paramètre URL du proxy Jira Connect.
Prérequis :
Pour désactiver le paramètre URL du proxy Jira Connect :
ApplicationSetting.current_without_cache.update(jira_connect_proxy_url: nil).Si le problème persiste, vérifiez que votre instance peut se connecter à connect-install-keys.atlassian.com pour obtenir la clé publique d'Atlassian. Pour tester la connectivité, exécutez la commande suivante :
# A `404 Not Found` is expected because you're not passing a token
curl --head "https://connect-install-keys.atlassian.com"
Il existe plusieurs méthodes pour consulter les modifications d'installation de l'application GitLab pour Jira Cloud. Pour plus d'informations, consultez la documentation Jira officielle.
Invalid JWT {#data-sync-fails-with-invalid-jwt}Si l'application GitLab pour Jira Cloud échoue continuellement à synchroniser les données de votre instance, un jeton secret est peut-être obsolète. Atlassian peut envoyer de nouveaux jetons secrets à GitLab. Si GitLab ne parvient pas à traiter ou à stocker ces jetons, une erreur Invalid JWT se produit.
Pour résoudre ce problème :
Confirmez que l'instance est accessible publiquement par :
Assurez-vous que la requête de jeton envoyée au point d'accès /-/jira_connect/events/installed lors de l'installation de l'application est accessible depuis Jira. La commande suivante doit renvoyer un 401 Unauthorized :
curl --include --request POST "https://gitlab.example.com/-/jira_connect/events/installed"
Si votre instance a SSL configuré, vérifiez que vos certificats sont valides et approuvés publiquement.
Selon la façon dont vous avez installé l'application, vous pouvez vérifier les éléments suivants :
Si vous avez installé l'application depuis la liste officielle de l'Atlassian Marketplace, basculez entre les versions de GitLab dans l'application GitLab pour Jira Cloud :
<!-- markdownlint-disable MD044 -->Dans Jira, sélectionnez les points de suspension horizontaux ({{< icon name="ellipsis_h" >}}) à côté de Apps et sélectionnez Manage your apps.
Accédez à l'application en utilisant l'une de ces méthodes :
For instances with centralized app management :
For instances with legacy app management :
Sélectionnez Modifier la version de GitLab.
Sélectionnez GitLab.com (SaaS), puis sélectionnez Enregistrer.
Sélectionnez à nouveau Modifier la version de GitLab.
Sélectionnez GitLab (autogéré), puis sélectionnez Suivant.
Cochez toutes les cases, puis sélectionnez Suivant.
Saisissez votre URL de l'instance GitLab, puis sélectionnez Enregistrer.
Si cette méthode ne fonctionne pas, soumettez un ticket de support si vous êtes client Premium ou Ultimate. Fournissez l'URL de votre instance GitLab et l'URL de Jira. Le support GitLab peut essayer d'exécuter les scripts suivants pour résoudre le problème :
# Check if GitLab.com can connect to the GitLab Self-Managed instance
checker = Gitlab::TcpChecker.new("gitlab.example.com", 443)
# Returns `true` if successful
checker.check
# Returns an error if the check fails
checker.error
# Locate the installation record for the GitLab Self-Managed instance
installation = JiraConnectInstallation.find_by_instance_url("https://gitlab.example.com")
# Try to send the token again from GitLab.com to the GitLab Self-Managed instance
ProxyLifecycleEventService.execute(installation, :installed, installation.instance_url)
Si vous avez installé l'application manuellement :
Failed to update the GitLab instance {#error-failed-to-update-the-gitlab-instance}Lorsque vous configurez l'application GitLab pour Jira Cloud, vous pouvez obtenir une erreur Failed to update the GitLab instance après avoir saisi l'URL de votre instance GitLab auto-hébergée.
Pour résoudre ce problème, assurez-vous que tous les prérequis de votre méthode d'installation sont satisfaits :
Si vous avez configuré une URL de proxy Jira Connect et que le problème persiste après vérification des prérequis, consultez Débogage des problèmes de proxy Jira Connect.
Si vous utilisez GitLab 15.8 ou une version antérieure et avez précédemment activé les feature flags jira_connect_oauth_self_managed et jira_connect_oauth, vous devez désactiver le feature flag jira_connect_oauth_self_managed en raison d'un problème connu. Pour vérifier ces flags :
Ouvrez une console Rails.
Exécutez le code suivant :
# Check if both feature flags are enabled.
# If the flags are enabled, these commands return `true`.
Feature.enabled?(:jira_connect_oauth)
Feature.enabled?(:jira_connect_oauth_self_managed)
# If both flags are enabled, disable the `jira_connect_oauth_self_managed` flag.
Feature.disable(:jira_connect_oauth_self_managed)
Invalid audience {#error-invalid-audience}Si vous utilisez un reverse proxy, exceptions_json.log peut contenir un message du type :
Invalid audience. Expected https://proxy.example.com/-/jira_connect, received https://gitlab.example.com/-/jira_connect
Pour résoudre ce problème, définissez le FQDN du reverse proxy comme audience JWT supplémentaire.
Si vous définissez URL du proxy Jira Connect sur https://gitlab.com lors de la configuration de votre instance, vous pouvez :
Failed to update the GitLab instance pour obtenir plus d'informations.Vous devriez voir une requête GET vers https://gitlab.com/-/jira_connect/installations.
Cette requête devrait renvoyer un 200 OK, mais elle peut renvoyer un 422 Unprocessable Entity en cas de problème. Vous pouvez vérifier le corps de la réponse pour identifier l'erreur.
Si vous ne parvenez pas à résoudre le problème et que vous êtes client GitLab, contactez le support GitLab pour obtenir de l'aide. Fournissez au support GitLab :
X-Request-Id pour la requête GET échouée vers https://gitlab.com/-/jira_connect/installations.harcleaner qui capture le problème.Le support GitLab peut alors examiner le problème dans les journaux du serveur GitLab.com.
[!note] Ces étapes ne peuvent être effectuées que par le support GitLab.
Chaque requête GET envoyée à l'URL du proxy Jira Connect https://gitlab.com/-/jira_connect/installations génère deux entrées de journal.
Pour localiser les entrées de journal pertinentes dans Kibana :
Si vous disposez de la valeur X-Request-Id ou de l'identifiant de corrélation pour la requête GET vers https://gitlab.com/-/jira_connect/installations, les journaux Kibana doivent être filtrés par json.meta.caller_id: JiraConnect::InstallationsController#update, NOT json.status: 200 et json.correlation_id: <X-Request-Id>. Cela devrait renvoyer deux entrées de journal.
Si vous disposez de l'URL auto-hébergée du client :
json.meta.caller_id: JiraConnect::InstallationsController#update, NOT json.status: 200 et json.params.value: {"instance_url"=>"https://gitlab.example.com"}. L'URL auto-hébergée ne doit pas avoir de barre oblique finale. Cela devrait renvoyer l'une des entrées de journal.json.correlation_id au filtre.json.params.value. Cela devrait renvoyer l'autre entrée de journal.Pour le premier journal :
json.status est 422 Unprocessable Entity.json.params.value doit correspondre à l'URL GitLab auto-hébergée [[FILTERED], {"instance_url"=>"https://gitlab.example.com"}].Pour le deuxième journal, vous pouvez rencontrer l'un des scénarios suivants :
Scénario 1 :
json.message, json.jira_status_code et json.jira_body sont présents.
json.message est Proxy lifecycle event received error response ou similaire.
json.jira_status_code et json.jira_body peuvent contenir la réponse reçue de l'instance GitLab auto-hébergée ou d'un proxy en amont de l'instance.
Si json.jira_status_code est 401 Unauthorized et json.jira_body est (empty) :
URL du proxy Jira Connect n'est peut-être pas défini sur https://gitlab.com.
L'instance GitLab auto-hébergée bloque peut-être les connexions sortantes. Assurez-vous que votre instance GitLab auto-hébergée peut se connecter à connect-install-keys.atlassian.com et à gitlab.com.
L'instance GitLab auto-hébergée ne peut pas déchiffrer le jeton JWT de Jira. À partir de GitLab 16.11 , exceptions_json.log contient plus d'informations sur l'erreur.
Si un reverse proxy se trouve devant votre instance GitLab auto-hébergée, l'en-tête Host envoyé à l'instance GitLab auto-hébergée peut ne pas correspondre au FQDN du reverse proxy. Vérifiez les journaux Workhorse sur l'instance GitLab auto-hébergée :
grep /-/jira_connect/events/installed /var/log/gitlab/gitlab-workhorse/current
La sortie peut contenir les éléments suivants :
{
"host":"gitlab.mycompany.com:443", // The host should match the reverse proxy FQDN entered into the GitLab for Jira Cloud app
"remote_ip":"34.74.226.3", // This IP should be within the GitLab.com IP range https://docs.gitlab.com/user/gitlab_com/#ip-range
"status":401,
"uri":"/-/jira_connect/events/installed"
}
Si json.jira_status_code est 404 Not Found et que json.jira_body contient le code HTML d'une page 404 GitLab standard, confirmez que la liste d'autorisation des intégrations sur l'instance auto-hébergée autorise l'application GitLab pour Jira Cloud.
Scénario 2 :
json.exception.class et json.exception.message sont présents.json.exception.class et json.exception.message indiquent si un problème est survenu lors de la communication avec l'instance GitLab auto-hébergée.The Jira user is not a site or organization administrator {#error-the-jira-user-is-not-a-site-or-organization-administrator}Lorsque vous essayez de lier un groupe GitLab, vous pouvez obtenir l'une des erreurs suivantes :
The Jira user is not a site or organization administrator. Check the permissions in Jira and try again.
Failed to link group. Please try again.
Ce problème se produit lorsque l'utilisateur Jira n'est pas membre du groupe site-admins ou org-admins. GitLab vérifie l'appartenance au groupe en appelant le point d'accès de l'API Jira /rest/api/3/user?expand=groups et en vérifiant que l'utilisateur appartient à l'un de ces deux groupes.
Un utilisateur peut apparaître comme administrateur de site dans l'organisation Atlassian et disposer de tous les privilèges d'administrateur, mais s'il n'est pas explicitement ajouté au groupe site-admins ou org-admins, la vérification des autorisations GitLab échoue. Cela signifie également que les privilèges d'administrateur attribués via des groupes personnalisés ou des rôles spécifiques à un produit ne sont pas détectés par GitLab.
Pour résoudre ce problème, ajoutez l'utilisateur Jira au groupe org-admins ou site-admins :
org-admins (recommandé) ou le groupe site-admins. Si le groupe n'existe pas, créez-le.Pour plus d'informations sur les exigences relatives aux utilisateurs Jira, consultez Exigences relatives aux utilisateurs Jira.
GitLab ne peut pas utiliser l'API des autorisations de Jira pour vérifier directement le statut d'administrateur en raison des limitations de portée OAuth. Pour plus de contexte, consultez le ticket #420687 et le merge request !135771.
Failed to link group {#error-failed-to-link-group}Lorsque vous liez un groupe, vous pouvez obtenir l'erreur suivante :
Failed to link group. Please try again.
Cette erreur peut être renvoyée pour plusieurs raisons.
Un 403 Forbidden peut être renvoyé si les informations de l'utilisateur ne peuvent pas être récupérées depuis Jira en raison de permissions insuffisantes. Pour résoudre ce problème, assurez-vous que l'utilisateur Jira qui installe et configure l'application remplit certaines exigences.
Cette erreur peut également se produire si vous utilisez une réécriture ou un sous-filtre avec un reverse proxy. La clé d'application utilisée dans les requêtes contient une partie du nom d'hôte du serveur, que certains filtres de reverse proxy peuvent capturer. La clé d'application dans Atlassian et GitLab doit correspondre pour que l'authentification fonctionne correctement.
Cette erreur peut se produire si l'instance GitLab a été initialement mal configurée lors de la première installation de l'application GitLab pour Jira Cloud. Dans ce cas, les données de la table jira_connect_installation peuvent devoir être supprimées. Ne supprimez ces données que si vous êtes certain qu'aucune installation existante de l'application GitLab pour Jira ne doit être conservée.
Désinstallez l'application GitLab pour Jira Cloud de tous les projets Jira.
Pour supprimer les enregistrements, exécutez cette commande dans la console Rails GitLab :
JiraConnectInstallation.delete_all
Failed to load Jira Connect Application ID {#error-failed-to-load-jira-connect-application-id}Lorsque vous vous connectez à l'application GitLab pour Jira Cloud après avoir pointé l'application vers votre instance GitLab auto-hébergée, vous pouvez obtenir l'erreur suivante :
Failed to load Jira Connect Application ID. Please try again.
Lorsque vous vérifiez la console du navigateur, vous pouvez également voir le message suivant :
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://gitlab.example.com/-/jira_connect/oauth_application_id. (Reason: CORS header 'Access-Control-Allow-Origin' missing). Status code: 403.
Pour résoudre ce problème :
Assurez-vous que /-/jira_connect/oauth_application_id est accessible publiquement et renvoie une réponse JSON :
curl --include "https://gitlab.example.com/-/jira_connect/oauth_application_id"
Si vous avez installé l'application depuis la liste officielle de l'Atlassian Marketplace, assurez-vous que URL du proxy Jira Connect est défini sur https://gitlab.com sans barre oblique de fin.
Missing required parameter: client_id {#error-missing-required-parameter-client_id}Lorsque vous vous connectez à l'application GitLab pour Jira Cloud après avoir pointé l'application vers votre instance GitLab auto-hébergée, vous pouvez obtenir l'erreur suivante :
Missing required parameter: client_id
Pour résoudre ce problème, assurez-vous que tous les prérequis de votre méthode d'installation sont satisfaits :
Failed to sign in to GitLab {#error-failed-to-sign-in-to-gitlab}Lorsque vous vous connectez à l'application GitLab pour Jira Cloud après avoir pointé l'application vers votre instance GitLab auto-hébergée, vous pouvez obtenir l'erreur suivante :
Failed to sign in to GitLab
Pour résoudre ce problème, assurez-vous que les cases Fiables et Confidentiel sont décochées dans l'application OAuth créée pour l'application. Si l'erreur persiste, consultez le ticket 581765.
Si vous utilisez Google Chrome pour l'application, essayez d'utiliser un autre navigateur.