fixes
authormarkus schnalke <meillo@marmaro.de>
Wed, 13 Feb 2019 12:25:00 +0000 (13:25 +0100)
committermarkus schnalke <meillo@marmaro.de>
Sun, 2 Jan 2022 09:37:40 +0000 (10:37 +0100)
m2gl.js

diff --git a/m2gl.js b/m2gl.js
index 5211b8f..53d9b5b 100644 (file)
--- a/m2gl.js
+++ b/m2gl.js
@@ -26,8 +26,8 @@ var argv = require('optimist')
     .describe('f', 'The first issue # to import (Example: 123)')
     .argv;
 
-var inputFile = __dirname + '/' + argv.input;
-var configFile = __dirname + '/' + argv.config;
+var inputFile = argv.input;
+var configFile = argv.config;
 var fromIssueId = Number(argv.from||0);
 var gitlabAPIURLBase = argv.gitlaburl + '/api/v4';
 var gitlabProjectName = argv.project;
@@ -58,9 +58,10 @@ promise.then(function() {
  */
 function getConfig() {
   log_progress("Reading configuration...");
-  return FS.read(configFile, {encoding: 'utf8'})
+  return FS.read(configFile)
       .then(function(data) {
         var config = JSON.parse(data);
+
         config.users = _.extend({
           "": {
             name: "Unknown",
@@ -117,8 +118,11 @@ function getGitLabProject() {
   var url = gitlabAPIURLBase + '/projects';
   var data = { per_page: 100, private_token: gitlabAdminPrivateToken, sudo: gitlabSudo };
 
-  return rest.get(url, {data: data}).then(function(result) {
-
+  return rest.get(url, {data: data})
+  .fail(function(err) {
+    console.log(err);
+  })
+  .then(function(result) {
     gitLab.project = _.find(result, { path_with_namespace : gitlabProjectName }) || null;
 
     if (!gitLab.project) {
@@ -153,7 +157,7 @@ function mapGitLabUserIds() {
   var users = config.users,
       gitlabUsers = gitLab.gitlabUsers;
   _.forEach(users, function(user) {
-    user.gl_id = (_.find(gitlabUsers, { id: user.gl_username }) || {}).id;
+    user.gl_id = (_.find(gitlabUsers, { username: user.gl_username }) || {}).id;
   });
 }
 
@@ -228,13 +232,15 @@ function importIssue(mantisIssue) {
   return getIssue(gitLab.project.id, issueId)
       .then(function(gitLabIssue) {
         if (gitLabIssue) {
-          return updateIssue(gitLab.project.id, issueId, _.extend({
+          return updateIssue(gitLab.project.id, gitLabIssue.iid, _.extend({
             state_event: isClosed(mantisIssue) ? 'close' : 'reopen'
           }, data))
               .then(function() {
-                console.log(("#" + issueId + ": Updated successfully.").green);
+                console.log(("#" + gitLabIssue.iid + ": Updated successfully.").green);
               });
         } else {
+          console.log(data.title);
+          //return true; // FIXME
           return insertSkippedIssues(issueId-1)
               .then(function() {
                 return insertAndCloseIssue(issueId, data, isClosed(mantisIssue));
@@ -248,7 +254,8 @@ function insertSkippedIssues(issueId) {
     return Q();
   }
 
-  console.warn(("Skipping Missing Mantis Issue (<= #" + issueId + ") ...").yellow);
+  //FIXME console.warn(("Skipping Missing Mantis Issue (<= #" + issueId + ") ...").yellow);
+  console.log(("Adding" + issueId + ") ...").blue);
 
   var data = {
     title: "--Platzhalter--",
@@ -318,13 +325,18 @@ function getRemainingGitLabProjectIssues(page, per_page) {
   log_progress("Fetching Project Issues from GitLab [" + (from + 1) + "-" + (from + per_page) + "]...");
   var url = gitlabAPIURLBase + '/projects/' + gitLab.project.id + "/issues";
   var data = {
+    page: page,
+    per_page: per_page,
     // FIXME: schnalke
-    //page: page,
-    //per_page: per_page,
     //order_by: 'id',
     private_token: gitlabAdminPrivateToken, sudo: gitlabSudo };
 
-  return rest.get(url, {data: data}).then(function(issues) {
+  return rest.get(url, {data: data})
+  return rest.get(url, {data: data})
+  .fail(function(err) {
+    console.log(err);
+  })
+  .then(function(issues) {
     if(issues.length < per_page) {
       return issues;
     }
@@ -444,8 +456,8 @@ function insertIssue(projectId, data) {
       });
 }
 
-function updateIssue(projectId, issueId, data) {
-  var url = gitlabAPIURLBase + '/projects/' + projectId + '/issues/' + issueId;
+function updateIssue(projectId, issueIId, data) {
+  var url = gitlabAPIURLBase + '/projects/' + projectId + '/issues/' + issueIId;
 
   return rest.put(url, {data: data})
       .then(null, function(error) {
@@ -454,7 +466,7 @@ function updateIssue(projectId, issueId, data) {
 }
 
 function closeIssue(issue, custom) {
-  var url = gitlabAPIURLBase + '/projects/' + issue.project_id + '/issues/' + issue.id;
+  var url = gitlabAPIURLBase + '/projects/' + issue.project_id + '/issues/' + issue.iid;
   var data = _.extend({
     state_event: 'close',
     private_token: gitlabAdminPrivateToken,