Skip to content

Plane Query Language#413

Open
danciaclara wants to merge 2 commits intomasterfrom
pql
Open

Plane Query Language#413
danciaclara wants to merge 2 commits intomasterfrom
pql

Conversation

@danciaclara
Copy link
Collaborator

@danciaclara danciaclara commented Mar 13, 2026

Description

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Screenshots and Media (if applicable)

Test Scenarios

References

Summary by CodeRabbit

  • Documentation
    • Added comprehensive Plane Query Language (PQL) documentation: syntax, Field Operator Value structure, combining conditions (AND/OR), saving views, operators for core and custom fields, and built-in functions (e.g., isOverdue, hasNoAssignee).
    • Added a new sidebar navigation entry linking to the PQL documentation for easier discovery within Views and layouts.

@vercel
Copy link

vercel bot commented Mar 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Mar 13, 2026 1:41pm

Request Review

@coderabbitai
Copy link

coderabbitai bot commented Mar 13, 2026

📝 Walkthrough

Walkthrough

Adds a new Plane Query Language (PQL) documentation page and updates the site sidebar to include a link to that page under "Views and layouts." No other code or public API changes.

Changes

Cohort / File(s) Summary
Navigation Configuration
docs/.vitepress/config.ts
Added a sidebar entry linking to the new Plane Query Language doc under "Views and layouts".
Documentation
docs/core-concepts/issues/plane-query-language.md
New comprehensive PQL guide: editor usage, query structure (Field Operator Value), condition combining (AND/OR), operators reference for built-in and custom fields, built-in functions, examples, and saving views.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐇 I nibble on docs with curious cheer,

PQL sprouted—clear and near.
Fields, ops, and functions hop in line,
A sidebar carrot, easy to find.
Hopping off to query time! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Plane Query Language' directly corresponds to the main changes: adding new documentation and navigation for PQL, making it specific and relevant to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch pql
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
docs/core-concepts/issues/plane-query-language.md (1)

62-62: Normalize operator casing in examples for consistency.

Line 62 uses lowercase in, while the operator reference tables standardize on uppercase IN/NOT IN. Keeping example casing aligned improves readability and reduces ambiguity.

Proposed consistency tweak
-(priority = High AND state in (Backlog, In Progress, Todo)) OR (type in (Bug, Task, Improvements) AND assignee in (Ethan, Parker, Amanda))
+(priority = High AND state IN (Backlog, In Progress, Todo)) OR (type IN (Bug, Task, Improvements) AND assignee IN (Ethan, Parker, Amanda))
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/core-concepts/issues/plane-query-language.md` at line 62, Update the
example expression that currently uses lowercase operators by replacing the
lowercase "in" with the standardized uppercase "IN" (e.g., change "(priority =
High AND state in (Backlog, In Progress, Todo)) OR (type in (Bug, Task,
Improvements) AND assignee in (Ethan, Parker, Amanda))" to use "IN" and "NOT IN"
casing where applicable) so it matches the operator reference tables and
maintains consistency across examples.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/core-concepts/issues/plane-query-language.md`:
- Around line 1-341: The CI is failing due to OXFMT formatting on the Plane
Query Language doc; run the formatter and commit the changes by running "oxfmt
--write docs/core-concepts/issues/plane-query-language.md", review the updated
formatting in the "Plane Query Language" file, stage the modified file, and
create a new commit so the pipeline's OXFMT check passes.
- Around line 33-63: Add the markdown language identifier "pql" to each
unlabeled fenced code block so markdownlint MD040 is satisfied: update the five
code fences that contain the snippets "Field Operator Value", "priority = High",
"type = Bug AND priority = High", "state = Todo OR state = In Progress", and the
combined query "(priority = High AND state in (Backlog, In Progress, Todo)) OR
(type in (Bug, Task, Improvements) AND assignee in (Ethan, Parker, Amanda))" to
use ```pql instead of plain ```; no other content changes required.

---

Nitpick comments:
In `@docs/core-concepts/issues/plane-query-language.md`:
- Line 62: Update the example expression that currently uses lowercase operators
by replacing the lowercase "in" with the standardized uppercase "IN" (e.g.,
change "(priority = High AND state in (Backlog, In Progress, Todo)) OR (type in
(Bug, Task, Improvements) AND assignee in (Ethan, Parker, Amanda))" to use "IN"
and "NOT IN" casing where applicable) so it matches the operator reference
tables and maintains consistency across examples.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 479963f5-7e5c-4c63-ba31-1946690176c5

📥 Commits

Reviewing files that changed from the base of the PR and between a07044e and cfad00e.

📒 Files selected for processing (2)
  • docs/.vitepress/config.ts
  • docs/core-concepts/issues/plane-query-language.md

Comment on lines +33 to +63
```
Field Operator Value
```

Example:
```
priority = High
```

This returns all work items where priority is High.

You can also combine multiple conditions using logical operators like `AND` and `OR`.

**Using AND**
```
type = Bug AND priority = High
```

This returns work items that match both conditions.

**Using OR**
```
state = Todo OR state = In Progress
```

This returns work items that match either condition.

**Combined:**
```
(priority = High AND state in (Backlog, In Progress, Todo)) OR (type in (Bug, Task, Improvements) AND assignee in (Ethan, Parker, Amanda))
```
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add language identifiers to fenced code blocks (MD040).

Line 33, Line 38, Line 47, Line 54, and Line 61 use unlabeled fences, which is triggering markdownlint warnings.

Proposed doc fix
-```
+```pql
 Field Operator Value

- +pql
priority = High


-```
+```pql
type = Bug AND priority = High

- +pql
state = Todo OR state = In Progress


-```
+```pql
(priority = High AND state in (Backlog, In Progress, Todo)) OR (type in (Bug, Task, Improvements) AND assignee in (Ethan, Parker, Amanda))
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 33-33: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 38-38: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 47-47: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 54-54: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 61-61: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/core-concepts/issues/plane-query-language.md` around lines 33 - 63, Add
the markdown language identifier "pql" to each unlabeled fenced code block so
markdownlint MD040 is satisfied: update the five code fences that contain the
snippets "Field Operator Value", "priority = High", "type = Bug AND priority =
High", "state = Todo OR state = In Progress", and the combined query "(priority
= High AND state in (Backlog, In Progress, Todo)) OR (type in (Bug, Task,
Improvements) AND assignee in (Ethan, Parker, Amanda))" to use ```pql instead of
plain ```; no other content changes required.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
docs/core-concepts/issues/plane-query-language.md (1)

33-67: ⚠️ Potential issue | 🟡 Minor

Add language identifiers to code blocks (markdownlint MD040).

The five code blocks in this section still lack language identifiers, which triggers linting warnings. Adding pql as the language identifier will resolve the MD040 warnings.

📝 Proposed fix
-```
+```pql
 Field Operator Value

Example:

- +pql
priority = High


...

**Using AND**

-```
+```pql
type = Bug AND priority = High

...

Using OR

- +pql
state = Todo OR state = In Progress


...

**Combined:**

-```
+```pql
(priority = High AND state in (Backlog, In Progress, Todo)) OR (type in (Bug, Task, Improvements) AND assignee in (Ethan, Parker, Amanda))
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/core-concepts/issues/plane-query-language.md around lines 33 - 67, In
plane-query-language.md update the five fenced code blocks to include the pql
language identifier: change the opening fences for the blocks containing "Field
Operator Value", "priority = High", "type = Bug AND priority = High", "state =
Todo OR state = In Progress", and the combined query "(priority = High AND state
in (Backlog, In Progress, Todo)) OR (type in (Bug, Task, Improvements) AND
assignee in (Ethan, Parker, Amanda))" from topql so markdownlint MD040
warnings are resolved.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @docs/core-concepts/issues/plane-query-language.md:

  • Around line 33-67: In plane-query-language.md update the five fenced code
    blocks to include the pql language identifier: change the opening fences for the
    blocks containing "Field Operator Value", "priority = High", "type = Bug AND
    priority = High", "state = Todo OR state = In Progress", and the combined query
    "(priority = High AND state in (Backlog, In Progress, Todo)) OR (type in (Bug,
    Task, Improvements) AND assignee in (Ethan, Parker, Amanda))" from topql
    so markdownlint MD040 warnings are resolved.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `773cf5ad-b0a2-4119-8f9c-7b0e74abd114`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between cfad00e93ec335e7e62b0eb6931a6f371598a20b and 3114997674bce08d5f8843e80db8e632bb7b2833.

</details>

<details>
<summary>⛔ Files ignored due to path filters (1)</summary>

* `pnpm-lock.yaml` is excluded by `!**/pnpm-lock.yaml`

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `docs/core-concepts/issues/plane-query-language.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant