@newpeak/barista-cli 0.2.287 → 0.2.295
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/dist/commands/liberica/finance/voucher/update.js +1 -1
- package/dist/commands/liberica/finance/voucher/update.js.map +1 -1
- package/dist/commands/liberica/issue/submit.d.ts.map +1 -1
- package/dist/commands/liberica/issue/submit.js +279 -11
- package/dist/commands/liberica/issue/submit.js.map +1 -1
- package/dist/commands/liberica/teams/chain-helper.d.ts +26 -0
- package/dist/commands/liberica/teams/chain-helper.d.ts.map +1 -0
- package/dist/commands/liberica/teams/chain-helper.js +42 -0
- package/dist/commands/liberica/teams/chain-helper.js.map +1 -0
- package/dist/commands/liberica/teams/issues/create.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/create.js +39 -0
- package/dist/commands/liberica/teams/issues/create.js.map +1 -1
- package/dist/commands/liberica/teams/issues/list.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/list.js +22 -0
- package/dist/commands/liberica/teams/issues/list.js.map +1 -1
- package/dist/commands/liberica/teams/issues/update.d.ts.map +1 -1
- package/dist/commands/liberica/teams/issues/update.js +32 -1
- package/dist/commands/liberica/teams/issues/update.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/attachment-add.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/attachment-add.js +6 -0
- package/dist/commands/liberica/teams/tasks/attachment-add.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/attachment-list.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/attachment-list.js +21 -1
- package/dist/commands/liberica/teams/tasks/attachment-list.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/create.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/create.js +53 -0
- package/dist/commands/liberica/teams/tasks/create.js.map +1 -1
- package/dist/commands/liberica/teams/tasks/update.d.ts.map +1 -1
- package/dist/commands/liberica/teams/tasks/update.js +54 -0
- package/dist/commands/liberica/teams/tasks/update.js.map +1 -1
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +13 -5
- package/dist/core/api/client.js.map +1 -1
- package/dist/types/issue-report.d.ts +5 -0
- package/dist/types/issue-report.d.ts.map +1 -1
- package/dist/types/team-issue.d.ts +7 -0
- package/dist/types/team-issue.d.ts.map +1 -1
- package/dist/types/team-task.d.ts +14 -0
- package/dist/types/team-task.d.ts.map +1 -1
- package/dist/utils/enum-dict-mapping.d.ts.map +1 -1
- package/dist/utils/enum-dict-mapping.js +6 -0
- package/dist/utils/enum-dict-mapping.js.map +1 -1
- package/package.json +1 -1
- package/skills/barista-cli/data/commands.json +8 -1
- package/skills/barista-cli/data/commands.yaml +6 -1
|
@@ -15,7 +15,7 @@ export function createFinanceVoucherUpdateCommand() {
|
|
|
15
15
|
const environment = options.env || context.environment;
|
|
16
16
|
const tenant = options.tenant || context.tenant;
|
|
17
17
|
const id = options.id;
|
|
18
|
-
const data = {};
|
|
18
|
+
const data = { voucherId: id };
|
|
19
19
|
if (options.description)
|
|
20
20
|
data.description = options.description;
|
|
21
21
|
if (options.entries) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/voucher/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,MAAM,UAAU,iCAAiC;IAC/C,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAE9C,aAAa;SACV,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC;SAC7C,MAAM,CAAC,wBAAwB,EAAE,iBAAiB,CAAC;SACnD,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAChD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAY,CAAC;QAEhC,MAAM,IAAI,GAA4B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/voucher/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,MAAM,UAAU,iCAAiC;IAC/C,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAE9C,aAAa;SACV,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC;SAC7C,MAAM,CAAC,wBAAwB,EAAE,iBAAiB,CAAC;SACnD,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;SACzD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAChD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAY,CAAC;QAEhC,MAAM,IAAI,GAA4B,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAChE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAE9E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrI,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC;gBACxG,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI;oBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/submit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/submit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+RpC,wBAAgB,wBAAwB,IAAI,OAAO,CA4NlD"}
|
|
@@ -9,6 +9,205 @@ import { validateEnumValue } from '../../../utils/enum-validation.js';
|
|
|
9
9
|
import { ENUM_DICT_MAPPING } from '../../../utils/enum-dict-mapping.js';
|
|
10
10
|
const require = createRequire(import.meta.url);
|
|
11
11
|
const { version: cliVersion } = require('../../../../package.json');
|
|
12
|
+
const SCHEDULED_FINISH_DATE_HINT = 'Hint: this backend requires a scheduled finish date for human reporters. ' +
|
|
13
|
+
'Pass --scheduled-finish-date <yyyy-MM-dd>, or upgrade the backend so it auto-fills a default.';
|
|
14
|
+
function withA958004Hint(message) {
|
|
15
|
+
const needsHint = message.includes('A958004') ||
|
|
16
|
+
message.includes('TEAM_ISSUE_SCHEDULED_FINISH_DATE_REQUIRED') ||
|
|
17
|
+
message.includes('计划完成日');
|
|
18
|
+
return needsHint ? `${message}\n${SCHEDULED_FINISH_DATE_HINT}` : message;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The report endpoint does not forward priority / scheduledFinishDate to the
|
|
22
|
+
* team issue yet. When the caller explicitly sets either field, patch the
|
|
23
|
+
* created issue through the team issue update API so the values take effect.
|
|
24
|
+
*/
|
|
25
|
+
async function applyIssueOverrides(env, tenant, teamIssueId, priority, scheduledFinishDate) {
|
|
26
|
+
const existingResponse = await apiClient.getTeamIssue(env, tenant, teamIssueId);
|
|
27
|
+
if (!existingResponse.success || !existingResponse.data) {
|
|
28
|
+
return existingResponse.error?.message || 'Failed to load the created issue to apply overrides';
|
|
29
|
+
}
|
|
30
|
+
const existing = existingResponse.data;
|
|
31
|
+
const updateData = {
|
|
32
|
+
teamIssueId,
|
|
33
|
+
issueTitle: existing.issueTitle,
|
|
34
|
+
issueDesc: existing.issueDesc,
|
|
35
|
+
solution: existing.solution,
|
|
36
|
+
changeContent: existing.changeContent,
|
|
37
|
+
issueType: existing.issueType,
|
|
38
|
+
teamIssueStatus: existing.teamIssueStatus,
|
|
39
|
+
priority: priority || existing.priority,
|
|
40
|
+
projectId: existing.projectId,
|
|
41
|
+
projectCode: existing.projectCode,
|
|
42
|
+
projectName: existing.projectName,
|
|
43
|
+
reporterName: existing.reporterName,
|
|
44
|
+
reporterEmail: existing.reporterEmail,
|
|
45
|
+
assignTo: Array.isArray(existing.assignTo) ? existing.assignTo : undefined,
|
|
46
|
+
follower: Array.isArray(existing.follower) ? existing.follower : undefined,
|
|
47
|
+
tester: Array.isArray(existing.tester) ? existing.tester : undefined,
|
|
48
|
+
tags: existing.tags,
|
|
49
|
+
closeTime: existing.closeTime !== undefined ? String(existing.closeTime) : undefined,
|
|
50
|
+
resolutionTime: existing.resolutionTime !== undefined ? String(existing.resolutionTime) : undefined,
|
|
51
|
+
deliveryDate: existing.deliveryDate,
|
|
52
|
+
scheduledFinishDate: scheduledFinishDate || existing.scheduledFinishDate,
|
|
53
|
+
actualFinishDate: existing.actualFinishDate,
|
|
54
|
+
refTaskCode: existing.refTaskCode,
|
|
55
|
+
customProjectCode: existing.customProjectCode,
|
|
56
|
+
customProjectName: existing.customProjectName,
|
|
57
|
+
releaseVersion: existing.releaseVersion,
|
|
58
|
+
};
|
|
59
|
+
const response = await apiClient.updateTeamIssue(env, tenant, updateData);
|
|
60
|
+
return response.success
|
|
61
|
+
? undefined
|
|
62
|
+
: response.error?.message || 'Failed to apply priority / scheduled finish date';
|
|
63
|
+
}
|
|
64
|
+
function isA958004(message) {
|
|
65
|
+
if (!message)
|
|
66
|
+
return false;
|
|
67
|
+
return (message.includes('A958004') ||
|
|
68
|
+
message.includes('TEAM_ISSUE_SCHEDULED_FINISH_DATE_REQUIRED') ||
|
|
69
|
+
message.includes('计划完成日'));
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Mirror the backend DefaultScheduledFinishDatePolicy: URGENT/HIGH +7 working
|
|
73
|
+
* days, LOW +14, everything else +10 (weekends skipped).
|
|
74
|
+
*/
|
|
75
|
+
function calculateDefaultScheduledFinishDate(priority) {
|
|
76
|
+
const normalized = (priority || 'MEDIUM').toUpperCase();
|
|
77
|
+
const workingDays = normalized === 'URGENT' || normalized === 'HIGH' ? 7 : normalized === 'LOW' ? 14 : 10;
|
|
78
|
+
const date = new Date();
|
|
79
|
+
let counted = 0;
|
|
80
|
+
while (counted < workingDays) {
|
|
81
|
+
date.setDate(date.getDate() + 1);
|
|
82
|
+
const day = date.getDay();
|
|
83
|
+
if (day !== 0 && day !== 6)
|
|
84
|
+
counted++;
|
|
85
|
+
}
|
|
86
|
+
return date.toISOString().slice(0, 10);
|
|
87
|
+
}
|
|
88
|
+
/** Same enrichment the report controller applies before persisting the issue. */
|
|
89
|
+
function buildFallbackDescription(data) {
|
|
90
|
+
let description = data.description;
|
|
91
|
+
if (data.cliVersion || data.osInfo || data.errorContext) {
|
|
92
|
+
description += '\n\n---\n**Environment Info**\n';
|
|
93
|
+
if (data.cliVersion)
|
|
94
|
+
description += `- CLI Version: ${data.cliVersion}\n`;
|
|
95
|
+
if (data.osInfo)
|
|
96
|
+
description += `- OS Info: ${data.osInfo}\n`;
|
|
97
|
+
if (data.errorContext)
|
|
98
|
+
description += `\n**Error Context**\n\`\`\`\n${data.errorContext}\n\`\`\`\n`;
|
|
99
|
+
}
|
|
100
|
+
return description;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The report endpoint rejects human reporters without a scheduled finish date
|
|
104
|
+
* (A958004) and does not forward priority/scheduledFinishDate. Until the
|
|
105
|
+
* backend fix is deployed, fall back to the team issue create API, which
|
|
106
|
+
* supports both fields.
|
|
107
|
+
*/
|
|
108
|
+
async function submitViaTeamIssueCreate(env, tenant, data, projectCode, explicitProjectId) {
|
|
109
|
+
const effectiveProjectCode = projectCode || 'barista';
|
|
110
|
+
let projectId = explicitProjectId;
|
|
111
|
+
let projectName;
|
|
112
|
+
const readProject = (rows) => {
|
|
113
|
+
const matched = (rows || []).find((p) => p.projectCode === effectiveProjectCode) || (rows || [])[0];
|
|
114
|
+
if (!matched)
|
|
115
|
+
return;
|
|
116
|
+
if (!projectId)
|
|
117
|
+
projectId = matched.teamProjectId || matched.projectId;
|
|
118
|
+
if (!projectName)
|
|
119
|
+
projectName = matched.projectName;
|
|
120
|
+
};
|
|
121
|
+
if (!projectId) {
|
|
122
|
+
const queryParams = {
|
|
123
|
+
projectCode: effectiveProjectCode,
|
|
124
|
+
pageSize: 10,
|
|
125
|
+
};
|
|
126
|
+
const filtered = await apiClient.listTeamProjects(env, tenant, queryParams);
|
|
127
|
+
if (filtered && filtered.success && filtered.data) {
|
|
128
|
+
const listData = filtered.data;
|
|
129
|
+
readProject(listData.rows || listData.items || []);
|
|
130
|
+
}
|
|
131
|
+
if (!projectId) {
|
|
132
|
+
const all = await apiClient.listTeamProjects(env, tenant, { pageSize: 100 });
|
|
133
|
+
if (all && all.success && all.data) {
|
|
134
|
+
const allData = all.data;
|
|
135
|
+
readProject(allData.rows || allData.items || []);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (!projectId) {
|
|
140
|
+
return {
|
|
141
|
+
response: {
|
|
142
|
+
success: false,
|
|
143
|
+
error: {
|
|
144
|
+
code: 'FALLBACK_PROJECT_NOT_FOUND',
|
|
145
|
+
message: `Cannot resolve Liberica team project "${effectiveProjectCode}" for the A958004 fallback. ` +
|
|
146
|
+
'Pass --project-id <teamProjectId> (e.g. the project ID for the target project).',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
if (!projectName) {
|
|
152
|
+
const projectResponse = await apiClient.getTeamProject(env, tenant, projectId);
|
|
153
|
+
if (projectResponse && projectResponse.success && projectResponse.data) {
|
|
154
|
+
const projectData = projectResponse.data;
|
|
155
|
+
projectName = projectData.projectName;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (!projectName) {
|
|
159
|
+
projectName = effectiveProjectCode;
|
|
160
|
+
}
|
|
161
|
+
const userResponse = await apiClient.getCurrentUser(env, tenant);
|
|
162
|
+
const currentUser = userResponse && userResponse.success
|
|
163
|
+
? userResponse.data
|
|
164
|
+
: undefined;
|
|
165
|
+
const reporterAccount = currentUser?.employeeNumber;
|
|
166
|
+
const reporterName = currentUser?.realName || currentUser?.account;
|
|
167
|
+
const reporterEmail = currentUser?.email || currentUser?.account;
|
|
168
|
+
const createData = {
|
|
169
|
+
issueTitle: data.title,
|
|
170
|
+
issueType: data.issueType || 'BUG',
|
|
171
|
+
issueDesc: buildFallbackDescription(data),
|
|
172
|
+
projectId,
|
|
173
|
+
projectCode: effectiveProjectCode,
|
|
174
|
+
projectName,
|
|
175
|
+
reporterName,
|
|
176
|
+
reporterEmail,
|
|
177
|
+
reporterAccount,
|
|
178
|
+
reportDate: new Date().toISOString().slice(0, 10),
|
|
179
|
+
priority: data.priority || 'MEDIUM',
|
|
180
|
+
teamIssueStatus: 'OPEN',
|
|
181
|
+
scheduledFinishDate: data.scheduledFinishDate || calculateDefaultScheduledFinishDate(data.priority),
|
|
182
|
+
assignTo: reporterAccount ? [reporterAccount] : undefined,
|
|
183
|
+
};
|
|
184
|
+
const created = await apiClient.createTeamIssue(env, tenant, createData);
|
|
185
|
+
if (!created || !created.success || !created.data) {
|
|
186
|
+
return {
|
|
187
|
+
response: created || {
|
|
188
|
+
success: false,
|
|
189
|
+
error: { code: 'CREATE_TEAM_ISSUE_ERROR', message: 'Fallback create returned no response' },
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
const issue = created.data;
|
|
194
|
+
return {
|
|
195
|
+
response: {
|
|
196
|
+
success: true,
|
|
197
|
+
data: {
|
|
198
|
+
trackingCode: issue.trackingCode || '',
|
|
199
|
+
teamIssueId: issue.teamIssueId,
|
|
200
|
+
teamIssueCode: issue.teamIssueCode || '',
|
|
201
|
+
teamIssueStatus: issue.teamIssueStatus || 'OPEN',
|
|
202
|
+
createdAt: issue.gmtCreateTime ||
|
|
203
|
+
issue.createTime ||
|
|
204
|
+
new Date().toISOString(),
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
warning: 'Submitted via the teams issue create fallback because the report endpoint returned A958004. ' +
|
|
208
|
+
'The issue is stored without a Typica groupId until the backend fix is deployed.',
|
|
209
|
+
};
|
|
210
|
+
}
|
|
12
211
|
function formatPreview(env, tenant, data) {
|
|
13
212
|
const lines = [];
|
|
14
213
|
lines.push(chalk.bold('\nIssue Report Preview\n'));
|
|
@@ -17,6 +216,10 @@ function formatPreview(env, tenant, data) {
|
|
|
17
216
|
lines.push(` ${chalk.gray('Title:')} ${data.title}`);
|
|
18
217
|
lines.push(` ${chalk.gray('Type:')} ${data.issueType}`);
|
|
19
218
|
lines.push(` ${chalk.gray('Description:')}\n${chalk.white(data.description)}`);
|
|
219
|
+
if (data.priority)
|
|
220
|
+
lines.push(` ${chalk.gray('Priority:')} ${data.priority}`);
|
|
221
|
+
if (data.scheduledFinishDate)
|
|
222
|
+
lines.push(` ${chalk.gray('Scheduled Finish Date:')} ${data.scheduledFinishDate}`);
|
|
20
223
|
if (data.cliVersion)
|
|
21
224
|
lines.push(` ${chalk.gray('CLI Version:')} ${data.cliVersion}`);
|
|
22
225
|
if (data.osInfo)
|
|
@@ -37,6 +240,9 @@ export function createIssueSubmitCommand() {
|
|
|
37
240
|
.option('--desc-file <path>', 'Read issue description from file (for content exceeding shell limits)')
|
|
38
241
|
.option('--type <string>', 'Issue type: BUG/REQUIREMENT/QUESTION', 'BUG')
|
|
39
242
|
.option('--project-code <string>', 'Target project code (default: barista)')
|
|
243
|
+
.option('--project-id <string>', 'Liberica team project ID used by the A958004 fallback (optional)')
|
|
244
|
+
.option('--priority <string>', 'Priority: LOW/MEDIUM/HIGH/URGENT')
|
|
245
|
+
.option('--scheduled-finish-date <string>', 'Scheduled finish date (yyyy-MM-dd)')
|
|
40
246
|
.option('--error-context <string>', 'Error context or stack trace')
|
|
41
247
|
.option('--error-context-file <path>', 'Read error context from file')
|
|
42
248
|
.option('--attachments <ids>', 'Comma-separated file IDs to attach (e.g., "12345,12346")')
|
|
@@ -84,6 +290,28 @@ export function createIssueSubmitCommand() {
|
|
|
84
290
|
jsonOutput,
|
|
85
291
|
errorCode: typeMapping.errorCode,
|
|
86
292
|
});
|
|
293
|
+
const scheduledFinishDate = opts.scheduledFinishDate;
|
|
294
|
+
if (scheduledFinishDate !== undefined && !/^\d{4}-\d{2}-\d{2}$/.test(scheduledFinishDate)) {
|
|
295
|
+
const message = `Invalid --scheduled-finish-date "${scheduledFinishDate}" — expected yyyy-MM-dd`;
|
|
296
|
+
if (jsonOutput) {
|
|
297
|
+
console.log(JSON.stringify({ success: false, error: { code: 'INVALID_DATE', message } }));
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
console.error(chalk.red(`\nError: ${message}\n`));
|
|
301
|
+
}
|
|
302
|
+
process.exit(1);
|
|
303
|
+
}
|
|
304
|
+
let priority;
|
|
305
|
+
if (opts.priority) {
|
|
306
|
+
const priorityMapping = ENUM_DICT_MAPPING['issue:submit:priority'];
|
|
307
|
+
priority = (await validateEnumValue({
|
|
308
|
+
value: opts.priority,
|
|
309
|
+
dictTypeCode: priorityMapping.dictTypeCode,
|
|
310
|
+
fieldLabel: priorityMapping.fieldLabel,
|
|
311
|
+
jsonOutput,
|
|
312
|
+
errorCode: priorityMapping.errorCode,
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
87
315
|
// Auto-collect environment info — cliVersion imported from package.json
|
|
88
316
|
const osInfo = `${os.platform()} ${os.release()} ${os.arch()} (Node ${process.version})`;
|
|
89
317
|
const data = {
|
|
@@ -93,6 +321,8 @@ export function createIssueSubmitCommand() {
|
|
|
93
321
|
cliVersion,
|
|
94
322
|
osInfo,
|
|
95
323
|
errorContext,
|
|
324
|
+
priority,
|
|
325
|
+
scheduledFinishDate,
|
|
96
326
|
};
|
|
97
327
|
// Parse attachments
|
|
98
328
|
const attachmentIdsRaw = (opts.attachments || '').trim();
|
|
@@ -127,26 +357,61 @@ export function createIssueSubmitCommand() {
|
|
|
127
357
|
console.log(chalk.bold('\nSubmitting issue report...\n'));
|
|
128
358
|
}
|
|
129
359
|
const projectCode = opts.projectCode;
|
|
130
|
-
|
|
360
|
+
let response = await apiClient.submitIssue(env, tenant, data, projectCode);
|
|
361
|
+
let usedFallback = false;
|
|
362
|
+
let fallbackWarning;
|
|
131
363
|
if (!response.success) {
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
364
|
+
const rawErrorMsg = response.error?.message || response.message || 'Failed to submit issue';
|
|
365
|
+
if (isA958004(rawErrorMsg)) {
|
|
366
|
+
const fallback = await submitViaTeamIssueCreate(env, tenant, data, projectCode, opts.projectId);
|
|
367
|
+
if (fallback.response.success) {
|
|
368
|
+
response = fallback.response;
|
|
369
|
+
usedFallback = true;
|
|
370
|
+
fallbackWarning = fallback.warning;
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
const fallbackMsg = fallback.response.error?.message || 'A958004 fallback failed';
|
|
374
|
+
const errorCode = fallback.response.error?.code || 'SUBMIT_ERROR';
|
|
375
|
+
const errorMsg = withA958004Hint(`${rawErrorMsg}\nFallback: ${fallbackMsg}`);
|
|
376
|
+
if (jsonOutput) {
|
|
377
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
console.error(chalk.red(`\nFailed to submit issue: ${errorMsg}`));
|
|
381
|
+
console.error(chalk.gray(` Error code: ${errorCode}`));
|
|
382
|
+
console.error();
|
|
383
|
+
}
|
|
384
|
+
process.exit(1);
|
|
385
|
+
}
|
|
136
386
|
}
|
|
137
387
|
else {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
388
|
+
const errorMsg = rawErrorMsg;
|
|
389
|
+
const errorCode = response.error?.code || response.code || 'SUBMIT_ERROR';
|
|
390
|
+
if (jsonOutput) {
|
|
391
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
141
392
|
}
|
|
142
|
-
|
|
393
|
+
else {
|
|
394
|
+
console.error(chalk.red(`\nFailed to submit issue: ${errorMsg}`));
|
|
395
|
+
if (errorCode) {
|
|
396
|
+
console.error(chalk.gray(` Error code: ${errorCode}`));
|
|
397
|
+
}
|
|
398
|
+
console.error();
|
|
399
|
+
}
|
|
400
|
+
process.exit(1);
|
|
143
401
|
}
|
|
144
|
-
process.exit(1);
|
|
145
402
|
}
|
|
146
403
|
if (response.success) {
|
|
147
404
|
const issue = response.data;
|
|
405
|
+
let overrideWarning;
|
|
406
|
+
if (!usedFallback && issue?.teamIssueId && (scheduledFinishDate || priority)) {
|
|
407
|
+
overrideWarning = await applyIssueOverrides(env, tenant, issue.teamIssueId, priority, scheduledFinishDate);
|
|
408
|
+
}
|
|
409
|
+
const warning = fallbackWarning || overrideWarning;
|
|
148
410
|
if (jsonOutput) {
|
|
149
|
-
|
|
411
|
+
const output = { success: true, data: issue };
|
|
412
|
+
if (warning)
|
|
413
|
+
output.warning = warning;
|
|
414
|
+
console.log(JSON.stringify(output));
|
|
150
415
|
}
|
|
151
416
|
else {
|
|
152
417
|
console.log(chalk.green('\nIssue submitted successfully!\n'));
|
|
@@ -158,6 +423,9 @@ export function createIssueSubmitCommand() {
|
|
|
158
423
|
console.log(` ${chalk.gray('Issue Code:')} ${issue.teamIssueCode}`);
|
|
159
424
|
if (issue?.teamIssueStatus)
|
|
160
425
|
console.log(` ${chalk.gray('Status:')} ${issue.teamIssueStatus}`);
|
|
426
|
+
if (warning) {
|
|
427
|
+
console.warn(chalk.yellow(`\nWarning: ${warning}`));
|
|
428
|
+
}
|
|
161
429
|
console.log();
|
|
162
430
|
}
|
|
163
431
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/submit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../../src/commands/liberica/issue/submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Environment } from '../../../types/index.js';
|
|
2
|
+
export interface ChainSourceIssue {
|
|
3
|
+
teamIssueId: string;
|
|
4
|
+
teamIssueCode?: string;
|
|
5
|
+
chainCode: string;
|
|
6
|
+
}
|
|
7
|
+
export type ResolveChainSourceIssueResult = {
|
|
8
|
+
success: true;
|
|
9
|
+
source: ChainSourceIssue;
|
|
10
|
+
} | {
|
|
11
|
+
success: false;
|
|
12
|
+
error: {
|
|
13
|
+
code: string;
|
|
14
|
+
message: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Resolve an issue reference (19-digit teamIssueId or teamIssueCode) into the
|
|
19
|
+
* grouping information needed by `teams issues|tasks create`.
|
|
20
|
+
*
|
|
21
|
+
* `chainCode` falls back to `I:<issueCode>` when the source issue has no group
|
|
22
|
+
* yet, mirroring the backend's "in-place backfill" rule so the created record
|
|
23
|
+
* joins the same chain immediately.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveChainSourceIssue(environment: Environment, tenant: string, ref: string): Promise<ResolveChainSourceIssueResult>;
|
|
26
|
+
//# sourceMappingURL=chain-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-helper.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/teams/chain-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC3C;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,6BAA6B,CAAC,CAkCxC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { apiClient } from '../../../core/api/client.js';
|
|
2
|
+
/**
|
|
3
|
+
* Resolve an issue reference (19-digit teamIssueId or teamIssueCode) into the
|
|
4
|
+
* grouping information needed by `teams issues|tasks create`.
|
|
5
|
+
*
|
|
6
|
+
* `chainCode` falls back to `I:<issueCode>` when the source issue has no group
|
|
7
|
+
* yet, mirroring the backend's "in-place backfill" rule so the created record
|
|
8
|
+
* joins the same chain immediately.
|
|
9
|
+
*/
|
|
10
|
+
export async function resolveChainSourceIssue(environment, tenant, ref) {
|
|
11
|
+
const trimmed = (ref || '').trim();
|
|
12
|
+
if (!trimmed) {
|
|
13
|
+
return {
|
|
14
|
+
success: false,
|
|
15
|
+
error: { code: 'MISSING_CHAIN_SOURCE', message: 'A source issue reference is required' },
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const response = await apiClient.getTeamIssue(environment, tenant, trimmed);
|
|
19
|
+
if (!response.success || !response.data) {
|
|
20
|
+
return {
|
|
21
|
+
success: false,
|
|
22
|
+
error: response.error || {
|
|
23
|
+
code: 'CHAIN_SOURCE_ISSUE_NOT_FOUND',
|
|
24
|
+
message: `Team issue ${trimmed} could not be resolved`,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
const issue = response.data;
|
|
29
|
+
const issueCode = issue.teamIssueCode || trimmed;
|
|
30
|
+
const chainCode = issue.chainCode && issue.chainCode.trim().length > 0
|
|
31
|
+
? issue.chainCode
|
|
32
|
+
: `I:${issueCode}`;
|
|
33
|
+
return {
|
|
34
|
+
success: true,
|
|
35
|
+
source: {
|
|
36
|
+
teamIssueId: issue.teamIssueId,
|
|
37
|
+
teamIssueCode: issue.teamIssueCode,
|
|
38
|
+
chainCode,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=chain-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-helper.js","sourceRoot":"","sources":["../../../../src/commands/liberica/teams/chain-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAcxD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAwB,EACxB,MAAc,EACd,GAAW;IAEX,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,sCAAsC,EAAE;SACzF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI;gBACvB,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,cAAc,OAAO,wBAAwB;aACvD;SACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAiB,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,IAAI,OAAO,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACpE,CAAC,CAAC,KAAK,CAAC,SAAS;QACjB,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;IAErB,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM,EAAE;YACN,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,SAAS;SACV;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/teams/issues/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwCpC,wBAAgB,4BAA4B,IAAI,OAAO,CA4btD"}
|
|
@@ -6,6 +6,7 @@ import { configManager } from '../../../../core/config/manager.js';
|
|
|
6
6
|
import { shouldUseJson } from '../../../../utils/output.js';
|
|
7
7
|
import { validateEnumValue } from '../../../../utils/enum-validation.js';
|
|
8
8
|
import { ENUM_DICT_MAPPING } from '../../../../utils/enum-dict-mapping.js';
|
|
9
|
+
import { resolveChainSourceIssue } from '../chain-helper.js';
|
|
9
10
|
function formatTable(data) {
|
|
10
11
|
const lines = [];
|
|
11
12
|
lines.push(` ${chalk.gray('Title:')} ${data.issueTitle}`);
|
|
@@ -47,6 +48,10 @@ function formatTable(data) {
|
|
|
47
48
|
lines.push(` ${chalk.gray('Ref ID:')} ${data.refId}`);
|
|
48
49
|
if (data.customProjectCode)
|
|
49
50
|
lines.push(` ${chalk.gray('Custom Project:')} ${data.customProjectCode}${data.customProjectName ? ` (${data.customProjectName})` : ''}`);
|
|
51
|
+
if (data.chainCode)
|
|
52
|
+
lines.push(` ${chalk.gray('Chain Code:')} ${data.chainCode}`);
|
|
53
|
+
if (data.parentIssueCode)
|
|
54
|
+
lines.push(` ${chalk.gray('Parent Issue:')} ${data.parentIssueCode}`);
|
|
50
55
|
return lines.join('\n');
|
|
51
56
|
}
|
|
52
57
|
export function createTeamIssueCreateCommand() {
|
|
@@ -81,6 +86,9 @@ export function createTeamIssueCreateCommand() {
|
|
|
81
86
|
.option('--ref-id <string>', '[deprecated] Reference ID — 后端 refId 字段已移除(20260905040),请改用 --ref-task-code')
|
|
82
87
|
.option('--custom-project-code <string>', 'Custom project code (客户化项目编码,如 swacoovn/swacoo/baiai) — 关联客户化交付看板项目')
|
|
83
88
|
.option('--custom-project-name <string>', 'Custom project name (客户化项目名称,不填时由后端/前端按编码解析)')
|
|
89
|
+
.option('--chain-code <string>', '事项组号(如 I:20261022001 / T:261023001),显式指定分组')
|
|
90
|
+
.option('--chain-from-issue <string>', '从指定 issue(code 或 19 位 ID)继承事项组号 chainCode;与 --chain-code 互斥')
|
|
91
|
+
.option('--parent-issue <string>', '父 issue 编码(parentIssueCode),后端据此继承父 issue 的 chainCode')
|
|
84
92
|
.option('--confirm', 'Confirm action without prompt')
|
|
85
93
|
.option('--dry-run', 'Preview without making API call')
|
|
86
94
|
.option('--json', 'Output as JSON');
|
|
@@ -353,6 +361,35 @@ export function createTeamIssueCreateCommand() {
|
|
|
353
361
|
}
|
|
354
362
|
assignToList = resolvedAssignTo;
|
|
355
363
|
}
|
|
364
|
+
// Chain grouping (20261023229): explicit --chain-code wins; otherwise
|
|
365
|
+
// --chain-from-issue resolves the source issue and reuses its chainCode.
|
|
366
|
+
const chainCodeInput = opts.chainCode;
|
|
367
|
+
const chainFromIssueInput = opts.chainFromIssue;
|
|
368
|
+
const parentIssueInput = opts.parentIssue;
|
|
369
|
+
const emitChainError = (code, message) => {
|
|
370
|
+
if (jsonOutput) {
|
|
371
|
+
console.log(JSON.stringify({ success: false, error: { code, message } }));
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
console.error(chalk.red(`\n✗ ${message}\n`));
|
|
375
|
+
}
|
|
376
|
+
process.exit(1);
|
|
377
|
+
throw new Error('process.exit');
|
|
378
|
+
};
|
|
379
|
+
if (chainCodeInput && chainFromIssueInput) {
|
|
380
|
+
emitChainError('CHAIN_OPTIONS_CONFLICT', 'Options --chain-code and --chain-from-issue are mutually exclusive');
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
let chainCode = chainCodeInput;
|
|
384
|
+
if (chainFromIssueInput) {
|
|
385
|
+
const resolved = await resolveChainSourceIssue(context.environment, context.tenant, chainFromIssueInput);
|
|
386
|
+
if (!resolved.success) {
|
|
387
|
+
emitChainError('CHAIN_SOURCE_ISSUE_NOT_FOUND', `Failed to resolve --chain-from-issue "${chainFromIssueInput}": ${resolved.error.message}`);
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
chainCode = resolved.source.chainCode;
|
|
391
|
+
notes.push(`Resolved chainCode ${chainCode} from issue ${resolved.source.teamIssueCode || chainFromIssueInput}`);
|
|
392
|
+
}
|
|
356
393
|
const data = {
|
|
357
394
|
issueTitle: title,
|
|
358
395
|
issueDesc: desc,
|
|
@@ -380,6 +417,8 @@ export function createTeamIssueCreateCommand() {
|
|
|
380
417
|
refId: opts.refId,
|
|
381
418
|
customProjectCode: opts.customProjectCode,
|
|
382
419
|
customProjectName: opts.customProjectName,
|
|
420
|
+
chainCode: chainCode,
|
|
421
|
+
parentIssueCode: parentIssueInput,
|
|
383
422
|
};
|
|
384
423
|
if (dryRun) {
|
|
385
424
|
if (jsonOutput) {
|