Skip to content

Conversation

@siddharths1-metron
Copy link
Contributor

@siddharths1-metron siddharths1-metron commented Jan 16, 2026

Refactor parameter names in DoppelVision actions for consistency with definiton.yaml

Description

What problem does this PR solve?
The Doppel integration is not able to fetch API key and other credentials due to mismatch in parameter names.

How does this PR solve the problem?
We have modified to parameter values to be consistent with definition.yaml file.


Checklist:

Please ensure you have completed the following items before submitting your PR.
This helps us review your contribution faster and more efficiently.

General Checks:

  • I have read and followed the project's contributing.md guide.
  • My code follows the project's coding style guidelines.
  • I have performed a self-review of my own code.
  • My changes do not introduce any new warnings.
  • My changes pass all existing tests.
  • I have added new tests where appropriate to cover my changes. (If applicable)
  • I have updated the documentation where necessary (e.g., README, API docs). (If applicable)

Open-Source Specific Checks:

  • My changes do not introduce any Personally Identifiable Information (PII) or sensitive customer data.
  • My changes do not expose any internal-only code examples, configurations, or URLs.
  • All code examples, comments, and messages are generic and suitable for a public repository.
  • I understand that any internal context or sensitive details related to this work are handled separately in internal systems (Buganizer for Google team members).

For Google Team Members and Reviewers Only:

  • I have included the Buganizer ID in the PR title or description (e.g., "Internal Buganizer ID: 123456789" or "Related Buganizer: go/buganizer/123456789").
  • I have ensured that all internal discussions and PII related to this work remain in Buganizer.
  • I have tagged the PR with one or more labels that reflect the pull request purpose.

Screenshots (If Applicable)

If your changes involve UI or visual elements, please include screenshots or GIFs here.
Ensure any sensitive data is redacted or generalized.


Further Comments / Questions

Any additional comments, questions, or areas where you'd like specific feedback.

@siddharths1-metron siddharths1-metron requested a review from a team as a code owner January 16, 2026 10:32
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @siddharths1-metron, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on enhancing the maintainability and clarity of the DoppelVision integration by standardizing parameter names within its various actions. The changes involve a straightforward refactoring of configuration parameter names, replacing underscore-separated names with space-separated ones. This ensures a more consistent naming convention across the integration, making the code easier to read and understand for future development and maintenance.

Highlights

  • Parameter Naming Consistency: Refactored parameter names across multiple DoppelVision actions to improve consistency and readability.
  • API Key Parameter: The parameter name 'API_Key' has been updated to 'API Key'.
  • User API Key Parameter: The parameter name 'User_API_Key' has been updated to 'User API Key'.
  • Organization Code Parameter: The parameter name 'Organization_Code' has been updated to 'Organization Code'.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors parameter names for consistency, which is a good improvement. The changes correctly align the parameter names in the action scripts with the definition.yaml.

However, my review identified several critical issues and style guide violations across the modified files that should be addressed:

  • Critical Security Vulnerability: In Ping.py, the API key is logged in plain text, which is a severe security risk and violates the repository's style guide.
  • Bugs: The Ping.py action incorrectly uses string values "true" and "false" for the result status, where booleans are expected.
  • Style Guide Violations:
    • None of the main functions in the modified action files have type annotations or docstrings, which are mandatory.
    • Actions that produce JSON results are missing the required _json_example.json files in a resources/ directory.
    • The integration uses the synchronous requests library for network calls, while the style guide recommends asynchronous libraries like httpx or aiohttp for better performance in I/O-bound operations.
    • Unit test coverage appears minimal, while the style guide requires comprehensive tests for integrations in this part of the repository.
  • Inconsistency: Some parameter names in GetAlert.py and UpdateAlert.py still use snake_case, which is inconsistent with the goal of this PR.

I've added detailed comments in each file. Please address the critical security issue and the bug in Ping.py with the highest priority.

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

A critical security vulnerability exists on line 30 where the api_key is logged. This exposes sensitive credentials in logs and must be removed immediately. This violates the repository style guide rule against logging PII or secrets (lines 60-61).

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

high

The siemplify.end() calls on lines 33, 44, and 46 incorrectly use string literals ("true"/"false") for the result_value. This parameter expects a boolean (True/False). For example, line 42 should be siemplify.end("Connection successful", True).

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This file has a few style guide violations that should be addressed:

  1. Missing Type Hints & Docstring: The main function lacks required type annotations and a Google-style docstring (Style Guide lines 80, 90).
  2. Missing JSON Example: This action uses siemplify.result.add_result_json() (line 43), which requires a corresponding CreateAbuseAlert_json_example.json file in the resources/ directory (Style Guide lines 155-158).
  3. Generic Exception: The except Exception block on line 47 should ideally catch a more specific exception type, such as requests.RequestException if that's what the manager layer can raise.
References
  1. All function parameters and return types must be annotated. (Line 80) (link)
  2. Use """Docstring""" for all modules, classes, and functions. (Line 90) (link)
  3. If a JSON result is detected, a corresponding JSON example file must exist in the integration's resources/ directory. (Lines 155-158) (link)

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This file has a few style guide violations that should be addressed:

  1. Missing Type Hints & Docstring: The main function lacks required type annotations and a Google-style docstring (Style Guide lines 80, 90).
  2. Missing JSON Example: This action uses siemplify.result.add_result_json() (line 42), which requires a corresponding CreateAlert_json_example.json file in the resources/ directory (Style Guide lines 155-158).
  3. Generic Exception: The except Exception block on line 47 should ideally catch a more specific exception type.
References
  1. All function parameters and return types must be annotated. (Line 80) (link)
  2. Use """Docstring""" for all modules, classes, and functions. (Line 90) (link)
  3. If a JSON result is detected, a corresponding JSON example file must exist in the integration's resources/ directory. (Lines 155-158) (link)

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This file has several issues that should be addressed:

  1. Inconsistent Parameter Name: For consistency with this PR's changes, the param_name Alert_ID on line 29 should be updated to Alert ID.
  2. Missing Type Hints & Docstring: The main function lacks required type annotations and a Google-style docstring (Style Guide lines 80, 90).
  3. Missing JSON Example: The action uses siemplify.result.add_result_json() (line 51), which requires a corresponding GetAlert_json_example.json file in the resources/ directory (Style Guide lines 155-158).
  4. Generic Exception: The except Exception on line 56 is too broad and should be more specific.
References
  1. All function parameters and return types must be annotated. (Line 80) (link)
  2. Use """Docstring""" for all modules, classes, and functions. (Line 90) (link)
  3. If a JSON result is detected, a corresponding JSON example file must exist in the integration's resources/ directory. (Lines 155-158) (link)

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This file has a few style guide violations that should be addressed:

  1. Missing Type Hints & Docstring: The main function lacks required type annotations and a Google-style docstring (Style Guide lines 80, 90).
  2. Missing JSON Example: This action uses siemplify.result.add_result_json() (line 95), which requires a corresponding GetAlerts_json_example.json file in the resources/ directory (Style Guide lines 155-158).
  3. Generic Exception: The except Exception block on line 101 should ideally catch a more specific exception type.
References
  1. All function parameters and return types must be annotated. (Line 80) (link)
  2. Use """Docstring""" for all modules, classes, and functions. (Line 90) (link)
  3. If a JSON result is detected, a corresponding JSON example file must exist in the integration's resources/ directory. (Lines 155-158) (link)

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The main function is missing required type annotations and a Google-style docstring, as per the repository style guide (lines 80, 90).

References
  1. All function parameters and return types must be annotated. (Line 80) (link)
  2. Use """Docstring""" for all modules, classes, and functions. (Line 90) (link)

api_key = siemplify.extract_configuration_param(
provider_name="DoppelVision",
param_name="API_Key",
param_name="API Key",
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This file has several areas for improvement to align with the project's standards:

  1. Inconsistent Parameter Names: param_names for Alert_ID (line 29), Queue_State (line 31), and Entity_State (line 35) still use snake_case. For consistency with this PR, they should be updated to use spaces (e.g., Alert ID).
  2. Missing Type Hints & Docstring: The main function lacks required type annotations and a Google-style docstring (Style Guide lines 80, 90).
  3. Missing JSON Example: The action uses siemplify.result.add_result_json() (line 64), which requires a corresponding UpdateAlert_json_example.json file in the resources/ directory (Style Guide lines 155-158).
  4. Generic Exception: The except Exception on line 69 is too broad. It's better to catch more specific exceptions, like requests.RequestException from the manager.
References
  1. All function parameters and return types must be annotated. (Line 80) (link)
  2. Use """Docstring""" for all modules, classes, and functions. (Line 90) (link)
  3. If a JSON result is detected, a corresponding JSON example file must exist in the integration's resources/ directory. (Lines 155-158) (link)

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.

1 participant