nitor 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nitor",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "A comprehensive CLI toolkit for automating GitLab operations, AI-powered code review, build/deploy automation, MongoDB backup/restore, and developer productivity tools",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Nithin V <mails2nithin@gmail.com>",
|
|
@@ -11,7 +11,7 @@ const { merge } = require('./merge');
|
|
|
11
11
|
const { cleanup } = require('./cleanup');
|
|
12
12
|
|
|
13
13
|
// Time entry imports
|
|
14
|
-
const { removeEmpty } = require('./time-entry/utils');
|
|
14
|
+
const { removeEmpty, getSprints } = require('./time-entry/utils');
|
|
15
15
|
const { getStatus, getTasksByDate } = require('./time-entry/get-report');
|
|
16
16
|
const { logTaskHoursAndSync } = require('./time-entry/log-task-hours-and-sync');
|
|
17
17
|
const { addNewTask } = require('./time-entry/add-task');
|
|
@@ -299,27 +299,44 @@ Options:
|
|
|
299
299
|
return;
|
|
300
300
|
}
|
|
301
301
|
|
|
302
|
-
if (
|
|
303
|
-
|
|
302
|
+
if (values.sprint) {
|
|
303
|
+
const sprints = await getSprints({ params: {} });
|
|
304
|
+
const taskDetails = await getZohoTasks({
|
|
305
|
+
params: { sprint: sprints.find(({ label }) => label === values.sprint)?.value },
|
|
306
|
+
});
|
|
304
307
|
|
|
305
|
-
|
|
308
|
+
values.task = taskDetails.map(({ taskId }) => taskId);
|
|
309
|
+
} else {
|
|
310
|
+
values.task = values.task.split(' ');
|
|
306
311
|
}
|
|
307
312
|
|
|
308
|
-
|
|
313
|
+
// Process all tasks in parallel
|
|
314
|
+
const taskResults = await Promise.all(
|
|
315
|
+
values.task.map(async (task) => {
|
|
316
|
+
const taskDetail = await getTaskStats(task);
|
|
309
317
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
const mrDetails = await getGitlabIssueMergeRequests(gitIdDetails);
|
|
318
|
+
if (!taskDetail?.itemIds) {
|
|
319
|
+
return [];
|
|
320
|
+
}
|
|
314
321
|
|
|
315
|
-
|
|
316
|
-
|
|
322
|
+
const gitIdDetails = await getGitIdStats(taskDetail.itemIds);
|
|
323
|
+
|
|
324
|
+
if (!gitIdDetails?.length) {
|
|
325
|
+
return [];
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
const mrDetails = await getGitlabIssueMergeRequests(gitIdDetails);
|
|
329
|
+
|
|
330
|
+
return mrDetails.map((mrDetail) => ({
|
|
317
331
|
Task: task,
|
|
318
332
|
Owner: taskDetail.owner,
|
|
319
333
|
...mrDetail,
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
|
|
334
|
+
}));
|
|
335
|
+
}),
|
|
336
|
+
);
|
|
337
|
+
|
|
338
|
+
// Flatten the results
|
|
339
|
+
const list = taskResults.flat();
|
|
323
340
|
|
|
324
341
|
console.table(list);
|
|
325
342
|
|
|
@@ -497,9 +514,11 @@ Available commands:\n
|
|
|
497
514
|
completion : Setup shell autocomplete
|
|
498
515
|
create-branch : Create git branch
|
|
499
516
|
deploy : Deploy specified components
|
|
517
|
+
get-task : Get task details
|
|
500
518
|
merge : Merge source branch into target branch
|
|
501
519
|
refactor : Refactor the provided text for improved clarity, conciseness, and professional quality
|
|
502
520
|
review : AI Review specified merge request
|
|
521
|
+
task-stats : View task statistics
|
|
503
522
|
version : Show version info
|
|
504
523
|
help : Show help
|
|
505
524
|
|
|
@@ -510,7 +529,7 @@ Time Entry commands:
|
|
|
510
529
|
time-entries : View time entries by date
|
|
511
530
|
time-gitlab : Get GitLab activities
|
|
512
531
|
time-merge : View merge request status for tasks
|
|
513
|
-
time-stats
|
|
532
|
+
time-stats : View daily status of time entries
|
|
514
533
|
time-switch : Switch between default projects
|
|
515
534
|
time-update : Update existing time entry
|
|
516
535
|
time-zoho : Sync time entries to Zoho
|
package/services/review.js
CHANGED
|
@@ -7,6 +7,7 @@ const executeMergeRequestReview = async (values) => {
|
|
|
7
7
|
maxBodyLength: Infinity,
|
|
8
8
|
url: `${mrApiUri}/${projectIdMap[values.project]}/mergeid/${values.mergeId}`,
|
|
9
9
|
headers: { 'Content-Type': 'application/json' },
|
|
10
|
+
timeout: 10 * 60 * 1000, // 10 minutes
|
|
10
11
|
data: JSON.stringify({
|
|
11
12
|
language: mrLang,
|
|
12
13
|
gitlabToken: gitlabConfig.token,
|
package/services/task-stats.js
CHANGED
|
@@ -84,9 +84,7 @@ const getGitIdStats = async (gitIds) => {
|
|
|
84
84
|
const response = await axios.request(config);
|
|
85
85
|
|
|
86
86
|
gitIdStats.push(response.data);
|
|
87
|
-
} catch (error) {
|
|
88
|
-
console.log(error);
|
|
89
|
-
}
|
|
87
|
+
} catch (error) {}
|
|
90
88
|
}
|
|
91
89
|
|
|
92
90
|
return gitIdStats;
|
|
@@ -152,6 +150,7 @@ const getGitlabIssueMergeRequests = async (gitDetails) => {
|
|
|
152
150
|
IssueID: gitDetail.iid,
|
|
153
151
|
MRID: mrData.iid,
|
|
154
152
|
MRAssignedTo: mrData.assignee?.name,
|
|
153
|
+
MRPointedTo: mrData.target_branch,
|
|
155
154
|
Repo: mr.reference?.split('!')?.[0],
|
|
156
155
|
ApprovedBy:
|
|
157
156
|
(approvalData.approved_by || [])
|