BQL Reference¶
BQL (Beads Query Language) is the query language used throughout Perles to filter and organize issues. It powers column definitions, search mode, and dependency exploration.
Basic Syntax¶
Example Queries¶
Critical bugs:
Ready work, excluding backlog:
Recently updated high-priority items:
Search by title:
Epic with all its children:
Fields¶
| Field | Description | Example Values |
|---|---|---|
status |
Issue status | open, in_progress, closed |
type |
Issue type | bug, feature, task, epic, chore |
priority |
Priority level | P0, P1, P2, P3, P4 |
blocked |
Has blockers | true, false |
ready |
Ready to work | true, false |
pinned |
Is pinned | true, false |
is_template |
Is a template | true, false |
label |
Issue labels | any label string |
title |
Issue title | any text (use ~ for contains) |
description |
Issue description | any text (use ~ for contains) |
design |
Design notes | any text (use ~ for contains) |
notes |
Issue notes | any text (use ~ for contains) |
id |
Issue ID | e.g., bd-123 |
assignee |
Assigned user | username |
sender |
Issue sender | username |
created_by |
Issue creator | username |
mol_type |
Molecule type | string |
created |
Creation date | today, yesterday, -7d, -3m |
updated |
Last update | today, -24h |
Operators¶
| Operator | Description | Example |
|---|---|---|
= |
Equals | status = open |
!= |
Not equals | type != chore |
< |
Less than | priority < P2 |
> |
Greater than | priority > P3 |
<= |
Less or equal | priority <= P1 |
>= |
Greater or equal | created >= -7d |
~ |
Contains | title ~ auth |
!~ |
Not contains | title !~ test |
in |
In list | status in (open, in_progress) |
not in |
Not in list | label not in (backlog) |
Boolean Logic¶
Combine conditions with and, or, not, and parentheses:
# AND - both conditions must match
status = open and priority = P0
# OR - either condition matches
type = bug or type = feature
# NOT - negate a condition
not blocked = true
# Parentheses for grouping
(type = bug or type = feature) and priority <= P1
Date Filters¶
BQL supports relative dates and named dates:
# Relative dates
created >= -7d # Last 7 days
updated >= -24h # Last 24 hours
created >= -3m # Last 3 months
# Named dates
created >= today
created >= yesterday
Sorting¶
Sort results with order by:
# Single field
status = open order by priority
# Multiple fields with direction
type = bug order by priority asc, created desc
Expand¶
The expand keyword includes related issues in results, allowing you to see complete issue hierarchies and dependency chains.
Directions¶
| Direction | Description |
|---|---|
up |
Issues you depend on (parents + blockers) |
down |
Issues that depend on you (children + blocked issues) |
all |
Both directions combined |
Depth Control¶
| Depth | Description |
|---|---|
depth 1 |
Direct relationships only (default) |
depth 2-10 |
Include relationships up to N levels deep |
depth * |
Unlimited depth (follows all relationships) |
Expand Examples¶
# Get an epic and all its children
type = epic expand down
# Get an epic and all descendants (unlimited depth)
type = epic expand down depth *
# Get an issue and everything blocking it
id = bd-123 expand up
# Get an issue and all related issues (both directions)
id = bd-123 expand all depth *
# Get all epics with their full hierarchies
type = epic expand all depth *