Skip to content

Conversation

@michelle0927
Copy link
Collaborator

@michelle0927 michelle0927 commented Dec 18, 2025

Resolves #19534

Summary by CodeRabbit

  • New Features

    • Added a customizable "summary" field across HTTP components and sources with placeholder interpolation; when provided, summaries are included in emitted events.
  • Chores

    • Bumped versions for HTTP components, sources, and actions; updated package/platform dependency.

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

@vercel
Copy link

vercel bot commented Dec 18, 2025

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

1 Skipped Deployment
Project Deployment Review Updated (UTC)
pipedream-docs-redirect-do-not-edit Ignored Ignored Dec 18, 2025 10:03pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 18, 2025

Warning

Rate limit exceeded

@michelle0927 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 27 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 199c976 and ef3898e.

📒 Files selected for processing (1)
  • components/http/http.app.mjs (1 hunks)

Walkthrough

Adds an optional customizable summary prop and an interpolateSummary(summary, context) method to the HTTP app; HTTP request sources use the new summary when provided. Multiple HTTP actions/sources versions and the component package version (and a platform dependency) are bumped.

Changes

Cohort / File(s) Change Summary
HTTP App Module
components/http/http.app.mjs
Added summary propDefinition and added method interpolateSummary(summary, context) to interpolate ${path.to.property} placeholders using dot-notation with guards for non-strings and missing paths.
HTTP Request Sources (summary support)
components/http/sources/new-requests/new-requests.mjs, components/http/sources/new-requests-payload-only/new-requests-payload-only.mjs
Version bumps to 0.1.2; added summary prop referencing the HTTP app definition; run/emission logic updated to use this.http.interpolateSummary(this.summary, event) when summary is provided, otherwise fall back to existing defaults.
HTTP Action Version Bumps (core)
components/http/actions/custom-request/custom-request.mjs, components/http/actions/get-request/get-request.mjs, components/http/actions/post-request/post-request.mjs, components/http/actions/put-request/put-request.mjs
Version field incremented from 1.1.21.1.3 in exported action metadata; no behavioral changes.
HTTP Action Version Bumps (response & auth)
components/http/actions/return-http-response/return-http-response.mjs, components/http/actions/validate-webhook-auth/validate-webhook-auth.mjs, components/http/actions/verify-hmac-signature/verify-hmac-signature.mjs
Version updates: return-http-response 0.0.40.0.5, validate-webhook-auth 0.0.50.0.6, verify-hmac-signature 0.0.30.0.4.
Watch URL Source Version Bump
components/http/sources/watch-url/watch-url.mjs
Version field updated 0.0.20.0.3; no behavioral changes.
Component Package Metadata
components/http/package.json
Package version bumped 0.5.20.5.3; dependency @pipedream/platform updated from ^1.6.8^3.1.1.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Inspect interpolateSummary implementation for correct dot-notation traversal, handling of non-string inputs, missing paths, and edge cases.
  • Verify sources pass the expected event/context shape into interpolateSummary and that fallback summaries remain unchanged.
  • Review prop wiring: ensure summary propDefinition is referenced correctly between http.app.mjs and the source modules.
  • Quick check of package.json dependency bump for any required adapter or runtime changes.

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The PR description is minimal, containing only an issue reference without explanatory details about the implementation. Add a brief explanation of how the feature was implemented and what changes were made to enable customizable summaries.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding customizable summary functionality to HTTP/webhook triggers.
Linked Issues check ✅ Passed The PR successfully implements the requested feature: adds optional summary configuration field to HTTP/webhook triggers, matching the capability already available in custom webhook sources.
Out of Scope Changes check ✅ Passed All changes are directly related to implementing customizable summaries for HTTP/webhook triggers; no unrelated modifications detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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.

@michelle0927 michelle0927 marked this pull request as ready for review December 18, 2025 21:47
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: 3

📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8e338f6 and d74b45d.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (12)
  • components/http/actions/custom-request/custom-request.mjs (1 hunks)
  • components/http/actions/get-request/get-request.mjs (1 hunks)
  • components/http/actions/post-request/post-request.mjs (1 hunks)
  • components/http/actions/put-request/put-request.mjs (1 hunks)
  • components/http/actions/return-http-response/return-http-response.mjs (1 hunks)
  • components/http/actions/validate-webhook-auth/validate-webhook-auth.mjs (1 hunks)
  • components/http/actions/verify-hmac-signature/verify-hmac-signature.mjs (1 hunks)
  • components/http/http.app.mjs (1 hunks)
  • components/http/package.json (2 hunks)
  • components/http/sources/new-requests-payload-only/new-requests-payload-only.mjs (3 hunks)
  • components/http/sources/new-requests/new-requests.mjs (2 hunks)
  • components/http/sources/watch-url/watch-url.mjs (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2024-12-12T19:23:09.039Z
Learnt from: jcortes
Repo: PipedreamHQ/pipedream PR: 14935
File: components/sailpoint/package.json:15-18
Timestamp: 2024-12-12T19:23:09.039Z
Learning: When developing Pipedream components, do not add built-in Node.js modules like `fs` to `package.json` dependencies, as they are native modules provided by the Node.js runtime.

Applied to files:

  • components/http/package.json
📚 Learning: 2024-07-24T02:06:47.016Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 12697
File: components/salesforce_rest_api/sources/common-webhook-methods.mjs:1-71
Timestamp: 2024-07-24T02:06:47.016Z
Learning: The `common-webhook-methods.mjs` object is designed to be extended, similar to an abstract class, and intentionally does not implement certain methods like `generateWebhookMeta` and `getEventType` to enforce implementation in subclasses.

Applied to files:

  • components/http/http.app.mjs
🧬 Code graph analysis (1)
components/http/http.app.mjs (1)
components/http/sources/new-requests/new-requests.mjs (1)
  • summary (52-54)
⏰ 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). (3)
  • GitHub Check: Lint Code Base
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Verify TypeScript components
🔇 Additional comments (15)
components/http/actions/validate-webhook-auth/validate-webhook-auth.mjs (1)

5-5: LGTM! Version bump aligns with PR-wide updates.

The version increment from "0.0.6" is appropriate for the coordinated release across HTTP components.

components/http/package.json (2)

3-3: LGTM! Package version bump is appropriate.

The version increment to 0.5.3 aligns with the coordinated release.


17-17: Breaking changes between @pipedream/platform 1.6.8 and 3.1.1 are not publicly documented.

The major version jump from 1.6.8 to 3.1.1 should be treated carefully given semantic versioning conventions. However, since no specific breaking changes documentation is available from public sources, this requires internal validation:

  • Verify HTTP components function correctly with the new platform version through testing
  • Document any API or behavior changes encountered during integration
  • Confirm interpolateSummary functionality is supported in version 3.1.1
components/http/actions/custom-request/custom-request.mjs (1)

8-8: LGTM! Version bump is appropriate.

components/http/sources/watch-url/watch-url.mjs (1)

9-9: LGTM! Version bump is appropriate.

components/http/actions/put-request/put-request.mjs (1)

9-9: LGTM! Version bump is appropriate.

components/http/actions/return-http-response/return-http-response.mjs (1)

9-9: LGTM! Version bump is appropriate.

components/http/actions/get-request/get-request.mjs (1)

9-9: LGTM! Version bump is appropriate.

components/http/actions/post-request/post-request.mjs (1)

9-9: LGTM! Version bump is appropriate.

components/http/actions/verify-hmac-signature/verify-hmac-signature.mjs (1)

6-6: LGTM! Version bump is appropriate.

The version increment aligns with the broader changes in this PR.

components/http/http.app.mjs (1)

10-15: LGTM! Clear propDefinition with helpful example.

The description provides a clear example of the placeholder syntax. Consider documenting edge cases (e.g., undefined paths, nested objects) in user-facing documentation.

components/http/sources/new-requests-payload-only/new-requests-payload-only.mjs (2)

10-10: LGTM! Version bump is appropriate.


19-24: LGTM! Correct usage of propDefinition.

The summary prop is correctly configured using the propDefinition from the HTTP app module.

components/http/sources/new-requests/new-requests.mjs (2)

8-8: LGTM! Version bump is appropriate.


44-49: LGTM! Correct usage of propDefinition.

The summary prop is correctly configured using the propDefinition from the HTTP app module.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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

📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d74b45d and b394f62.

📒 Files selected for processing (1)
  • components/http/http.app.mjs (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-07-24T02:06:47.016Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 12697
File: components/salesforce_rest_api/sources/common-webhook-methods.mjs:1-71
Timestamp: 2024-07-24T02:06:47.016Z
Learning: The `common-webhook-methods.mjs` object is designed to be extended, similar to an abstract class, and intentionally does not implement certain methods like `generateWebhookMeta` and `getEventType` to enforce implementation in subclasses.

Applied to files:

  • components/http/http.app.mjs
🧬 Code graph analysis (1)
components/http/http.app.mjs (1)
components/http/sources/new-requests/new-requests.mjs (1)
  • summary (52-54)
⏰ 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). (3)
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Verify TypeScript components
  • GitHub Check: Lint Code Base
🔇 Additional comments (1)
components/http/http.app.mjs (1)

10-15: LGTM! Clear prop definition with helpful example.

The summary prop definition is well-structured with an appropriate type, clear description, and a practical interpolation example that guides users on the expected syntax.

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

📜 Review details

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b394f62 and 199c976.

📒 Files selected for processing (1)
  • components/http/http.app.mjs (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-07-24T02:06:47.016Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 12697
File: components/salesforce_rest_api/sources/common-webhook-methods.mjs:1-71
Timestamp: 2024-07-24T02:06:47.016Z
Learning: The `common-webhook-methods.mjs` object is designed to be extended, similar to an abstract class, and intentionally does not implement certain methods like `generateWebhookMeta` and `getEventType` to enforce implementation in subclasses.

Applied to files:

  • components/http/http.app.mjs
🧬 Code graph analysis (1)
components/http/http.app.mjs (1)
components/http/sources/new-requests/new-requests.mjs (1)
  • summary (52-54)
⏰ 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). (3)
  • GitHub Check: Verify TypeScript components
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Lint Code Base
🔇 Additional comments (1)
components/http/http.app.mjs (1)

18-31: LGTM! Input validation properly implemented.

The method correctly implements the input validation suggested in previous reviews. The use of type guards, optional chaining (obj?.[key]), and nullish coalescing (?? "") ensures safe property traversal and prevents runtime errors.

As noted in previous feedback, the current implementation supports dot notation (${body.user.name}) but not array bracket notation (${body.items[0].id}). This remains an optional enhancement that could be added if users request it.

Note: The method handles edge cases gracefully:

  • Non-string summary → returns empty string
  • Missing/invalid context → returns summary unchanged
  • Missing properties in path → returns empty string
  • Nested null/undefined values → safely returns empty string

Based on past review comments.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Copy link
Collaborator

@lcaresia lcaresia left a comment

Choose a reason for hiding this comment

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

LGTM!

@vunguyenhung
Copy link
Collaborator

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.

[FEATURE] Customize Summary of HTTP / Webhook Triggers

4 participants