Before you begin: scope and permissions
- Verify a role permitted to export the project, normally Maintainer or Owner, and instance export controls.
- Record the GitLab release and deployment type; exported entities vary with version and project configuration.
- Approve the intended scope and use with the business owner; export access alone does not establish licensing rights.
- Use an approved encrypted working environment with restricted access and a retention deadline.
Identify code and collaboration evidence
GitLab combines repositories, issues, merge requests, discussions and CI-related records. A source-code snapshot is useful for code review, but a workflow dataset may need the reasoning around a change and its observed outcome. Define approved projects and entity types before starting an export that may contain sensitive development history.
Export a project through its settings
In the project’s Settings → General, expand Advanced and use Export project, then download the prepared archive when available. Check the current project export instructions and role requirements for the actual instance.
GitLab documents file exports across its tiers but warns against treating them as complete backups. The archive preserves many project entities, while exclusions include CI/CD job traces and artifacts, registry images, variables and some links. Consult the export definition for the exact release instead of assuming all installations produce identical archives.
Separate repository collection and API metadata
If code history alone is needed, an approved Git mirror is a different scope from project export. For additional issue or merge-request records, design a version-appropriate API collector and verify permissions and pagination for each entity. This guide does not claim a generic repository clone includes all discussions or pipeline evidence.
Keep a collection matrix covering repository data, LFS, issues, comments, merge requests and required outcome artifacts. Record what was requested, what was received and what is deliberately excluded. Validate a project with known discussions and relationships before collecting a whole group.
Preserve identity and version context
Store instance and project identity with internal issue and merge-request numbers. Keep commit SHAs, base/head references, authorship roles, discussion threads and timestamps actually exported. Preserve merge-request status separately from test evidence: a merged change is not necessarily a verified successful repair.
A synthetic example links issue project-a#9 to merge request project-a!12 and a fixing commit. If pipeline logs are outside the archive, the dataset should say test evidence is unavailable. Do not label the patch “tests passed” based on the fact that it was merged. Inspect any missing issue-link relationships before joining by text mentions.
Prepare code and discussions safely
Classify generated and vendored code before measuring corpus size. Deduplicate copied files and fork families without erasing their source attribution. Preserve code license evidence and separate raw repository history from reviewed release content.
Scan historical commits, examples and comments for secrets. A current branch without credentials does not prove that the archive is safe. Keep issue attachments and customer logs under separate review, and record failed or unauthorized asset retrieval rather than silently dropping dependencies.
Review rights and troubleshoot gaps
GitLab administration cannot establish rights over dependencies, contractor work or customer-supplied code. Public or private hosting status is not a legal conclusion. Document contributor agreements, third-party licenses and confidentiality limits for the proposed use before any external sample is transferred.
Why are build artifacts absent? They are among documented export exclusions; plan a separate authorized collection only if the task needs them.
Why do archive contents differ between projects? Check release-specific definitions, features and source availability before diagnosing a parser failure.
Potential tasks include code-review reasoning and issue-to-fix evaluation. Assess complete change families, provenance and trustworthy outcome evidence. Explain missing histories and artifacts in a high-level dataset assessment instead of promising a complete project backup or guaranteed buyer demand.
Release checklist
- Compare archive contents against the export definition for the running GitLab version.
- Record excluded CI artifacts, registries and relationship gaps separately from repository and issue counts.
- Reconcile source counts and date coverage; record excluded or unavailable records.
- Validate identifiers, relationships, timestamps and field types after transformation.
- Document provenance, privacy review, third-party restrictions and the authorized release approver.
- Scan the release files for personal information, secrets and confidential material; test a reviewed sample before transfer.
Have a proprietary dataset?
Find out whether it may be suitable for AI licensing. Start with a high-level description of the source, date range, volume, rights status, and preparation work still needed.
Assess dataset readinessUse the existing buyer application when ready. Share only authorized information. Do not submit raw confidential records, credentials, or personal data in the initial assessment.
Sources & verification
Official documentation reviewed 2026-10-15. Procedures and access rules can change. These are documentation-based instructions, not a live export from your account. Verify your product version, permissions and retention settings before running a job.