Skip to content

CheckPoint: split automation modules#1962

Open
squioc wants to merge 3 commits intodevelopfrom
refactor/CheckpointAutomationModule
Open

CheckPoint: split automation modules#1962
squioc wants to merge 3 commits intodevelopfrom
refactor/CheckpointAutomationModule

Conversation

@squioc
Copy link
Collaborator

@squioc squioc commented Jan 29, 2026

  • Rename the existing automation module to Check Point Harmony
  • Create a new automation module for Check Point Quantum (network solutions)

Summary by Sourcery

Split the existing Check Point automation into distinct Harmony and Quantum modules and update metadata accordingly.

New Features:

  • Introduce a dedicated Check Point Quantum automation module with its own manifest and changelog.

Enhancements:

  • Retitle and retag the existing automation as Check Point Harmony, updating metadata such as descriptions, categories, slug, and versioning to reflect the new scope.

@squioc squioc requested review from a team, adavid-sekoia and Copilot January 29, 2026 14:50
@squioc squioc added the enhancement New feature or request label Jan 29, 2026
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Jan 29, 2026

Reviewer's Guide

Splits the original Check Point automation into two modules by renaming and retargeting the existing module as Check Point Harmony, and introducing a new, minimal Check Point Quantum module with its own manifest and changelog.

Class diagram for Check Point Harmony and Quantum automation modules

classDiagram
    class CheckPointHarmonyModule {
        +string client_id
        +string secret_key
        +string authentication_url
        +string base_url
        +string description
        +string name
        +string uuid
        +string slug
        +string version
        +string[] categories
    }

    class CheckPointQuantumModule {
        +string description
        +string name
        +string uuid
        +string slug
        +string version
        +string[] categories
        +object configuration
    }

    class HarmonyConfigurationSchema {
        +string client_id
        +string secret_key
        +string authentication_url
        +string base_url
        +string title
        +string type
        +string[] required
        +string[] secrets
    }

    class QuantumConfigurationSchema {
        +string title
        +string type
        +string[] required
    }

    CheckPointHarmonyModule --> HarmonyConfigurationSchema : uses
    CheckPointQuantumModule --> QuantumConfigurationSchema : uses
Loading

File-Level Changes

Change Details Files
Retarget the existing Check Point automation module specifically to Harmony and update its metadata accordingly.
  • Move the original manifest and changelog from the generic Checkpoint directory into a new CheckPointHarmony directory (preserving existing configuration schema).
  • Update manifest descriptions for client_id, secret_key, authentication_url, and base_url to explicitly reference the Check Point Harmony API.
  • Rename the module metadata: title updated to 'Check Point Harmony module Configuration', name to 'Check Point Harmony', slug to 'checkpoint-harmony'.
  • Bump the Harmony module version from 1.5.0 to 1.5.1 and adjust categories from a single 'Network' category to 'Endpoint' and 'Email'.
  • Add a 2026-01-29 / 1.5.1 changelog entry documenting the rename to Check Point Harmony.
CheckPointHarmony/manifest.json
CheckPointHarmony/CHANGELOG.md
Introduce a new Check Point Quantum automation module with its own manifest and changelog.
  • Create a new Quantum manifest with an empty configuration schema (no properties required).
  • Set Quantum module metadata including name 'Check Point Quantum', slug 'checkpoint-quantum', version '1.0.0', and description focused on network/security platform capabilities.
  • Classify the Quantum module under the 'Network' category.
  • Create a new Quantum changelog initialized with Keep a Changelog / SemVer boilerplate and a 2026-01-29 / 1.0.0 entry describing the new module creation.
CheckPointQuantum/manifest.json
CheckPointQuantum/CHANGELOG.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've found 1 issue, and left some high level feedback:

  • For the new Check Point Quantum module, consider defining any expected connection or configuration fields (e.g., URLs, credentials, or feature toggles) rather than leaving the configuration.properties empty so consumers know how to parameterize it from the start.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- For the new Check Point Quantum module, consider defining any expected connection or configuration fields (e.g., URLs, credentials, or feature toggles) rather than leaving the `configuration.properties` empty so consumers know how to parameterize it from the start.

## Individual Comments

### Comment 1
<location> `CheckPointQuantum/manifest.json:4-5` </location>
<code_context>
+{
+  "configuration": {
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "properties": {},
+    "required": [],
+    "title": "Check Point Quantum module Configuration",
+    "type": "object"
</code_context>

<issue_to_address>
**question (bug_risk):** Validate that an entirely empty configuration schema is intentional for Quantum.

The manifest currently defines no configuration fields (`properties` is empty and `required` is `[]`). If Quantum needs any module-specific settings (e.g., credentials, URLs, tenant IDs), they won’t be configurable via the standard flow. Please confirm that no module-specific configuration is needed; if it is, define the relevant properties and mark any mandatory ones as `required`.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Split the existing Check Point automation module into distinct Harmony and Quantum modules, and introduce the initial Harmony Mobile connector implementation and packaging.

Changes:

  • Renamed the existing module to Check Point Harmony (updated manifest metadata/version/categories).
  • Added a new Check Point Quantum module skeleton (manifest/logo/changelog).
  • Added the Harmony Mobile connector implementation, module entrypoint/Docker packaging, and an initial pytest suite.

Reviewed changes

Copilot reviewed 4 out of 24 changed files in this pull request and generated no comments.

Show a summary per file
File Description
CheckPointQuantum/manifest.json Adds metadata for the new Check Point Quantum module.
CheckPointQuantum/logo.png Adds the Quantum module logo asset.
CheckPointQuantum/CHANGELOG.md Adds initial changelog entry for the Quantum module.
CheckPointHarmony/trigger_checkpoint_harmony_mobile_events.json Adds trigger manifest for Harmony Mobile event collection.
CheckPointHarmony/tests/test_token_refresher.py Adds unit tests for token refresher behavior and caching/expiration.
CheckPointHarmony/tests/test_http_client.py Adds unit tests for Harmony Mobile HTTP client behavior (pagination, parsing).
CheckPointHarmony/tests/test_checkpoint_harmony_mobile_connector.py Adds unit tests for the Harmony Mobile connector fetch/forward workflow.
CheckPointHarmony/tests/conftest.py Adds pytest fixtures used across Harmony tests.
CheckPointHarmony/tests/init.py Initializes Harmony tests package.
CheckPointHarmony/pyproject.toml Adds Poetry config/dependencies and pytest/coverage settings for Harmony module.
CheckPointHarmony/manifest.json Renames module to Check Point Harmony and updates slug/version/categories.
CheckPointHarmony/main.py Adds Harmony module entrypoint registering the Harmony Mobile connector.
CheckPointHarmony/logo.png Adds/updates Harmony module logo asset.
CheckPointHarmony/connectors/timestepper.py Adds time window stepping helper for batched event collection.
CheckPointHarmony/connectors/metrics.py Adds Prometheus metrics used by the connector.
CheckPointHarmony/connectors/client/token_refresher.py Adds token refresher implementation for Check Point auth tokens.
CheckPointHarmony/connectors/client/http_client.py Adds async HTTP client for fetching Harmony Mobile alerts.
CheckPointHarmony/connectors/client/init.py Initializes client subpackage.
CheckPointHarmony/connectors/checkpoint_harmony_mobile.py Adds Harmony Mobile connector implementation.
CheckPointHarmony/connectors/init.py Adds module configuration model and module class for Harmony package.
CheckPointHarmony/connector_checkpoint_harmony_mobile_events.json Adds connector manifest for Harmony Mobile event collection.
CheckPointHarmony/Dockerfile Adds container build definition for the Harmony module.
CheckPointHarmony/CHANGELOG.md Adds changelog entry for the Harmony rename/version bump.

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants