Skip to content

Conversation

choeqq
Copy link
Contributor

@choeqq choeqq commented Sep 22, 2025

Resolves #18428

Summary by CodeRabbit

  • New Features

    • HubSpot “New Contact Property Change” trigger: added options to skip existing contacts on first activation and to only trigger on actual property changes; updated logic to honor these settings.
  • Chores

    • Bumped HubSpot package version to 1.7.8.
    • Minor formatting updates in Cockpit, KoBoToolbox, MISP, and SIGNL4 components (no functional impact).

Copy link

vercel bot commented Sep 22, 2025

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

1 Skipped Deployment
Project Deployment Preview Comments Updated (UTC)
pipedream-docs-redirect-do-not-edit Ignored Ignored Sep 24, 2025 7:02am

@adolfo-pd adolfo-pd added the User submitted Submitted by a user label Sep 22, 2025
@pipedream-component-development
Copy link
Collaborator

Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified.

@pipedream-component-development
Copy link
Collaborator

Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:

Copy link
Contributor

coderabbitai bot commented Sep 22, 2025

Walkthrough

Implements feature enhancements to the HubSpot “New Contact Property Change” source, adding skip-first-run and history-required options with corresponding control-flow updates. Bumps HubSpot package version. Applies trailing newline formatting to several app files without changing logic.

Changes

Cohort / File(s) Summary
HubSpot source feature update
components/hubspot/sources/new-contact-property-change/new-contact-property-change.mjs
Version 0.0.29 → 0.0.30; adds skipFirstRun and requirePropertyHistory props; updates isRelevant to require property history when enabled; updates processResults to skip initial run when configured; description formatting adjusted.
HubSpot package bump
components/hubspot/package.json
Package version @pipedream/hubspot 1.7.7 → 1.7.8.
EOF newline formatting
components/cockpit/cockpit.app.mjs, components/kobotoolbox/kobotoolbox.app.mjs, components/misp/misp.app.mjs, components/signl4/signl4.app.mjs
Adds trailing newline at EOF; no functional changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant U as User
  participant SRC as HubSpot Property Change Source
  participant HS as HubSpot API

  Note over U,SRC: Configure source
  U->>SRC: Set property, skipFirstRun, requirePropertyHistory

  rect rgba(230,245,255,0.5)
    Note over SRC: Initial activation
    SRC->>SRC: if skipFirstRun && first run<br/>set after = now and return
  end

  loop Polling cycle
    SRC->>HS: Fetch contacts updated after "after"
    HS-->>SRC: Contacts + properties(+history)
    alt requirePropertyHistory = true
      SRC->>SRC: Keep events only with non-empty history<br/>and latest history timestamp ≠ createdAt
    else
      SRC->>SRC: Prior behavior relevance check
    end
    SRC->>U: Emit events for relevant property changes
    SRC->>SRC: Update cursor "after"
  end

  opt Error paths
    SRC->>SRC: Handle empty/absent history safely
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

A whisk of code, a hop so spry,
We skip first runs as time rolls by.
Only real changes? A twitch of the ear—
History speaks, the signal is clear.
Four quiet files now end with grace,
While HubSpot’s trigger finds its pace. 🐇✨

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Out of Scope Changes Check ⚠️ Warning The PR contains unrelated formatting-only edits (adding trailing newlines) in several non-HubSpot component files (components/cockpit/cockpit.app.mjs, components/kobotoolbox/kobotoolbox.app.mjs, components/misp/misp.app.mjs, components/signl4/signl4.app.mjs), which are outside the scope of the linked issue even though they are low-risk. Remove or isolate these formatting-only changes into a separate cleanup commit or PR, or document why they were included here so reviewers can focus on the HubSpot feature changes.
Description Check ⚠️ Warning The PR description only contains a single-line "Resolves" reference and does not follow the repository's required "WHY" template, so it lacks the rationale, concise change summary, and testing/impact notes expected by the template. Update the PR description to complete the repository template by adding a "WHY" section that explains the motivation and summarizes the code changes (including the new skipFirstRun and requirePropertyHistory props, updates to isRelevant and processResults, and any version bumps), and include brief testing and compatibility notes.
✅ Passed checks (3 passed)
Check name Status Explanation
Title Check ✅ Passed The title clearly identifies the primary change — improvements to the HubSpot "New contact Property change" source — and aligns with the PR's modifications (new config options and behavior updates); including the issue number and [Source] label is slightly verbose but remains relevant and informative.
Linked Issues Check ✅ Passed The changes implement the two requested options from issue #18428: the PR adds skipFirstRun and requirePropertyHistory props to the HubSpot new-contact-property-change source and updates isRelevant and processResults to enforce their intended behavior, which satisfies the coding-related objectives described in the linked issue.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between af81188 and 7e14b5f.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (6)
  • components/cockpit/cockpit.app.mjs (1 hunks)
  • components/hubspot/package.json (1 hunks)
  • components/hubspot/sources/new-contact-property-change/new-contact-property-change.mjs (4 hunks)
  • components/kobotoolbox/kobotoolbox.app.mjs (1 hunks)
  • components/misp/misp.app.mjs (1 hunks)
  • components/signl4/signl4.app.mjs (1 hunks)
✅ Files skipped from review due to trivial changes (4)
  • components/signl4/signl4.app.mjs
  • components/misp/misp.app.mjs
  • components/cockpit/cockpit.app.mjs
  • components/kobotoolbox/kobotoolbox.app.mjs
🚧 Files skipped from review as they are similar to previous changes (2)
  • components/hubspot/sources/new-contact-property-change/new-contact-property-change.mjs
  • components/hubspot/package.json
⏰ 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). (4)
  • GitHub Check: pnpm publish
  • GitHub Check: Lint Code Base
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Verify TypeScript components

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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
Collaborator

@GTFalcao GTFalcao left a comment

Choose a reason for hiding this comment

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

Hey @choeqq thanks for the PR, great work! I think this will be a nice improvement to the component.

I've commented on a couple of settings on the props you added, but I'll move this to QA to speed things up.

Also, there have been some HubSpot issues running in parallel lately, so version numbers will likely conflict. Don't worry about it for now - let's resolve these when the PR is ready to be merged, to avoid having to do this more than once if other HubSpot issues are merged in that time.

@GTFalcao GTFalcao merged commit 31e4b0a into PipedreamHQ:master Sep 24, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
User submitted Submitted by a user
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] [SOURCE] - Enhance Hubspot New contact property change properties
4 participants