Search¶
Search Confluence content using CQL (Confluence Query Language).
Quick Start¶
# Search by text
atlcli wiki search "API documentation"
# Search in space
atlcli wiki search "API" --space TEAM
# Search by label
atlcli wiki search --label api
CQL Search¶
Use full CQL for advanced queries:
Search Filters¶
By Space¶
By Content Type¶
atlcli wiki search "query" --type page
atlcli wiki search "query" --type blogpost
atlcli wiki search "query" --type attachment
By Label¶
# Single label
atlcli wiki search --label api
# Multiple labels (AND)
atlcli wiki search --label "api,v2"
By Creator¶
By Ancestor¶
Search within a page tree:
By Date¶
# Modified recently
atlcli wiki search --modified-since "7d"
atlcli wiki search --modified-since "2025-01-01"
# Created recently
atlcli wiki search --created-since "30d"
Search Options¶
| Flag | Description |
|---|---|
--space | Filter by space key(s) |
--type | Content type: page, blogpost, attachment |
--label | Filter by label(s) |
--title | Search in title only |
--creator | Filter by creator |
--ancestor | Search under page tree |
--modified-since | Modified after date/duration |
--created-since | Created after date/duration |
--limit | Max results (default: 25) |
--start | Pagination offset |
--format | Output: table, json |
Output Formats¶
Table (Default)¶
ID TITLE SPACE MODIFIED
12345 API Reference TEAM 2025-01-14
12346 API Authentication TEAM 2025-01-13
12347 API Rate Limits TEAM 2025-01-10
JSON¶
{
"schemaVersion": "1",
"results": [
{
"id": "12345",
"title": "API Reference",
"space": {"key": "TEAM", "name": "Team Docs"},
"type": "page",
"url": "https://company.atlassian.net/wiki/spaces/TEAM/pages/12345",
"excerpt": "...comprehensive <em>API</em> documentation...",
"lastModified": "2025-01-14T10:00:00Z",
"creator": {"displayName": "Alice"},
"labels": ["api", "reference"]
}
],
"total": 42,
"limit": 25,
"start": 0
}
CQL Reference¶
Common Operators¶
| Operator | Example |
|---|---|
= | space = TEAM |
!= | space != ARCHIVE |
~ | title ~ "API*" (contains) |
IN | space IN (TEAM, DOCS) |
NOT IN | label NOT IN (draft, deprecated) |
AND | space = TEAM AND type = page |
OR | label = api OR label = docs |
Date Functions¶
| Function | Description |
|---|---|
now() | Current time |
now('-7d') | 7 days ago |
now('-1M') | 1 month ago |
startOfDay() | Start of today |
startOfWeek() | Start of current week |
Special Values¶
| Value | Description |
|---|---|
currentUser() | Logged-in user |
currentSpace() | Current space context |
Examples¶
Find Outdated Content¶
Find My Recent Pages¶
Find Pages Without Labels¶
Find Draft Content¶
Full-Text Search in Title¶
Export Search Results¶
# Get all IDs for scripting
atlcli wiki search --label api --json | jq -r '.results[].id'
# Export to CSV
atlcli wiki search --space TEAM --json | \
jq -r '.results[] | [.id, .title, .lastModified] | @csv'
Pagination¶
For large result sets:
# First 25
atlcli wiki search "query" --limit 25 --start 0
# Next 25
atlcli wiki search "query" --limit 25 --start 25
# Get all (iterate)
START=0
while true; do
RESULT=$(atlcli wiki search "query" --limit 100 --start $START --json)
COUNT=$(echo $RESULT | jq '.results | length')
[ "$COUNT" -eq 0 ] && break
echo $RESULT | jq -r '.results[].title'
START=$((START + 100))
done