diff --git a/server/app/model/audit-trail/bot-audit-trail.js b/server/app/model/audit-trail/bot-audit-trail.js index 3604a68d7..47a958d87 100644 --- a/server/app/model/audit-trail/bot-audit-trail.js +++ b/server/app/model/audit-trail/bot-audit-trail.js @@ -47,6 +47,13 @@ var BotAuditTrailSchema = new BaseAuditTrail({ type: String, trim:true }, + jenkinsBuildNumber:{ + type: Number + }, + jenkinsJobName:{ + type: String, + trim:true + }, nodeIdsWithActionLog:[Schema.Types.Mixed] } }); diff --git a/server/app/model/classes/tasks/taskTypeJenkins.js b/server/app/model/classes/tasks/taskTypeJenkins.js index d1561248f..52ab2770c 100755 --- a/server/app/model/classes/tasks/taskTypeJenkins.js +++ b/server/app/model/classes/tasks/taskTypeJenkins.js @@ -315,10 +315,6 @@ jenkinsTaskSchema.methods.execute = function(userName, baseUrl, choiceParam, nex }); } pollBuildStarted(); - - - - }); } } else { diff --git a/server/app/model/classes/tasks/tasks.js b/server/app/model/classes/tasks/tasks.js index 01ee73ee0..a3a5e195f 100755 --- a/server/app/model/classes/tasks/tasks.js +++ b/server/app/model/classes/tasks/tasks.js @@ -298,13 +298,25 @@ taskSchema.methods.execute = function(userName, baseUrl, choiceParam, appData, b if (taskHistory) { taskHistory.timestampEnded = self.timestampEnded; taskHistory.status = self.lastTaskStatus; - var resultTaskExecution = { - "actionStatus":self.lastTaskStatus, - "status":self.lastTaskStatus, - "endedOn":self.timestampEnded, - "actionLogId":taskHistory.nodeIdsWithActionLog[0].actionLogId, - "auditTrailConfig.nodeIdsWithActionLog":taskHistory.nodeIdsWithActionLog - }; + var resultTaskExecution = null; + if(taskHistoryData.taskType === TASK_TYPE.JENKINS_TASK){ + resultTaskExecution = { + "actionStatus":self.lastTaskStatus, + "status":self.lastTaskStatus, + "endedOn":self.timestampEnded, + "actionLogId":taskHistory.jenkinsServerId, + "auditTrailConfig.jenkinsBuildNumber":taskHistory.buildNumber, + "auditTrailConfig.jenkinsJobName":taskHistory.jobName + }; + }else{ + resultTaskExecution = { + "actionStatus":self.lastTaskStatus, + "status":self.lastTaskStatus, + "endedOn":self.timestampEnded, + "actionLogId":taskHistory.nodeIdsWithActionLog[0].actionLogId, + "auditTrailConfig.nodeIdsWithActionLog":taskHistory.nodeIdsWithActionLog + }; + } if (resultData) { if (resultData.instancesResults && resultData.instancesResults.length) { taskHistory.executionResults = resultData.instancesResults; @@ -314,7 +326,7 @@ taskSchema.methods.execute = function(userName, baseUrl, choiceParam, appData, b } } - if(auditTrailId !== null){ + if(auditTrailId !== null && resultTaskExecution !== null){ auditTrailService.updateAuditTrail('BOTs',auditTrailId,resultTaskExecution,function(err,auditTrail){ if (err) { logger.error("Failed to create or update bot Log: ", err); diff --git a/server/app/services/auditTrailService.js b/server/app/services/auditTrailService.js index 7776cd98d..1a049bbe5 100644 --- a/server/app/services/auditTrailService.js +++ b/server/app/services/auditTrailService.js @@ -204,6 +204,15 @@ auditTrailService.getBOTsSummary = function getBOTsSummary(callback){ callback(null,data.length); }); + }, + totalNoOfRunningBots: function(callback){ + auditTrail.getAuditTrailByStatus('BOTs','running',function(err,data){ + if(err){ + callback(err,null); + } + callback(null,data.length); + }); + }, totalSavedTimeForBots: function(callback){ auditTrail.getAuditTrailByType('BOTs',function(err,botAuditTrail){ @@ -214,9 +223,10 @@ auditTrailService.getBOTsSummary = function getBOTsSummary(callback){ for(var i = 0; i < botAuditTrail.length; i++){ (function(auditTrail){ count++; - var executionTime = getExecutionTime(auditTrail.endedOn,auditTrail.startedOn); - var savedTime = 600-executionTime; - totalTimeInSeconds = totalTimeInSeconds+savedTime; + if(auditTrail.endedOn && auditTrail.endedOn !== null) { + var executionTime = getExecutionTime(auditTrail.endedOn, auditTrail.startedOn); + totalTimeInSeconds = totalTimeInSeconds + (600 - executionTime); + } })(botAuditTrail[i]); } if(count === botAuditTrail.length){ @@ -251,7 +261,7 @@ auditTrailService.getBOTsSummary = function getBOTsSummary(callback){ function getExecutionTime(endTime,startTime){ var executionTimeInMS = endTime-startTime; - var executionTime = executionTimeInMS/(1000); - return executionTime; + var totalSeconds = Math.floor(executionTimeInMS/1000); + return totalSeconds; }