query_dci_components
Search and filter DCI components using a query language with operators like eq, like, contains, and boolean logic to retrieve specific resources.
Instructions
Lookup DCI components with an advanced query language.
Common queries:
List OCP/OpenShift components:
eq(type,ocp)(filter by type, NOT by name)List all components:
ilike(name,%)List GA OCP components:
and(eq(type,ocp),contains(tags,build:ga))
The query language is based on this DSL:
eq(<field>,<value>) to lookup resources with a <field> having the value <value>.
IMPORTANT: Values must NOT be quoted. Use eq(type,ocp) not eq(type,'ocp').
You can use the comparison functions gt (greater than), ge (greater or equal),
lt (less than) or le (less or equal) using the same syntax as eq: <op>(<field>,<value>).
like(<field>,<value with percent>) and ilike(<field>,<value with percent>)
to lookup a field with a SQL glob like way. For example, to get the components
with a specific name pattern, use like(name,ocp-%).
contains(<field>,<value1>,...) and not_contains(<field>,<value1>,...)
to lookup elements in an array. This is useful mainly for tags.
and(<op1>(...),<op2>(...)), or(<op1>(...),<op2>(...)) and not(<op>) allow
to build nested boolean queries.
null(<field>) to lookup resources with a field having a NULL value.Here are all the fields of a DCI component that can be used in the query:
- id: unique identifier
- name: name of the component
- type: type of the component. Use `eq(type,ocp)` to query OpenShift components (do NOT use name for this).
- team_id: The ID of the team that owns the component. Use the `query_dci_teams` tool to get it.
- released_at: The release timestamp. Use `today` tool to compute relative dates.
- topic_id: The ID of the topic associated with the component. Use the `query_dci_topics` tool to get it.
- state: The current state of the component (active, inactive, etc.).
- url: The URL of the component, if applicable.
- tags: list of tags associated with the component. For components of type ocp, it has a build status tag like `build:dev` (also called engineering candidate or ec), `build:candidate` (also called release candidate or rc), `build:ga` or `build:nightly`.Counting Components: To get the total count of components matching a query, set limit=1 and read the count field in the _meta section of the response.
Example for counting components by type:
{
"query": "eq(type,ocp)",
"limit": 1,
"offset": 0,
"fields": []
}This will return a response like:
{
"components": [],
"_meta": {"count": 150},
...
}The total count is 150 components.
Returns: JSON string with list of components and pagination info
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | search criteria (e.g., eq(type,ocp) for OpenShift components, and(eq(type,ocp),contains(tags,build:ga)) for GA builds). To list all, use ilike(name,%) | |
| sort | No | Sort criteria | -created_at |
| limit | No | Maximum number of results to return for pagination (default 20, max 200). Use limit=1 to get count from metadata. | |
| offset | No | Offset for pagination | |
| fields | No | List of fields to return. Fields are the one listed in the query description and responses. Must be specified as a list of strings. If empty, no fields are returned. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |