GitHub - Track imports via UI versus API
To improve imports observability, we could add an import_origin column to the projects table, and start recording whether an import is initiated via ui or api. This in combination with the existing import_type column could be useful for metrics. ### Options 1. Adding columns to the db table OR 2. Using internal events https://docs.gitlab.com/development/internal_analytics/internal_event_instrumentation/ NOTE: Unfortunately we won't be able to add to the projects table, so option 2 might be better. ### Tasks (if implementing Option 1) Database migration: * Add import_origin column to projects table * Type: string (nullable, no default) * Expected values: 'ui', 'api', NULL (for existing/unknown) app/services/import/github_service.rb * Modify execute method to accept origin parameter * Pass origin through to project creation lib/gitlab/legacy_github_import/project_creator.rb * Accept origin parameter and set it on the project app/controllers/import/github_controller.rb * Update create action to pass origin: 'ui' to Import::GithubService * (Gitea inherits this automatically? Verify this) lib/api/import_github.rb * Update post 'import/github' to pass origin: 'api' to Import::GithubService specs * Update Import::GithubService specs to verify origin is set * Update controller specs to verify origin: 'ui' is passed * Update API specs to verify origin: 'api' is passed ### **Follow ups** * Direct transfer / bulk imports * other importers <!--template sourced from https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Default.md-->
issue