J’ai ajouté le plugin Github code review sur ma plateforme Discourse et, après avoir fonctionné correctement pendant un certain temps, il cause maintenant une erreur. Il n’envoie pas les données de mon webhook Github à la plateforme.
Dans la réponse du webhook Github, il est indiqué
<!DOCTYPE html>
<html>
<head>
<title>Oops - Error 500</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h1>Oops</h1>
<p>The software powering this discussion forum encountered an unexpected problem. We apologize for the inconvenience.</p>
<p>Detailed information about the error was logged, and an automatic notification generated. We'll take a look at it.</p>
<p>No further action is necessary. However, if the error condition persists, you can provide additional detail, including steps to reproduce the error, by posting a discussion topic in the site's feedback category.</p>
</body>
</html>
Dans les logs du navigateur, l’erreur est la suivante :
GraphQLClient::GraphQLError ([{:type=>“NOT_FOUND”, :path=>[“repository”, “pullRequest”], :locations=>[{:line=>4, :column=>15}], :message=>“Could not resolve to a PullRequest with the number of 1.”}])
Oui, j’ai également vérifié mes journaux, mais aucune information spécifique concernant l’erreur n’a été trouvée. J’utilise le plugin Code review pour intégrer mon Github à Discourse. Est-ce donc un problème avec le plugin que j’ai utilisé ?
Chaque fois que j’ai vu cette erreur, j’ai vu une trace de pile ruby dans les journaux. Je vous recommande de suivre ce fichier et de recharger la page. Il peut être difficile à attraper car beaucoup de choses se produisent. Vous pouvez également rechercher dans ce fichier 500, bien qu’il y ait souvent des chaînes 500 qui ne sont pas l’erreur, vous devez donc continuer à chercher. Vous pouvez également regarder dans error.log.
Vous pouvez certainement essayer de supprimer cela et tout autre plugin et de reconstruire, surtout si vous avez des plugins non standard.
J’ai reconstruit l’application avec les mêmes plugins et maintenant elle fonctionne, mais je ne suis pas sûr de pourquoi elle ne fonctionnait pas avant. Le plugin que j’utilise fait partie des plugins d’entreprise de Discourse, devrais-je m’attendre à ce qu’il cause des problèmes avec mon application ?