summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormac-key <juliuskvedaras@yahoo.ie>2019-01-21 16:17:31 +0000
committermac-key <juliuskvedaras@yahoo.ie>2019-01-21 16:17:31 +0000
commit6db897799e5cbd8ac1e03ab347b8772018885b4e (patch)
tree90ba0bc45d3d8f639199e7feae73c920e88b7dde
parentd56b76a52dbb978982c3dedba333523e908b37db (diff)
downloadgitlab-ce-docs-bulk-migrate-issues.tar.gz
Adding documentation on how to bulk migrate issuesdocs-bulk-migrate-issues
-rw-r--r--doc/user/project/issues/moving_issues.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/user/project/issues/moving_issues.md b/doc/user/project/issues/moving_issues.md
index 211a651b89e..8aac2c01444 100644
--- a/doc/user/project/issues/moving_issues.md
+++ b/doc/user/project/issues/moving_issues.md
@@ -8,3 +8,28 @@ There will also be a system note added to both issues indicating where it came f
You can move an issue with the "Move issue" button at the bottom of the right-sidebar when viewing the issue.
![move issue - button](img/sidebar_move_issue.png)
+
+## Troubleshooting
+
+### Moving Issues in Bulk
+
+If you have advanced technical skills you can also bulk move all the issues from one project to another in the rails console. The below script will move all the issues from one project to another that are not in status **closed**.
+
+To access rails console run `sudo gitlab-rails console` on the GitLab server and run the below script. Please be sure to change **project**, **admin_user** and **target_project** to your values. We do also recommend [creating a backup](https://docs.gitlab.com/ee/raketasks/backup_restore.html#creating-a-backup-of-the-gitlab-system) before attempting any changes in the console.
+
+```ruby
+project = Project.find_by_full_path('full path of the project where issues are moved from')
+issues = project.issues
+admin_user = User.find_by_username('username of admin user') # make sure user has permissions to move the issues
+target_project = Project.find_by_full_path('full path of target project where issues moved to')
+
+issues.each do |issue|
+ if issue.state != "closed" && issue.moved_to.nil?
+ Issues::MoveService.new(project, admin_user).execute(issue, target_project)
+ else
+ puts "issue with id: #{issue.id} and title: #{issue.title} was not moved"
+ end
+end; nil
+
+```
+