m0un10/query-backstage-catalog
Query the Backstage Software Catalog
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit May 11, 2026
- License
- MIT
Pinned Snippet
uses: m0un10/query-backstage@a70dd3d33fa2f8a6eabd79ea9613ea04ec4938cf # v1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| backstage_base_url | Base URL of your Backstage instance (e.g. https://backstage.example.com). Trailing slashes are normalized automatically. | yes | — |
| catalog_path | Path to the Backstage catalog API. | no | /api/catalog |
| page_limit | Number of entities to fetch per page (pagination page size). | no | 500 |
| max_entities | Maximum total number of entities to return. Pagination stops once this limit is reached. Omit to return all matching entities. | no | — |
| fail_on_empty | Fail the workflow step if no entities are returned. | no | false |
| include_raw_response | Include the raw Backstage API response pages in the raw_response_json output. | no | false |
| debug_request | Log the full request URL (without auth headers) for debugging. | no | false |
| kind | Comma-separated list of entity kinds to filter by (e.g. Component,API). | no | — |
| namespace | Comma-separated list of namespaces to filter by. | no | — |
| tags | Comma-separated list of tags to filter by. | no | — |
| name | Comma-separated list of entity names to filter by. | no | — |
| owner | Comma-separated list of owners (spec.owner) to filter by. | no | — |
| system | Comma-separated list of systems (spec.system) to filter by. | no | — |
| type | Comma-separated list of types (spec.type) to filter by. | no | — |
| lifecycle | Comma-separated list of lifecycles (spec.lifecycle) to filter by. | no | — |
| filter | Raw Backstage filter string. Each line is a separate filter set (OR'd). Within a line, comma-separated key=value pairs are AND'd. Example: "kind=Component,spec.lifecycle=production" | no | — |
| fields | Comma-separated list of fields to include in the response (e.g. kind,metadata.name,spec.owner). | no | — |
| order_field | Field to order results by (e.g. metadata.name). | no | — |
| order_direction | Sort direction. One of 'asc' or 'desc'. | no | — |
| full_text | Full-text search string. | no | — |
| entity_ref_format | Format of entity refs in outputs. Use 'compound' (kind:namespace/name) or 'triplet' (kind/namespace/name). | no | compound |
| auth_mode | Authentication mode. One of: none, bearer_token, oauth2_client_credentials, custom_header. | no | bearer_token |
| token | Bearer token for auth_mode=bearer_token. | no | — |
| token_env_var | Name of the environment variable containing the bearer token. Used when auth_mode=bearer_token and token is not set directly. | no | — |
| custom_auth_header_name | HTTP header name for auth_mode=custom_header (default: Authorization). | no | Authorization |
| custom_auth_header_value | HTTP header value for auth_mode=custom_header. | no | — |
| oauth_token_url | Token endpoint URL for auth_mode=oauth2_client_credentials. | no | — |
| oauth_client_id | OAuth2 client ID for auth_mode=oauth2_client_credentials. | no | — |
| oauth_client_secret | OAuth2 client secret for auth_mode=oauth2_client_credentials. | no | — |
| oauth_scope | OAuth2 scope for auth_mode=oauth2_client_credentials. | no | — |
| oauth_audience | OAuth2 audience for auth_mode=oauth2_client_credentials. | no | — |
| oauth_resource | OAuth2 resource for auth_mode=oauth2_client_credentials. | no | — |
| timeout_ms | HTTP request timeout in milliseconds. | no | 30000 |
Outputs
| name | description |
|---|---|
| count | Total number of entities returned. |
| entities_json | JSON array of all matched entities. |
| entity_refs_json | JSON array of entity refs (e.g. component:default/my-service). |
| entity_names_json | JSON array of entity metadata.name values. |
| first_entity_json | JSON of the first matched entity, or empty string if none. |
| has_results | 'true' if any entities were matched, 'false' otherwise. |
| raw_response_json | Raw JSON response pages from the Backstage API. Only set when include_raw_response=true. |