Skip to content

Gitsync: 1p Update#517

Closed
gnishant-gupta wants to merge 120 commits intomainfrom
gitsync_1p_update
Closed

Gitsync: 1p Update#517
gnishant-gupta wants to merge 120 commits intomainfrom
gitsync_1p_update

Conversation

@gnishant-gupta
Copy link
Copy Markdown
Contributor

@gnishant-gupta gnishant-gupta commented Jan 28, 2026

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.

@gnishant-gupta gnishant-gupta self-assigned this Jan 28, 2026
@gnishant-gupta gnishant-gupta requested review from a team as code owners January 28, 2026 14:35
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @gnishant-gupta, 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 introduces a significant architectural update to the GitSync power-up, primarily focusing on migrating its API interactions to a new first-party (1P) API structure. This migration involves centralizing API calls through a refactored SiemplifyApiClient that now acts as a wrapper around a new TIPCommon.rest.soar_api module. The changes also include the adoption of new data models for various SOAR entities like integration instances, environments, and case-related configurations, ensuring more robust and consistent data handling. Additionally, the Git push error handling mechanism has been streamlined, and dependencies have been updated.

Highlights

  • 1P API Migration: The GitSync power-up has undergone an extensive refactoring to align with a new first-party (1P) API structure, leveraging the TIPCommon.rest.soar_api module for standardized interactions with the SOAR platform.
  • API Client Centralization: The SiemplifyApiClient.py has been largely rewritten to act as a wrapper around the new TIPCommon.rest.soar_api functions, centralizing API call logic and improving maintainability.
  • Data Model Adoption: New data models from TIPCommon are now utilized for various SOAR entities, including integration instances, environments, simulated cases, and case-related configurations, enhancing type safety and data consistency across the application.
  • Streamlined Git Push Error Handling: Custom Git push failure indicators and their associated error handling logic have been removed from GitManager.py, simplifying the push method to rely on the underlying porcelain library's default exception handling.
  • Version and Dependency Updates: The GitSync power-up version has been updated to 44.0, and several dependencies, including integration-testing and tipcommon, have been bumped to their latest versions.

🧠 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.

@gnishant-gupta gnishant-gupta changed the title TIPCommon update: Gitsync Gitsync: 1p Update Jan 28, 2026
Copy link
Copy Markdown
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 is a significant and valuable refactoring that migrates the GitSync power-up to use the TIPCommon library and aligns it with the 1P API model. The changes improve code structure, readability, and maintainability by centralizing API logic and using data models instead of raw dictionaries. The code is now more robust and defensive in many places. I've identified a couple of potential regressions in the PullContent.py job where the logic for updating existing items (Dynamic Parameters and Case Close Reasons) has changed, which might lead to incorrect behavior. Once these are addressed, this will be a solid update.

@github-actions
Copy link
Copy Markdown

Marketplace Validation Failed

Click to view the full report

Validation Report

🧩 Integrations
Pre-Build Stage

cyjax_threat_intelligence

Validation Name Details
⚠️ Uv Lock Error happened while executing a command: uv lock --check: Using CPython 3.11.15 interpreter at: /opt/hostedtoolcache/Python/3.11.15/x64/bin/python error: Failed to generate package metadata for integration-testing==2.3.2 @ path+../../../../../packages/integration_testing_whls/integration_testing-2.3.2-py3-none-any.whl Caused by: Failed to read from the distribution cache Caused by: failed to query metadata of file /home/runner/work/content-hub/content-hub/packages/integration_testing_whls/integration_testing-2.3.2-py3-none-any.whl: No such file or directory (os error 2)

1 similar comment
@github-actions
Copy link
Copy Markdown

Marketplace Validation Failed

Click to view the full report

Validation Report

🧩 Integrations
Pre-Build Stage

cyjax_threat_intelligence

Validation Name Details
⚠️ Uv Lock Error happened while executing a command: uv lock --check: Using CPython 3.11.15 interpreter at: /opt/hostedtoolcache/Python/3.11.15/x64/bin/python error: Failed to generate package metadata for integration-testing==2.3.2 @ path+../../../../../packages/integration_testing_whls/integration_testing-2.3.2-py3-none-any.whl Caused by: Failed to read from the distribution cache Caused by: failed to query metadata of file /home/runner/work/content-hub/content-hub/packages/integration_testing_whls/integration_testing-2.3.2-py3-none-any.whl: No such file or directory (os error 2)

@gnishant-gupta
Copy link
Copy Markdown
Contributor Author

duplicate

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.