-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmanifest.yaml
91 lines (78 loc) · 4.12 KB
/
manifest.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
version: "2"
# This manifest defines your snap-in.
# The comments below will tell you which fields you can change and which you should keep as they are.
# For more information about manifests, see https://developer.devrev.ai/public/snapin-development/references/manifest.
# General information about the snap-in, which you can change to your liking.
name: Airdrop Todo snap-in
description: An Airdrop snap-in for syncing data between Todo and DevRev
# The name of the service account that your snap-in will use in DevRev.
# You can change the display name value to your liking.
service_account:
display_name: Todo Bot
# Functions that the snap-in exposes.
# The names of the functions should be in sync with their references in the 'imports' and
# 'hooks' sections below and with your code, if you happen to change the names.
# You can freely change the descriptions of the functions.
functions:
- name: extraction
description: Airdrop extraction function for Todo
- name: loading
description: Airdrop loading function for Todo
- name: install_initial_domain_mapping
description: Function for creating a blueprint and installing the initial domain mapping
# The types of connections that the snap-in supports.
# If an external system supports OAuth, then you should use that.
# Here we have just one example of a keyring, you can see more advanced examples
# at https://github.com/devrev/snap-in-examples/tree/main/13-keyring-type.
keyring_types:
# The keyring type ID can be whatever you want, but it has to match one of the allowed
# connection types in the 'imports' section below.
- id: example-pat-connection
# Connection details that are showed when creating a connection in the DevRev app.
# You can freely change them, but the external system name should have the first letter capitalized.
name: Todo Connection
description: Connection details for authenticating with Todo
external_system_name: Todo
# Configuration for passing the secret to the external system, if necessary.
# See https://github.com/devrev/snap-in-examples/blob/main/13-keyring-type/custom-keyring-type-basic.yaml
# for more info on how the secret config should look like and what these fields mean.
kind: "Secret"
is_subdomain: true
secret_config:
secret_transform: ".token"
fields:
- id: token
name: Token
description: Example API token
# Airdrop will call the URL you set with the token to verify its validity.
# You need to specify an endpoint in your external system that requires authentication
# and ideally also checks if the token has all the required scopes.
# TODO: Update the token verification URL to use an actual authenticated endpoint of your external system.
token_verification:
url: https://app.devrev.ai/favicon.ico
method: GET
# Imports define the external systems that the snap-in will sync data from.
imports:
# The slug is the machine-readable name for the import.
# In the example below, it's automatically taken from the repository name if you used the template.
- slug: airdrop-todo-snap-in
display_name: Todo
description: Import data from Todo using Airdrop
# The extractor and loader functions specify which functions from the section
# 'functions' above should be called when extracting data from an external
# system, or loading data into it.
# Make sure these are in sync with the function names in the 'functions' section above
# and with your code, if you changed the names.
extractor_function: extraction
# TODO: Uncomment the loader function once you have implemented loading.
#loader_function: loading
# The list of connection types that are available for the external system.
# Make sure these are in sync with the keyring types in the 'keyring_types' section above.
allowed_connection_types:
- example-pat-connection
# Hooks enable running function when the snap-in is installed.
# You should not change the hooks section, except for the function name, if you changed
# it above or in your code.
hooks:
- type: activate
function: install_initial_domain_mapping