Surface project import error in UI
Problem to solve
When GitLab projects are imported into GitLab (via the project importer), the import worker will give up as soon as it hits an error. Currently, the import process will stop and redirect the user to the project page with no warning or error messages.
Intended users
Product Manager, Development Team Lead, Software Developer
Further details
Users often write into Support with questions on why a project imported but is missing various items.
Example resulting issues (with some Support tickets linked in comments):
- https://gitlab.com/gitlab-org/gitlab-ce/issues/62250
- https://gitlab.com/gitlab-org/gitlab-ce/issues/65880
- https://gitlab.com/gitlab-org/gitlab-ce/issues/61934
- https://gitlab.com/gitlab-org/gitlab-ce/issues/66127
Proposal
Surface the error message that is present in json.message
log entry. The error may not always make sense to the user, but they can see if it's consistent, file an issue/ticket with the error message, and understand that the import did not succeed.
Feel free to edit the wording to match the style of our other error messages. Perhaps something like:
(JSON message, which already includes error wording). Resulting project is a partial import.
For example:
RuntimeError: Error importing repository into project/path - Failed to set releases: Validation failed: Name can't be blank. Resulting project is a partial import.
Alternatively, use the Project.import_state.last_error
What does success look like, and how can we measure that?
Users at least understand that an error occurred while importing, so the result is a partial import.