m0un10/query-backstage-catalog

Query the Backstage Software Catalog

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 11, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: m0un10/query-backstage@a70dd3d33fa2f8a6eabd79ea9613ea04ec4938cf # v1

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
backstage_base_urlBase URL of your Backstage instance (e.g. https://backstage.example.com). Trailing slashes are normalized automatically. yes
catalog_pathPath to the Backstage catalog API.no/api/catalog
page_limitNumber of entities to fetch per page (pagination page size).no500
max_entitiesMaximum total number of entities to return. Pagination stops once this limit is reached. Omit to return all matching entities. no
fail_on_emptyFail the workflow step if no entities are returned.nofalse
include_raw_responseInclude the raw Backstage API response pages in the raw_response_json output. nofalse
debug_requestLog the full request URL (without auth headers) for debugging.nofalse
kindComma-separated list of entity kinds to filter by (e.g. Component,API). no
namespaceComma-separated list of namespaces to filter by.no
tagsComma-separated list of tags to filter by.no
nameComma-separated list of entity names to filter by.no
ownerComma-separated list of owners (spec.owner) to filter by.no
systemComma-separated list of systems (spec.system) to filter by.no
typeComma-separated list of types (spec.type) to filter by.no
lifecycleComma-separated list of lifecycles (spec.lifecycle) to filter by.no
filterRaw 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
fieldsComma-separated list of fields to include in the response (e.g. kind,metadata.name,spec.owner). no
order_fieldField to order results by (e.g. metadata.name).no
order_directionSort direction. One of 'asc' or 'desc'.no
full_textFull-text search string.no
entity_ref_formatFormat of entity refs in outputs. Use 'compound' (kind:namespace/name) or 'triplet' (kind/namespace/name). nocompound
auth_modeAuthentication mode. One of: none, bearer_token, oauth2_client_credentials, custom_header. nobearer_token
tokenBearer token for auth_mode=bearer_token.no
token_env_varName of the environment variable containing the bearer token. Used when auth_mode=bearer_token and token is not set directly. no
custom_auth_header_nameHTTP header name for auth_mode=custom_header (default: Authorization). noAuthorization
custom_auth_header_valueHTTP header value for auth_mode=custom_header.no
oauth_token_urlToken endpoint URL for auth_mode=oauth2_client_credentials.no
oauth_client_idOAuth2 client ID for auth_mode=oauth2_client_credentials.no
oauth_client_secretOAuth2 client secret for auth_mode=oauth2_client_credentials.no
oauth_scopeOAuth2 scope for auth_mode=oauth2_client_credentials.no
oauth_audienceOAuth2 audience for auth_mode=oauth2_client_credentials.no
oauth_resourceOAuth2 resource for auth_mode=oauth2_client_credentials.no
timeout_msHTTP request timeout in milliseconds.no30000
namedescription
countTotal number of entities returned.
entities_jsonJSON array of all matched entities.
entity_refs_jsonJSON array of entity refs (e.g. component:default/my-service).
entity_names_jsonJSON array of entity metadata.name values.
first_entity_jsonJSON of the first matched entity, or empty string if none.
has_results'true' if any entities were matched, 'false' otherwise.
raw_response_jsonRaw JSON response pages from the Backstage API. Only set when include_raw_response=true.