Skip to content

feat(mcp): Add connection status filtering to list_deployed_cloud_connections#882

Merged
Aaron ("AJ") Steers (aaronsteers) merged 4 commits intomainfrom
devin/1764627630-list-failed-cloud-connections
Dec 2, 2025
Merged

feat(mcp): Add connection status filtering to list_deployed_cloud_connections#882
Aaron ("AJ") Steers (aaronsteers) merged 4 commits intomainfrom
devin/1764627630-list-failed-cloud-connections

Conversation

@aaronsteers
Copy link
Member

@aaronsteers Aaron ("AJ") Steers (aaronsteers) commented Dec 1, 2025

feat(mcp): Add connection status filtering to list_deployed_cloud_connections

Summary

Extends the existing list_deployed_cloud_connections MCP tool with two new optional parameters to support finding connections in a failed state:

  • with_connection_status: bool = False - When True, includes sync job status info for each connection
  • failing_connections_only: bool = False - When True, filters to only return connections where the most recent completed sync failed or was cancelled

The CloudConnectionResult model is extended with optional fields:

  • last_job_status - Status of most recent completed sync (e.g., 'succeeded', 'failed', 'cancelled')
  • last_job_id - Job ID of most recent completed sync
  • last_job_time - ISO 8601 timestamp of most recent completed sync
  • currently_running_job_id - Job ID of currently running sync (if any)
  • currently_running_job_start_time - Start time of currently running sync

The implementation skips over in-progress syncs to find the last completed job status, which is the intended behavior for identifying failed connections.

Updates since last revision

  • Fixed Annotated[] syntax to wrap default= in Field() per FastMCP best practices
  • Now uses FAILED_STATUSES constant from airbyte.cloud.constants instead of bare strings for type-safe enum comparison
  • Updated docstring to explicitly mention "cancelled" status is included in failing connections filter

Review & Testing Checklist for Human

  • Verify max_items_limit behavior change: The limit is now applied AFTER filtering (on results) rather than BEFORE (on connections list). This means failing_connections_only=True with max_items_limit=10 will return up to 10 failed connections, not filter from the first 10 connections. Confirm this is the desired behavior.
  • Test with actual Airbyte Cloud workspace: Verify the tool works correctly with real connections in various states (succeeded, failed, cancelled, in-progress)
  • Verify enum comparison works correctly: The status comparison now uses FAILED_STATUSES (a set of JobStatusEnum values) - confirm last_completed_job_status not in FAILED_STATUSES behaves as expected

Recommended Test Plan

  1. Call list_deployed_cloud_connections() with default params - should return connections without status fields populated
  2. Call with with_connection_status=True - should return connections with status fields populated
  3. Call with failing_connections_only=True - should only return connections with failed/cancelled last sync
  4. Verify a connection with an in-progress sync correctly shows currently_running_job_id while still reporting the last completed job status

Notes

  • No unit tests were added for this new functionality - consider adding tests if this is a concern
  • The failing_connections_only parameter implicitly enables with_connection_status since status info is required for filtering
  • Lint checks (poe fix-and-check) pass

Requested by: AJ Steers (Aaron ("AJ") Steers (@aaronsteers))
Link to Devin run: https://app.devin.ai/sessions/d3b2767c1ead41c3acf28550efc4516c

Summary by CodeRabbit

  • New Features

    • Connection results now include sync job metadata (last job status, ID, timestamps, and currently running job info).
    • Listing deployed connections can optionally include per-connection status and filter to show only failing connections; filtering for failing connections implicitly enables status reporting.
  • Documentation

    • Help text updated to describe the new options and behavior.

✏️ Tip: You can customize this high-level summary in your review settings.

Important

Auto-merge enabled.

This PR is set to merge automatically when all requirements are met.

Note

Auto-merge may have been disabled. Please check the PR status to confirm.

…nections

- Add with_connection_status parameter to optionally include sync job status info
- Add failing_connections_only parameter to filter for failed connections
- Extend CloudConnectionResult model with optional status fields:
  - last_job_status, last_job_id, last_job_time
  - currently_running_job_id, currently_running_job_start_time
- Skip in-progress syncs when determining last completed job status

Co-Authored-By: AJ Steers <aj@airbyte.io>
@devin-ai-integration
Copy link
Contributor

Original prompt from AJ Steers
SYSTEM:
=== BEGIN THREAD HISTORY (in #hydra-pyairbyte-mcp) ===
Aldo Alberto Jesus Gonzalez Campos (U070BMPDUHJ): :octavia-hello: Is the <https://airbytehq.github.io/PyAirbyte/airbyte/mcp.html#getting-started-with-pyairbyte-mcp|pyairbyte-mcp> the one we address as coral-mcp?

AJ Steers (U05AKF1BCC9): Yes, that's correct.

AJ Steers (U05AKF1BCC9): Do you want install/setup instructions? I can link you to those docs if helpful.

AJ Steers (U05AKF1BCC9): Essentially `uvx --from=airbyte airbyte-mcp`

AJ Steers (U05AKF1BCC9): Btw, are we ever going to use "Coral" as a user-facing dilineation? (Rhetorical, no answer needed. :sweat_smile: )

Aldo Alberto Jesus Gonzalez Campos (U070BMPDUHJ): &gt;  Essentially `uvx --from=airbyte airbyte-mcp`
Link would be cool anyway

Aldo Alberto Jesus Gonzalez Campos (U070BMPDUHJ): Also, what is the repo this mcp?

Aldo Alberto Jesus Gonzalez Campos (U070BMPDUHJ): Oh wait, is it part of <https://github.com/airbytehq/PyAirbyte/tree/main/airbyte/mcp|pyaribyte> repo?

AJ Steers (U05AKF1BCC9): Yes, that's correct.

AJ Steers (U05AKF1BCC9): <https://airbytehq.github.io/PyAirbyte/airbyte/mcp.html|https://airbytehq.github.io/PyAirbyte/airbyte/mcp.html>

AJ Steers (U05AKF1BCC9): <@U070BMPDUHJ> - Did you get what you needed here?

Aldo Alberto Jesus Gonzalez Campos (U070BMPDUHJ): Got distracted with something else, let me check if I can achieve the bare minimum of having pyairbyte mcp running with claude for my test org

AJ Steers (U05AKF1BCC9): It should work for most/all use cases. Please let me know if you run into issues, as that feedback will help make it better for the next person. :thanks-keanu:

Aldo Alberto Jesus Gonzalez Campos (U070BMPDUHJ): I don't understand this var `AIRBYTE_PROJECT_DIR`:
~/.mcp/airbyte_mcp.env
```# Airbyte Project Artifacts Directory
AIRBYTE_PROJECT_DIR=/path/to/any/writeable/project-dir```
Should that point to a local airbyte repo, PyAirbyte repo, or something else?

Aldo Alberto Jesus Gonzalez Campos (U070BMPDUHJ):... (8552 chars truncated...)

@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

Testing This PyAirbyte Version

You can test this version of PyAirbyte using the following:

# Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1764627630-list-failed-cloud-connections' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1764627630-list-failed-cloud-connections'

Helpful Resources

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /fix-pr - Fixes most formatting and linting issues
  • /poetry-lock - Updates poetry.lock file
  • /test-pr - Runs tests with the updated PyAirbyte

Community Support

Questions? Join the #pyairbyte channel in our Slack workspace.

📝 Edit this welcome message.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 1, 2025

📝 Walkthrough

Walkthrough

Adds five job-metadata fields to CloudConnectionResult and extends list_deployed_cloud_connections with two flags: with_connection_status and failing_connections_only. When enabled, per-connection sync logs are inspected to populate last-completed and currently-running job details and to optionally filter to failing connections.

Changes

Cohort / File(s) Summary
Model + API: cloud connection result & listing
airbyte/mcp/cloud_ops.py
Added five optional fields to CloudConnectionResult: last_job_status, last_job_id, last_job_time, currently_running_job_id, currently_running_job_start_time. Extended list_deployed_cloud_connections signature with with_connection_status and failing_connections_only, updated docstring, and implemented logic to fetch per-connection sync logs to populate these fields, distinguish completed vs running jobs, apply failing-only filtering (implicitly enabling status), and respect max_items_limit.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Inspect job-state detection logic for edge cases (no completed jobs, concurrent running jobs).
  • Verify that failing_connections_only implicitly enables status collection and correctly filters based on the last completed job using FAILED_STATUSES.
  • Review performance and correctness of per-connection log retrieval and enforcement of max_items_limit.

Possibly related PRs

Would you like a short changelog entry or a unit-test checklist for the new fields/filters — wdyt?

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding connection status filtering capability to the list_deployed_cloud_connections function, which is the core purpose of this PR.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch devin/1764627630-list-failed-cloud-connections

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
Contributor

@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: 0

🧹 Nitpick comments (2)
airbyte/mcp/cloud_ops.py (2)

885-896: Minor edge case with multiple concurrent running jobs.

If there are multiple incomplete jobs in sync_logs, this loop overwrites currently_running_job_id each time until it finds a completed job. If sync_logs is ordered newest-first, this would end up storing an older running job rather than the most recent one.

Would it make sense to break after the first incomplete job is found (or store only the first one), so we capture the most recent running job? Something like:

 if not sync_result.is_job_complete():
+    if currently_running_job_id is None:  # Only capture first (most recent) running job
         currently_running_job_id = sync_result.job_id
         currently_running_job_start_time = sync_result.start_time.isoformat()
     continue

This is likely a rare edge case in practice, so feel free to defer if it's not a concern, wdyt?


898-901: Verify if "cancelled" should be included in the failing filter.

The filter checks for both "failed" and "cancelled" statuses, but the docstring (line 848) and the earlier docblock (line 857-858) only mention "failed".

If including cancelled jobs is intentional (which seems reasonable since cancelled syncs didn't complete successfully), could we update the docstring to mention both? For example:

-    "If True, only return connections where the most recent completed sync failed",
+    "If True, only return connections where the most recent completed sync failed or was cancelled",

What do you think?

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ef69ae0 and 5443c06.

📒 Files selected for processing (1)
  • airbyte/mcp/cloud_ops.py (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Pytest (All, Python 3.11, Ubuntu)
  • GitHub Check: Pytest (All, Python 3.10, Windows)
  • GitHub Check: Pytest (All, Python 3.11, Windows)
  • GitHub Check: Pytest (All, Python 3.10, Ubuntu)
  • GitHub Check: Pytest (No Creds)
  • GitHub Check: Pytest (Fast)
🔇 Additional comments (3)
airbyte/mcp/cloud_ops.py (3)

73-86: Well-structured optional fields with clear documentation.

The new fields are appropriately typed and documented, with clear docstrings indicating when they'll be populated. The use of None defaults for optional status data is clean.


842-860: Clear parameter annotations and well-written docstring.

The new parameters are properly annotated and the docstring effectively communicates the behavior, including the implicit enabling of with_connection_status when failing_connections_only is set. Nice work on the documentation!


917-921: Good placement of the limit check.

Applying max_items_limit after filtering (inside the loop with a break) is the correct approach here—it ensures we return up to the requested number of matching results rather than limiting before filtering. Efficient implementation!

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

PyTest Results (Fast Tests Only, No Creds)

320 tests  ±0   320 ✅ ±0   5m 57s ⏱️ -1s
  1 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit d210983. ± Comparison against base commit ef69ae0.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Dec 1, 2025

PyTest Results (Full)

388 tests  ±0   371 ✅  - 1   24m 29s ⏱️ -16s
  1 suites ±0    16 💤 ±0 
  1 files   ±0     1 ❌ +1 

For more details on these failures, see this check.

Results for commit d210983. ± Comparison against base commit ef69ae0.

♻️ This comment has been updated with latest results.

Copy link
Contributor

Choose a reason for hiding this comment

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

APPROVED

Copy link
Contributor

@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: 0

♻️ Duplicate comments (1)
airbyte/mcp/cloud_ops.py (1)

842-851: Fix syntax error: default values must be outside Annotated.

The pipeline failures correctly identified a syntax error here. In Python function signatures, default values must be assigned using = after the type annotation, not within the Annotated brackets using default=.

Apply this diff to fix the syntax:

     with_connection_status: Annotated[
         bool | None,
         "If True, include status info for each connection's most recent sync job",
-        default=False,
-    ],
+    ] = False,
     failing_connections_only: Annotated[
         bool | None,
         "If True, only return connections where the most recent completed sync failed",
-        default=False,
-    ],
+    ] = False,
🧹 Nitpick comments (1)
airbyte/mcp/cloud_ops.py (1)

885-885: Consider: is limit=5 always sufficient?

With limit=5, if a connection has 5 or more consecutive in-progress syncs, the code might not find the last completed job. While this scenario seems unlikely, it could happen in workspaces with frequent manual sync triggers or aggressive scheduling. Would it be safer to increase this limit (e.g., to 10 or 20), or is 5 a reasonable trade-off between API efficiency and completeness, wdyt?

If you'd like to increase the limit:

-            sync_logs = connection.get_previous_sync_logs(limit=5)
+            sync_logs = connection.get_previous_sync_logs(limit=10)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5443c06 and a3bf099.

📒 Files selected for processing (1)
  • airbyte/mcp/cloud_ops.py (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
airbyte/mcp/cloud_ops.py (2)
airbyte/cloud/connections.py (2)
  • get_previous_sync_logs (208-230)
  • name (86-94)
airbyte/cloud/sync_results.py (3)
  • get_job_status (276-278)
  • is_job_complete (272-274)
  • start_time (304-320)
🪛 GitHub Actions: Generate Docs
airbyte/mcp/cloud_ops.py

[error] 845-845: SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?

🪛 GitHub Actions: Run Linters
airbyte/mcp/cloud_ops.py

[error] 845-850: Ruff check failed due to SyntaxError: Expected ':' but found '=' in default parameter values. Likely caused by incorrect default values in function annotations at lines 845 and 850. Command: poetry run ruff check .

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Pytest (All, Python 3.11, Windows)
  • GitHub Check: Pytest (All, Python 3.10, Windows)
🔇 Additional comments (6)
airbyte/mcp/cloud_ops.py (6)

73-86: LGTM! Well-structured job metadata fields.

The new fields for tracking last completed and currently running job information are well-typed and clearly documented. The separation between completed vs. running job data is a good design choice.


853-862: Clear and comprehensive documentation.

The updated docstring does a great job explaining the new parameters and their behavior, including the implicit relationship between failing_connections_only and with_connection_status. Well done!


871-873: Good design: implicit enabling makes sense.

Automatically enabling with_connection_status when failing_connections_only is true is a sensible design choice, since you need the status info to filter anyway.


920-922: Good: max_items_limit now respects filtering.

The behavior change where max_items_limit is applied after filtering (rather than limiting the initial connection list) is the correct approach for this feature. This ensures the limit applies to the final filtered results, which is what users would expect.


877-918: Well-structured implementation with proper filtering logic.

The implementation correctly:

  • Initializes job tracking variables for each connection
  • Conditionally fetches sync logs only when needed
  • Skips in-progress syncs to find the last completed job
  • Filters failing connections appropriately
  • Builds result objects with the new fields

The logic flow is clear and maintainable.


895-895: The implementation on line 895 is correct—no changes needed.

job_status.value already produces the expected lowercase strings ("succeeded", "failed", "cancelled"). The JobStatusEnum from airbyte_api.models has these exact values, as confirmed by the code on line 901 which filters for {"failed", "cancelled"} and the comparisons in api_util.py against "succeeded" and "failed".

Fix syntax error by using Field() wrapper for default values in
with_connection_status and failing_connections_only parameters.

Co-Authored-By: AJ Steers <aj@airbyte.io>
Copy link
Contributor

@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: 1

🧹 Nitpick comments (2)
airbyte/mcp/cloud_ops.py (2)

842-855: Simplify the new flags’ types from bool | None to plain bool?

Since with_connection_status and failing_connections_only don’t appear to use None as a distinct state (you only branch on their truthiness, and Field(default=False) provides the default), would it be simpler and more consistent with the other flags in this file to declare them as bool instead of bool | None?

Something like:

-    with_connection_status: Annotated[
-        bool | None,
+    with_connection_status: Annotated[
+        bool,
         Field(
             description="If True, include status info for each connection's most recent sync job",
             default=False,
         ),
     ],
-    failing_connections_only: Annotated[
-        bool | None,
+    failing_connections_only: Annotated[
+        bool,
         Field(
             description="If True, only return connections with failed/cancelled last sync",
             default=False,
         ),
     ],

This would avoid None ever being a runtime value for these flags while preserving the same MCP defaults. Wdyt?


875-925: Small loop tweak to avoid overwriting the latest running job info

The overall control flow around failing_connections_only and the status computation looks good, and the “implicit enable” of with_connection_status when filtering for failures is clear.

One minor edge case: inside the sync_logs loop, a second in‑progress job would overwrite currently_running_job_id / _start_time, even though the first one you saw is presumably the most recent (assuming get_previous_sync_logs returns latest-first, as in airbyte/cloud/connections.py). That’s probably rare, but you could cheaply make it more robust by only setting the “currently running” fields once:

-            for sync_result in sync_logs:
-                job_status = sync_result.get_job_status()
-
-                if not sync_result.is_job_complete():
-                    currently_running_job_id = sync_result.job_id
-                    currently_running_job_start_time = sync_result.start_time.isoformat()
-                    continue
+            for sync_result in sync_logs:
+                job_status = sync_result.get_job_status()
+
+                if not sync_result.is_job_complete():
+                    if currently_running_job_id is None:
+                        currently_running_job_id = sync_result.job_id
+                        currently_running_job_start_time = sync_result.start_time.isoformat()
+                    continue

This keeps the semantics the same in the common case and avoids accidentally reporting an older running job if multiple show up in the window. Wdyt?

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a3bf099 and 28d2fd5.

📒 Files selected for processing (1)
  • airbyte/mcp/cloud_ops.py (3 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
airbyte/mcp/cloud_ops.py (2)
airbyte/cloud/connections.py (1)
  • get_previous_sync_logs (208-230)
airbyte/cloud/sync_results.py (3)
  • get_job_status (276-278)
  • is_job_complete (272-274)
  • start_time (304-320)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Pytest (No Creds)
  • GitHub Check: Pytest (All, Python 3.11, Windows)
  • GitHub Check: Pytest (All, Python 3.10, Ubuntu)
  • GitHub Check: Pytest (All, Python 3.11, Ubuntu)
  • GitHub Check: Pytest (All, Python 3.10, Windows)
  • GitHub Check: Pytest (Fast)
🔇 Additional comments (1)
airbyte/mcp/cloud_ops.py (1)

73-86: New job metadata fields on CloudConnectionResult look solid

The new optional job/status fields line up well with how list_deployed_cloud_connections populates them and stay backward compatible thanks to = None defaults. I don’t see any issues here; this shape should be easy for MCP tools to consume.

Copy link
Contributor

@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: 0

🧹 Nitpick comments (3)
airbyte/mcp/cloud_ops.py (3)

74-87: Clarify semantics for the new job metadata fields?

These additions look good and fit the existing patterns. A couple of tiny clarity tweaks you might consider:

  • last_job_time / currently_running_job_start_time are populated from start_time.isoformat(), but the docstrings say “timestamp of the … sync” without saying whether that’s the start or completion time; would explicitly calling out “start time” (or switching to end/completion time if that’s more useful) make this less ambiguous?
  • Even when with_connection_status=True, these fields can remain None (no prior syncs, or only in‑progress jobs); would you want to mention that explicitly so MCP clients don’t assume non‑null whenever the flag is set?

Wdyt?


843-856: Tighten flag typing and keep docs/schema hints fully aligned with behavior?

Using Annotated[bool | None, Field(default=False, …)] works fine with the MCP tooling, but since there isn’t a meaningful third state here, would switching these to plain bool (as with include_attempts and other flags above) simplify type-checking and avoid a tri-state that callers don’t really need?

Also, the docstring nicely explains that failing_connections_only implicitly enables with_connection_status. Would you consider mirroring that in the with_connection_status Field description (e.g., “If True, include status info …; this is implicitly enabled when failing_connections_only is True”) so the generated schema is self-explanatory even without reading the docstring?

Wdyt?

Also applies to: 858-867


19-19: Import is valid; None-guard concern is unnecessary, but tests would strengthen this new feature.

The import of FAILED_STATUSES at line 19 is correct, and the filtering logic matches the PR intent: you fetch logs only when with_connection_status is enabled, skip in-progress jobs, derive the last completed status/time, and filter with FAILED_STATUSES when needed.

Regarding the suggested hardening: the start_time.isoformat() calls at lines 898 and 904 are safe—the start_time property (defined in SyncResult) always returns a datetime object or raises an exception; it never returns None. No guard is needed.

The test suggestions remain valuable for locking in behavior:

  • A connection with a successful last completed job excluded when failing_connections_only=True
  • A connection with a running job and a failed last completed job returns both currently_running_* and last_job_* populated
  • Interaction of failing_connections_only=True with max_items_limit (e.g., 10 failing among many returns exactly 10)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 28d2fd5 and d210983.

📒 Files selected for processing (1)
  • airbyte/mcp/cloud_ops.py (4 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Pytest (All, Python 3.11, Windows)
  • GitHub Check: Pytest (No Creds)
  • GitHub Check: Pytest (All, Python 3.10, Ubuntu)
  • GitHub Check: Pytest (Fast)
  • GitHub Check: Pytest (All, Python 3.10, Windows)
  • GitHub Check: Pytest (All, Python 3.11, Ubuntu)

@aaronsteers Aaron ("AJ") Steers (aaronsteers) merged commit 5b9f2fa into main Dec 2, 2025
23 of 26 checks passed
@aaronsteers Aaron ("AJ") Steers (aaronsteers) deleted the devin/1764627630-list-failed-cloud-connections branch December 2, 2025 07:50
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.

2 participants