Skip to content

Conversation

RajatPawar
Copy link
Contributor

@RajatPawar RajatPawar commented Oct 1, 2025

Description

When a builder removes read objects from an integration YAML, we now show a confirmation prompt before deploying. This gives them a heads-up that any active read schedules for those objects will be stopped.

What it looks like:

  You are removing the following read object(s) from integration 'readSalesforce': contacts, leads
  Any active read schedules for these objects will be stopped.
  This integration has 12 installation(s).
  Installations: Acme Corp (acme-corp), FooBar Inc (foo-bar) and 10 more
  Do you still want to deploy a new revision of this integration? [y/N]

The above prompt will repeat for each integration that they are removing read objects for.

Changes

  • Compares new manifest with existing revision to detect removed objects
  • Lists up to 5 sample installations so builders know which customers might be affected
  • Cancels deployment if they say no
  • Server handles the actual schedule stopping

Testing

Screenshot 2025-10-01 at 4 44 15 PM Screenshot 2025-10-01 at 4 08 59 PM Screenshot 2025-10-01 at 4 06 31 PM Screenshot 2025-10-01 at 4 06 06 PM

@Copilot Copilot AI review requested due to automatic review settings October 1, 2025 23:17
Copy link
Contributor

@Copilot 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

This PR adds confirmation prompts when deploying integrations that have removed read objects from their YAML configuration, warning users that active read schedules for those objects will be stopped.

Key changes:

  • Added functionality to detect removed read objects by comparing old and new integration manifests
  • Implemented user confirmation prompts that display affected installations
  • Enhanced the deploy command to check for removed objects before proceeding with deployment

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
files/zip.go Added ReadManifestFile function to extract manifest content from zip sources
files/manifest.go Added GetRemovedReadObjects function to compare old and new integrations for removed read objects
files/manifest_test.go Added comprehensive test coverage for the GetRemovedReadObjects function
cmd/deploy.go Enhanced deploy command with confirmation logic and user prompting for removed read objects

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@RajatPawar RajatPawar requested a review from laurenzlong October 1, 2025 23:20
Copy link
Contributor

@laurenzlong laurenzlong left a comment

Choose a reason for hiding this comment

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

Can you please modify the output to look like the following? (note the additional empty lines)

  You are removing the following read action object(s) from integration 'readSalesforce': contacts, leads.
  Any active scheduled reads for these objects will be stopped.
  
  This integration has 12 installation(s).
   - Acme Corp (acme-corp)
   - FooBar Inc (foo-bar)
   - and 10 more
   
  Do you still want to deploy a new revision of this integration? [y/N]

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.

2 participants