Problem Statement
RocketRide pipelines and agents currently have no way to pull code-review intelligence: a pipeline that assembles an engineering status report, or an agent asked "what did code review flag this sprint," has no node to call. CodeRabbit exposes exactly this over a small REST API.
Proposed Solution
Add a tool_coderabbit agent-tool node (classType tool, register filter), mirroring the existing tool_github node (nodes/src/nodes/tool_github/ — same file layout: IGlobal.py, IInstance.py, <name>_client.py, services.json, README.md, svg, requirements.txt).
API basis (documented at https://docs.coderabbit.ai/api-reference/report-generate):
- Base URL:
https://api.coderabbit.ai/api/v1
- Auth:
x-coderabbitai-api-key header (config field, secret)
- Core operation:
POST /report.generate — developer-activity / review reports over a date range, with prompt template, grouping, and parameter filters
Suggested tool operations (exposed to agents):
generate_report — from/to dates, optional template + filters; returns the report content
- Optional: a thin passthrough for custom prompt templates so pipeline authors can shape the report
Config schema (in services.json):
api_key (secret, required)
default_template (string, optional)
- standard tool node properties
Lanes: standard tool node shape — used as an invoke connection by agents; direct-lane use optional, matching whatever tool_github does.
Implementation notes:
- Node docs are
README.md (not doc.md) and must carry the generated-params marker pair; params regenerate from services.json via nodes:docs-generate.
- Test ladder:
uvx ruff check, pytest (Python 3.11), ./builder nodes:test. Note nodes:test can fail locally on external-service nodes for environment reasons — mock the HTTP client in unit tests; do not call the live API from tests.
- Error handling: surface CodeRabbit HTTP errors (bad key, rate limit) as warnings with status code and truncated message, following the pattern used by existing tool nodes.
Alternatives Considered
tool_http_request can hit the API today, but every pipeline must hand-roll auth headers, request shaping, and response parsing. A dedicated node makes the capability discoverable in the canvas and reusable.
Affected Modules
Good community/hackathon candidate (see epic #1522). Template node: tool_github.
Problem Statement
RocketRide pipelines and agents currently have no way to pull code-review intelligence: a pipeline that assembles an engineering status report, or an agent asked "what did code review flag this sprint," has no node to call. CodeRabbit exposes exactly this over a small REST API.
Proposed Solution
Add a
tool_coderabbitagent-tool node (classTypetool, registerfilter), mirroring the existingtool_githubnode (nodes/src/nodes/tool_github/— same file layout:IGlobal.py,IInstance.py,<name>_client.py,services.json,README.md, svg,requirements.txt).API basis (documented at https://docs.coderabbit.ai/api-reference/report-generate):
https://api.coderabbit.ai/api/v1x-coderabbitai-api-keyheader (config field, secret)POST /report.generate— developer-activity / review reports over a date range, with prompt template, grouping, and parameter filtersSuggested tool operations (exposed to agents):
generate_report— from/to dates, optional template + filters; returns the report contentConfig schema (in
services.json):api_key(secret, required)default_template(string, optional)Lanes: standard tool node shape — used as an
invokeconnection by agents; direct-lane use optional, matching whatevertool_githubdoes.Implementation notes:
README.md(not doc.md) and must carry the generated-params marker pair; params regenerate fromservices.jsonvianodes:docs-generate.uvx ruff check, pytest (Python 3.11),./builder nodes:test. Notenodes:testcan fail locally on external-service nodes for environment reasons — mock the HTTP client in unit tests; do not call the live API from tests.Alternatives Considered
tool_http_requestcan hit the API today, but every pipeline must hand-roll auth headers, request shaping, and response parsing. A dedicated node makes the capability discoverable in the canvas and reusable.Affected Modules
Good community/hackathon candidate (see epic #1522). Template node:
tool_github.