This was found testing bug 29787 so I'll copy part of the test plan here: To test: 1. Have this on your koha-conf.xml file: <plugin_repos> <repo> <name>ByWater Solutions</name> <org_name>bywatersolutions</org_name> <service>github</service> </repo> <repo> <name>Theke Solutions</name> <org_name>thekesolutions</org_name> <service>gitlab</service> </repo> <repo> <name>PTFS Europe</name> <org_name>ptfs-europe</org_name> <service>github</service> </repo> </plugin_repos> 2. Restart all services: $ restart_all 3. Search for the term 'barclaycard' The search will give an error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/JSON.pm line 190 It might be an issue with the plugin, but we should catch errors in a nicer way for the users.
From bug 29787: (In reply to Tomás Cohen Arazi from comment #9) > Maybe GitHub API changed. ByWater and PTFS both are on GitHub while Theke's > is on Gitlab.
Thanks for filing this! We've known for a while that searching for "edifact" doesn't work, but haven't gotten around to putting a bug in. I know it used to just return no results, rather than a 500 error. I don't know when that changed.
Created attachment 150523 [details] [review] Bug 30367: Skip processing if we don't get releases Some repos don't have releases, and this seems to break things as get returns an empty response. Calling from_json on this is the error This simply skips the bad responses to avoid the error: To test: 1. Have this on your koha-conf.xml file: <plugin_repos> <repo> <name>ByWater Solutions</name> <org_name>bywatersolutions</org_name> <service>github</service> </repo> <repo> <name>Theke Solutions</name> <org_name>thekesolutions</org_name> <service>gitlab</service> </repo> <repo> <name>PTFS Europe</name> <org_name>ptfs-europe</org_name> <service>github</service> </repo> </plugin_repos> 2. Restart all services: $ restart_all 3. Search for the term 'barclaycard' The search will give an error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/JSON.pm line 190 4. Apply patch 5. Repeat 6. No error Note: The barclaycard plugin won't install even though it is returned as of this note - the plugin needs an update I believe, I don't think it's a Koha issue
Created attachment 150527 [details] [review] Bug 30367: Skip processing if we don't get releases Some repos don't have releases, and this seems to break things as get returns an empty response. Calling from_json on this is the error This simply skips the bad responses to avoid the error: To test: 1. Have this on your koha-conf.xml file: <plugin_repos> <repo> <name>ByWater Solutions</name> <org_name>bywatersolutions</org_name> <service>github</service> </repo> <repo> <name>Theke Solutions</name> <org_name>thekesolutions</org_name> <service>gitlab</service> </repo> <repo> <name>PTFS Europe</name> <org_name>ptfs-europe</org_name> <service>github</service> </repo> </plugin_repos> 2. Restart all services: $ restart_all 3. Search for the term 'barclaycard' The search will give an error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/JSON.pm line 190 4. Apply patch 5. Repeat 6. No error Note: The barclaycard plugin won't install even though it is returned as of this note - the plugin needs an update I believe, I don't think it's a Koha issue Signed-off-by: David Nind <david@davidnind.com>
Testing notes (using KTD): 1. To search (step 3), go to Administration > Plugins > Manage plugins. 2. Searching for 'barclaycard' didn't generate an error, but searching for 'edifact' did.
You are fixing for github, not gitlab.
Created attachment 150572 [details] [review] Bug 30367: (follow-up) Same adjustment for gitlab This adds the same update for gitlab code. I was unable to trigger the error, however, I confirm searching for 'PayPal' returns a result after this patch as well as before.
Created attachment 150575 [details] [review] Bug 30367: Skip processing if we don't get releases Some repos don't have releases, and this seems to break things as get returns an empty response. Calling from_json on this is the error This simply skips the bad responses to avoid the error: To test: 1. Have this on your koha-conf.xml file: <plugin_repos> <repo> <name>ByWater Solutions</name> <org_name>bywatersolutions</org_name> <service>github</service> </repo> <repo> <name>Theke Solutions</name> <org_name>thekesolutions</org_name> <service>gitlab</service> </repo> <repo> <name>PTFS Europe</name> <org_name>ptfs-europe</org_name> <service>github</service> </repo> </plugin_repos> 2. Restart all services: $ restart_all 3. Search for the term 'barclaycard' The search will give an error: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /usr/share/perl5/JSON.pm line 190 4. Apply patch 5. Repeat 6. No error Note: The barclaycard plugin won't install even though it is returned as of this note - the plugin needs an update I believe, I don't think it's a Koha issue Signed-off-by: David Nind <david@davidnind.com> JD amended patch: fix indentation Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 150576 [details] [review] Bug 30367: (follow-up) Same adjustment for gitlab This adds the same update for gitlab code. I was unable to trigger the error, however, I confirm searching for 'PayPal' returns a result after this patch as well as before. JD amended patch: fix indentation Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Pushed to master for 23.05. Nice work everyone, thanks!
Many hands makes light work, thankyou everyone! Pushed to 22.11.x for the next release
Backported to 22.05.x for upcoming 22.05.14
Not backporting for 21.11.x