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> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
daa92a9371
commit
b12aa543e2
1 changed files with 4 additions and 2 deletions
|
@ -77,7 +77,9 @@ if ($plugins_enabled) {
|
|||
foreach my $result ( @{ $response->{items} } ) {
|
||||
next unless $result->{name} =~ /^koha-plugin-/;
|
||||
my $releases = $result->{url} . "/releases/latest";
|
||||
my $release = from_json( get($releases) );
|
||||
my $release_info = get($releases);
|
||||
next unless $release_info;
|
||||
my $release = from_json( $release_info );
|
||||
my $tag_name = $release->{tag_name};
|
||||
for my $asset ( @{$release->{assets}} ) {
|
||||
if ($asset->{browser_download_url} =~ m/\.kpz$/) {
|
||||
|
|
Loading…
Reference in a new issue