diff --git a/config.json b/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..75a4921800daa073138569902111c83012eb18be
--- /dev/null
+++ b/config.json
@@ -0,0 +1,3 @@
+{
+ "gitlab-access-token": "se7cRwBAyySpFnzWmk7a"
+}
diff --git a/migrate.php b/migrate.php
index 78449d54e092bc2a1cd5b24fcbf6d3e2187c0842..8d2aecb9a61ae000dae0110e87a4501882b02c95 100755
--- a/migrate.php
+++ b/migrate.php
@@ -24,6 +24,7 @@ $getopt = new Getopt(array(
array('v', 'version', Getopt::NO_ARGUMENT, 'Just shows the version')
));
+$issue_mapping = [];
try {
$getopt->parse();
@@ -55,11 +56,11 @@ try {
$migration = new Migration($getopt->getOption('gitlab'), $getopt->getOption('token'), $getopt->getOption('admin'), $getopt->getOption('trac'), $getopt->getOption('link'), $userMapping);
// If we have a component, migrate it
if (!is_null($getopt->getOption('component'))) {
- $migration->migrateComponent($getopt->getOption('component'), $getopt->getOption('project'));
+ $issue_mapping = $migration->migrateComponent($getopt->getOption('component'), $getopt->getOption('project'));
}
// If we have a custom query, migrate it
if (!is_null($getopt->getOption('query'))) {
- $migration->migrateQuery($getopt->getOption('query'), $getopt->getOption('project'));
+ $issue_mapping = $migration->migrateQuery($getopt->getOption('query'), $getopt->getOption('project'));
}
} catch (UnexpectedValueException $e) {
echo "Error: ".$e->getMessage()."\n";
diff --git a/src/Migration.php b/src/Migration.php
index 6659e5d3543b1fd7f482072c3294c258d04cb51b..c716f30a99c90984eb9680a3b24a5fbe917778bf 100644
--- a/src/Migration.php
+++ b/src/Migration.php
@@ -43,7 +43,7 @@ class Migration
*/
public function migrateComponent($tracComponentName, $gitLabProject) {
$openTickets = $this->trac->listOpenTicketsForComponent($tracComponentName);
- $this->migrate($openTickets, $gitLabProject);
+ return $this->migrate($openTickets, $gitLabProject);
}
/**
@@ -54,7 +54,7 @@ class Migration
*/
public function migrateQuery($tracQuery, $gitLabProject) {
$openTickets = $this->trac->listTicketsForQuery($tracQuery);
- $this->migrate($openTickets, $gitLabProject);
+ return $this->migrate($openTickets, $gitLabProject);
}
/**
@@ -93,6 +93,7 @@ class Migration
* @param string $gitLabProject GitLab project in which the issues should be created
*/
private function migrate($openTickets, $gitLabProject) {
+ $mapping = [];
foreach($openTickets as $ticket) {
$originalTicketId = $ticket[0];
$title = $ticket[3]['summary'];
@@ -115,6 +116,8 @@ class Migration
echo 'Created a GitLab issue #' . $issue['iid'] . ' for Trac ticket #' . $originalTicketId . ' : ' . $this->gitLab->getUrl() . '/' . $gitLabProject . '/issues/' . $issue['iid'] . "\n";
+ $mapping[$originalTicketId] = $issue['iid'];
+
// If there are comments on the ticket, create notes on the issue
/*if (is_array($ticket[4]) && count($ticket[4])) {
foreach($ticket[4] as $comment) {
@@ -126,6 +129,7 @@ class Migration
echo "\tAlso created " . count($ticket[4]) . " note(s)\n";
}*/
}
+ return $mapping;
}
/**