n8n-nodes-rohan-test 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.
- package/LICENSE.md +19 -0
- package/README.md +45 -0
- package/dist/credentials/RohanTestApi.credentials.d.ts +10 -0
- package/dist/credentials/RohanTestApi.credentials.js +44 -0
- package/dist/credentials/rohan-test.dark.png +0 -0
- package/dist/credentials/rohan-test.dark.svg +4 -0
- package/dist/credentials/rohan-test.png +0 -0
- package/dist/credentials/rohan-test.svg +4 -0
- package/dist/nodes/RohanTestTrigger/RohanTestTrigger.node.d.ts +17 -0
- package/dist/nodes/RohanTestTrigger/RohanTestTrigger.node.js +170 -0
- package/dist/nodes/RohanTestTrigger/RohanTestTrigger.node.js.map +1 -0
- package/dist/nodes/RohanTestTrigger/RohanTestTrigger.node.json +13 -0
- package/dist/nodes/RohanTestTrigger/rohan-test.dark.png +0 -0
- package/dist/nodes/RohanTestTrigger/rohan-test.png +0 -0
- package/package.json +59 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright 2022 n8n
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
4
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
5
|
+
the Software without restriction, including without limitation the rights to
|
|
6
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
7
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
8
|
+
so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# n8n-nodes-rohan-test
|
|
2
|
+
|
|
3
|
+
This package provides a Rohan Test trigger node for [n8n](https://n8n.io/).
|
|
4
|
+
|
|
5
|
+
## Included node
|
|
6
|
+
|
|
7
|
+
- `Rohan Test Trigger`: starts a workflow when configured Rohan Test events are received
|
|
8
|
+
|
|
9
|
+
## Credentials
|
|
10
|
+
|
|
11
|
+
Use the `Rohan Test API` credential with:
|
|
12
|
+
|
|
13
|
+
- your API key
|
|
14
|
+
- your Rohan Test base URL
|
|
15
|
+
|
|
16
|
+
Default base URL:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
https://uat-tools.bugsmash.io/backend
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Supported trigger events
|
|
23
|
+
|
|
24
|
+
- New Comment
|
|
25
|
+
- Comment Replied
|
|
26
|
+
- Comment Updated
|
|
27
|
+
- Priority Changed
|
|
28
|
+
- Status Changed
|
|
29
|
+
|
|
30
|
+
You can also optionally filter events by project.
|
|
31
|
+
|
|
32
|
+
## Development
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm install
|
|
36
|
+
npm run build
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Publish checklist
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run lint
|
|
43
|
+
npm run build
|
|
44
|
+
npm publish
|
|
45
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class RohanTestApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
icon: Icon;
|
|
6
|
+
documentationUrl: string;
|
|
7
|
+
properties: INodeProperties[];
|
|
8
|
+
authenticate: IAuthenticateGeneric;
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RohanTestApi = void 0;
|
|
4
|
+
class RohanTestApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'rohanTestApi';
|
|
7
|
+
this.displayName = 'Rohan Test API';
|
|
8
|
+
this.icon = 'file:rohan-test.png';
|
|
9
|
+
this.documentationUrl = 'https://uat-tools.bugsmash.io/';
|
|
10
|
+
this.properties = [
|
|
11
|
+
{
|
|
12
|
+
displayName: 'API Key',
|
|
13
|
+
name: 'apiKey',
|
|
14
|
+
type: 'string',
|
|
15
|
+
typeOptions: { password: true },
|
|
16
|
+
default: '',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
displayName: 'Base URL',
|
|
20
|
+
name: 'baseUrl',
|
|
21
|
+
type: 'string',
|
|
22
|
+
default: 'https://uat-tools.bugsmash.io/backend',
|
|
23
|
+
description: 'The base URL of the Rohan Test API',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
this.authenticate = {
|
|
27
|
+
type: 'generic',
|
|
28
|
+
properties: {
|
|
29
|
+
qs: {
|
|
30
|
+
api_key: '={{$credentials?.apiKey}}',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
this.test = {
|
|
35
|
+
request: {
|
|
36
|
+
baseURL: '={{$credentials?.baseUrl}}',
|
|
37
|
+
url: '/api/v2/n8n/user',
|
|
38
|
+
method: 'GET',
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.RohanTestApi = RohanTestApi;
|
|
44
|
+
//# sourceMappingURL=RohanTestApi.credentials.js.map
|
|
Binary file
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48">
|
|
2
|
+
<circle cx="24" cy="24" r="22" fill="#6ED3CF" />
|
|
3
|
+
<text x="24" y="31" text-anchor="middle" font-family="Arial, sans-serif" font-weight="bold" font-size="18" fill="#102A43">RT</text>
|
|
4
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48">
|
|
2
|
+
<circle cx="24" cy="24" r="22" fill="#1F7A8C" />
|
|
3
|
+
<text x="24" y="31" text-anchor="middle" font-family="Arial, sans-serif" font-weight="bold" font-size="18" fill="#FFFFFF">RT</text>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IWebhookFunctions, IHookFunctions, ILoadOptionsFunctions, INodeType, INodeTypeDescription, IWebhookResponseData, INodePropertyOptions } from 'n8n-workflow';
|
|
2
|
+
export declare class RohanTestTrigger implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
loadOptions: {
|
|
6
|
+
getProjects(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
webhookMethods: {
|
|
10
|
+
default: {
|
|
11
|
+
checkExists(this: IHookFunctions): Promise<boolean>;
|
|
12
|
+
create(this: IHookFunctions): Promise<boolean>;
|
|
13
|
+
delete(this: IHookFunctions): Promise<boolean>;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RohanTestTrigger = void 0;
|
|
4
|
+
class RohanTestTrigger {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.description = {
|
|
7
|
+
displayName: 'Rohan Test Trigger',
|
|
8
|
+
name: 'rohanTestTrigger',
|
|
9
|
+
icon: 'file:rohan-test.png',
|
|
10
|
+
group: ['trigger'],
|
|
11
|
+
version: 1,
|
|
12
|
+
subtitle: '={{$parameter["event"]}}',
|
|
13
|
+
description: 'Starts the workflow when Rohan Test events occur',
|
|
14
|
+
defaults: {
|
|
15
|
+
name: 'Rohan Test Trigger',
|
|
16
|
+
},
|
|
17
|
+
usableAsTool: true,
|
|
18
|
+
inputs: [],
|
|
19
|
+
outputs: ['main'],
|
|
20
|
+
credentials: [
|
|
21
|
+
{
|
|
22
|
+
name: 'rohanTestApi',
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
webhooks: [
|
|
27
|
+
{
|
|
28
|
+
name: 'default',
|
|
29
|
+
httpMethod: 'POST',
|
|
30
|
+
responseMode: 'onReceived',
|
|
31
|
+
path: 'webhook',
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
properties: [
|
|
35
|
+
{
|
|
36
|
+
displayName: 'Event',
|
|
37
|
+
name: 'event',
|
|
38
|
+
type: 'options',
|
|
39
|
+
noDataExpression: true,
|
|
40
|
+
options: [
|
|
41
|
+
{
|
|
42
|
+
name: 'Comment Replied',
|
|
43
|
+
value: 'comment_replied',
|
|
44
|
+
description: 'Triggers when a reply is added to a comment',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Comment Updated',
|
|
48
|
+
value: 'comment_update',
|
|
49
|
+
description: 'Triggers when a comment is updated',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'New Comment',
|
|
53
|
+
value: 'new_comment',
|
|
54
|
+
description: 'Triggers when a new comment is created',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'Priority Changed',
|
|
58
|
+
value: 'priority_changed',
|
|
59
|
+
description: 'Triggers when a comment priority changes',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Status Changed',
|
|
63
|
+
value: 'status_changed',
|
|
64
|
+
description: 'Triggers when a comment status changes',
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
default: 'new_comment',
|
|
68
|
+
required: true,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
displayName: 'Project Name or ID',
|
|
72
|
+
name: 'projectId',
|
|
73
|
+
type: 'options',
|
|
74
|
+
typeOptions: {
|
|
75
|
+
loadOptionsMethod: 'getProjects',
|
|
76
|
+
},
|
|
77
|
+
default: '',
|
|
78
|
+
description: 'Optionally filter by project. Leave empty to receive events for all projects. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
};
|
|
82
|
+
this.methods = {
|
|
83
|
+
loadOptions: {
|
|
84
|
+
async getProjects() {
|
|
85
|
+
const credentials = await this.getCredentials('rohanTestApi');
|
|
86
|
+
const baseUrl = credentials.baseUrl;
|
|
87
|
+
const apiKey = credentials.apiKey;
|
|
88
|
+
const response = await this.helpers.httpRequest({
|
|
89
|
+
method: 'GET',
|
|
90
|
+
url: `${baseUrl}/api/v2/n8n/projects`,
|
|
91
|
+
qs: { api_key: apiKey },
|
|
92
|
+
});
|
|
93
|
+
const projects = response.data || response;
|
|
94
|
+
if (!Array.isArray(projects)) {
|
|
95
|
+
return [{ name: 'All Projects', value: '' }];
|
|
96
|
+
}
|
|
97
|
+
const options = [{ name: 'All Projects', value: '' }];
|
|
98
|
+
for (const project of projects) {
|
|
99
|
+
options.push({
|
|
100
|
+
name: project.name || project.title || `Project ${project.id}`,
|
|
101
|
+
value: String(project.id),
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return options;
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
this.webhookMethods = {
|
|
109
|
+
default: {
|
|
110
|
+
async checkExists() {
|
|
111
|
+
return false;
|
|
112
|
+
},
|
|
113
|
+
async create() {
|
|
114
|
+
var _a;
|
|
115
|
+
const webhookUrl = this.getNodeWebhookUrl('default');
|
|
116
|
+
const event = this.getNodeParameter('event');
|
|
117
|
+
const projectId = this.getNodeParameter('projectId', '');
|
|
118
|
+
const credentials = await this.getCredentials('rohanTestApi');
|
|
119
|
+
const baseUrl = credentials.baseUrl;
|
|
120
|
+
const apiKey = credentials.apiKey;
|
|
121
|
+
const body = {
|
|
122
|
+
webhook_url: webhookUrl,
|
|
123
|
+
event,
|
|
124
|
+
};
|
|
125
|
+
if (projectId) {
|
|
126
|
+
body.project_id = projectId;
|
|
127
|
+
}
|
|
128
|
+
const response = await this.helpers.httpRequest({
|
|
129
|
+
method: 'POST',
|
|
130
|
+
url: `${baseUrl}/api/v2/n8n/subscribe`,
|
|
131
|
+
qs: { api_key: apiKey },
|
|
132
|
+
body,
|
|
133
|
+
});
|
|
134
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
135
|
+
webhookData.webhookId = ((_a = response === null || response === void 0 ? void 0 : response.subscription) === null || _a === void 0 ? void 0 : _a.id) || (response === null || response === void 0 ? void 0 : response.id);
|
|
136
|
+
return true;
|
|
137
|
+
},
|
|
138
|
+
async delete() {
|
|
139
|
+
const credentials = await this.getCredentials('rohanTestApi');
|
|
140
|
+
const baseUrl = credentials.baseUrl;
|
|
141
|
+
const apiKey = credentials.apiKey;
|
|
142
|
+
const webhookData = this.getWorkflowStaticData('node');
|
|
143
|
+
const webhookId = webhookData.webhookId;
|
|
144
|
+
if (webhookId) {
|
|
145
|
+
try {
|
|
146
|
+
await this.helpers.httpRequest({
|
|
147
|
+
method: 'DELETE',
|
|
148
|
+
url: `${baseUrl}/api/v2/n8n/unsubscribe`,
|
|
149
|
+
qs: { api_key: apiKey },
|
|
150
|
+
body: { subscription_id: webhookId },
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
delete webhookData.webhookId;
|
|
157
|
+
return true;
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
async webhook() {
|
|
163
|
+
const bodyData = this.getBodyData();
|
|
164
|
+
return {
|
|
165
|
+
workflowData: [this.helpers.returnJsonArray(bodyData)],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.RohanTestTrigger = RohanTestTrigger;
|
|
170
|
+
//# sourceMappingURL=RohanTestTrigger.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RohanTestTrigger.node.js","sourceRoot":"","sources":["../../../nodes/RohanTestTrigger/RohanTestTrigger.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-rohan-test-trigger",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Communication", "Developer Tools"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"primaryDocumentation": [
|
|
8
|
+
{
|
|
9
|
+
"url": "https://uat-tools.bugsmash.io/"
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
Binary file
|
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "n8n-nodes-rohan-test",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "n8n community node for the Rohan Test trigger integration",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://github.com/mknco/n8n-nodes-bugsmash",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"n8n-community-node-package"
|
|
9
|
+
],
|
|
10
|
+
"author": {
|
|
11
|
+
"name": "mknco"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/mknco/n8n-nodes-bugsmash.git"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "n8n-node build",
|
|
19
|
+
"build:watch": "tsc --watch",
|
|
20
|
+
"dev": "n8n-node dev",
|
|
21
|
+
"lint": "n8n-node lint",
|
|
22
|
+
"lint:fix": "n8n-node lint --fix",
|
|
23
|
+
"release": "n8n-node release",
|
|
24
|
+
"prepublishOnly": "npm run build"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist/nodes/RohanTestTrigger",
|
|
28
|
+
"dist/credentials/RohanTestApi.credentials.js",
|
|
29
|
+
"dist/credentials/RohanTestApi.credentials.d.ts",
|
|
30
|
+
"dist/credentials/rohan-test.png",
|
|
31
|
+
"dist/credentials/rohan-test.dark.png",
|
|
32
|
+
"dist/credentials/rohan-test.svg",
|
|
33
|
+
"dist/credentials/rohan-test.dark.svg"
|
|
34
|
+
],
|
|
35
|
+
"n8n": {
|
|
36
|
+
"n8nNodesApiVersion": 1,
|
|
37
|
+
"strict": true,
|
|
38
|
+
"credentials": [
|
|
39
|
+
"dist/credentials/RohanTestApi.credentials.js"
|
|
40
|
+
],
|
|
41
|
+
"nodes": [
|
|
42
|
+
"dist/nodes/RohanTestTrigger/RohanTestTrigger.node.js"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@n8n/node-cli": "*",
|
|
47
|
+
"eslint": "9.32.0",
|
|
48
|
+
"n8n-workflow": "*",
|
|
49
|
+
"prettier": "3.6.2",
|
|
50
|
+
"release-it": "^19.0.4",
|
|
51
|
+
"typescript": "5.9.2"
|
|
52
|
+
},
|
|
53
|
+
"overrides": {
|
|
54
|
+
"change-case": "4.1.2"
|
|
55
|
+
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"n8n-workflow": "*"
|
|
58
|
+
}
|
|
59
|
+
}
|