{"id":22292149,"url":"https://github.com/wpoely86/redmine-azure-devops-migrate","last_synced_at":"2025-09-19T04:31:59.377Z","repository":{"id":140042921,"uuid":"329630236","full_name":"wpoely86/redmine-azure-devops-migrate","owner":"wpoely86","description":"script to migrate redmine issue and wiki to azure devops work items and wiki","archived":false,"fork":false,"pushed_at":"2024-05-22T07:46:28.000Z","size":44,"stargazers_count":8,"open_issues_count":6,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-31T04:11:49.181Z","etag":null,"topics":["azure-devops","redmine"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wpoely86.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-14T13:54:18.000Z","updated_at":"2024-09-10T14:11:25.000Z","dependencies_parsed_at":"2024-05-22T08:58:44.723Z","dependency_job_id":null,"html_url":"https://github.com/wpoely86/redmine-azure-devops-migrate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpoely86%2Fredmine-azure-devops-migrate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpoely86%2Fredmine-azure-devops-migrate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpoely86%2Fredmine-azure-devops-migrate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wpoely86%2Fredmine-azure-devops-migrate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wpoely86","download_url":"https://codeload.github.com/wpoely86/redmine-azure-devops-migrate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233550336,"owners_count":18692829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-devops","redmine"],"created_at":"2024-12-03T17:19:58.018Z","updated_at":"2025-09-19T04:31:54.097Z","avatar_url":"https://github.com/wpoely86.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Redmine to Azure DevOps Migration\n\nThis repo has a couple of scripts that can help you to migrate from redmine\nto Azure DevOps. It is **not** a fire and forgot kind of script but acts as\na starting point for your own migration.\n\n## Issues\n\nThe script `migrate.py` will migrate your Redmine issues to Azure DevOps work items.\n\nTo use it you have to:\n\n- install the dependencies in `requirements.txt`\n- adjust the constants at the top of the script (redmine url, tokens, etc)\n- adjust the filter of redmine issue at the top of main()\n\nAfter that you can try it. I highly recommend to first try it on a test project.\n\nIt does not migrate everything perfectly.\nWhat works:\n\n- Attachment are migrated (it will not work with files \u003e 130MB)\n- Parent/child relations are migrated\n- A link to the original redmine issue is added to each work item\n- Comments are migrated\n- References to issues are replaced with a reference to the new work item id.\n  A relation to the mentioned work item is added but the link itself will not work.\n- The 'state' of a redmine issue is mapped to a state Azure DevOps with the\n  dict 'state_map'. The default is 'To Do'.\n\nCaveats:\n\n- Comments always have the authorship of the Azure token owner (the API doesn't allow you to change it).\n- Tracker information is not used in Azure. We add it in a table at the bottom of the work item.\n- Redmine markdown is not 100% standard compliant (or at least not with the python markdown module).\n  You may lose a bit of the formatting\n\nThe script will also dump a json file with the mapping between redmine issue ids and azure work item ids.\n\n## wiki\n\nThe script `wiki.py` will 'download' all the wiki pages and put them in a directory\nstructure. This can then be added to the git repo of a Azure DevOps wiki. To find\nthe git repo for a wiki, read [this](https://docs.microsoft.com/en-us/azure/devops/project/wiki/wiki-create-repo?view=azure-devops\u0026tabs=browser#how-can-i-go-to-the-git-repository).\n\n\n### change issue numbers\n\nWith the script `migrate-wiki.py` you can change the issue references in the wikipages to the\n'new' work item id in Azure DevOps. You need to use the json file dumped by the issue migration\nscript. Example:\n\n```\nfind -name '*.md' -print0 | xargs -L1 -0 python3 migrate-wiki.py issue-mapping.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpoely86%2Fredmine-azure-devops-migrate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwpoely86%2Fredmine-azure-devops-migrate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwpoely86%2Fredmine-azure-devops-migrate/lists"}