CI Minutes Provisioning - Create Admin trigger to sync CI Minutes
CI Minutes provisioning - Trigger Purchase syncs from CustomersDot to GitLab Minutes API
As part of the re-work for a new provisioning for CI Minutes between CustomersDot and GitLab, we need to be able to trigger a sync (or re-sync) of purchases.
This work consists of a few steps/issues:
-
Adding a params generator for syncing data (#2925 (closed)) -
Adding a job to handle the syncing for a given order (#2925 (closed)) -
Async updates between CustomersDot and GitLab on new purchases (#2925 (closed)) -
Update Admin UI with a component that can trigger a callback to GitLab to sync CI Minute Purchase Data 👈🏽 we are here
Requirements
- Add an admin panel action to trigger the sync of a Customer's CI minutes purchases
- Add a corresponding backend action to handle the queuing of the async job
Availability & Testing
In addition to any unit specs, we also should write integration tests between the the GitLab Minutes API and CustomersDot. These integration tests can use mock APIs.
Additionally, an end-to-end test would also be recommended for executing the flow of provisioning more CI minutes and being reflected in both CustomersDot and GitLab.
Additional notes
At the time of writing, Ci::Minutes::AddtionalPacks
are currently unused on GitLab, eventually they'll be used side-by-side with the existing minutes provisioning which will be implemented by grouppipeline execution (see https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/2926#note_697742320)
This means this feature will likely be misleading to users of the admin application if completed before the above.