Skip to content
Snippets Groups Projects

Add Bulk Imports API to view user initiated imports

Merged George Koltsov requested to merge georgekoltsov/bulk-imports-migration-history into master

What does this MR do?

This MR adds new Group Migration (Bulk Import) API in order to allow changes to Group Migration feature (https://docs.gitlab.com/ee/user/group/import/) UI (#285577 (closed)) to show more details back to the user so they get a better understanding on the import progress.

4 GET endpoints for an authenticated user:

  • Bulk Import API to view all user initiated imports
  • Entities API to view all imports' entities. Each entity represent a group or a project (only groups are supported now, projects to be added later)
  • View individual import's information and entities
  • Entities include failures information (in order to show user more granular detail in the UI, why it failed)

Mentions #331568 (closed)

Migrations output

Up

== 20210629153519 AddIndexToBulkImportEntitiesOnBulkImportIdAndStatus: migrating 
-- transaction_open?()
   -> 0.0000s
-- index_exists?(:bulk_import_entities, [:bulk_import_id, :status], {:name=>"index_bulk_import_entities_on_bulk_import_id_and_status", :algorithm=>:concurrently})
   -> 0.0046s
-- execute("SET statement_timeout TO 0")
   -> 0.0006s
-- add_index(:bulk_import_entities, [:bulk_import_id, :status], {:name=>"index_bulk_import_entities_on_bulk_import_id_and_status", :algorithm=>:concurrently})
   -> 0.0081s
-- execute("RESET ALL")
   -> 0.0005s
-- transaction_open?()
   -> 0.0000s
-- indexes(:bulk_import_entities)
   -> 0.0025s
-- remove_index(:bulk_import_entities, {:algorithm=>:concurrently, :name=>"index_bulk_import_entities_on_bulk_import_id"})
   -> 0.0053s
== 20210629153519 AddIndexToBulkImportEntitiesOnBulkImportIdAndStatus: migrated (0.0240s) 

Down

== 20210629153519 AddIndexToBulkImportEntitiesOnBulkImportIdAndStatus: reverting 
-- transaction_open?()
   -> 0.0000s
-- indexes(:bulk_import_entities)
   -> 0.0034s
-- execute("SET statement_timeout TO 0")
   -> 0.0009s
-- remove_index(:bulk_import_entities, {:algorithm=>:concurrently, :name=>"index_bulk_import_entities_on_bulk_import_id_and_status"})
   -> 0.0041s
-- execute("RESET ALL")
   -> 0.0012s
-- transaction_open?()
   -> 0.0000s
-- index_exists?(:bulk_import_entities, :bulk_import_id, {:name=>"index_bulk_import_entities_on_bulk_import_id", :algorithm=>:concurrently})
   -> 0.0018s
-- add_index(:bulk_import_entities, :bulk_import_id, {:name=>"index_bulk_import_entities_on_bulk_import_id", :algorithm=>:concurrently})
   -> 0.0047s
== 20210629153519 AddIndexToBulkImportEntitiesOnBulkImportIdAndStatus: reverted (0.0188s) 

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by George Koltsov

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Kassio Borges removed review request for @kassio

    removed review request for @kassio

  • George Koltsov added 182 commits

    added 182 commits

    Compare with previous version

  • A deleted user added documentation label

    added documentation label

  • George Koltsov marked the checklist item I have included changelog trailers, or none are needed. (Does this MR need a changelog?) as completed

    marked the checklist item I have included changelog trailers, or none are needed. (Does this MR need a changelog?) as completed

  • George Koltsov marked the checklist item I have added/updated documentation, or it's not needed. (Is documentation required?) as completed

    marked the checklist item I have added/updated documentation, or it's not needed. (Is documentation required?) as completed

  • George Koltsov marked the checklist item I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) as completed

    marked the checklist item I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?) as completed

  • marked the checklist item I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?) as completed

  • George Koltsov marked the checklist item I have self-reviewed this MR per code review guidelines. as completed

    marked the checklist item I have self-reviewed this MR per code review guidelines. as completed

  • George Koltsov marked the checklist item This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) as completed

    marked the checklist item This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) as completed

  • George Koltsov marked the checklist item I have followed the style guides. as completed

    marked the checklist item I have followed the style guides. as completed

  • George Koltsov marked the checklist item This change is backwards compatible across updates, or this does not apply. as completed

    marked the checklist item This change is backwards compatible across updates, or this does not apply. as completed

  • George Koltsov marked the checklist item I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) as completed

    marked the checklist item I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) as completed

  • George Koltsov marked the checklist item I have tested this MR in all supported browsers, or it's not needed. as completed

    marked the checklist item I have tested this MR in all supported browsers, or it's not needed. as completed

  • George Koltsov marked the checklist item I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed. as completed

    marked the checklist item I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed. as completed

  • George Koltsov changed the description

    changed the description

  • George Koltsov requested review from @kassio

    requested review from @kassio

  • George Koltsov requested review from @ngaskill and @alexbuijs

    requested review from @ngaskill and @alexbuijs

  • George Koltsov marked this merge request as ready

    marked this merge request as ready

  • Nick Gaskill
  • Nick Gaskill
  • Nick Gaskill
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading