lfreleng-actions/🛠️ Test API/Service Availability
Tests an HTTP/HTTPS API endpoint for service availability
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 8, 2026
- License
- Apache 2.0
Pinned Snippet
uses: lfreleng-actions/http-api-tool-docker@12a062c2289831b79166269340ffb44fa2c113e9 # v1.0.7tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| deploy | Deployment method: "uvx" (default, fast) or "docker" (containerized) | no | uvx |
| python_version | Python version (Note: uvx manages Python automatically; this input is ignored for deploy=uvx) | no | 3.11 |
| use_local_code | Use locally installed package instead of uvx/PyPI | no | false |
| url | URL of API server/interface to check | yes | — |
| auth_string | Authentication string, colon separated username/password | no | — |
| service_name | Name of HTTP/HTTPS API service tested | no | API Service |
| initial_sleep_time | Time in seconds between API service connection attempts | no | 1 |
| max_delay | Maximum delay in seconds between retries | no | 30 |
| retries | Number of retries before declaring service unavailable | no | 3 |
| expected_http_code | HTTP response code to accept from the API service | no | 200 |
| regex | Verify server response with regular expression | no | — |
| show_header_json | Display response header as JSON in action output | no | false |
| curl_timeout | Maximum time in seconds for cURL to wait for a response | no | 5 |
| http_method | HTTP method to use (GET, POST, PUT, etc.) | no | GET |
| request_body | Data to send with POST/PUT/PATCH requests | no | — |
| content_type | Content type of the request body | no | application/json |
| request_headers | Custom HTTP headers sent in JSON format | no | — |
| verify_ssl | Verify SSL certificates | no | true |
| ca_bundle_path | Path to CA bundle file for SSL verification | no | — |
| include_response_body | Include response body in outputs (base64 encoded) | no | false |
| follow_redirects | Follow HTTP redirects | no | true |
| max_response_time | Maximum acceptable response time in seconds | no | 0 |
| connection_reuse | Reuse connections between requests | no | true |
| debug | Enables debugging output | no | false |
| fail_on_timeout | Fail the action if response time exceeds max_response_time | no | false |
Outputs
| name | description |
|---|---|
| time_delay | Number of seconds waiting for service availability/failure |
| response_http_code | HTTP response code received from the server |
| response_header_json | HTTP response header as JSON |
| response_header_size | HTTP response header size in bytes |
| response_body_size | HTTP response body size in bytes |
| regex_match | Whether the regular expression matched the server reply |
| response_body_base64 | Response body base64 encoded (when include_response_body set) |
| total_time | Total time for the request in seconds |
| connect_time | Time to establish connection in seconds |
| response_time_exceeded | Whether response time exceeded maximum acceptable time |