gitlab-projects-migrate


Namegitlab-projects-migrate JSON
Version 2.1.0 PyPI version JSON
download
home_pagehttps://gitlab.com/AdrianDC/gitlab-projects-migrate
SummaryMigrate GitLab projects from a GitLab group to another GitLab's group
upload_time2024-04-28 18:44:13
maintainerNone
docs_urlNone
authorAdrian DC
requires_python!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=3
licenseApache License 2.0
keywords gitlab issues sync
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # gitlab-projects-migrate

<!-- markdownlint-disable no-inline-html -->

[![Build](https://gitlab.com/AdrianDC/gitlab-projects-migrate/badges/main/pipeline.svg)](https://gitlab.com/AdrianDC/gitlab-projects-migrate/-/commits/main/)

Migrate GitLab projects from a GitLab group to another GitLab's group

---

## Purpose

The migration can be performed between entirely different GitLab servers.

The following steps are required before using the tool:

- The groups need to be created manually by the user or by a GitLab administrator
- The GitLab user tokens must be created with an `api` scope (a short expiration date is recommended)

---

## Examples

<!-- prettier-ignore-start -->

```bash
# Show the helper menu
gitlab-projects-migrate

# Migrate projects from one group to another, then migrate subgroups
gitlab-projects-migrate 'https://gitlab.com' 'old/group' 'https://gitlab.com' 'new/group'
gitlab-projects-migrate 'https://gitlab.com' 'old/group/subgroup1' 'https://gitlab.com' 'new/group/subgroup1'
gitlab-projects-migrate 'https://gitlab.com' 'old/group/subgroup2' 'https://gitlab.com' 'new/group/subgroup2'

# Migrate projects from one GitLab to another GitLab
gitlab-projects-migrate 'https://old.gitlab.com' 'group/subgroup' 'https://new.gitlab.com'
```

<!-- prettier-ignore-end -->

---

## Usage

<!-- prettier-ignore-start -->
<!-- readme-help-start -->

```yaml
usage: gitlab-projects-migrate [-h] [--version] [-I INPUT_TOKEN] [-O OUTPUT_TOKEN] [--dry-run] [--exclude-group]
                               [--exclude-subgroups] [--exclude-projects] [--keep-members] [--overwrite]
                               [--set-avatar FILE] [--update-description]
                               [input_gitlab] [input_path] [output_gitlab] [output_group]

gitlab-projects-migrate: Migrate GitLab projects from a GitLab group to another GitLab's group

internal arguments:
  -h, --help            # Show this help message
  --version             # Show the current version

credentials arguments:
  -I INPUT_TOKEN        # Input GitLab API token (default: GITLAB_INPUT_TOKEN or GITLAB_TOKEN environments)
  -O OUTPUT_TOKEN       # Output GitLab API token (default: GITLAB_OUTPUT_TOKEN, GITLAB_TOKEN environments, or INPUT_TOKEN argument)

migration arguments:
  --dry-run             # Enable dry run mode to check without saving
  --exclude-group       # Exclude parent group migration
  --exclude-subgroups   # Exclude children subgroups migration
  --exclude-projects    # Exclude children projects migration
  --keep-members        # Keep input members after importing on output GitLab
  --overwrite           # Overwrite existing projects on output GitLab

general settings arguments:
  --set-avatar FILE     # Set avatar of GitLab output projects and groups
  --update-description  # Update description of GitLab output projects and groups automatically

positional arguments:
  input_gitlab          # Input GitLab URL (default: https://gitlab.com)
  input_path            # Input GitLab group or project path
  output_gitlab         # Output GitLab URL (default: https://gitlab.com)
  output_group          # Output GitLab group
```

<!-- readme-help-stop -->
<!-- prettier-ignore-end -->

---

## Dependencies

- [colored](https://pypi.org/project/colored/): Terminal colors and styles
- [python-gitlab](https://pypi.org/project/python-gitlab/): A python wrapper for the GitLab API
- [setuptools](https://pypi.org/project/setuptools/): Build and manage Python packages

---

## References

- [git-chglog](https://github.com/git-chglog/git-chglog): CHANGELOG generator
- [gitlab-release](https://pypi.org/project/gitlab-release/): Utility for publishing on GitLab
- [gitlabci-local](https://pypi.org/project/gitlabci-local/): Launch .gitlab-ci.yml jobs locally
- [mypy](https://pypi.org/project/mypy/): Optional static typing for Python
- [PyPI](https://pypi.org/): The Python Package Index
- [twine](https://pypi.org/project/twine/): Utility for publishing on PyPI

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/AdrianDC/gitlab-projects-migrate",
    "name": "gitlab-projects-migrate",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=3",
    "maintainer_email": null,
    "keywords": "gitlab issues sync",
    "author": "Adrian DC",
    "author_email": "radian.dc@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/4f/e2/922fdbfda74dfa232eb6e7d242979d5e2653403306c982518076d46ed43a/gitlab_projects_migrate-2.1.0.tar.gz",
    "platform": null,
    "description": "# gitlab-projects-migrate\n\n<!-- markdownlint-disable no-inline-html -->\n\n[![Build](https://gitlab.com/AdrianDC/gitlab-projects-migrate/badges/main/pipeline.svg)](https://gitlab.com/AdrianDC/gitlab-projects-migrate/-/commits/main/)\n\nMigrate GitLab projects from a GitLab group to another GitLab's group\n\n---\n\n## Purpose\n\nThe migration can be performed between entirely different GitLab servers.\n\nThe following steps are required before using the tool:\n\n- The groups need to be created manually by the user or by a GitLab administrator\n- The GitLab user tokens must be created with an `api` scope (a short expiration date is recommended)\n\n---\n\n## Examples\n\n<!-- prettier-ignore-start -->\n\n```bash\n# Show the helper menu\ngitlab-projects-migrate\n\n# Migrate projects from one group to another, then migrate subgroups\ngitlab-projects-migrate 'https://gitlab.com' 'old/group' 'https://gitlab.com' 'new/group'\ngitlab-projects-migrate 'https://gitlab.com' 'old/group/subgroup1' 'https://gitlab.com' 'new/group/subgroup1'\ngitlab-projects-migrate 'https://gitlab.com' 'old/group/subgroup2' 'https://gitlab.com' 'new/group/subgroup2'\n\n# Migrate projects from one GitLab to another GitLab\ngitlab-projects-migrate 'https://old.gitlab.com' 'group/subgroup' 'https://new.gitlab.com'\n```\n\n<!-- prettier-ignore-end -->\n\n---\n\n## Usage\n\n<!-- prettier-ignore-start -->\n<!-- readme-help-start -->\n\n```yaml\nusage: gitlab-projects-migrate [-h] [--version] [-I INPUT_TOKEN] [-O OUTPUT_TOKEN] [--dry-run] [--exclude-group]\n                               [--exclude-subgroups] [--exclude-projects] [--keep-members] [--overwrite]\n                               [--set-avatar FILE] [--update-description]\n                               [input_gitlab] [input_path] [output_gitlab] [output_group]\n\ngitlab-projects-migrate: Migrate GitLab projects from a GitLab group to another GitLab's group\n\ninternal arguments:\n  -h, --help            # Show this help message\n  --version             # Show the current version\n\ncredentials arguments:\n  -I INPUT_TOKEN        # Input GitLab API token (default: GITLAB_INPUT_TOKEN or GITLAB_TOKEN environments)\n  -O OUTPUT_TOKEN       # Output GitLab API token (default: GITLAB_OUTPUT_TOKEN, GITLAB_TOKEN environments, or INPUT_TOKEN argument)\n\nmigration arguments:\n  --dry-run             # Enable dry run mode to check without saving\n  --exclude-group       # Exclude parent group migration\n  --exclude-subgroups   # Exclude children subgroups migration\n  --exclude-projects    # Exclude children projects migration\n  --keep-members        # Keep input members after importing on output GitLab\n  --overwrite           # Overwrite existing projects on output GitLab\n\ngeneral settings arguments:\n  --set-avatar FILE     # Set avatar of GitLab output projects and groups\n  --update-description  # Update description of GitLab output projects and groups automatically\n\npositional arguments:\n  input_gitlab          # Input GitLab URL (default: https://gitlab.com)\n  input_path            # Input GitLab group or project path\n  output_gitlab         # Output GitLab URL (default: https://gitlab.com)\n  output_group          # Output GitLab group\n```\n\n<!-- readme-help-stop -->\n<!-- prettier-ignore-end -->\n\n---\n\n## Dependencies\n\n- [colored](https://pypi.org/project/colored/): Terminal colors and styles\n- [python-gitlab](https://pypi.org/project/python-gitlab/): A python wrapper for the GitLab API\n- [setuptools](https://pypi.org/project/setuptools/): Build and manage Python packages\n\n---\n\n## References\n\n- [git-chglog](https://github.com/git-chglog/git-chglog): CHANGELOG generator\n- [gitlab-release](https://pypi.org/project/gitlab-release/): Utility for publishing on GitLab\n- [gitlabci-local](https://pypi.org/project/gitlabci-local/): Launch .gitlab-ci.yml jobs locally\n- [mypy](https://pypi.org/project/mypy/): Optional static typing for Python\n- [PyPI](https://pypi.org/): The Python Package Index\n- [twine](https://pypi.org/project/twine/): Utility for publishing on PyPI\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Migrate GitLab projects from a GitLab group to another GitLab's group",
    "version": "2.1.0",
    "project_urls": {
        "Bug Reports": "https://gitlab.com/AdrianDC/gitlab-projects-migrate/-/issues",
        "Changelog": "https://gitlab.com/AdrianDC/gitlab-projects-migrate/blob/main/CHANGELOG.md",
        "Documentation": "https://gitlab.com/AdrianDC/gitlab-projects-migrate#gitlab-projects-migrate",
        "Homepage": "https://gitlab.com/AdrianDC/gitlab-projects-migrate",
        "Source": "https://gitlab.com/AdrianDC/gitlab-projects-migrate",
        "Statistics": "https://pypistats.org/packages/gitlab-projects-migrate"
    },
    "split_keywords": [
        "gitlab",
        "issues",
        "sync"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1079a7989070a366fcb8421c743979475e38825580b3d25fd0468acb647b74cd",
                "md5": "8520e9ce1cc24b0aeaf9b822b6b461b6",
                "sha256": "d87332774ba15c0c86e36a7384158cc11bbd992dd691c922e943a6f71a496226"
            },
            "downloads": -1,
            "filename": "gitlab_projects_migrate-2.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8520e9ce1cc24b0aeaf9b822b6b461b6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=3",
            "size": 18628,
            "upload_time": "2024-04-28T18:44:11",
            "upload_time_iso_8601": "2024-04-28T18:44:11.876731Z",
            "url": "https://files.pythonhosted.org/packages/10/79/a7989070a366fcb8421c743979475e38825580b3d25fd0468acb647b74cd/gitlab_projects_migrate-2.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4fe2922fdbfda74dfa232eb6e7d242979d5e2653403306c982518076d46ed43a",
                "md5": "2c82055e59b692578302ec74c5766ac7",
                "sha256": "b9d574b72e81667701724183c08bd00a9c71f423ae0af68123d70b503334848b"
            },
            "downloads": -1,
            "filename": "gitlab_projects_migrate-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2c82055e59b692578302ec74c5766ac7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=3",
            "size": 21433,
            "upload_time": "2024-04-28T18:44:13",
            "upload_time_iso_8601": "2024-04-28T18:44:13.424430Z",
            "url": "https://files.pythonhosted.org/packages/4f/e2/922fdbfda74dfa232eb6e7d242979d5e2653403306c982518076d46ed43a/gitlab_projects_migrate-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-28 18:44:13",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "AdrianDC",
    "gitlab_project": "gitlab-projects-migrate",
    "lcname": "gitlab-projects-migrate"
}
        
Elapsed time: 0.24315s