Skip to content

Remove an Android app from self-service and setup experience #36859

@marko-lisica

Description

@marko-lisica

Goal

User story
As an IT admin that no longer wants to deploy an Android app,
I want to delete the app or remove it from setup experience and have that app be removed from self-service (Managed Google Play) + not get installed when a new Android host enrolls.

Roadmap item

None.

Original requests

Resources

None.

Changes

Product

  • UI changes: Figma link
  • CLI (fleetctl) usage changes: No changes
  • YAML changes: No changes
  • REST API changes: No changes
  • Fleet's agent (fleetd) changes: No changes
  • GitOps mode UI changes: No changes
  • GitOps generation changes: No changes
  • Activity changes: No changes
  • Permissions changes: No changes
  • Changes to paid features or tiers: Software features are Fleet Premium only
  • My device and fleetdm.com/better changes: No changes
  • Usage statistics: No changes
  • Other reference documentation changes: No changes
  • First draft of test plan added
  • Once shipped, requester has been notified
  • Once shipped, dogfooding issue has been filed

Engineering

  • Test plan is finalized
  • Contributor API changes: No changes
  • Feature guide changes:
  • Load testing: N/A
  • Load testing/osquery-perf improvements: N/A
  • This is a premium only feature: Yes

Implicit Requirements

  • Need to implement removePolicyApplications API call to Google Android Management API
  • Need to find affected Android hosts before deletion (to update their policies)
  • Need to handle async policy updates gracefully
  • Need tests for the new deletion flow

ℹ️  Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".

QA

Risk assessment

  • Requires testing in a hosted environment: TODO
  • Requires load testing: TODO
  • Risk level: Low / High TODO
  • Risk description: TODO

Test plan

Make sure to go through the list and consider all events that might be related to this story, so we catch edge cases earlier.

  • Add an Android app to a team (ex. GitHub)
  • Add this app to setup experience for that team
  • Enroll an Android host to that team and verify that the app is automatically installed after enrollment
  • Verify that the app is available in the Managed Google Play Store
  • Delete the app from Fleet
  • Verify that the app is NOT available in the Managed Google Play Store after it's deleted from a team.
  • Unenroll the host from Fleet
  • Re-enroll the host to the same team in Fleet and verify that the app is NOT automatically installed after enrollment
  • Verify that the app is NOT available in the Managed Google Play Store after re-enrollment.
  • Verify that when the Android app is deleted from Fleet, it is also uninstalled from hosts.
  • Verify that the copy is updated in the confirmation modal when the user tries to delete the Android app or any other app/package from the software title (see Figma).

Testing notes

Confirmation

  1. Engineer: Added comment to user story confirming successful completion of test plan.
  2. QA: Added comment to user story confirming successful completion of test plan.

Sub-issues

Metadata

Metadata

Assignees

Labels

#g-softwareSoftware product group:releaseReady to write code. Scheduled in a release. See "Making changes" in handbook.storyA user story defining an entire feature

Type

No type

Projects

Status

🥚 Ready

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions