@varify-io/n8n-nodes-varify 0.2.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/README.md +73 -0
- package/dist/credentials/VarifyOAuth2Api.credentials.d.ts +10 -0
- package/dist/credentials/VarifyOAuth2Api.credentials.js +66 -0
- package/dist/credentials/VarifyOAuth2Api.credentials.js.map +1 -0
- package/dist/icons/logo.svg +3 -0
- package/dist/nodes/Varify/Varify.node.d.ts +4 -0
- package/dist/nodes/Varify/Varify.node.js +75 -0
- package/dist/nodes/Varify/Varify.node.js.map +1 -0
- package/dist/nodes/Varify/Varify.node.json +21 -0
- package/dist/nodes/Varify/config/operations.d.ts +5 -0
- package/dist/nodes/Varify/config/operations.js +185 -0
- package/dist/nodes/Varify/config/operations.js.map +1 -0
- package/dist/nodes/Varify/config/properties.d.ts +2 -0
- package/dist/nodes/Varify/config/properties.js +567 -0
- package/dist/nodes/Varify/config/properties.js.map +1 -0
- package/dist/package.json +57 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +57 -0
package/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# n8n-nodes-varify
|
|
2
|
+
|
|
3
|
+
This is an n8n community node. It lets you use GitHub Issues in your n8n workflows.
|
|
4
|
+
|
|
5
|
+
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.
|
|
6
|
+
|
|
7
|
+
[Installation](#installation)
|
|
8
|
+
[Operations](#operations)
|
|
9
|
+
[Credentials](#credentials)
|
|
10
|
+
[Compatibility](#compatibility)
|
|
11
|
+
[Usage](#usage)
|
|
12
|
+
[Resources](#resources)
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
|
|
17
|
+
|
|
18
|
+
## Operations
|
|
19
|
+
|
|
20
|
+
- Issues
|
|
21
|
+
- Get an issue
|
|
22
|
+
- Get many issues in a repository
|
|
23
|
+
- Create a new issue
|
|
24
|
+
- Issue Comments
|
|
25
|
+
- Get many issue comments
|
|
26
|
+
|
|
27
|
+
## Credentials
|
|
28
|
+
|
|
29
|
+
You can use either access token or OAuth2 to use this node.
|
|
30
|
+
|
|
31
|
+
### Access token
|
|
32
|
+
|
|
33
|
+
1. Open your GitHub profile [Settings](https://github.com/settings/profile).
|
|
34
|
+
2. In the left navigation, select [Developer settings](https://github.com/settings/apps).
|
|
35
|
+
3. In the left navigation, under Personal access tokens, select Tokens (classic).
|
|
36
|
+
4. Select Generate new token > Generate new token (classic).
|
|
37
|
+
5. Enter a descriptive name for your token in the Note field, like n8n integration.
|
|
38
|
+
6. Select the Expiration you'd like for the token, or select No expiration.
|
|
39
|
+
7. Select Scopes for your token. For most of the n8n GitHub nodes, add the `repo` scope.
|
|
40
|
+
- A token without assigned scopes can only access public information.
|
|
41
|
+
8. Select Generate token.
|
|
42
|
+
9. Copy the token.
|
|
43
|
+
|
|
44
|
+
Refer to [Creating a personal access token (classic)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic) for more information. Refer to Scopes for OAuth apps for more information on GitHub scopes.
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
### OAuth2
|
|
49
|
+
|
|
50
|
+
If you're self-hosting n8n, create a new GitHub [OAuth app](https://docs.github.com/en/apps/oauth-apps):
|
|
51
|
+
|
|
52
|
+
1. Open your GitHub profile [Settings](https://github.com/settings/profile).
|
|
53
|
+
2. In the left navigation, select [Developer settings](https://github.com/settings/apps).
|
|
54
|
+
3. In the left navigation, select OAuth apps.
|
|
55
|
+
4. Select New OAuth App.
|
|
56
|
+
- If you haven't created an app before, you may see Register a new application instead. Select it.
|
|
57
|
+
5. Enter an Application name, like n8n integration.
|
|
58
|
+
6. Enter the Homepage URL for your app's website.
|
|
59
|
+
7. If you'd like, add the optional Application description, which GitHub displays to end-users.
|
|
60
|
+
8. From n8n, copy the OAuth Redirect URL and paste it into the GitHub Authorization callback URL.
|
|
61
|
+
9. Select Register application.
|
|
62
|
+
10. Copy the Client ID and Client Secret this generates and add them to your n8n credential.
|
|
63
|
+
|
|
64
|
+
Refer to the [GitHub Authorizing OAuth apps documentation](https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps) for more information on the authorization process.
|
|
65
|
+
|
|
66
|
+
## Compatibility
|
|
67
|
+
|
|
68
|
+
Compatible with n8n@1.60.0 or later
|
|
69
|
+
|
|
70
|
+
## Resources
|
|
71
|
+
|
|
72
|
+
* [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
|
|
73
|
+
* [GitHub API docs](https://docs.github.com/en/rest/issues)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Icon, ICredentialType, INodeProperties, ICredentialTestRequest } from 'n8n-workflow';
|
|
2
|
+
export declare class VarifyOAuth2Api implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
icon: Icon;
|
|
7
|
+
extends: string[];
|
|
8
|
+
properties: INodeProperties[];
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VarifyOAuth2Api = void 0;
|
|
4
|
+
const VARIFY_SCOPES = 'create-experiment duplicate-experiment show-experiment list-experiments update-experiment update-experiment-tracking update-experiment-status update-experiment-traffic-allocation list-clients';
|
|
5
|
+
class VarifyOAuth2Api {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.name = 'varifyOAuth2Api';
|
|
8
|
+
this.displayName = 'varify.io OAuth2 API';
|
|
9
|
+
this.documentationUrl = 'https://varify.io/userdocumentation/experiment-api/';
|
|
10
|
+
this.icon = 'file:../icons/logo.svg';
|
|
11
|
+
this.extends = ['oAuth2Api'];
|
|
12
|
+
this.properties = [
|
|
13
|
+
{
|
|
14
|
+
displayName: 'API Base URL',
|
|
15
|
+
name: 'apiBaseUrl',
|
|
16
|
+
type: 'hidden',
|
|
17
|
+
default: 'https://app.varify.io',
|
|
18
|
+
required: true,
|
|
19
|
+
description: 'Base URL without trailing slash',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
displayName: 'Authorization URL',
|
|
23
|
+
name: 'authUrl',
|
|
24
|
+
type: 'hidden',
|
|
25
|
+
default: 'https://app.varify.io/oauth/authorize',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
displayName: 'Access Token URL',
|
|
29
|
+
name: 'accessTokenUrl',
|
|
30
|
+
type: 'hidden',
|
|
31
|
+
default: 'https://app.varify.io/oauth/token',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
displayName: 'Grant Type',
|
|
35
|
+
name: 'grantType',
|
|
36
|
+
type: 'hidden',
|
|
37
|
+
default: 'clientCredentials',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
displayName: 'Scope',
|
|
41
|
+
name: 'scope',
|
|
42
|
+
type: 'hidden',
|
|
43
|
+
default: VARIFY_SCOPES,
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
this.test = {
|
|
47
|
+
request: {
|
|
48
|
+
baseURL: '={{$credentials.apiBaseUrl}}',
|
|
49
|
+
url: '/oauth/token',
|
|
50
|
+
method: 'POST',
|
|
51
|
+
headers: {
|
|
52
|
+
'Content-Type': 'application/json',
|
|
53
|
+
Accept: 'application/json',
|
|
54
|
+
},
|
|
55
|
+
body: {
|
|
56
|
+
grant_type: 'client_credentials',
|
|
57
|
+
client_id: '={{$credentials.clientId}}',
|
|
58
|
+
client_secret: '={{$credentials.clientSecret}}',
|
|
59
|
+
scope: VARIFY_SCOPES,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.VarifyOAuth2Api = VarifyOAuth2Api;
|
|
66
|
+
//# sourceMappingURL=VarifyOAuth2Api.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VarifyOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/VarifyOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAM,aAAa,GAClB,iMAAiM,CAAC;AAEnM,MAAa,eAAe;IAA5B;QACC,SAAI,GAAG,iBAAiB,CAAC;QAEzB,gBAAW,GAAG,sBAAsB,CAAC;QACrC,qBAAgB,GAAG,qDAAqD,CAAC;QACzE,SAAI,GAAG,wBAAgC,CAAC;QACxC,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QAExB,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,iCAAiC;aAC9C;YAGD;gBACC,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uCAAuC;aAChD;YACD;gBACC,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mCAAmC;aAC5C;YAGD;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,mBAAmB;aAC5B;YAGD;gBACC,WAAW,EAAE,OAAO;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,aAAa;aACtB;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,8BAA8B;gBACvC,GAAG,EAAE,cAAc;gBACnB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACR,cAAc,EAAE,kBAAkB;oBAClC,MAAM,EAAE,kBAAkB;iBAC1B;gBACD,IAAI,EAAE;oBACL,UAAU,EAAE,oBAAoB;oBAChC,SAAS,EAAE,4BAA4B;oBACvC,aAAa,EAAE,gCAAgC;oBAC/C,KAAK,EAAE,aAAa;iBACpB;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAlED,0CAkEC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path id="Schmuckelement" fill-rule="evenodd" clip-rule="evenodd" d="M19 0C29.4864 0 38 8.51364 38 19C38 29.4864 29.4864 38 19 38C8.51362 38 0 29.4864 0 19C0 8.51364 8.51362 0 19 0ZM34.5071 25.8664H32.6875L27.2654 14.4524L21.8066 25.8664H19.987L26.5302 12.1365H27.9455L34.5071 25.8664ZM18.013 12.135H16.1934L10.7713 23.549L5.31247 12.135H3.49285L10.0361 25.8649H11.4514L18.013 12.135ZM22.8885 12.135H21.4735L14.9116 25.8649H16.3268L22.8885 12.135Z" fill="#E1E5E8"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Varify = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const operations_1 = require("./config/operations");
|
|
6
|
+
const properties_1 = require("./config/properties");
|
|
7
|
+
const createOperationProperty = (resource, options, defaultValue) => {
|
|
8
|
+
return {
|
|
9
|
+
displayName: 'Operation',
|
|
10
|
+
name: 'operation',
|
|
11
|
+
type: 'options',
|
|
12
|
+
noDataExpression: true,
|
|
13
|
+
displayOptions: { show: { resource: [resource] } },
|
|
14
|
+
options,
|
|
15
|
+
default: defaultValue,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
class Varify {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.description = {
|
|
21
|
+
displayName: 'Varify',
|
|
22
|
+
name: 'varify',
|
|
23
|
+
icon: 'file:../../icons/logo.svg',
|
|
24
|
+
group: ['input'],
|
|
25
|
+
version: 1,
|
|
26
|
+
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
27
|
+
description: 'Varify api',
|
|
28
|
+
defaults: {},
|
|
29
|
+
usableAsTool: true,
|
|
30
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
31
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
32
|
+
credentials: [
|
|
33
|
+
{
|
|
34
|
+
name: 'varifyOAuth2Api',
|
|
35
|
+
required: true,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
requestDefaults: {
|
|
39
|
+
baseURL: '={{$credentials.apiBaseUrl}}',
|
|
40
|
+
headers: {
|
|
41
|
+
Accept: 'application/json',
|
|
42
|
+
'Content-Type': 'application/json',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
properties: [
|
|
46
|
+
{
|
|
47
|
+
displayName: 'Resource',
|
|
48
|
+
name: 'resource',
|
|
49
|
+
type: 'options',
|
|
50
|
+
noDataExpression: true,
|
|
51
|
+
options: [
|
|
52
|
+
{
|
|
53
|
+
name: 'Experiment',
|
|
54
|
+
value: 'experiment',
|
|
55
|
+
description: 'Manage A/B testing experiments',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Schema',
|
|
59
|
+
value: 'schema',
|
|
60
|
+
description: 'Retrieve targeting schemas',
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
default: 'experiment',
|
|
64
|
+
},
|
|
65
|
+
createOperationProperty('experiment', operations_1.experimentOperations, 'getAll'),
|
|
66
|
+
createOperationProperty('client', operations_1.clientOperations, 'getAllClients'),
|
|
67
|
+
createOperationProperty('report', operations_1.reportOperations, 'getReport'),
|
|
68
|
+
createOperationProperty('schema', operations_1.schemaOperations, 'getAudienceTargetingSchema'),
|
|
69
|
+
...properties_1.allParameters,
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.Varify = Varify;
|
|
75
|
+
//# sourceMappingURL=Varify.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Varify.node.js","sourceRoot":"","sources":["../../../nodes/Varify/Varify.node.ts"],"names":[],"mappings":";;;AAAA,+CAKsB;AACtB,oDAK6B;AAC7B,oDAAoD;AAEpD,MAAM,uBAAuB,GAAG,CAC/B,QAAgB,EAChB,OAAmC,EACnC,YAAoB,EACF,EAAE;IACpB,OAAO;QACN,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;QAClD,OAAO;QACP,OAAO,EAAE,YAAY;KACrB,CAAC;AACH,CAAC,CAAC;AAEF,MAAa,MAAM;IAAnB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,QAAQ;YACrB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,CAAC,OAAO,CAAC;YAChB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,YAAY;4BACnB,WAAW,EAAE,gCAAgC;yBAC7C;wBAWD;4BACC,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,QAAQ;4BACf,WAAW,EAAE,4BAA4B;yBACzC;qBACD;oBACD,OAAO,EAAE,YAAY;iBACrB;gBAED,uBAAuB,CAAC,YAAY,EAAE,iCAAoB,EAAE,QAAQ,CAAC;gBACrE,uBAAuB,CAAC,QAAQ,EAAE,6BAAgB,EAAE,eAAe,CAAC;gBACpE,uBAAuB,CAAC,QAAQ,EAAE,6BAAgB,EAAE,WAAW,CAAC;gBAChE,uBAAuB,CAAC,QAAQ,EAAE,6BAAgB,EAAE,4BAA4B,CAAC;gBAEjF,GAAG,0BAAa;aAChB;SACD,CAAC;IACH,CAAC;CAAA;AAjED,wBAiEC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-varify",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Development",
|
|
7
|
+
"Developer Tools"
|
|
8
|
+
],
|
|
9
|
+
"resources": {
|
|
10
|
+
"credentialDocumentation": [
|
|
11
|
+
{
|
|
12
|
+
"url": "https://varify.io/userdocumentation/experiment-api/"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"primaryDocumentation": [
|
|
16
|
+
{
|
|
17
|
+
"url": "https://varify.io/userdocumentation/experiment-api/"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare const experimentOperations: INodeProperties['options'];
|
|
3
|
+
export declare const clientOperations: INodeProperties['options'];
|
|
4
|
+
export declare const reportOperations: INodeProperties['options'];
|
|
5
|
+
export declare const schemaOperations: INodeProperties['options'];
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.schemaOperations = exports.reportOperations = exports.clientOperations = exports.experimentOperations = void 0;
|
|
4
|
+
exports.experimentOperations = [
|
|
5
|
+
{
|
|
6
|
+
name: 'Get Many',
|
|
7
|
+
value: 'getAll',
|
|
8
|
+
description: 'Retrieve all experiments with optional filtering and pagination',
|
|
9
|
+
action: 'Get all experiments',
|
|
10
|
+
routing: {
|
|
11
|
+
request: {
|
|
12
|
+
method: 'GET',
|
|
13
|
+
url: '/papi/experiments',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'Get',
|
|
19
|
+
value: 'get',
|
|
20
|
+
description: 'Retrieve a single experiment by ID',
|
|
21
|
+
action: 'Get an experiment',
|
|
22
|
+
routing: {
|
|
23
|
+
request: {
|
|
24
|
+
method: 'GET',
|
|
25
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'Create',
|
|
31
|
+
value: 'create',
|
|
32
|
+
description: 'Create a new experiment with variations and targeting rules',
|
|
33
|
+
action: 'Create an experiment',
|
|
34
|
+
routing: {
|
|
35
|
+
request: {
|
|
36
|
+
method: 'POST',
|
|
37
|
+
url: '/papi/experiments',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Update',
|
|
43
|
+
value: 'update',
|
|
44
|
+
description: 'Update an existing experiment',
|
|
45
|
+
action: 'Update an experiment',
|
|
46
|
+
routing: {
|
|
47
|
+
request: {
|
|
48
|
+
method: 'PATCH',
|
|
49
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}',
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Update Status',
|
|
55
|
+
value: 'updateStatus',
|
|
56
|
+
description: 'Update the status of an experiment (draft, active, paused, completed)',
|
|
57
|
+
action: 'Update experiment status',
|
|
58
|
+
routing: {
|
|
59
|
+
request: {
|
|
60
|
+
method: 'POST',
|
|
61
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}/status',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Duplicate',
|
|
67
|
+
value: 'duplicate',
|
|
68
|
+
description: 'Create a copy of an existing experiment',
|
|
69
|
+
action: 'Duplicate an experiment',
|
|
70
|
+
routing: {
|
|
71
|
+
request: {
|
|
72
|
+
method: 'POST',
|
|
73
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}/duplicate',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: 'Update Traffic Allocation',
|
|
79
|
+
value: 'updateTrafficAllocation',
|
|
80
|
+
description: 'Update traffic allocation percentages for experiment variations',
|
|
81
|
+
action: 'Update traffic allocation',
|
|
82
|
+
routing: {
|
|
83
|
+
request: {
|
|
84
|
+
method: 'POST',
|
|
85
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}/traffic-allocation',
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'Toggle Tracking',
|
|
91
|
+
value: 'toggleTracking',
|
|
92
|
+
description: 'Enable or disable tracking for an experiment',
|
|
93
|
+
action: 'Toggle experiment tracking',
|
|
94
|
+
routing: {
|
|
95
|
+
request: {
|
|
96
|
+
method: 'POST',
|
|
97
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}/toggle-tracking',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
exports.clientOperations = [
|
|
103
|
+
{
|
|
104
|
+
name: 'Get All',
|
|
105
|
+
value: 'getAllClients',
|
|
106
|
+
description: 'Retrieve all clients',
|
|
107
|
+
action: 'Get all clients',
|
|
108
|
+
routing: {
|
|
109
|
+
request: {
|
|
110
|
+
method: 'GET',
|
|
111
|
+
url: '/papi/clients',
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
exports.reportOperations = [
|
|
117
|
+
{
|
|
118
|
+
name: 'Get Report',
|
|
119
|
+
value: 'getReport',
|
|
120
|
+
description: 'Retrieve experiment performance report',
|
|
121
|
+
action: 'Get experiment report',
|
|
122
|
+
routing: {
|
|
123
|
+
request: {
|
|
124
|
+
method: 'GET',
|
|
125
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}/report',
|
|
126
|
+
qs: {
|
|
127
|
+
end_date: '{{$parameter.end_date}}',
|
|
128
|
+
report_type: '{{$parameter.report_type}}',
|
|
129
|
+
start_date: '{{$parameter.start_date}}',
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
name: 'Get Daily Report',
|
|
136
|
+
value: 'getDailyReport',
|
|
137
|
+
description: 'Retrieve daily breakdown of experiment performance',
|
|
138
|
+
action: 'Get daily report',
|
|
139
|
+
routing: {
|
|
140
|
+
request: {
|
|
141
|
+
method: 'GET',
|
|
142
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}/daily-report',
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'Get Raw Revenue Report',
|
|
148
|
+
value: 'getRawRevenueReport',
|
|
149
|
+
description: 'Retrieve raw revenue data for experiment',
|
|
150
|
+
action: 'Get raw revenue report',
|
|
151
|
+
routing: {
|
|
152
|
+
request: {
|
|
153
|
+
method: 'GET',
|
|
154
|
+
url: '=/papi/experiments/{{$parameter.experimentId}}/raw-revenue-report',
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
];
|
|
159
|
+
exports.schemaOperations = [
|
|
160
|
+
{
|
|
161
|
+
name: 'Get Audience Targeting Schema',
|
|
162
|
+
value: 'getAudienceTargetingSchema',
|
|
163
|
+
description: 'Retrieve the schema for audience targeting rules',
|
|
164
|
+
action: 'Get audience targeting schema',
|
|
165
|
+
routing: {
|
|
166
|
+
request: {
|
|
167
|
+
method: 'GET',
|
|
168
|
+
url: '/papi/schema/audience-targeting',
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
name: 'Get Page Targeting Schema',
|
|
174
|
+
value: 'getPageTargetingSchema',
|
|
175
|
+
description: 'Retrieve the schema for page targeting rules',
|
|
176
|
+
action: 'Get page targeting schema',
|
|
177
|
+
routing: {
|
|
178
|
+
request: {
|
|
179
|
+
method: 'GET',
|
|
180
|
+
url: '/papi/schema/page-targeting',
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
];
|
|
185
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../nodes/Varify/config/operations.ts"],"names":[],"mappings":"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"}
|