# Model relationships to be included in the project import/export # # This list _must_ only contain relationships that are available to both CE and # EE. EE specific relationships must be defined in the `ee` section further # down below. tree: project: - labels: - :priorities - milestones: - events: - :push_event_payload - issues: - events: - :push_event_payload - :timelogs - notes: - :author - :award_emoji - :system_note_metadata - events: - :push_event_payload - label_links: - label: - :priorities - milestone: - events: - :push_event_payload - resource_label_events: - label: - :priorities - designs: - notes: - :author - events: - :push_event_payload - design_versions: - actions: - :design # Duplicate export of issues.designs in order to link the record to both Issue and Action - :issue_assignees - :zoom_meetings - :sentry_issue - :award_emoji - snippets: - :award_emoji - notes: - :author - :award_emoji - releases: - :links - project_members: - :user - merge_requests: - :metrics - :award_emoji - notes: - :author - :award_emoji - :system_note_metadata - events: - :push_event_payload - :suggestions - merge_request_diff: - merge_request_diff_commits: - :commit_author - :committer - :merge_request_diff_files - events: - :push_event_payload - :timelogs - label_links: - label: - :priorities - milestone: - events: - :push_event_payload - resource_label_events: - label: - :priorities - :external_pull_requests - ci_pipelines: - notes: - :author - events: - :push_event_payload - stages: - :statuses - :external_pull_request - :merge_request - :auto_devops - :triggers - :pipeline_schedules - :container_expiration_policy - protected_branches: - :merge_access_levels - :push_access_levels - protected_tags: - :create_access_levels - :project_feature - :custom_attributes - :prometheus_metrics - :project_badges - :ci_cd_settings - :error_tracking_setting - :metrics_setting - boards: - lists: - label: - :priorities group_members: - :user # Only include the following attributes for the models specified. included_attributes: user: - :id - :email - :username author: - :name ci_cd_settings: - :group_runners_enabled # Do not include the following attributes for the models specified. excluded_attributes: project: - :name - :path - :namespace_id - :creator_id - :pool_repository_id - :import_url - :import_status - :avatar - :import_type - :import_source - :integrations - :mirror - :runners_token - :runners_token_encrypted - :repository_storage - :repository_read_only - :lfs_enabled - :created_at - :updated_at - :id - :star_count - :last_activity_at - :last_repository_updated_at - :last_repository_check_at - :storage_version - :remote_mirror_available_overridden - :description_html - :repository_languages - :bfg_object_map - :detected_repository_languages - :tag_list - :topic_list - :mirror_user_id - :mirror_trigger_builds - :only_mirror_protected_branches - :pull_mirror_available_overridden - :pull_mirror_branch_prefix - :mirror_overwrites_diverged_branches - :packages_enabled - :mirror_last_update_at - :mirror_last_successful_update_at - :emails_disabled - :max_pages_size - :max_artifacts_size - :marked_for_deletion_at - :marked_for_deletion_by_user_id - :compliance_framework_setting - :show_default_award_emojis - :services - :exported_protected_branches namespaces: - :runners_token - :runners_token_encrypted project_import_state: - :last_error - :jid - :last_update_at - :last_successful_update_at prometheus_metrics: - :common - :identifier snippets: - :expired_at - :secret - :encrypted_secret_token - :encrypted_secret_token_iv - :repository_read_only merge_request_diff: - :external_diff - :stored_externally - :external_diff_store - :merge_request_id - :verification_retry_at - :verified_at - :verification_retry_count - :verification_checksum - :verification_failure merge_request_diff_commits: - :merge_request_diff_id - :commit_author_id - :committer_id merge_request_diff_commit_user: - :id merge_request_diff_detail: - :merge_request_diff_id - :verification_retry_at - :verified_at - :verification_retry_count - :verification_checksum - :verification_failure merge_request_diff_files: - :diff - :external_diff_offset - :external_diff_size - :merge_request_diff_id issues: - :milestone_id - :sprint_id - :moved_to_id - :sent_notifications - :state_id - :duplicated_to_id - :promoted_to_epic_id - :blocking_issues_count - :service_desk_reply_to - :upvotes_count - :work_item_type_id merge_request: - :milestone_id - :sprint_id - :ref_fetched - :merge_jid - :rebase_jid - :latest_merge_request_diff_id - :head_pipeline_id - :state_id merge_requests: - :milestone_id - :sprint_id - :ref_fetched - :merge_jid - :rebase_jid - :latest_merge_request_diff_id - :head_pipeline_id - :state_id award_emoji: - :awardable_id statuses: - :trace - :token - :token_encrypted - :when - :artifacts_file - :artifacts_metadata - :artifacts_file_store - :artifacts_metadata_store - :artifacts_size - :commands - :runner_id - :trigger_request_id - :erased_by_id - :auto_canceled_by_id - :stage_id - :upstream_pipeline_id - :resource_group_id - :waiting_for_resource_at - :processed - :id_convert_to_bigint - :stage_id_convert_to_bigint sentry_issue: - :issue_id push_event_payload: - :event_id - :event_id_convert_to_bigint project_badges: - :group_id resource_label_events: - :reference - :reference_html - :epic_id - :issue_id - :merge_request_id - :label_id runners: - :token - :token_encrypted error_tracking_setting: - :encrypted_token - :encrypted_token_iv - :enabled - :integrated service_desk_setting: - :outgoing_name priorities: - :label_id events: - :target_id - :id_convert_to_bigint timelogs: - :issue_id - :merge_request_id - :note_id notes: - :noteable_id - :review_id label_links: - :label_id - :target_id issue_assignees: - :issue_id zoom_meetings: - :issue_id design: - :issue_id designs: - :issue_id design_versions: - :issue_id actions: - :design_id - :version_id - image_v432x230 links: - :release_id project_members: - :source_id - :invite_email_success metrics: - :merge_request_id - :pipeline_id suggestions: - :note_id ci_pipelines: - :auto_canceled_by_id - :pipeline_schedule_id - :merge_request_id - :external_pull_request_id - :ci_ref_id - :locked stages: - :pipeline_id merge_access_levels: - :protected_branch_id push_access_levels: - :protected_branch_id - :deploy_key_id unprotect_access_levels: - :protected_branch_id create_access_levels: - :protected_tag_id deploy_access_levels: - :protected_environment_id boards: - :milestone_id - :iteration_id lists: - :board_id - :label_id - :milestone_id - :iteration_id epic: - :start_date_sourcing_milestone_id - :due_date_sourcing_milestone_id - :parent_id - :state_id - :start_date_sourcing_epic_id - :due_date_sourcing_epic_id epic_issue: - :epic_id - :issue_id system_note_metadata: - :description_version_id - :note_id methods: notes: - :type labels: - :type label: - :type statuses: - :type merge_request_diff_files: - :utf8_diff merge_requests: - :diff_head_sha - :source_branch_sha - :target_branch_sha - :state events: - :action push_event_payload: - :action project_badges: - :type lists: - :list_type ci_pipelines: - :notes issues: - :state preloads: issues: project: :route statuses: # TODO: We cannot preload tags, as they are not part of `GenericCommitStatus` # tags: # needed by tag_list project: # deprecated: needed by coverage_regex of Ci::Build merge_requests: source_project: # needed by source_branch_sha and diff_head_sha target_project: # needed by target_branch_sha assignees: # needed by assigne_id that is implemented by DeprecatedAssignee # Specify a custom export reordering for a given relationship # For example for issues we use a custom export reordering by relative_position, so that on import, we can reset the # relative position value, but still keep the issues order to the order in which issues were in the exported project. # By default the ordering of relations is done by PK. # column - specify the column by which to reorder, by default it is relation's PK # direction - specify the ordering direction :asc or :desc, default :asc # nulls_position - specify where would null values be positioned. Because custom ordering column can contain nulls we # need to also specify where would the nulls be placed. It can be :nulls_last or :nulls_first, defaults # to :nulls_last # Example: # export_reorders: # project: # issues: # column: :relative_position # direction: :asc # nulls_position: :nulls_last export_reorders: project: issues: column: :relative_position direction: :asc nulls_position: :nulls_last # EE specific relationships and settings to include. All of this will be merged # into the previous structures if EE is used. ee: tree: project: - issues: - epic_issue: - :epic - :issuable_sla - protected_branches: - :unprotect_access_levels - protected_environments: - :deploy_access_levels - :service_desk_setting - :security_setting - :push_rule included_attributes: issuable_sla: - :issue - :due_at push_rule: - :force_push_regex - :delete_branch_regex - :commit_message_regex - :author_email_regex - :file_name_regex - :branch_name_regex - :commit_message_negative_regex - :max_file_size - :deny_delete_tag - :member_check - :is_sample - :prevent_secrets - :reject_unsigned_commits - :commit_committer_check - :regexp_uses_re2