[GH-ISSUE #621] Shields.io JSON endpoint #452

Closed
opened 2026-02-25 23:42:30 +03:00 by kerem · 2 comments
Owner

Originally created by @mircotroue on GitHub (Mar 16, 2022).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/621

The shields.io functionality seems to be broken in the selfhosted version of healthchecks. A correctly formatted json response is generated at the provided URL, however, testing of the endpoint of shield.io yields a "custom badge | inaccessible" error.

Originally created by @mircotroue on GitHub (Mar 16, 2022). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/621 The shields.io functionality seems to be broken in the selfhosted version of healthchecks. A correctly formatted json response is generated at the provided URL, however, testing of the endpoint of shield.io yields a "custom badge | inaccessible" error. ![](https://img.shields.io/endpoint?url=https://troue.xyz/badge/f270f094-afd0-4fbf-b415-e5eae2/lMU_sPrH-2.shields)
kerem closed this issue 2026-02-25 23:42:30 +03:00
Author
Owner

@cuu508 commented on GitHub (Mar 16, 2022):

Looks like shields.io returns "inaccessible" if the data endpoint returns HTTP status code >= 500.

Example: https://img.shields.io/endpoint?url=https://statuscod.es/500

Perhaps there are more conditions when it returns "inaccessible", I'm not sure.

Can you check in your server's access logs to see what the HTTP status codes are for requests initiated by shields.io?

<!-- gh-comment-id:1068827379 --> @cuu508 commented on GitHub (Mar 16, 2022): Looks like shields.io returns "inaccessible" if the data endpoint returns HTTP status code >= 500. Example: https://img.shields.io/endpoint?url=https://statuscod.es/500 Perhaps there are more conditions when it returns "inaccessible", I'm not sure. Can you check in your server's access logs to see what the HTTP status codes are for requests initiated by shields.io?
Author
Owner

@mircotroue commented on GitHub (Mar 16, 2022):

Performing a call on the badge URL from healthchecks results in a 200 (OK) status. Directly calling the shields.io URL does not produce any entry in my nginx access log. Therefore I believe that this a problem on the shield server side and that no GET request is actually performed. This might be due to an SSL problem.

<!-- gh-comment-id:1069402982 --> @mircotroue commented on GitHub (Mar 16, 2022): Performing a call on the badge URL from healthchecks results in a 200 (OK) status. Directly calling the shields.io URL does not produce any entry in my nginx access log. Therefore I believe that this a problem on the shield server side and that no GET request is actually performed. This might be due to an SSL problem.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#452
No description provided.