@jagadeesh52423/atlassian-mcp-server 1.0.1 → 1.0.3

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 (85) hide show
  1. package/README.md +92 -45
  2. package/dist/clients/base-client.d.ts +26 -0
  3. package/dist/clients/base-client.d.ts.map +1 -0
  4. package/dist/clients/base-client.js +58 -0
  5. package/dist/clients/base-client.js.map +1 -0
  6. package/dist/clients/bitbucket-client.d.ts +17 -0
  7. package/dist/clients/bitbucket-client.d.ts.map +1 -0
  8. package/dist/clients/bitbucket-client.js +36 -0
  9. package/dist/clients/bitbucket-client.js.map +1 -0
  10. package/dist/clients/confluence-client.d.ts +8 -0
  11. package/dist/clients/confluence-client.d.ts.map +1 -0
  12. package/dist/clients/confluence-client.js +16 -0
  13. package/dist/clients/confluence-client.js.map +1 -0
  14. package/dist/clients/index.d.ts +5 -0
  15. package/dist/clients/index.d.ts.map +1 -0
  16. package/dist/clients/index.js +5 -0
  17. package/dist/clients/index.js.map +1 -0
  18. package/dist/clients/jira-client.d.ts +8 -0
  19. package/dist/clients/jira-client.d.ts.map +1 -0
  20. package/dist/clients/jira-client.js +16 -0
  21. package/dist/clients/jira-client.js.map +1 -0
  22. package/dist/constants.d.ts +67 -0
  23. package/dist/constants.d.ts.map +1 -0
  24. package/dist/constants.js +78 -0
  25. package/dist/constants.js.map +1 -0
  26. package/dist/error-handler.d.ts +77 -0
  27. package/dist/error-handler.d.ts.map +1 -0
  28. package/dist/error-handler.js +135 -0
  29. package/dist/error-handler.js.map +1 -0
  30. package/dist/formatters/adf-formatter.d.ts +25 -0
  31. package/dist/formatters/adf-formatter.d.ts.map +1 -0
  32. package/dist/formatters/adf-formatter.js +609 -0
  33. package/dist/formatters/adf-formatter.js.map +1 -0
  34. package/dist/formatters/index.d.ts +2 -0
  35. package/dist/formatters/index.d.ts.map +1 -0
  36. package/dist/formatters/index.js +2 -0
  37. package/dist/formatters/index.js.map +1 -0
  38. package/dist/handlers/bitbucket-handlers.d.ts +94 -0
  39. package/dist/handlers/bitbucket-handlers.d.ts.map +1 -0
  40. package/dist/handlers/bitbucket-handlers.js +251 -0
  41. package/dist/handlers/bitbucket-handlers.js.map +1 -0
  42. package/dist/handlers/confluence-handlers.d.ts +84 -0
  43. package/dist/handlers/confluence-handlers.d.ts.map +1 -0
  44. package/dist/handlers/confluence-handlers.js +255 -0
  45. package/dist/handlers/confluence-handlers.js.map +1 -0
  46. package/dist/handlers/index.d.ts +4 -0
  47. package/dist/handlers/index.d.ts.map +1 -0
  48. package/dist/handlers/index.js +4 -0
  49. package/dist/handlers/index.js.map +1 -0
  50. package/dist/handlers/jira-handlers.d.ts +153 -0
  51. package/dist/handlers/jira-handlers.d.ts.map +1 -0
  52. package/dist/handlers/jira-handlers.js +577 -0
  53. package/dist/handlers/jira-handlers.js.map +1 -0
  54. package/dist/index.js +147 -2536
  55. package/dist/index.js.map +1 -1
  56. package/dist/services/bitbucket.d.ts +11 -1
  57. package/dist/services/bitbucket.d.ts.map +1 -1
  58. package/dist/services/bitbucket.js +78 -0
  59. package/dist/services/bitbucket.js.map +1 -1
  60. package/dist/services/confluence.d.ts.map +1 -1
  61. package/dist/services/confluence.js +5 -4
  62. package/dist/services/confluence.js.map +1 -1
  63. package/dist/services/jira.d.ts +4 -0
  64. package/dist/services/jira.d.ts.map +1 -1
  65. package/dist/services/jira.js +159 -24
  66. package/dist/services/jira.js.map +1 -1
  67. package/dist/tools/bitbucket-tools.d.ts +6 -0
  68. package/dist/tools/bitbucket-tools.d.ts.map +1 -0
  69. package/dist/tools/bitbucket-tools.js +386 -0
  70. package/dist/tools/bitbucket-tools.js.map +1 -0
  71. package/dist/tools/confluence-tools.d.ts +17 -0
  72. package/dist/tools/confluence-tools.d.ts.map +1 -0
  73. package/dist/tools/confluence-tools.js +337 -0
  74. package/dist/tools/confluence-tools.js.map +1 -0
  75. package/dist/tools/index.d.ts +8 -0
  76. package/dist/tools/index.d.ts.map +1 -0
  77. package/dist/tools/index.js +15 -0
  78. package/dist/tools/index.js.map +1 -0
  79. package/dist/tools/jira-tools.d.ts +6 -0
  80. package/dist/tools/jira-tools.d.ts.map +1 -0
  81. package/dist/tools/jira-tools.js +656 -0
  82. package/dist/tools/jira-tools.js.map +1 -0
  83. package/dist/types.d.ts +23 -0
  84. package/dist/types.d.ts.map +1 -1
  85. package/package.json +1 -1
@@ -0,0 +1,255 @@
1
+ import { successResponse, jsonResponse, errorResponse, ERROR_TIPS, } from '../error-handler.js';
2
+ import { ICONS, ERROR_MESSAGES } from '../constants.js';
3
+ /**
4
+ * Confluence tool handlers
5
+ */
6
+ export class ConfluenceHandlers {
7
+ service;
8
+ constructor(service) {
9
+ this.service = service;
10
+ }
11
+ async searchPages(args) {
12
+ const { query, limit } = args;
13
+ try {
14
+ const pages = await this.service.searchPages({ query, limit });
15
+ return jsonResponse(pages);
16
+ }
17
+ catch (error) {
18
+ return errorResponse(error, {
19
+ operation: 'Failed to search Confluence pages',
20
+ params: { Query: query || 'none', Limit: limit || 25 },
21
+ tip: ERROR_TIPS.CONFLUENCE_SEARCH,
22
+ });
23
+ }
24
+ }
25
+ async getPage(args) {
26
+ const { pageId } = args;
27
+ try {
28
+ const page = await this.service.getPage(pageId);
29
+ return jsonResponse(page);
30
+ }
31
+ catch (error) {
32
+ return errorResponse(error, {
33
+ operation: 'Failed to get Confluence page',
34
+ params: { 'Page ID': pageId },
35
+ tip: ERROR_TIPS.CONFLUENCE_PAGE_VIEW,
36
+ });
37
+ }
38
+ }
39
+ async createPage(args) {
40
+ const { spaceKey, title, content, parentId, images } = args;
41
+ try {
42
+ const page = await this.service.createPageWithImages(spaceKey, title, content, parentId, images);
43
+ const imageCount = images?.length || 0;
44
+ const resultText = imageCount > 0
45
+ ? `${ICONS.SUCCESS} Confluence page created successfully with ${imageCount} image(s)\n\n${JSON.stringify(page, null, 2)}`
46
+ : JSON.stringify(page, null, 2);
47
+ return successResponse(resultText);
48
+ }
49
+ catch (error) {
50
+ const imageInfo = images?.length ? `\n- Images: ${images.length} image(s) to upload` : '';
51
+ return errorResponse(error, {
52
+ operation: 'Failed to create Confluence page',
53
+ params: {
54
+ 'Space Key': spaceKey,
55
+ Title: title,
56
+ 'Parent ID': parentId || 'none',
57
+ },
58
+ tip: ERROR_TIPS.CONFLUENCE_PAGE_CREATE + (images?.length ? ' For images, ensure they are properly base64 encoded.' : ''),
59
+ });
60
+ }
61
+ }
62
+ async updatePage(args) {
63
+ const { pageId, title, content, version } = args;
64
+ try {
65
+ const page = await this.service.updatePage(pageId, title, content, version);
66
+ return jsonResponse(page);
67
+ }
68
+ catch (error) {
69
+ return errorResponse(error, {
70
+ operation: 'Failed to update Confluence page',
71
+ params: { 'Page ID': pageId, Title: title, Version: version },
72
+ tip: ERROR_TIPS.CONFLUENCE_PAGE_EDIT,
73
+ });
74
+ }
75
+ }
76
+ async getSpaces(args) {
77
+ const { limit } = args;
78
+ try {
79
+ const spaces = await this.service.getSpaces(limit);
80
+ return jsonResponse(spaces);
81
+ }
82
+ catch (error) {
83
+ return errorResponse(error, {
84
+ operation: 'Failed to get Confluence spaces',
85
+ params: { Limit: limit || 25 },
86
+ tip: ERROR_TIPS.CONFLUENCE_SPACE,
87
+ });
88
+ }
89
+ }
90
+ async getPagesBySpace(args) {
91
+ const { spaceKey, limit } = args;
92
+ try {
93
+ const pages = await this.service.getPagesBySpace(spaceKey, limit);
94
+ return jsonResponse(pages);
95
+ }
96
+ catch (error) {
97
+ return errorResponse(error, {
98
+ operation: 'Failed to get pages from Confluence space',
99
+ params: { 'Space Key': spaceKey, Limit: limit || 25 },
100
+ tip: 'Check if the space key exists and you have permission to view it.',
101
+ });
102
+ }
103
+ }
104
+ async getAttachments(args) {
105
+ const { pageId } = args;
106
+ try {
107
+ const attachments = await this.service.getAttachments(pageId);
108
+ return jsonResponse(attachments);
109
+ }
110
+ catch (error) {
111
+ return errorResponse(error, {
112
+ operation: 'Failed to get attachments for Confluence page',
113
+ params: { 'Page ID': pageId },
114
+ tip: ERROR_TIPS.CONFLUENCE_PAGE_VIEW,
115
+ });
116
+ }
117
+ }
118
+ async addAttachment(args) {
119
+ const { pageId, filename, fileContent, filePath } = args;
120
+ if (!filePath && !fileContent) {
121
+ return {
122
+ content: [{ type: 'text', text: `${ICONS.ERROR} ${ERROR_MESSAGES.MISSING_FILE_INPUT}` }],
123
+ isError: true,
124
+ };
125
+ }
126
+ try {
127
+ const result = await this.service.addAttachment(pageId, filename, fileContent, filePath);
128
+ const attachedFilename = result.results?.[0]?.title || filename || filePath?.split('/').pop() || 'attachment';
129
+ return successResponse(`${ICONS.SUCCESS} Attachment "${attachedFilename}" added successfully to page ${pageId}\n\n${JSON.stringify(result, null, 2)}`);
130
+ }
131
+ catch (error) {
132
+ const source = filePath ? `File Path: ${filePath}` : `Filename: ${filename}`;
133
+ return errorResponse(error, {
134
+ operation: 'Failed to add attachment to Confluence page',
135
+ params: { 'Page ID': pageId, [filePath ? 'File Path' : 'Filename']: filePath || filename },
136
+ tip: ERROR_TIPS.CONFLUENCE_ATTACHMENT,
137
+ });
138
+ }
139
+ }
140
+ async deleteAttachment(args) {
141
+ const { attachmentId } = args;
142
+ try {
143
+ await this.service.deleteAttachment(attachmentId);
144
+ return successResponse(`${ICONS.SUCCESS} Attachment ${attachmentId} deleted successfully`);
145
+ }
146
+ catch (error) {
147
+ return errorResponse(error, {
148
+ operation: 'Failed to delete attachment',
149
+ params: { 'Attachment ID': attachmentId },
150
+ tip: 'Check if the attachment exists and you have permission to delete it.',
151
+ });
152
+ }
153
+ }
154
+ async embedImage(args) {
155
+ const { pageId, filename, fileContent, filePath, alt, caption, width, align, position, headingText } = args;
156
+ if (!filePath && !fileContent) {
157
+ return {
158
+ content: [{ type: 'text', text: `${ICONS.ERROR} ${ERROR_MESSAGES.MISSING_FILE_INPUT}` }],
159
+ isError: true,
160
+ };
161
+ }
162
+ try {
163
+ const result = await this.service.embedImage(pageId, filename, fileContent, filePath, {
164
+ alt,
165
+ caption,
166
+ width,
167
+ align,
168
+ position,
169
+ headingText,
170
+ });
171
+ const embeddedFilename = result.attachment.results?.[0]?.title || filename || filePath?.split('/').pop() || 'image';
172
+ return successResponse(`${ICONS.SUCCESS} Image "${embeddedFilename}" attached and embedded successfully!\n\n` +
173
+ `**Attachment ID:** ${result.attachment.results?.[0]?.id}\n` +
174
+ `**Page Version:** ${result.page.version}\n` +
175
+ `**Position:** ${position || 'bottom'}\n` +
176
+ (align ? `**Alignment:** ${align}\n` : '') +
177
+ (width ? `**Width:** ${width}px\n` : '') +
178
+ (caption ? `**Caption:** ${caption}` : ''));
179
+ }
180
+ catch (error) {
181
+ return errorResponse(error, {
182
+ operation: 'Failed to embed image in Confluence page',
183
+ params: {
184
+ 'Page ID': pageId,
185
+ [filePath ? 'File Path' : 'Filename']: filePath || filename,
186
+ Position: position || 'bottom',
187
+ },
188
+ tip: 'Check if the page exists, you have edit permission, and the file path exists or content is properly base64 encoded.',
189
+ });
190
+ }
191
+ }
192
+ async getComments(args) {
193
+ const { pageId } = args;
194
+ try {
195
+ const comments = await this.service.getComments(pageId);
196
+ return jsonResponse(comments);
197
+ }
198
+ catch (error) {
199
+ return errorResponse(error, {
200
+ operation: 'Failed to get comments',
201
+ params: { 'Page ID': pageId },
202
+ tip: ERROR_TIPS.CONFLUENCE_PAGE_VIEW,
203
+ });
204
+ }
205
+ }
206
+ async addComment(args) {
207
+ const { pageId, body } = args;
208
+ try {
209
+ const comment = await this.service.addComment(pageId, body);
210
+ return successResponse(`${ICONS.SUCCESS} Comment added successfully!\n\n` +
211
+ `**Comment ID:** ${comment.id}\n` +
212
+ `**Author:** ${comment.author}\n` +
213
+ `**Created:** ${comment.created}`);
214
+ }
215
+ catch (error) {
216
+ return errorResponse(error, {
217
+ operation: 'Failed to add comment',
218
+ params: { 'Page ID': pageId },
219
+ tip: 'Check if the page exists and you have permission to comment on it.',
220
+ });
221
+ }
222
+ }
223
+ async updateComment(args) {
224
+ const { commentId, body, version } = args;
225
+ try {
226
+ const comment = await this.service.updateComment(commentId, body, version);
227
+ return successResponse(`${ICONS.SUCCESS} Comment updated successfully!\n\n` +
228
+ `**Comment ID:** ${comment.id}\n` +
229
+ `**New Version:** ${comment.version}\n` +
230
+ `**Updated:** ${comment.updated}`);
231
+ }
232
+ catch (error) {
233
+ return errorResponse(error, {
234
+ operation: 'Failed to update comment',
235
+ params: { 'Comment ID': commentId, Version: version },
236
+ tip: 'Check if the comment exists, you have permission to edit it, and the version number is correct.',
237
+ });
238
+ }
239
+ }
240
+ async deleteComment(args) {
241
+ const { commentId } = args;
242
+ try {
243
+ await this.service.deleteComment(commentId);
244
+ return successResponse(`${ICONS.SUCCESS} Comment ${commentId} deleted successfully`);
245
+ }
246
+ catch (error) {
247
+ return errorResponse(error, {
248
+ operation: 'Failed to delete comment',
249
+ params: { 'Comment ID': commentId },
250
+ tip: 'Check if the comment exists and you have permission to delete it.',
251
+ });
252
+ }
253
+ }
254
+ }
255
+ //# sourceMappingURL=confluence-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confluence-handlers.js","sourceRoot":"","sources":["../../src/handlers/confluence-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { ConfluenceHandlers } from './confluence-handlers.js';
2
+ export { JiraHandlers } from './jira-handlers.js';
3
+ export { BitbucketHandlers } from './bitbucket-handlers.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ConfluenceHandlers } from './confluence-handlers.js';
2
+ export { JiraHandlers } from './jira-handlers.js';
3
+ export { BitbucketHandlers } from './bitbucket-handlers.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,153 @@
1
+ import { JiraService } from '../services/jira.js';
2
+ import { ToolResponse } from '../error-handler.js';
3
+ /**
4
+ * Jira tool handlers
5
+ */
6
+ export declare class JiraHandlers {
7
+ private service;
8
+ constructor(service: JiraService);
9
+ searchIssues(args: {
10
+ query?: string;
11
+ assignee?: string;
12
+ status?: string;
13
+ project?: string;
14
+ labels?: string[];
15
+ reporter?: string;
16
+ createdAfter?: string;
17
+ updatedAfter?: string;
18
+ jql?: string;
19
+ fields?: string[];
20
+ limit?: number;
21
+ }): Promise<ToolResponse>;
22
+ getIssue(args: {
23
+ issueKey: string;
24
+ }): Promise<ToolResponse>;
25
+ createIssue(args: {
26
+ projectKey: string;
27
+ summary: string;
28
+ description: string;
29
+ issueType?: string;
30
+ duedate?: string;
31
+ priority?: string;
32
+ labels?: string[];
33
+ components?: string[];
34
+ assignee?: string;
35
+ customFields?: Record<string, any>;
36
+ }): Promise<ToolResponse>;
37
+ updateIssue(args: {
38
+ issueKey: string;
39
+ summary?: string;
40
+ description?: string;
41
+ assignee?: string;
42
+ }): Promise<ToolResponse>;
43
+ addComment(args: {
44
+ issueKey: string;
45
+ comment: string;
46
+ }): Promise<ToolResponse>;
47
+ getComments(args: {
48
+ issueKey: string;
49
+ }): Promise<ToolResponse>;
50
+ updateComment(args: {
51
+ issueKey: string;
52
+ commentId: string;
53
+ comment: string;
54
+ }): Promise<ToolResponse>;
55
+ deleteComment(args: {
56
+ issueKey: string;
57
+ commentId: string;
58
+ }): Promise<ToolResponse>;
59
+ getProjects(): Promise<ToolResponse>;
60
+ getIssueTransitions(args: {
61
+ issueKey: string;
62
+ }): Promise<ToolResponse>;
63
+ transitionIssue(args: {
64
+ issueKey: string;
65
+ transitionId: string;
66
+ fieldValues?: Record<string, any>;
67
+ }): Promise<ToolResponse>;
68
+ transitionIssueInteractive(args: {
69
+ issueKey: string;
70
+ transitionId: string;
71
+ fieldValues?: Record<string, any>;
72
+ }): Promise<ToolResponse>;
73
+ getAttachments(args: {
74
+ issueKey: string;
75
+ }): Promise<ToolResponse>;
76
+ addAttachment(args: {
77
+ issueKey: string;
78
+ filename: string;
79
+ fileContent: string;
80
+ }): Promise<ToolResponse>;
81
+ deleteAttachment(args: {
82
+ attachmentId: string;
83
+ }): Promise<ToolResponse>;
84
+ getIssueLinks(args: {
85
+ issueKey: string;
86
+ }): Promise<ToolResponse>;
87
+ createIssueLink(args: {
88
+ inwardIssueKey: string;
89
+ outwardIssueKey: string;
90
+ linkType: string;
91
+ }): Promise<ToolResponse>;
92
+ deleteIssueLink(args: {
93
+ linkId: string;
94
+ }): Promise<ToolResponse>;
95
+ getLinkTypes(): Promise<ToolResponse>;
96
+ getWorklogs(args: {
97
+ issueKey: string;
98
+ }): Promise<ToolResponse>;
99
+ addWorklog(args: {
100
+ issueKey: string;
101
+ timeSpentSeconds: number;
102
+ comment?: string;
103
+ started?: string;
104
+ }): Promise<ToolResponse>;
105
+ updateWorklog(args: {
106
+ issueKey: string;
107
+ worklogId: string;
108
+ timeSpentSeconds?: number;
109
+ comment?: string;
110
+ }): Promise<ToolResponse>;
111
+ deleteWorklog(args: {
112
+ issueKey: string;
113
+ worklogId: string;
114
+ }): Promise<ToolResponse>;
115
+ getWatchers(args: {
116
+ issueKey: string;
117
+ }): Promise<ToolResponse>;
118
+ addWatcher(args: {
119
+ issueKey: string;
120
+ accountId: string;
121
+ }): Promise<ToolResponse>;
122
+ removeWatcher(args: {
123
+ issueKey: string;
124
+ accountId: string;
125
+ }): Promise<ToolResponse>;
126
+ getSubtasks(args: {
127
+ issueKey: string;
128
+ }): Promise<ToolResponse>;
129
+ createSubtask(args: {
130
+ parentKey: string;
131
+ summary: string;
132
+ description: string;
133
+ }): Promise<ToolResponse>;
134
+ getIssueHistory(args: {
135
+ issueKey: string;
136
+ }): Promise<ToolResponse>;
137
+ getFields(args: {
138
+ type?: string;
139
+ }): Promise<ToolResponse>;
140
+ getLabels(args: {
141
+ query?: string;
142
+ maxResults?: number;
143
+ }): Promise<ToolResponse>;
144
+ addLabels(args: {
145
+ issueKey: string;
146
+ labels: string[];
147
+ }): Promise<ToolResponse>;
148
+ removeLabels(args: {
149
+ issueKey: string;
150
+ labels: string[];
151
+ }): Promise<ToolResponse>;
152
+ }
153
+ //# sourceMappingURL=jira-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-handlers.d.ts","sourceRoot":"","sources":["../../src/handlers/jira-handlers.ts"],"names":[],"mappings":"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"}