Include project created_at attribute in file exports for offline transfer

Summary

In direct transfer, projects are inported in two steps

  1. The base portable is created in BulkImports::Projects::Pipelines::ProjectPipeline. This pipeline makes GraphQL queries to the source destination, which won't be possible in offline transfer.
  2. Attributes for the newly created portable are updated in BulkImports::Projects::Pipelines::ProjectAttributesPipeline from self relation files.

created_at is fetched in ProjectPipeline and not currently present in the self relation file, so it must be included in that file in order to import the source created date in offline transfer.

Proposed implementation

Add created_at to project/import_export.yml.

Effects on other importers

  • File-based project import/export would now preserve the source project's created date. We probably want this, but it should be confirmed and communicated as a change to file-based imports
  • Projects created from templates would preserve the template project's created date. This is not desired template behavior so implementation should ensure project template exports are unaffected
  • Direct transfer should be unaffected since a project's created_at written to an export file should be the same as what direct transfer fetches from the API
Edited Mar 03, 2026 by Sam Word
Assignee Loading
Time tracking Loading