Skip to content

Conversation

@mujacica
Copy link
Contributor

This PR adds the boilerplate and infrastructure for Perforce/Helix Core integration:

  • Type definitions: Added PERFORCE to ExternalProviders and IntegrationProviderSlug
  • Model updates: Added Perforce to external actor provider choices
  • Integration registration: Registered PerforceIntegrationProvider
  • Feature flag: Added organizations:integrations-perforce
  • Dependencies: Added p4python package
  • Stub implementations: Created empty Perforce integration, client, and repository classes with all method signatures

All methods are stubbed out with proper type hints and docstrings. Implementation will be added in a follow-up PR.

@codecov
Copy link

codecov bot commented Nov 13, 2025

Codecov Report

❌ Patch coverage is 72.22222% with 40 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/sentry/integrations/perforce/integration.py 71.01% 20 Missing ⚠️
src/sentry/integrations/perforce/client.py 63.15% 14 Missing ⚠️
src/sentry/integrations/perforce/repository.py 76.92% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           master   #103287      +/-   ##
===========================================
+ Coverage   80.39%    80.58%   +0.18%     
===========================================
  Files        9261      9265       +4     
  Lines      395395    395539     +144     
  Branches    25207     25207              
===========================================
+ Hits       317888    318744     +856     
+ Misses      77077     76365     -712     
  Partials      430       430              

Copy link

@billfreist billfreist left a comment

Choose a reason for hiding this comment

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

Please handle Perforce SSL protocol connections, otherwise the connection will be plain text over public internet

Copy link
Contributor

@Christinarlong Christinarlong left a comment

Choose a reason for hiding this comment

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

Looks good to me, though did you mean to add a feature flag in this PR ?

@Christinarlong Christinarlong requested a review from a team November 17, 2025 19:54
@mujacica
Copy link
Contributor Author

@Christinarlong yes, I think to start with we should have a feature flag behind this. Any examples on how to do that for an integration?

mujacica and others added 7 commits November 19, 2025 13:20
This PR adds the boilerplate and infrastructure for Perforce/Helix Core integration:

- Type definitions: Added PERFORCE to ExternalProviders and IntegrationProviderSlug
- Model updates: Added Perforce to external actor provider choices
- Integration registration: Registered PerforceIntegrationProvider
- Feature flag: Added organizations:integrations-perforce
- Dependencies: Added p4python package
- Stub implementations: Created empty Perforce integration, client, and repository classes with all method signatures

All methods are stubbed out with proper type hints and docstrings. Implementation will be added in a follow-up PR.
@mujacica mujacica force-pushed the feat/perforce-integration branch from a31dd31 to 62533f9 Compare November 19, 2025 12:20
Copy link
Member

@GabeVillalobos GabeVillalobos left a comment

Choose a reason for hiding this comment

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

Only blocking this for the security question on the p4python lib. Everything else seems reasonable.

@mujacica mujacica merged commit 6469ade into master Nov 24, 2025
67 of 68 checks passed
@mujacica mujacica deleted the feat/perforce-integration branch November 24, 2025 10:13
@github-actions github-actions bot locked and limited conversation to collaborators Dec 9, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants