@bubblelab/bubble-core 0.1.28 → 0.1.31
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/bubble-bundle.d.ts +161 -92
- package/dist/bubble-factory.d.ts.map +1 -1
- package/dist/bubble-factory.js +4 -0
- package/dist/bubble-factory.js.map +1 -1
- package/dist/bubbles/service-bubble/agi-inc.d.ts +4 -4
- package/dist/bubbles/service-bubble/airtable.d.ts +94 -94
- package/dist/bubbles/service-bubble/apify/actors/google-maps-scraper.d.ts +2 -2
- package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +20 -20
- package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +30 -30
- package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +26 -26
- package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +56 -56
- package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +16 -16
- package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +31 -31
- package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +8 -8
- package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +153 -153
- package/dist/bubbles/service-bubble/apify/apify.d.ts +4 -4
- package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +1 -1
- package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +4 -4
- package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +8 -8
- package/dist/bubbles/service-bubble/eleven-labs.d.ts +4 -4
- package/dist/bubbles/service-bubble/firecrawl.d.ts +132 -132
- package/dist/bubbles/service-bubble/followupboss.d.ts +34 -34
- package/dist/bubbles/service-bubble/github.d.ts +122 -122
- package/dist/bubbles/service-bubble/gmail.d.ts +391 -391
- package/dist/bubbles/service-bubble/google-calendar.d.ts +96 -96
- package/dist/bubbles/service-bubble/google-drive.d.ts +46 -46
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +41 -41
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts +31 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js +184 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +79 -79
- package/dist/bubbles/service-bubble/google-sheets.d.ts +1811 -0
- package/dist/bubbles/service-bubble/google-sheets.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/google-sheets.js +904 -0
- package/dist/bubbles/service-bubble/google-sheets.js.map +1 -0
- package/dist/bubbles/service-bubble/http.d.ts +12 -12
- package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
- package/dist/bubbles/service-bubble/jira/index.d.ts +5 -0
- package/dist/bubbles/service-bubble/jira/index.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/index.js +5 -0
- package/dist/bubbles/service-bubble/jira/index.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.d.ts +2695 -0
- package/dist/bubbles/service-bubble/jira/jira.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.d.ts +38 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.js +358 -0
- package/dist/bubbles/service-bubble/jira/jira.integration.flow.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.js +573 -0
- package/dist/bubbles/service-bubble/jira/jira.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +3660 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.js +499 -0
- package/dist/bubbles/service-bubble/jira/jira.schema.js.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.d.ts +141 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.js +428 -0
- package/dist/bubbles/service-bubble/jira/jira.utils.js.map +1 -0
- package/dist/bubbles/service-bubble/notion/notion.d.ts +4 -4
- package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +36 -36
- package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
- package/dist/bubbles/service-bubble/resend.d.ts +2 -2
- package/dist/bubbles/service-bubble/slack/slack.d.ts +114 -114
- package/dist/bubbles/service-bubble/slack.d.ts +5869 -0
- package/dist/bubbles/service-bubble/slack.d.ts.map +1 -0
- package/dist/bubbles/service-bubble/slack.js +1536 -0
- package/dist/bubbles/service-bubble/slack.js.map +1 -0
- package/dist/bubbles/service-bubble/storage.d.ts +2 -2
- package/dist/bubbles/service-bubble/telegram.d.ts +6 -6
- package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/instagram-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +172 -172
- package/dist/bubbles/tool-bubble/people-search-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +2 -2
- package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
- package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +44 -44
- package/dist/bubbles/tool-bubble/twitter-tool.d.ts +60 -60
- package/dist/bubbles/tool-bubble/web-search-tool.d.ts +4 -4
- package/dist/bubbles/tool-bubble/youtube-tool.d.ts +10 -10
- package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +18 -18
- package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +48 -48
- package/dist/bubbles.json +1795 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/jira/jira.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,UAAU,EAYhB,MAAM,kBAAkB,CAAC;AAS1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,UAAU,CACrB,CAAC,SAAS,eAAe,GAAG,eAAe,CAC3C,SAAQ,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE;IAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAU;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;IAC5C,MAAM,CAAC,QAAQ,CAAC,UAAU,UAAU;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAoB;IAC1C,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAoB;IAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,gEAC+B;IAC/D,MAAM,CAAC,QAAQ,CAAC,eAAe,2qCA2B7B;IACF,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU;gBAEnB,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;IAIjC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB/C;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;YAmCV,kBAAkB;cAsDhB,aAAa,CAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE;QAAE,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;YAyDhD,MAAM;YAqEN,GAAG;YAoEH,MAAM;YA4EN,MAAM;YA4GN,UAAU;YA4EV,eAAe;YAyBf,YAAY;YA6BZ,cAAc;YAkCd,UAAU;YA4BV,WAAW;IA4CzB,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;CAYjD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BubbleFlow, type WebhookEvent } from '@bubblelab/bubble-core';
|
|
2
|
+
export interface TestResult {
|
|
3
|
+
operation: string;
|
|
4
|
+
success: boolean;
|
|
5
|
+
details?: string;
|
|
6
|
+
issueKey?: string;
|
|
7
|
+
error?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface Output {
|
|
10
|
+
success: boolean;
|
|
11
|
+
testResults: TestResult[];
|
|
12
|
+
createdIssueKey?: string;
|
|
13
|
+
projectKey?: string;
|
|
14
|
+
summary: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Payload for the Jira Integration Test workflow.
|
|
18
|
+
*/
|
|
19
|
+
export type JiraIntegrationTestPayload = WebhookEvent;
|
|
20
|
+
/**
|
|
21
|
+
* Integration flow test for JiraBubble
|
|
22
|
+
*
|
|
23
|
+
* Automatically discovers the first available project and tests all core operations:
|
|
24
|
+
* 1. list_projects - List available Jira projects (uses first one found)
|
|
25
|
+
* 2. list_issue_types - Get issue types for the project
|
|
26
|
+
* 3. create - Create a new test issue
|
|
27
|
+
* 4. get - Retrieve the created issue
|
|
28
|
+
* 5. update - Update the issue (summary, priority, labels)
|
|
29
|
+
* 6. add_comment - Add a comment to the issue
|
|
30
|
+
* 7. get_comments - Retrieve comments
|
|
31
|
+
* 8. list_transitions - Get available transitions
|
|
32
|
+
* 9. transition - Move issue to a different status
|
|
33
|
+
* 10. search - Search for issues using JQL
|
|
34
|
+
*/
|
|
35
|
+
export declare class JiraIntegrationFlow extends BubbleFlow<'webhook/http'> {
|
|
36
|
+
handle(_payload: JiraIntegrationTestPayload): Promise<Output>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=jira.integration.flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira.integration.flow.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/jira/jira.integration.flow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAoB,SAAQ,UAAU,CAAC,cAAc,CAAC;IAC3D,MAAM,CAAC,QAAQ,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC;CAiYpE"}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { BubbleFlow, JiraBubble, } from '@bubblelab/bubble-core';
|
|
2
|
+
/**
|
|
3
|
+
* Integration flow test for JiraBubble
|
|
4
|
+
*
|
|
5
|
+
* Automatically discovers the first available project and tests all core operations:
|
|
6
|
+
* 1. list_projects - List available Jira projects (uses first one found)
|
|
7
|
+
* 2. list_issue_types - Get issue types for the project
|
|
8
|
+
* 3. create - Create a new test issue
|
|
9
|
+
* 4. get - Retrieve the created issue
|
|
10
|
+
* 5. update - Update the issue (summary, priority, labels)
|
|
11
|
+
* 6. add_comment - Add a comment to the issue
|
|
12
|
+
* 7. get_comments - Retrieve comments
|
|
13
|
+
* 8. list_transitions - Get available transitions
|
|
14
|
+
* 9. transition - Move issue to a different status
|
|
15
|
+
* 10. search - Search for issues using JQL
|
|
16
|
+
*/
|
|
17
|
+
export class JiraIntegrationFlow extends BubbleFlow {
|
|
18
|
+
async handle(_payload) {
|
|
19
|
+
const results = [];
|
|
20
|
+
const timestamp = new Date().toISOString();
|
|
21
|
+
let createdIssueKey;
|
|
22
|
+
let projectKey;
|
|
23
|
+
// 1. Test list_projects and get the first available
|
|
24
|
+
try {
|
|
25
|
+
const result = await new JiraBubble({
|
|
26
|
+
operation: 'list_projects',
|
|
27
|
+
limit: 10,
|
|
28
|
+
}).action();
|
|
29
|
+
const success = result.success && result.data.operation === 'list_projects';
|
|
30
|
+
const projects = result.data.operation === 'list_projects'
|
|
31
|
+
? result.data.projects || []
|
|
32
|
+
: [];
|
|
33
|
+
// Use the first available project
|
|
34
|
+
if (projects.length > 0) {
|
|
35
|
+
projectKey = projects[0].key;
|
|
36
|
+
}
|
|
37
|
+
results.push({
|
|
38
|
+
operation: 'list_projects',
|
|
39
|
+
success,
|
|
40
|
+
details: projectKey
|
|
41
|
+
? `Found ${projects.length} projects, using "${projectKey}"`
|
|
42
|
+
: `Found ${projects.length} projects`,
|
|
43
|
+
error: result.data.error,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
results.push({
|
|
48
|
+
operation: 'list_projects',
|
|
49
|
+
success: false,
|
|
50
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
// Stop if no project found
|
|
54
|
+
if (!projectKey) {
|
|
55
|
+
return {
|
|
56
|
+
success: false,
|
|
57
|
+
testResults: results,
|
|
58
|
+
summary: 'No projects found - cannot continue tests',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// 2. Test list_issue_types
|
|
62
|
+
try {
|
|
63
|
+
const result = await new JiraBubble({
|
|
64
|
+
operation: 'list_issue_types',
|
|
65
|
+
project: projectKey,
|
|
66
|
+
}).action();
|
|
67
|
+
const success = result.success && result.data.operation === 'list_issue_types';
|
|
68
|
+
const typeCount = result.data.operation === 'list_issue_types'
|
|
69
|
+
? result.data.issue_types?.length || 0
|
|
70
|
+
: 0;
|
|
71
|
+
results.push({
|
|
72
|
+
operation: 'list_issue_types',
|
|
73
|
+
success,
|
|
74
|
+
details: `Found ${typeCount} issue types for ${projectKey}`,
|
|
75
|
+
error: result.data.error,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
results.push({
|
|
80
|
+
operation: 'list_issue_types',
|
|
81
|
+
success: false,
|
|
82
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
// 3. Test create (with markdown description)
|
|
86
|
+
const markdownDescription = `# Integration Test Issue
|
|
87
|
+
|
|
88
|
+
This issue was created by the **Jira Integration Flow** test.
|
|
89
|
+
|
|
90
|
+
## Features Tested
|
|
91
|
+
- **Bold text** and *italic text*
|
|
92
|
+
- \`inline code\` formatting
|
|
93
|
+
- [Link to Anthropic](https://anthropic.com)
|
|
94
|
+
|
|
95
|
+
### Checklist
|
|
96
|
+
1. Create issue
|
|
97
|
+
2. Update issue
|
|
98
|
+
3. Add comments
|
|
99
|
+
4. Transition status
|
|
100
|
+
|
|
101
|
+
> This is a blockquote to test markdown conversion
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
Timestamp: ${timestamp}`;
|
|
106
|
+
try {
|
|
107
|
+
const result = await new JiraBubble({
|
|
108
|
+
operation: 'create',
|
|
109
|
+
project: projectKey,
|
|
110
|
+
summary: `Integration Test Issue - ${timestamp}`,
|
|
111
|
+
description: markdownDescription,
|
|
112
|
+
type: 'Task',
|
|
113
|
+
labels: ['integration-test', 'automated'],
|
|
114
|
+
}).action();
|
|
115
|
+
const success = result.success && result.data.operation === 'create';
|
|
116
|
+
createdIssueKey =
|
|
117
|
+
result.data.operation === 'create' ? result.data.issue?.key : undefined;
|
|
118
|
+
results.push({
|
|
119
|
+
operation: 'create',
|
|
120
|
+
success,
|
|
121
|
+
details: createdIssueKey
|
|
122
|
+
? `Created issue ${createdIssueKey}`
|
|
123
|
+
: 'Failed to create issue',
|
|
124
|
+
issueKey: createdIssueKey,
|
|
125
|
+
error: result.data.error,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
results.push({
|
|
130
|
+
operation: 'create',
|
|
131
|
+
success: false,
|
|
132
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
// Continue only if we created an issue
|
|
136
|
+
if (createdIssueKey) {
|
|
137
|
+
// 4. Test get
|
|
138
|
+
try {
|
|
139
|
+
const result = await new JiraBubble({
|
|
140
|
+
operation: 'get',
|
|
141
|
+
key: createdIssueKey,
|
|
142
|
+
expand: ['transitions'],
|
|
143
|
+
}).action();
|
|
144
|
+
const success = result.success && result.data.operation === 'get';
|
|
145
|
+
const issue = result.data.operation === 'get' ? result.data.issue : undefined;
|
|
146
|
+
results.push({
|
|
147
|
+
operation: 'get',
|
|
148
|
+
success,
|
|
149
|
+
details: issue
|
|
150
|
+
? `Retrieved: ${issue.fields?.summary}`
|
|
151
|
+
: 'Failed to get issue',
|
|
152
|
+
issueKey: createdIssueKey,
|
|
153
|
+
error: result.data.error,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
results.push({
|
|
158
|
+
operation: 'get',
|
|
159
|
+
success: false,
|
|
160
|
+
issueKey: createdIssueKey,
|
|
161
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
// 5. Test update
|
|
165
|
+
try {
|
|
166
|
+
const result = await new JiraBubble({
|
|
167
|
+
operation: 'update',
|
|
168
|
+
key: createdIssueKey,
|
|
169
|
+
summary: `Integration Test Issue (Updated) - ${timestamp}`,
|
|
170
|
+
priority: 'High',
|
|
171
|
+
labels: { add: ['updated'] },
|
|
172
|
+
}).action();
|
|
173
|
+
const success = result.success && result.data.operation === 'update';
|
|
174
|
+
results.push({
|
|
175
|
+
operation: 'update',
|
|
176
|
+
success,
|
|
177
|
+
details: success
|
|
178
|
+
? 'Updated summary, priority, and labels'
|
|
179
|
+
: 'Failed to update',
|
|
180
|
+
issueKey: createdIssueKey,
|
|
181
|
+
error: result.data.error,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
results.push({
|
|
186
|
+
operation: 'update',
|
|
187
|
+
success: false,
|
|
188
|
+
issueKey: createdIssueKey,
|
|
189
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
// 6. Test add_comment (with markdown)
|
|
193
|
+
const markdownComment = `## Test Comment
|
|
194
|
+
|
|
195
|
+
This comment tests **markdown** formatting:
|
|
196
|
+
- Bold: **works**
|
|
197
|
+
- Italic: *works*
|
|
198
|
+
- Code: \`console.log('hello')\`
|
|
199
|
+
- Link: [Documentation](https://docs.example.com)
|
|
200
|
+
|
|
201
|
+
\`\`\`javascript
|
|
202
|
+
// Code block test
|
|
203
|
+
function test() {
|
|
204
|
+
return 'Integration Flow';
|
|
205
|
+
}
|
|
206
|
+
\`\`\`
|
|
207
|
+
|
|
208
|
+
Timestamp: ${timestamp}`;
|
|
209
|
+
try {
|
|
210
|
+
const result = await new JiraBubble({
|
|
211
|
+
operation: 'add_comment',
|
|
212
|
+
key: createdIssueKey,
|
|
213
|
+
body: markdownComment,
|
|
214
|
+
}).action();
|
|
215
|
+
const success = result.success && result.data.operation === 'add_comment';
|
|
216
|
+
results.push({
|
|
217
|
+
operation: 'add_comment',
|
|
218
|
+
success,
|
|
219
|
+
details: success ? 'Added test comment' : 'Failed to add comment',
|
|
220
|
+
issueKey: createdIssueKey,
|
|
221
|
+
error: result.data.error,
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
results.push({
|
|
226
|
+
operation: 'add_comment',
|
|
227
|
+
success: false,
|
|
228
|
+
issueKey: createdIssueKey,
|
|
229
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
// 7. Test get_comments
|
|
233
|
+
try {
|
|
234
|
+
const result = await new JiraBubble({
|
|
235
|
+
operation: 'get_comments',
|
|
236
|
+
key: createdIssueKey,
|
|
237
|
+
}).action();
|
|
238
|
+
const success = result.success && result.data.operation === 'get_comments';
|
|
239
|
+
const commentCount = result.data.operation === 'get_comments'
|
|
240
|
+
? result.data.comments?.length || 0
|
|
241
|
+
: 0;
|
|
242
|
+
results.push({
|
|
243
|
+
operation: 'get_comments',
|
|
244
|
+
success,
|
|
245
|
+
details: `Found ${commentCount} comments`,
|
|
246
|
+
issueKey: createdIssueKey,
|
|
247
|
+
error: result.data.error,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
results.push({
|
|
252
|
+
operation: 'get_comments',
|
|
253
|
+
success: false,
|
|
254
|
+
issueKey: createdIssueKey,
|
|
255
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
// 8. Test list_transitions
|
|
259
|
+
let availableTransitions = [];
|
|
260
|
+
try {
|
|
261
|
+
const result = await new JiraBubble({
|
|
262
|
+
operation: 'list_transitions',
|
|
263
|
+
key: createdIssueKey,
|
|
264
|
+
}).action();
|
|
265
|
+
const success = result.success && result.data.operation === 'list_transitions';
|
|
266
|
+
availableTransitions =
|
|
267
|
+
result.data.operation === 'list_transitions'
|
|
268
|
+
? result.data.transitions || []
|
|
269
|
+
: [];
|
|
270
|
+
results.push({
|
|
271
|
+
operation: 'list_transitions',
|
|
272
|
+
success,
|
|
273
|
+
details: `Found ${availableTransitions.length} transitions`,
|
|
274
|
+
issueKey: createdIssueKey,
|
|
275
|
+
error: result.data.error,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
results.push({
|
|
280
|
+
operation: 'list_transitions',
|
|
281
|
+
success: false,
|
|
282
|
+
issueKey: createdIssueKey,
|
|
283
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
// 9. Test transition (if transitions available)
|
|
287
|
+
if (availableTransitions.length > 0) {
|
|
288
|
+
try {
|
|
289
|
+
// Find "In Progress" transition or use the first available
|
|
290
|
+
const targetTransition = availableTransitions.find((t) => t.name.toLowerCase().includes('progress') ||
|
|
291
|
+
t.to?.name?.toLowerCase().includes('progress')) || availableTransitions[0];
|
|
292
|
+
const result = await new JiraBubble({
|
|
293
|
+
operation: 'transition',
|
|
294
|
+
key: createdIssueKey,
|
|
295
|
+
transition_id: targetTransition.id,
|
|
296
|
+
comment: 'Transitioning via Integration Flow test',
|
|
297
|
+
}).action();
|
|
298
|
+
const success = result.success && result.data.operation === 'transition';
|
|
299
|
+
results.push({
|
|
300
|
+
operation: 'transition',
|
|
301
|
+
success,
|
|
302
|
+
details: success
|
|
303
|
+
? `Transitioned to ${targetTransition.to?.name || targetTransition.name}`
|
|
304
|
+
: 'Failed to transition',
|
|
305
|
+
issueKey: createdIssueKey,
|
|
306
|
+
error: result.data.error,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
results.push({
|
|
311
|
+
operation: 'transition',
|
|
312
|
+
success: false,
|
|
313
|
+
issueKey: createdIssueKey,
|
|
314
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
// 10. Test search
|
|
320
|
+
try {
|
|
321
|
+
const result = await new JiraBubble({
|
|
322
|
+
operation: 'search',
|
|
323
|
+
jql: `project = "${projectKey}" AND labels = "integration-test" ORDER BY created DESC`,
|
|
324
|
+
limit: 5,
|
|
325
|
+
fields: ['summary', 'status', 'priority'],
|
|
326
|
+
}).action();
|
|
327
|
+
const success = result.success && result.data.operation === 'search';
|
|
328
|
+
const issueCount = result.data.operation === 'search'
|
|
329
|
+
? result.data.issues?.length || 0
|
|
330
|
+
: 0;
|
|
331
|
+
results.push({
|
|
332
|
+
operation: 'search',
|
|
333
|
+
success,
|
|
334
|
+
details: `Found ${issueCount} issues with integration-test label`,
|
|
335
|
+
error: result.data.error,
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
results.push({
|
|
340
|
+
operation: 'search',
|
|
341
|
+
success: false,
|
|
342
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
// Summary
|
|
346
|
+
const successCount = results.filter((r) => r.success).length;
|
|
347
|
+
const totalCount = results.length;
|
|
348
|
+
const allPassed = successCount === totalCount;
|
|
349
|
+
return {
|
|
350
|
+
success: allPassed,
|
|
351
|
+
testResults: results,
|
|
352
|
+
createdIssueKey,
|
|
353
|
+
projectKey,
|
|
354
|
+
summary: `${successCount}/${totalCount} operations succeeded`,
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=jira.integration.flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira.integration.flow.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/jira/jira.integration.flow.ts"],"names":[],"mappings":"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"}
|