@gongrzhe/server-jira 0.1.0

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.
Files changed (66) hide show
  1. package/README.md +374 -0
  2. package/dist/common/context.d.ts +15 -0
  3. package/dist/common/context.d.ts.map +1 -0
  4. package/dist/common/context.js +33 -0
  5. package/dist/common/context.js.map +1 -0
  6. package/dist/common/errors.d.ts +26 -0
  7. package/dist/common/errors.d.ts.map +1 -0
  8. package/dist/common/errors.js +71 -0
  9. package/dist/common/errors.js.map +1 -0
  10. package/dist/common/token-parser.d.ts +53 -0
  11. package/dist/common/token-parser.d.ts.map +1 -0
  12. package/dist/common/token-parser.js +117 -0
  13. package/dist/common/token-parser.js.map +1 -0
  14. package/dist/common/types.d.ts +151 -0
  15. package/dist/common/types.d.ts.map +1 -0
  16. package/dist/common/types.js +2 -0
  17. package/dist/common/types.js.map +1 -0
  18. package/dist/common/utils.d.ts +9 -0
  19. package/dist/common/utils.d.ts.map +1 -0
  20. package/dist/common/utils.js +116 -0
  21. package/dist/common/utils.js.map +1 -0
  22. package/dist/common/version.d.ts +2 -0
  23. package/dist/common/version.d.ts.map +1 -0
  24. package/dist/common/version.js +3 -0
  25. package/dist/common/version.js.map +1 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +505 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/operations/atlassian.d.ts +27 -0
  31. package/dist/operations/atlassian.d.ts.map +1 -0
  32. package/dist/operations/atlassian.js +27 -0
  33. package/dist/operations/atlassian.js.map +1 -0
  34. package/dist/operations/comments.d.ts +117 -0
  35. package/dist/operations/comments.d.ts.map +1 -0
  36. package/dist/operations/comments.js +153 -0
  37. package/dist/operations/comments.js.map +1 -0
  38. package/dist/operations/issues.d.ts +146 -0
  39. package/dist/operations/issues.d.ts.map +1 -0
  40. package/dist/operations/issues.js +250 -0
  41. package/dist/operations/issues.js.map +1 -0
  42. package/dist/operations/metadata.d.ts +176 -0
  43. package/dist/operations/metadata.d.ts.map +1 -0
  44. package/dist/operations/metadata.js +143 -0
  45. package/dist/operations/metadata.js.map +1 -0
  46. package/dist/operations/projects.d.ts +159 -0
  47. package/dist/operations/projects.d.ts.map +1 -0
  48. package/dist/operations/projects.js +175 -0
  49. package/dist/operations/projects.js.map +1 -0
  50. package/dist/operations/users.d.ts +130 -0
  51. package/dist/operations/users.d.ts.map +1 -0
  52. package/dist/operations/users.js +214 -0
  53. package/dist/operations/users.js.map +1 -0
  54. package/dist/operations/workflow.d.ts +110 -0
  55. package/dist/operations/workflow.d.ts.map +1 -0
  56. package/dist/operations/workflow.js +203 -0
  57. package/dist/operations/workflow.js.map +1 -0
  58. package/dist/operations/worklog.d.ts +175 -0
  59. package/dist/operations/worklog.d.ts.map +1 -0
  60. package/dist/operations/worklog.js +322 -0
  61. package/dist/operations/worklog.js.map +1 -0
  62. package/dist/test-token-discovery.d.ts +6 -0
  63. package/dist/test-token-discovery.d.ts.map +1 -0
  64. package/dist/test-token-discovery.js +26 -0
  65. package/dist/test-token-discovery.js.map +1 -0
  66. package/package.json +54 -0
@@ -0,0 +1,250 @@
1
+ import { z } from 'zod';
2
+ import { jiraRequest, validateIssueKey, formatJQL, parseJiraErrors } from '../common/utils.js';
3
+ import { JiraValidationError, JiraResourceNotFoundError } from '../common/errors.js';
4
+ // Schema definitions (jiraUrl is auto-injected from token)
5
+ export const GetIssueSchema = z.object({
6
+ issueKey: z.string().describe("The issue key (e.g., 'PROJ-123')"),
7
+ expand: z.array(z.string()).optional().describe("Additional fields to expand (e.g., ['comments', 'changelog'])"),
8
+ });
9
+ export const SearchIssuesSchema = z.object({
10
+ jql: z.string().describe("JQL (JIRA Query Language) query string"),
11
+ startAt: z.number().default(0).describe("Starting index for pagination"),
12
+ maxResults: z.number().default(50).describe("Maximum number of results to return"),
13
+ fields: z.array(z.string()).optional().describe("Specific fields to return"),
14
+ expand: z.array(z.string()).optional().describe("Fields to expand"),
15
+ });
16
+ export const CreateIssueSchema = z.object({
17
+ project: z.string().describe("Project key or ID"),
18
+ issueType: z.string().describe("Issue type name or ID"),
19
+ summary: z.string().describe("Issue summary/title"),
20
+ description: z.string().optional().describe("Issue description"),
21
+ priority: z.string().optional().describe("Priority name or ID"),
22
+ assignee: z.string().optional().describe("Assignee account ID or username"),
23
+ labels: z.array(z.string()).optional().describe("Issue labels"),
24
+ components: z.array(z.string()).optional().describe("Component names or IDs"),
25
+ fixVersions: z.array(z.string()).optional().describe("Fix version names or IDs"),
26
+ customFields: z.record(z.any()).optional().describe("Custom field values"),
27
+ });
28
+ export const UpdateIssueSchema = z.object({
29
+ issueKey: z.string().describe("The issue key to update"),
30
+ summary: z.string().optional().describe("New summary"),
31
+ description: z.string().optional().describe("New description"),
32
+ priority: z.string().optional().describe("New priority"),
33
+ assignee: z.string().optional().describe("New assignee account ID"),
34
+ labels: z.array(z.string()).optional().describe("New labels (replaces existing)"),
35
+ components: z.array(z.string()).optional().describe("New components"),
36
+ fixVersions: z.array(z.string()).optional().describe("New fix versions"),
37
+ customFields: z.record(z.any()).optional().describe("Custom field updates"),
38
+ });
39
+ export const DeleteIssueSchema = z.object({
40
+ issueKey: z.string().describe("The issue key to delete"),
41
+ deleteSubtasks: z.boolean().default(false).describe("Whether to delete subtasks"),
42
+ });
43
+ export const AssignIssueSchema = z.object({
44
+ issueKey: z.string().describe("The issue key to assign"),
45
+ assignee: z.string().describe("Assignee account ID, username, or 'unassigned'"),
46
+ });
47
+ export const LinkIssuesSchema = z.object({
48
+ outwardIssue: z.string().describe("Source issue key"),
49
+ inwardIssue: z.string().describe("Target issue key"),
50
+ linkType: z.string().describe("Link type name (e.g., 'Blocks', 'Relates')"),
51
+ comment: z.string().optional().describe("Optional comment for the link"),
52
+ });
53
+ // Implementation functions
54
+ export async function getIssue(params) {
55
+ const { issueKey, expand } = params;
56
+ if (!validateIssueKey(issueKey)) {
57
+ throw new JiraValidationError(`Invalid issue key format: ${issueKey}`);
58
+ }
59
+ const expandParam = expand ? `?expand=${expand.join(',')}` : '';
60
+ try {
61
+ const issue = await jiraRequest(`issue/${issueKey}${expandParam}`);
62
+ return issue;
63
+ }
64
+ catch (error) {
65
+ if (error.statusCode === 404) {
66
+ throw new JiraResourceNotFoundError('Issue', issueKey);
67
+ }
68
+ throw error;
69
+ }
70
+ }
71
+ export async function searchIssues(params) {
72
+ const { jql, startAt, maxResults, fields, expand } = params;
73
+ const query = new URLSearchParams({
74
+ jql: formatJQL(jql),
75
+ startAt: startAt.toString(),
76
+ maxResults: Math.min(maxResults, 1000).toString(), // JIRA max limit
77
+ });
78
+ if (fields && fields.length > 0) {
79
+ query.set('fields', fields.join(','));
80
+ }
81
+ if (expand && expand.length > 0) {
82
+ query.set('expand', expand.join(','));
83
+ }
84
+ const results = await jiraRequest(`search?${query.toString()}`);
85
+ return results;
86
+ }
87
+ export async function createIssue(params) {
88
+ const { project, issueType, summary, description, priority, assignee, labels, components, fixVersions, customFields } = params;
89
+ const fields = {
90
+ project: { key: project },
91
+ issuetype: { name: issueType },
92
+ summary,
93
+ };
94
+ if (description)
95
+ fields.description = description;
96
+ if (priority)
97
+ fields.priority = { name: priority };
98
+ if (assignee)
99
+ fields.assignee = { accountId: assignee };
100
+ if (labels && labels.length > 0)
101
+ fields.labels = labels;
102
+ if (components && components.length > 0) {
103
+ fields.components = components.map(c => ({ name: c }));
104
+ }
105
+ if (fixVersions && fixVersions.length > 0) {
106
+ fields.versions = fixVersions.map(v => ({ name: v }));
107
+ }
108
+ // Add custom fields
109
+ if (customFields) {
110
+ Object.assign(fields, customFields);
111
+ }
112
+ try {
113
+ const result = await jiraRequest('issue', {
114
+ method: 'POST',
115
+ body: JSON.stringify({ fields }),
116
+ });
117
+ // Fetch the created issue to return full details
118
+ return await getIssue({ issueKey: result.key });
119
+ }
120
+ catch (error) {
121
+ if (error.statusCode === 400) {
122
+ const errors = parseJiraErrors(error.responseBody || {});
123
+ throw new JiraValidationError(`Failed to create issue: ${errors.join(', ')}`);
124
+ }
125
+ throw error;
126
+ }
127
+ }
128
+ export async function updateIssue(params) {
129
+ const { issueKey, ...updateFields } = params;
130
+ if (!validateIssueKey(issueKey)) {
131
+ throw new JiraValidationError(`Invalid issue key format: ${issueKey}`);
132
+ }
133
+ const fields = {};
134
+ if (updateFields.summary)
135
+ fields.summary = updateFields.summary;
136
+ if (updateFields.description)
137
+ fields.description = updateFields.description;
138
+ if (updateFields.priority)
139
+ fields.priority = { name: updateFields.priority };
140
+ if (updateFields.assignee)
141
+ fields.assignee = { accountId: updateFields.assignee };
142
+ if (updateFields.labels)
143
+ fields.labels = updateFields.labels;
144
+ if (updateFields.components) {
145
+ fields.components = updateFields.components.map(c => ({ name: c }));
146
+ }
147
+ if (updateFields.fixVersions) {
148
+ fields.fixVersions = updateFields.fixVersions.map(v => ({ name: v }));
149
+ }
150
+ // Add custom fields
151
+ if (updateFields.customFields) {
152
+ Object.assign(fields, updateFields.customFields);
153
+ }
154
+ try {
155
+ await jiraRequest(`issue/${issueKey}`, {
156
+ method: 'PUT',
157
+ body: JSON.stringify({ fields }),
158
+ });
159
+ // Return updated issue
160
+ return await getIssue({ issueKey });
161
+ }
162
+ catch (error) {
163
+ if (error.statusCode === 400) {
164
+ const errors = parseJiraErrors(error.responseBody || {});
165
+ throw new JiraValidationError(`Failed to update issue: ${errors.join(', ')}`);
166
+ }
167
+ if (error.statusCode === 404) {
168
+ throw new JiraResourceNotFoundError('Issue', issueKey);
169
+ }
170
+ throw error;
171
+ }
172
+ }
173
+ export async function deleteIssue(params) {
174
+ const { issueKey, deleteSubtasks } = params;
175
+ if (!validateIssueKey(issueKey)) {
176
+ throw new JiraValidationError(`Invalid issue key format: ${issueKey}`);
177
+ }
178
+ const query = deleteSubtasks ? '?deleteSubtasks=true' : '';
179
+ try {
180
+ await jiraRequest(`issue/${issueKey}${query}`, {
181
+ method: 'DELETE',
182
+ });
183
+ return {
184
+ success: true,
185
+ message: `Issue ${issueKey} deleted successfully`,
186
+ };
187
+ }
188
+ catch (error) {
189
+ if (error.statusCode === 404) {
190
+ throw new JiraResourceNotFoundError('Issue', issueKey);
191
+ }
192
+ throw error;
193
+ }
194
+ }
195
+ export async function assignIssue(params) {
196
+ const { issueKey, assignee } = params;
197
+ if (!validateIssueKey(issueKey)) {
198
+ throw new JiraValidationError(`Invalid issue key format: ${issueKey}`);
199
+ }
200
+ const assigneeValue = assignee === 'unassigned' ? null : { accountId: assignee };
201
+ try {
202
+ await jiraRequest(`issue/${issueKey}`, {
203
+ method: 'PUT',
204
+ body: JSON.stringify({
205
+ fields: {
206
+ assignee: assigneeValue,
207
+ },
208
+ }),
209
+ });
210
+ return await getIssue({ issueKey });
211
+ }
212
+ catch (error) {
213
+ if (error.statusCode === 404) {
214
+ throw new JiraResourceNotFoundError('Issue', issueKey);
215
+ }
216
+ throw error;
217
+ }
218
+ }
219
+ export async function linkIssues(params) {
220
+ const { outwardIssue, inwardIssue, linkType, comment } = params;
221
+ if (!validateIssueKey(outwardIssue) || !validateIssueKey(inwardIssue)) {
222
+ throw new JiraValidationError('Invalid issue key format');
223
+ }
224
+ const linkData = {
225
+ type: { name: linkType },
226
+ outwardIssue: { key: outwardIssue },
227
+ inwardIssue: { key: inwardIssue },
228
+ };
229
+ if (comment) {
230
+ linkData.comment = { body: comment };
231
+ }
232
+ try {
233
+ await jiraRequest('issueLink', {
234
+ method: 'POST',
235
+ body: JSON.stringify(linkData),
236
+ });
237
+ return {
238
+ success: true,
239
+ message: `Linked ${outwardIssue} to ${inwardIssue} with link type '${linkType}'`,
240
+ };
241
+ }
242
+ catch (error) {
243
+ if (error.statusCode === 400) {
244
+ const errors = parseJiraErrors(error.responseBody || {});
245
+ throw new JiraValidationError(`Failed to link issues: ${errors.join(', ')}`);
246
+ }
247
+ throw error;
248
+ }
249
+ }
250
+ //# sourceMappingURL=issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../operations/issues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ import { z } from 'zod';
2
+ import { JiraField } from '../common/types.js';
3
+ export declare const GetIssueTypesSchema: z.ZodObject<{
4
+ projectKey: z.ZodOptional<z.ZodString>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ projectKey?: string | undefined;
7
+ }, {
8
+ projectKey?: string | undefined;
9
+ }>;
10
+ export declare const GetPrioritiesSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
11
+ export declare const GetStatusesSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
12
+ export declare const GetFieldsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
13
+ export declare const GetResolutionsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
14
+ export declare const GetIssueLinkTypesSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
15
+ export declare const GetCreateMetaSchema: z.ZodObject<{
16
+ projectKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
+ projectIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
18
+ issueTypeIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
+ issueTypeNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
20
+ expand: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ expand?: string[] | undefined;
23
+ projectKeys?: string[] | undefined;
24
+ projectIds?: string[] | undefined;
25
+ issueTypeIds?: string[] | undefined;
26
+ issueTypeNames?: string[] | undefined;
27
+ }, {
28
+ expand?: string[] | undefined;
29
+ projectKeys?: string[] | undefined;
30
+ projectIds?: string[] | undefined;
31
+ issueTypeIds?: string[] | undefined;
32
+ issueTypeNames?: string[] | undefined;
33
+ }>;
34
+ export declare const GetEditMetaSchema: z.ZodObject<{
35
+ issueKey: z.ZodString;
36
+ overrideScreenSecurity: z.ZodDefault<z.ZodBoolean>;
37
+ overrideEditableFlag: z.ZodDefault<z.ZodBoolean>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ issueKey: string;
40
+ overrideScreenSecurity: boolean;
41
+ overrideEditableFlag: boolean;
42
+ }, {
43
+ issueKey: string;
44
+ overrideScreenSecurity?: boolean | undefined;
45
+ overrideEditableFlag?: boolean | undefined;
46
+ }>;
47
+ export declare function getIssueTypes(params: z.infer<typeof GetIssueTypesSchema>): Promise<Array<{
48
+ id: string;
49
+ name: string;
50
+ description: string;
51
+ iconUrl?: string;
52
+ subtask: boolean;
53
+ avatarId?: number;
54
+ hierarchyLevel?: number;
55
+ }>>;
56
+ export declare function getPriorities(params: z.infer<typeof GetPrioritiesSchema>): Promise<Array<{
57
+ id: string;
58
+ name: string;
59
+ description?: string;
60
+ iconUrl?: string;
61
+ statusColor: string;
62
+ }>>;
63
+ export declare function getStatuses(params: z.infer<typeof GetStatusesSchema>): Promise<Array<{
64
+ id: string;
65
+ name: string;
66
+ description?: string;
67
+ iconUrl?: string;
68
+ statusCategory: {
69
+ id: number;
70
+ key: string;
71
+ colorName: string;
72
+ name: string;
73
+ };
74
+ }>>;
75
+ export declare function getFields(params: z.infer<typeof GetFieldsSchema>): Promise<JiraField[]>;
76
+ export declare function getResolutions(params: z.infer<typeof GetResolutionsSchema>): Promise<Array<{
77
+ id: string;
78
+ name: string;
79
+ description?: string;
80
+ }>>;
81
+ export declare function getIssueLinkTypes(params: z.infer<typeof GetIssueLinkTypesSchema>): Promise<{
82
+ issueLinkTypes: Array<{
83
+ id: string;
84
+ name: string;
85
+ inward: string;
86
+ outward: string;
87
+ }>;
88
+ }>;
89
+ export declare function getCreateMeta(params: z.infer<typeof GetCreateMetaSchema>): Promise<{
90
+ projects: Array<{
91
+ id: string;
92
+ key: string;
93
+ name: string;
94
+ avatarUrls?: any;
95
+ issueTypes: Array<{
96
+ id: string;
97
+ name: string;
98
+ description?: string;
99
+ iconUrl?: string;
100
+ subtask: boolean;
101
+ expand?: string;
102
+ fields?: {
103
+ [fieldKey: string]: {
104
+ required: boolean;
105
+ schema: any;
106
+ name: string;
107
+ key: string;
108
+ hasDefaultValue: boolean;
109
+ operations: string[];
110
+ allowedValues?: any[];
111
+ defaultValue?: any;
112
+ };
113
+ };
114
+ }>;
115
+ }>;
116
+ }>;
117
+ export declare function getEditMeta(params: z.infer<typeof GetEditMetaSchema>): Promise<{
118
+ fields: {
119
+ [fieldKey: string]: {
120
+ required: boolean;
121
+ schema: any;
122
+ name: string;
123
+ key: string;
124
+ hasDefaultValue: boolean;
125
+ operations: string[];
126
+ allowedValues?: any[];
127
+ defaultValue?: any;
128
+ };
129
+ };
130
+ }>;
131
+ export declare function getCustomFields(params: {
132
+ jiraUrl: string;
133
+ }): Promise<JiraField[]>;
134
+ export declare function getSystemFields(params: {
135
+ jiraUrl: string;
136
+ }): Promise<JiraField[]>;
137
+ export declare function getFieldOptions(params: {
138
+ fieldKey: string;
139
+ startAt?: number;
140
+ maxResults?: number;
141
+ }): Promise<{
142
+ values: Array<{
143
+ id: string;
144
+ value: string;
145
+ optionId?: string;
146
+ disabled?: boolean;
147
+ }>;
148
+ total: number;
149
+ startAt: number;
150
+ maxResults: number;
151
+ }>;
152
+ export declare function getApplicationProperties(): Promise<Array<{
153
+ id: string;
154
+ key: string;
155
+ value: string;
156
+ name: string;
157
+ desc: string;
158
+ type: string;
159
+ defaultValue?: string;
160
+ }>>;
161
+ export declare function getConfiguration(): Promise<{
162
+ votingEnabled: boolean;
163
+ watchingEnabled: boolean;
164
+ unassignedIssuesAllowed: boolean;
165
+ subTasksEnabled: boolean;
166
+ issueLinkingEnabled: boolean;
167
+ timeTrackingEnabled: boolean;
168
+ attachmentsEnabled: boolean;
169
+ timeTrackingConfiguration: {
170
+ workingHoursPerDay: number;
171
+ workingDaysPerWeek: number;
172
+ timeFormat: string;
173
+ defaultUnit: string;
174
+ };
175
+ }>;
176
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../operations/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import { z } from 'zod';
2
+ import { jiraRequest } from '../common/utils.js';
3
+ import { JiraResourceNotFoundError } from '../common/errors.js';
4
+ // Schema definitions
5
+ export const GetIssueTypesSchema = z.object({
6
+ projectKey: z.string().optional().describe("Filter by project key"),
7
+ });
8
+ export const GetPrioritiesSchema = z.object({});
9
+ export const GetStatusesSchema = z.object({});
10
+ export const GetFieldsSchema = z.object({});
11
+ export const GetResolutionsSchema = z.object({});
12
+ export const GetIssueLinkTypesSchema = z.object({});
13
+ export const GetCreateMetaSchema = z.object({
14
+ projectKeys: z.array(z.string()).optional().describe("Project keys to get metadata for"),
15
+ projectIds: z.array(z.string()).optional().describe("Project IDs to get metadata for"),
16
+ issueTypeIds: z.array(z.string()).optional().describe("Issue type IDs to get metadata for"),
17
+ issueTypeNames: z.array(z.string()).optional().describe("Issue type names to get metadata for"),
18
+ expand: z.array(z.string()).optional().describe("Fields to expand"),
19
+ });
20
+ export const GetEditMetaSchema = z.object({
21
+ issueKey: z.string().describe("Issue key to get edit metadata for"),
22
+ overrideScreenSecurity: z.boolean().default(false).describe("Override screen security"),
23
+ overrideEditableFlag: z.boolean().default(false).describe("Override editable flag"),
24
+ });
25
+ // Implementation functions
26
+ export async function getIssueTypes(params) {
27
+ const { projectKey } = params;
28
+ let endpoint = 'issuetype';
29
+ if (projectKey) {
30
+ endpoint = `project/${projectKey}/issuetype`;
31
+ }
32
+ try {
33
+ const issueTypes = await jiraRequest(endpoint);
34
+ return issueTypes;
35
+ }
36
+ catch (error) {
37
+ if (error.statusCode === 404 && projectKey) {
38
+ throw new JiraResourceNotFoundError('Project', projectKey);
39
+ }
40
+ throw error;
41
+ }
42
+ }
43
+ export async function getPriorities(params) {
44
+ const priorities = await jiraRequest('priority');
45
+ return priorities;
46
+ }
47
+ export async function getStatuses(params) {
48
+ const statuses = await jiraRequest('status');
49
+ return statuses;
50
+ }
51
+ export async function getFields(params) {
52
+ const fields = await jiraRequest('field');
53
+ return fields;
54
+ }
55
+ export async function getResolutions(params) {
56
+ const resolutions = await jiraRequest('resolution');
57
+ return resolutions;
58
+ }
59
+ export async function getIssueLinkTypes(params) {
60
+ const linkTypes = await jiraRequest('issueLinkType');
61
+ return linkTypes;
62
+ }
63
+ export async function getCreateMeta(params) {
64
+ const { projectKeys, projectIds, issueTypeIds, issueTypeNames, expand } = params;
65
+ const query = new URLSearchParams();
66
+ if (projectKeys && projectKeys.length > 0) {
67
+ query.set('projectKeys', projectKeys.join(','));
68
+ }
69
+ if (projectIds && projectIds.length > 0) {
70
+ query.set('projectIds', projectIds.join(','));
71
+ }
72
+ if (issueTypeIds && issueTypeIds.length > 0) {
73
+ query.set('issuetypeIds', issueTypeIds.join(','));
74
+ }
75
+ if (issueTypeNames && issueTypeNames.length > 0) {
76
+ query.set('issuetypeNames', issueTypeNames.join(','));
77
+ }
78
+ if (expand && expand.length > 0) {
79
+ query.set('expand', expand.join(','));
80
+ }
81
+ const queryString = query.toString();
82
+ const endpoint = queryString ? `issue/createmeta?${queryString}` : 'issue/createmeta';
83
+ const meta = await jiraRequest(endpoint);
84
+ return meta;
85
+ }
86
+ export async function getEditMeta(params) {
87
+ const { issueKey, overrideScreenSecurity, overrideEditableFlag } = params;
88
+ const query = new URLSearchParams();
89
+ if (overrideScreenSecurity) {
90
+ query.set('overrideScreenSecurity', 'true');
91
+ }
92
+ if (overrideEditableFlag) {
93
+ query.set('overrideEditableFlag', 'true');
94
+ }
95
+ const queryString = query.toString();
96
+ const endpoint = queryString
97
+ ? `issue/${issueKey}/editmeta?${queryString}`
98
+ : `issue/${issueKey}/editmeta`;
99
+ try {
100
+ const meta = await jiraRequest(endpoint);
101
+ return meta;
102
+ }
103
+ catch (error) {
104
+ if (error.statusCode === 404) {
105
+ throw new JiraResourceNotFoundError('Issue', issueKey);
106
+ }
107
+ throw error;
108
+ }
109
+ }
110
+ export async function getCustomFields(params) {
111
+ const allFields = await getFields(params);
112
+ return allFields.filter(field => field.custom);
113
+ }
114
+ export async function getSystemFields(params) {
115
+ const allFields = await getFields(params);
116
+ return allFields.filter(field => !field.custom);
117
+ }
118
+ export async function getFieldOptions(params) {
119
+ const { fieldKey, startAt = 0, maxResults = 50 } = params;
120
+ const query = new URLSearchParams({
121
+ startAt: startAt.toString(),
122
+ maxResults: Math.min(maxResults, 1000).toString(),
123
+ });
124
+ try {
125
+ const options = await jiraRequest(`field/${fieldKey}/option?${query.toString()}`);
126
+ return options;
127
+ }
128
+ catch (error) {
129
+ if (error.statusCode === 404) {
130
+ throw new JiraResourceNotFoundError('Field', fieldKey);
131
+ }
132
+ throw error;
133
+ }
134
+ }
135
+ export async function getApplicationProperties() {
136
+ const properties = await jiraRequest('application-properties');
137
+ return properties;
138
+ }
139
+ export async function getConfiguration() {
140
+ const config = await jiraRequest('configuration');
141
+ return config;
142
+ }
143
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../operations/metadata.ts"],"names":[],"mappings":"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"}