runline 0.33.0 → 0.35.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/dist/auth/oauth2.d.ts +7 -1
- package/dist/auth/oauth2.js +10 -0
- package/dist/auth/token.d.ts +1 -0
- package/dist/auth/token.js +19 -1
- package/dist/auth/types.d.ts +22 -1
- package/dist/core/engine.d.ts +7 -0
- package/dist/core/engine.js +21 -8
- package/dist/credentials/policy.d.ts +53 -1
- package/dist/credentials/policy.js +146 -6
- package/dist/credentials/registry.d.ts +9 -0
- package/dist/credentials/registry.js +184 -22
- package/dist/credentials/transport.d.ts +48 -2
- package/dist/credentials/transport.js +248 -70
- package/dist/credentials/types.d.ts +177 -10
- package/dist/index.d.ts +6 -5
- package/dist/index.js +3 -2
- package/dist/plugin/api.d.ts +7 -0
- package/dist/plugin/api.js +7 -0
- package/dist/plugin/schema.d.ts +16 -4
- package/dist/plugin/schema.js +28 -5
- package/dist/plugin/types.d.ts +20 -0
- package/dist/plugins/_shared/base64.js +30 -0
- package/dist/plugins/_shared/credentialAdapter.js +99 -15
- package/dist/plugins/_shared/credentials.js +416 -0
- package/dist/plugins/_shared/googleAuth.js +69 -39
- package/dist/plugins/_shared/googleCredentials.js +68 -14
- package/dist/plugins/_shared/localFile.js +40 -0
- package/dist/plugins/_shared/mediaFile.js +12 -12
- package/dist/plugins/_shared/microsoftAuth.js +31 -47
- package/dist/plugins/_shared/microsoftCredentials.js +42 -15
- package/dist/plugins/_shared/provider.js +2 -14
- package/dist/plugins/_shared/shiftCloud.js +16 -56
- package/dist/plugins/_shared/shiftCredentials.js +83 -0
- package/dist/plugins/_shared/shiftUpload.js +14 -10
- package/dist/plugins/actionNetwork/src/credentials.js +14 -0
- package/dist/plugins/actionNetwork/src/index.js +39 -50
- package/dist/plugins/activeCampaign/src/credentials.js +22 -0
- package/dist/plugins/activeCampaign/src/index.js +61 -132
- package/dist/plugins/adalo/src/credentials.js +16 -0
- package/dist/plugins/adalo/src/index.js +19 -43
- package/dist/plugins/affinity/src/credentials.js +19 -0
- package/dist/plugins/affinity/src/index.js +29 -54
- package/dist/plugins/agentMail/src/credentials.js +35 -0
- package/dist/plugins/agentMail/src/drafts.js +137 -0
- package/dist/plugins/agentMail/src/inboxes.js +95 -0
- package/dist/plugins/agentMail/src/index.js +35 -0
- package/dist/plugins/agentMail/src/messages.js +154 -0
- package/dist/plugins/agentMail/src/schemas.js +156 -0
- package/dist/plugins/agentMail/src/shared.js +203 -0
- package/dist/plugins/agentMail/src/threads.js +75 -0
- package/dist/plugins/agileCrm/src/credentials.js +16 -0
- package/dist/plugins/agileCrm/src/index.js +46 -112
- package/dist/plugins/airtable/src/credentials.js +19 -0
- package/dist/plugins/airtable/src/index.js +37 -50
- package/dist/plugins/airtop/src/credentials.js +20 -0
- package/dist/plugins/airtop/src/index.js +51 -75
- package/dist/plugins/apiTemplateIo/src/credentials.js +19 -0
- package/dist/plugins/apiTemplateIo/src/index.js +14 -31
- package/dist/plugins/asana/src/credentials.js +19 -0
- package/dist/plugins/asana/src/index.js +51 -72
- package/dist/plugins/autopilot/src/credentials.js +19 -0
- package/dist/plugins/autopilot/src/index.js +38 -45
- package/dist/plugins/bambooHr/src/credentials.js +16 -0
- package/dist/plugins/bambooHr/src/index.js +41 -67
- package/dist/plugins/bannerbear/src/credentials.js +19 -0
- package/dist/plugins/bannerbear/src/index.js +15 -27
- package/dist/plugins/baserow/src/credentials.js +17 -0
- package/dist/plugins/baserow/src/index.js +23 -49
- package/dist/plugins/beeminder/src/credentials.js +19 -0
- package/dist/plugins/beeminder/src/index.js +32 -54
- package/dist/plugins/bitly/src/credentials.js +19 -0
- package/dist/plugins/bitly/src/index.js +12 -26
- package/dist/plugins/bitwarden/src/credentials.js +62 -0
- package/dist/plugins/bitwarden/src/index.js +34 -80
- package/dist/plugins/box/src/credentials.js +19 -0
- package/dist/plugins/box/src/index.js +24 -49
- package/dist/plugins/brandfetch/src/credentials.js +13 -0
- package/dist/plugins/brandfetch/src/index.js +12 -17
- package/dist/plugins/brevo/src/credentials.js +19 -0
- package/dist/plugins/brevo/src/index.js +30 -51
- package/dist/plugins/bubble/src/credentials.js +28 -0
- package/dist/plugins/bubble/src/index.js +29 -65
- package/dist/plugins/chargebee/src/credentials.js +16 -0
- package/dist/plugins/chargebee/src/index.js +15 -45
- package/dist/plugins/circleci/src/credentials.js +19 -0
- package/dist/plugins/circleci/src/index.js +19 -39
- package/dist/plugins/ciscoWebex/src/credentials.js +19 -0
- package/dist/plugins/ciscoWebex/src/index.js +43 -61
- package/dist/plugins/clearbit/src/credentials.js +22 -0
- package/dist/plugins/clearbit/src/index.js +11 -21
- package/dist/plugins/clickup/src/credentials.js +19 -0
- package/dist/plugins/clickup/src/index.js +85 -117
- package/dist/plugins/clockify/src/credentials.js +19 -0
- package/dist/plugins/clockify/src/index.js +46 -61
- package/dist/plugins/cloudflare/src/credentials.js +19 -0
- package/dist/plugins/cloudflare/src/index.js +19 -34
- package/dist/plugins/cockpit/src/credentials.js +17 -0
- package/dist/plugins/cockpit/src/index.js +18 -31
- package/dist/plugins/coda/src/credentials.js +19 -0
- package/dist/plugins/coda/src/index.js +33 -50
- package/dist/plugins/coingecko/src/credentials.js +20 -0
- package/dist/plugins/coingecko/src/index.js +24 -34
- package/dist/plugins/contentful/src/credentials.js +26 -0
- package/dist/plugins/contentful/src/index.js +19 -40
- package/dist/plugins/convertkit/src/credentials.js +26 -0
- package/dist/plugins/convertkit/src/index.js +27 -45
- package/dist/plugins/copper/src/credentials.js +17 -0
- package/dist/plugins/copper/src/index.js +25 -47
- package/dist/plugins/cortex/src/credentials.js +28 -0
- package/dist/plugins/cortex/src/index.js +26 -49
- package/dist/plugins/currents/src/credentials.js +19 -0
- package/dist/plugins/currents/src/index.js +46 -59
- package/dist/plugins/customerIo/src/credentials.js +52 -0
- package/dist/plugins/customerIo/src/index.js +30 -58
- package/dist/plugins/databricks/src/credentials.js +13 -0
- package/dist/plugins/databricks/src/index.js +51 -103
- package/dist/plugins/deepl/src/credentials.js +19 -0
- package/dist/plugins/deepl/src/index.js +13 -39
- package/dist/plugins/demio/src/credentials.js +26 -0
- package/dist/plugins/demio/src/index.js +17 -41
- package/dist/plugins/dhl/src/credentials.js +13 -0
- package/dist/plugins/dhl/src/index.js +8 -19
- package/dist/plugins/discord/src/credentials.js +19 -0
- package/dist/plugins/discord/src/index.js +30 -58
- package/dist/plugins/discourse/src/credentials.js +18 -0
- package/dist/plugins/discourse/src/index.js +36 -53
- package/dist/plugins/disqus/src/credentials.js +13 -0
- package/dist/plugins/disqus/src/index.js +14 -32
- package/dist/plugins/drift/src/credentials.js +13 -0
- package/dist/plugins/drift/src/index.js +16 -26
- package/dist/plugins/dropbox/src/credentials.js +13 -0
- package/dist/plugins/dropbox/src/index.js +23 -30
- package/dist/plugins/dropcontact/src/credentials.js +13 -0
- package/dist/plugins/dropcontact/src/index.js +13 -18
- package/dist/plugins/egoi/src/credentials.js +19 -0
- package/dist/plugins/egoi/src/index.js +23 -38
- package/dist/plugins/elasticsearch/src/credentials.js +18 -0
- package/dist/plugins/elasticsearch/src/index.js +27 -48
- package/dist/plugins/elevenlabs/src/credentials.js +30 -0
- package/dist/plugins/elevenlabs/src/index.js +4 -1
- package/dist/plugins/elevenlabs/src/schemas.js +2 -1
- package/dist/plugins/elevenlabs/src/shared.js +87 -62
- package/dist/plugins/elevenlabs/src/workflows.js +2 -2
- package/dist/plugins/emelia/src/credentials.js +14 -0
- package/dist/plugins/emelia/src/index.js +19 -23
- package/dist/plugins/erpnext/src/credentials.js +27 -0
- package/dist/plugins/erpnext/src/index.js +21 -42
- package/dist/plugins/facebookGraph/src/credentials.js +20 -0
- package/dist/plugins/facebookGraph/src/index.js +39 -37
- package/dist/plugins/fal/src/credentials.js +14 -0
- package/dist/plugins/fal/src/index.js +5 -3
- package/dist/plugins/fal/src/shared.js +58 -63
- package/dist/plugins/freshdesk/src/credentials.js +20 -0
- package/dist/plugins/freshdesk/src/index.js +25 -46
- package/dist/plugins/freshservice/src/credentials.js +16 -0
- package/dist/plugins/freshservice/src/index.js +37 -58
- package/dist/plugins/freshworksCrm/src/credentials.js +16 -0
- package/dist/plugins/freshworksCrm/src/index.js +20 -39
- package/dist/plugins/getresponse/src/credentials.js +22 -0
- package/dist/plugins/getresponse/src/index.js +20 -32
- package/dist/plugins/gett/src/credentials.js +64 -0
- package/dist/plugins/gett/src/index.js +11 -6
- package/dist/plugins/gett/src/login.js +24 -0
- package/dist/plugins/gett/src/session.js +15 -38
- package/dist/plugins/gett/src/shared.js +41 -84
- package/dist/plugins/ghost/src/credentials.js +36 -0
- package/dist/plugins/ghost/src/index.js +18 -59
- package/dist/plugins/github/src/credentials.js +18 -0
- package/dist/plugins/github/src/index.js +55 -78
- package/dist/plugins/gitlab/src/credentials.js +24 -0
- package/dist/plugins/gitlab/src/index.js +29 -48
- package/dist/plugins/gmail/src/index.js +47 -108
- package/dist/plugins/gong/src/credentials.js +16 -0
- package/dist/plugins/gong/src/index.js +16 -32
- package/dist/plugins/googleAppsScript/src/index.js +109 -42
- package/dist/plugins/googleCalendar/src/index.js +20 -51
- package/dist/plugins/googleContacts/src/index.js +13 -40
- package/dist/plugins/googleDocs/src/index.js +3 -32
- package/dist/plugins/googleDocs/src/shared.js +2 -1
- package/dist/plugins/googleDrive/src/index.js +68 -97
- package/dist/plugins/googleImage/src/credentials.js +14 -0
- package/dist/plugins/googleImage/src/index.js +15 -26
- package/dist/plugins/googleSheets/src/index.js +27 -60
- package/dist/plugins/googleSlides/src/index.js +7 -35
- package/dist/plugins/googleTasks/src/index.js +14 -42
- package/dist/plugins/gotify/src/credentials.js +32 -0
- package/dist/plugins/gotify/src/index.js +14 -36
- package/dist/plugins/gotowebinar/src/credentials.js +13 -0
- package/dist/plugins/gotowebinar/src/index.js +52 -69
- package/dist/plugins/grafana/src/credentials.js +16 -0
- package/dist/plugins/grafana/src/index.js +34 -53
- package/dist/plugins/graphql/src/credentials.js +42 -0
- package/dist/plugins/graphql/src/index.js +21 -46
- package/dist/plugins/grist/src/credentials.js +30 -0
- package/dist/plugins/grist/src/index.js +14 -43
- package/dist/plugins/halopsa/src/credentials.js +56 -0
- package/dist/plugins/halopsa/src/index.js +20 -47
- package/dist/plugins/harvest/src/credentials.js +20 -0
- package/dist/plugins/harvest/src/index.js +24 -43
- package/dist/plugins/helpscout/src/credentials.js +13 -0
- package/dist/plugins/helpscout/src/index.js +26 -38
- package/dist/plugins/highlevel/src/credentials.js +19 -0
- package/dist/plugins/highlevel/src/index.js +42 -65
- package/dist/plugins/homeAssistant/src/credentials.js +27 -0
- package/dist/plugins/homeAssistant/src/index.js +34 -52
- package/dist/plugins/hubspot/src/credentials.js +16 -0
- package/dist/plugins/hubspot/src/index.js +29 -41
- package/dist/plugins/humanticAi/src/credentials.js +13 -0
- package/dist/plugins/humanticAi/src/index.js +15 -22
- package/dist/plugins/hunter/src/credentials.js +13 -0
- package/dist/plugins/hunter/src/index.js +18 -17
- package/dist/plugins/intercom/src/credentials.js +19 -0
- package/dist/plugins/intercom/src/index.js +25 -38
- package/dist/plugins/iterable/src/credentials.js +17 -0
- package/dist/plugins/iterable/src/index.js +26 -40
- package/dist/plugins/jenkins/src/credentials.js +16 -0
- package/dist/plugins/jenkins/src/index.js +22 -36
- package/dist/plugins/jira/src/credentials.js +16 -0
- package/dist/plugins/jira/src/index.js +35 -61
- package/dist/plugins/keap/src/credentials.js +19 -0
- package/dist/plugins/keap/src/index.js +43 -71
- package/dist/plugins/kobotoolbox/src/credentials.js +13 -0
- package/dist/plugins/kobotoolbox/src/index.js +46 -84
- package/dist/plugins/lemlist/src/credentials.js +19 -0
- package/dist/plugins/lemlist/src/index.js +35 -47
- package/dist/plugins/linear/src/attachments.js +7 -7
- package/dist/plugins/linear/src/comments.js +7 -7
- package/dist/plugins/linear/src/credentials.js +17 -0
- package/dist/plugins/linear/src/cycles.js +5 -5
- package/dist/plugins/linear/src/index.js +2 -0
- package/dist/plugins/linear/src/initiatives.js +6 -6
- package/dist/plugins/linear/src/issues.js +14 -14
- package/dist/plugins/linear/src/labels.js +6 -6
- package/dist/plugins/linear/src/organization.js +2 -2
- package/dist/plugins/linear/src/projects.js +12 -12
- package/dist/plugins/linear/src/shared.js +34 -32
- package/dist/plugins/linear/src/states.js +3 -3
- package/dist/plugins/linear/src/teams.js +4 -4
- package/dist/plugins/linear/src/users.js +3 -3
- package/dist/plugins/linear/src/views.js +5 -5
- package/dist/plugins/linear/src/webhooks.js +5 -5
- package/dist/plugins/lingvanex/src/credentials.js +13 -0
- package/dist/plugins/lingvanex/src/index.js +7 -9
- package/dist/plugins/linkedin/src/credentials.js +17 -0
- package/dist/plugins/linkedin/src/index.js +13 -17
- package/dist/plugins/lonescale/src/credentials.js +13 -0
- package/dist/plugins/lonescale/src/index.js +16 -26
- package/dist/plugins/magento/src/credentials.js +16 -0
- package/dist/plugins/magento/src/index.js +67 -84
- package/dist/plugins/mailcheck/src/credentials.js +17 -0
- package/dist/plugins/mailcheck/src/index.js +7 -9
- package/dist/plugins/mailchimp/src/credentials.js +32 -0
- package/dist/plugins/mailchimp/src/index.js +36 -44
- package/dist/plugins/mailerlite/src/credentials.js +13 -0
- package/dist/plugins/mailerlite/src/index.js +19 -32
- package/dist/plugins/mailgun/src/credentials.js +21 -0
- package/dist/plugins/mailgun/src/index.js +15 -21
- package/dist/plugins/mailjet/src/credentials.js +38 -0
- package/dist/plugins/mailjet/src/index.js +60 -115
- package/dist/plugins/mandrill/src/credentials.js +17 -0
- package/dist/plugins/mandrill/src/index.js +11 -12
- package/dist/plugins/marketstack/src/credentials.js +16 -0
- package/dist/plugins/marketstack/src/index.js +18 -28
- package/dist/plugins/matrix/src/credentials.js +19 -0
- package/dist/plugins/matrix/src/index.js +23 -52
- package/dist/plugins/mattermost/src/credentials.js +19 -0
- package/dist/plugins/mattermost/src/index.js +41 -73
- package/dist/plugins/mautic/src/credentials.js +16 -0
- package/dist/plugins/mautic/src/index.js +46 -62
- package/dist/plugins/medium/src/credentials.js +20 -0
- package/dist/plugins/medium/src/index.js +18 -23
- package/dist/plugins/messagebird/src/credentials.js +22 -0
- package/dist/plugins/messagebird/src/index.js +13 -18
- package/dist/plugins/metabase/src/credentials.js +19 -0
- package/dist/plugins/metabase/src/index.js +24 -40
- package/dist/plugins/microsoftCalendar/src/index.js +49 -18
- package/dist/plugins/microsoftFiles/src/index.js +95 -31
- package/dist/plugins/microsoftMail/src/index.js +63 -21
- package/dist/plugins/misp/src/credentials.js +16 -0
- package/dist/plugins/misp/src/index.js +60 -71
- package/dist/plugins/mocean/src/credentials.js +17 -0
- package/dist/plugins/mocean/src/index.js +11 -23
- package/dist/plugins/monday/src/credentials.js +14 -0
- package/dist/plugins/monday/src/index.js +31 -44
- package/dist/plugins/monicaCrm/src/credentials.js +19 -0
- package/dist/plugins/monicaCrm/src/index.js +25 -42
- package/dist/plugins/msg91/src/credentials.js +10 -0
- package/dist/plugins/msg91/src/index.js +15 -11
- package/dist/plugins/nasa/src/credentials.js +22 -0
- package/dist/plugins/nasa/src/index.js +24 -28
- package/dist/plugins/netlify/src/credentials.js +19 -0
- package/dist/plugins/netlify/src/index.js +27 -51
- package/dist/plugins/netscalerAdc/src/credentials.js +18 -0
- package/dist/plugins/netscalerAdc/src/index.js +16 -31
- package/dist/plugins/nextcloud/src/credentials.js +27 -0
- package/dist/plugins/nextcloud/src/index.js +55 -109
- package/dist/plugins/nocodb/src/credentials.js +16 -0
- package/dist/plugins/nocodb/src/index.js +19 -37
- package/dist/plugins/notion/src/credentials.js +21 -0
- package/dist/plugins/notion/src/index.js +25 -38
- package/dist/plugins/npm/src/credentials.js +19 -0
- package/dist/plugins/npm/src/index.js +22 -32
- package/dist/plugins/odoo/src/credentials.js +21 -0
- package/dist/plugins/odoo/src/index.js +53 -69
- package/dist/plugins/okta/src/credentials.js +23 -0
- package/dist/plugins/okta/src/index.js +30 -35
- package/dist/plugins/oneSimpleApi/src/credentials.js +16 -0
- package/dist/plugins/oneSimpleApi/src/index.js +19 -24
- package/dist/plugins/onfleet/src/credentials.js +23 -0
- package/dist/plugins/onfleet/src/index.js +42 -53
- package/dist/plugins/openai/src/credentials.js +13 -0
- package/dist/plugins/openai/src/index.js +16 -24
- package/dist/plugins/openweathermap/src/credentials.js +16 -0
- package/dist/plugins/openweathermap/src/index.js +22 -22
- package/dist/plugins/oura/src/credentials.js +19 -0
- package/dist/plugins/oura/src/index.js +13 -18
- package/dist/plugins/paddle/src/credentials.js +27 -0
- package/dist/plugins/paddle/src/index.js +20 -36
- package/dist/plugins/pagerduty/src/credentials.js +24 -0
- package/dist/plugins/pagerduty/src/index.js +30 -39
- package/dist/plugins/parallel/src/credentials.js +18 -0
- package/dist/plugins/parallel/src/index.js +16 -22
- package/dist/plugins/paypal/src/credentials.js +44 -0
- package/dist/plugins/paypal/src/index.js +14 -40
- package/dist/plugins/peekalink/src/credentials.js +16 -0
- package/dist/plugins/peekalink/src/index.js +10 -11
- package/dist/plugins/phantombuster/src/credentials.js +19 -0
- package/dist/plugins/phantombuster/src/index.js +19 -32
- package/dist/plugins/philipsHue/src/credentials.js +17 -0
- package/dist/plugins/philipsHue/src/index.js +15 -27
- package/dist/plugins/pipedrive/src/credentials.js +26 -0
- package/dist/plugins/pipedrive/src/index.js +43 -73
- package/dist/plugins/plaud/src/index.js +2 -1
- package/dist/plugins/plaud/src/shared.js +23 -19
- package/dist/plugins/plivo/src/credentials.js +20 -0
- package/dist/plugins/plivo/src/index.js +13 -19
- package/dist/plugins/posthog/src/credentials.js +18 -0
- package/dist/plugins/posthog/src/index.js +14 -20
- package/dist/plugins/profitwell/src/credentials.js +22 -0
- package/dist/plugins/profitwell/src/index.js +10 -17
- package/dist/plugins/pushbullet/src/credentials.js +19 -0
- package/dist/plugins/pushbullet/src/index.js +19 -27
- package/dist/plugins/pushcut/src/credentials.js +19 -0
- package/dist/plugins/pushcut/src/index.js +7 -8
- package/dist/plugins/pushover/src/credentials.js +14 -0
- package/dist/plugins/pushover/src/index.js +7 -12
- package/dist/plugins/quickbase/src/credentials.js +15 -0
- package/dist/plugins/quickbase/src/index.js +24 -34
- package/dist/plugins/quickbooks/src/credentials.js +22 -0
- package/dist/plugins/quickbooks/src/index.js +17 -46
- package/dist/plugins/raindrop/src/credentials.js +19 -0
- package/dist/plugins/raindrop/src/index.js +30 -32
- package/dist/plugins/recraft/src/credentials.js +13 -0
- package/dist/plugins/recraft/src/index.js +39 -28
- package/dist/plugins/reddit/src/credentials.js +26 -0
- package/dist/plugins/reddit/src/index.js +30 -34
- package/dist/plugins/replicate/src/credentials.js +23 -0
- package/dist/plugins/replicate/src/index.js +18 -28
- package/dist/plugins/rocketchat/src/credentials.js +17 -0
- package/dist/plugins/rocketchat/src/index.js +8 -19
- package/dist/plugins/rundeck/src/credentials.js +16 -0
- package/dist/plugins/rundeck/src/index.js +12 -28
- package/dist/plugins/salesforce/src/credentials.js +73 -0
- package/dist/plugins/salesforce/src/index.js +6 -0
- package/dist/plugins/salesforce/src/metadata.js +3 -16
- package/dist/plugins/salesforce/src/shared.js +25 -100
- package/dist/plugins/salesforce/src/sobjects.js +10 -9
- package/dist/plugins/salesmate/src/credentials.js +17 -0
- package/dist/plugins/salesmate/src/index.js +20 -37
- package/dist/plugins/securityScorecard/src/credentials.js +22 -0
- package/dist/plugins/securityScorecard/src/index.js +24 -37
- package/dist/plugins/segment/src/credentials.js +16 -0
- package/dist/plugins/segment/src/index.js +12 -16
- package/dist/plugins/sendgrid/src/credentials.js +13 -0
- package/dist/plugins/sendgrid/src/index.js +31 -35
- package/dist/plugins/sendy/src/credentials.js +18 -0
- package/dist/plugins/sendy/src/index.js +18 -24
- package/dist/plugins/sentry/src/credentials.js +16 -0
- package/dist/plugins/sentry/src/index.js +30 -98
- package/dist/plugins/servicenow/src/credentials.js +13 -0
- package/dist/plugins/servicenow/src/index.js +22 -41
- package/dist/plugins/shiftAtlas/src/graph.js +2 -2
- package/dist/plugins/shiftAtlas/src/index.js +2 -0
- package/dist/plugins/shiftAtlas/src/shared.js +3 -1
- package/dist/plugins/shiftBwm/src/index.js +4 -2
- package/dist/plugins/shiftBwm/src/shared.js +41 -16
- package/dist/plugins/shiftCrm/src/access.js +2 -2
- package/dist/plugins/shiftCrm/src/accounts.js +3 -3
- package/dist/plugins/shiftCrm/src/activities.js +3 -3
- package/dist/plugins/shiftCrm/src/credentials.js +6 -0
- package/dist/plugins/shiftCrm/src/index.js +2 -0
- package/dist/plugins/shiftCrm/src/opportunities.js +3 -3
- package/dist/plugins/shiftCrm/src/people.js +3 -3
- package/dist/plugins/shiftCrm/src/records.js +2 -2
- package/dist/plugins/shiftCrm/src/shared.js +2 -1
- package/dist/plugins/shiftCrm/src/tasks.js +3 -3
- package/dist/plugins/shiftObjects/src/credentials.js +2 -0
- package/dist/plugins/shiftObjects/src/index.js +2 -0
- package/dist/plugins/shiftObjects/src/objects.js +4 -3
- package/dist/plugins/shiftOcr/src/credentials.js +8 -0
- package/dist/plugins/shiftOcr/src/index.js +14 -8
- package/dist/plugins/shiftPages/src/index.js +2 -0
- package/dist/plugins/shiftPages/src/pages.js +5 -3
- package/dist/plugins/shiftPages/src/shared.js +3 -1
- package/dist/plugins/shiftTranscription/src/index.js +2 -0
- package/dist/plugins/shiftTranscription/src/shared.js +11 -1
- package/dist/plugins/shiftTranscription/src/transcription.js +5 -5
- package/dist/plugins/shiftWork/src/index.js +2 -0
- package/dist/plugins/shiftWork/src/issue-views.js +5 -5
- package/dist/plugins/shiftWork/src/issues.js +11 -7
- package/dist/plugins/shiftWork/src/projects.js +3 -3
- package/dist/plugins/shiftWork/src/shared.js +3 -1
- package/dist/plugins/shopify/src/credentials.js +16 -0
- package/dist/plugins/shopify/src/index.js +32 -59
- package/dist/plugins/signl4/src/credentials.js +17 -0
- package/dist/plugins/signl4/src/index.js +28 -29
- package/dist/plugins/slack/src/credentials.js +19 -0
- package/dist/plugins/slack/src/index.js +51 -60
- package/dist/plugins/sms77/src/credentials.js +17 -0
- package/dist/plugins/sms77/src/index.js +11 -16
- package/dist/plugins/splunk/src/credentials.js +19 -0
- package/dist/plugins/splunk/src/index.js +32 -74
- package/dist/plugins/spotify/src/credentials.js +19 -0
- package/dist/plugins/spotify/src/index.js +40 -55
- package/dist/plugins/stackby/src/credentials.js +13 -0
- package/dist/plugins/stackby/src/index.js +14 -23
- package/dist/plugins/steel/src/auth.js +27 -0
- package/dist/plugins/steel/src/browser.js +4 -3
- package/dist/plugins/steel/src/captchas.js +4 -3
- package/dist/plugins/steel/src/extensions.js +3 -2
- package/dist/plugins/steel/src/files.js +9 -10
- package/dist/plugins/steel/src/index.js +2 -0
- package/dist/plugins/steel/src/page/tools.js +3 -3
- package/dist/plugins/steel/src/profiles.js +4 -3
- package/dist/plugins/steel/src/sessions.js +13 -13
- package/dist/plugins/steel/src/shared.js +21 -51
- package/dist/plugins/storyblok/src/credentials.js +37 -0
- package/dist/plugins/storyblok/src/index.js +22 -66
- package/dist/plugins/strapi/src/credentials.js +71 -0
- package/dist/plugins/strapi/src/index.js +36 -70
- package/dist/plugins/strava/src/credentials.js +19 -0
- package/dist/plugins/strava/src/index.js +16 -33
- package/dist/plugins/stripe/src/credentials.js +19 -0
- package/dist/plugins/stripe/src/index.js +44 -58
- package/dist/plugins/supabase/src/credentials.js +30 -0
- package/dist/plugins/supabase/src/index.js +18 -40
- package/dist/plugins/syncromsp/src/credentials.js +16 -0
- package/dist/plugins/syncromsp/src/index.js +37 -70
- package/dist/plugins/tapfiliate/src/credentials.js +13 -0
- package/dist/plugins/tapfiliate/src/index.js +21 -31
- package/dist/plugins/telegram/src/credentials.js +20 -0
- package/dist/plugins/telegram/src/index.js +31 -39
- package/dist/plugins/thehive/src/credentials.js +14 -0
- package/dist/plugins/thehive/src/index.js +33 -50
- package/dist/plugins/thehiveProject/src/credentials.js +16 -0
- package/dist/plugins/thehiveProject/src/index.js +53 -122
- package/dist/plugins/todoist/src/credentials.js +26 -0
- package/dist/plugins/todoist/src/index.js +49 -79
- package/dist/plugins/together/src/credentials.js +16 -0
- package/dist/plugins/together/src/index.js +31 -33
- package/dist/plugins/travisci/src/credentials.js +24 -0
- package/dist/plugins/travisci/src/index.js +16 -30
- package/dist/plugins/trello/src/credentials.js +29 -0
- package/dist/plugins/trello/src/index.js +49 -64
- package/dist/plugins/twake/src/credentials.js +16 -0
- package/dist/plugins/twake/src/index.js +8 -10
- package/dist/plugins/twilio/src/credentials.js +23 -0
- package/dist/plugins/twilio/src/index.js +12 -26
- package/dist/plugins/twist/src/credentials.js +13 -0
- package/dist/plugins/twist/src/index.js +32 -44
- package/dist/plugins/twitter/src/credentials.js +16 -0
- package/dist/plugins/twitter/src/index.js +25 -37
- package/dist/plugins/typesafe/src/credentials.js +28 -0
- package/dist/plugins/typesafe/src/index.js +3 -1
- package/dist/plugins/typesafe/src/shared.js +23 -35
- package/dist/plugins/unleashedSoftware/src/credentials.js +21 -0
- package/dist/plugins/unleashedSoftware/src/index.js +13 -37
- package/dist/plugins/uplead/src/credentials.js +16 -0
- package/dist/plugins/uplead/src/index.js +11 -16
- package/dist/plugins/uproc/src/credentials.js +14 -0
- package/dist/plugins/uproc/src/index.js +7 -10
- package/dist/plugins/uptimerobot/src/credentials.js +14 -0
- package/dist/plugins/uptimerobot/src/index.js +28 -39
- package/dist/plugins/urlscanio/src/credentials.js +13 -0
- package/dist/plugins/urlscanio/src/index.js +13 -22
- package/dist/plugins/vercel/src/credentials.js +19 -0
- package/dist/plugins/vercel/src/deployments.js +27 -11
- package/dist/plugins/vercel/src/env.js +31 -12
- package/dist/plugins/vercel/src/index.js +2 -0
- package/dist/plugins/vercel/src/projects.js +6 -3
- package/dist/plugins/vercel/src/shared.js +32 -37
- package/dist/plugins/vero/src/credentials.js +17 -0
- package/dist/plugins/vero/src/index.js +18 -21
- package/dist/plugins/vonage/src/credentials.js +17 -0
- package/dist/plugins/vonage/src/index.js +14 -18
- package/dist/plugins/wekan/src/credentials.js +16 -0
- package/dist/plugins/wekan/src/index.js +33 -46
- package/dist/plugins/wolt/src/account.js +6 -0
- package/dist/plugins/wolt/src/catalog.js +2 -2
- package/dist/plugins/wolt/src/credentials.js +64 -0
- package/dist/plugins/wolt/src/index.js +8 -3
- package/dist/plugins/wolt/src/orders.js +2 -2
- package/dist/plugins/wolt/src/public.js +91 -0
- package/dist/plugins/wolt/src/shared.js +49 -158
- package/dist/plugins/woocommerce/src/credentials.js +16 -0
- package/dist/plugins/woocommerce/src/index.js +19 -37
- package/dist/plugins/wordpress/src/credentials.js +16 -0
- package/dist/plugins/wordpress/src/index.js +23 -42
- package/dist/plugins/xai/src/credentials.js +13 -0
- package/dist/plugins/xai/src/index.js +32 -31
- package/dist/plugins/xero/src/credentials.js +17 -0
- package/dist/plugins/xero/src/index.js +19 -36
- package/dist/plugins/yourls/src/credentials.js +17 -0
- package/dist/plugins/yourls/src/index.js +13 -23
- package/dist/plugins/zammad/src/credentials.js +15 -0
- package/dist/plugins/zammad/src/index.js +27 -47
- package/dist/plugins/zendesk/src/credentials.js +26 -0
- package/dist/plugins/zendesk/src/index.js +29 -48
- package/dist/plugins/zoho/src/credentials.js +17 -0
- package/dist/plugins/zoho/src/index.js +18 -38
- package/dist/plugins/zoom/src/credentials.js +19 -0
- package/dist/plugins/zoom/src/index.js +15 -30
- package/dist/plugins/zulip/src/credentials.js +16 -0
- package/dist/plugins/zulip/src/index.js +36 -42
- package/dist/sdk.d.ts +8 -0
- package/dist/sdk.js +3 -0
- package/package.json +2 -1
- package/dist/plugins/_shared/authedFetch.js +0 -33
- package/dist/plugins/_shared/tokenRefresh.js +0 -41
- package/dist/tests/helpers/engine-harness.d.ts +0 -1
- package/dist/tests/helpers/engine-harness.js +0 -236
|
@@ -1,35 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
url.searchParams.set(k, String(v));
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { intercomCredential } from "./credentials.js";
|
|
3
|
+
function api(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, intercomCredential, "intercom", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
11
7
|
method,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
method !== "GET" &&
|
|
21
|
-
method !== "DELETE")
|
|
22
|
-
opts.body = JSON.stringify(body);
|
|
23
|
-
const res = await fetch(url.toString(), opts);
|
|
24
|
-
if (!res.ok)
|
|
25
|
-
throw new Error(`Intercom API error ${res.status}: ${await res.text()}`);
|
|
26
|
-
if (res.status === 204)
|
|
27
|
-
return { success: true };
|
|
28
|
-
return res.json();
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body &&
|
|
10
|
+
Object.keys(body).length > 0 &&
|
|
11
|
+
method !== "GET" &&
|
|
12
|
+
method !== "DELETE"
|
|
13
|
+
? { json: body }
|
|
14
|
+
: {}),
|
|
15
|
+
});
|
|
29
16
|
}
|
|
30
17
|
export default function intercom(rl) {
|
|
31
18
|
rl.setName("intercom");
|
|
32
19
|
rl.setVersion("0.1.0");
|
|
20
|
+
rl.setCredential(intercomCredential);
|
|
33
21
|
rl.setConnectionSchema({
|
|
34
22
|
accessToken: {
|
|
35
23
|
type: "string",
|
|
@@ -38,7 +26,6 @@ export default function intercom(rl) {
|
|
|
38
26
|
env: "INTERCOM_ACCESS_TOKEN",
|
|
39
27
|
},
|
|
40
28
|
});
|
|
41
|
-
const tok = (ctx) => ctx.connection.config.accessToken;
|
|
42
29
|
// ── Contact (unified leads + users in v2) ───────────
|
|
43
30
|
rl.registerAction("contact.create", {
|
|
44
31
|
access: "write",
|
|
@@ -72,7 +59,7 @@ export default function intercom(rl) {
|
|
|
72
59
|
body.external_id = externalId;
|
|
73
60
|
if (customAttributes)
|
|
74
61
|
body.custom_attributes = customAttributes;
|
|
75
|
-
return
|
|
62
|
+
return api(ctx, "POST", "contacts", body);
|
|
76
63
|
},
|
|
77
64
|
});
|
|
78
65
|
rl.registerAction("contact.get", {
|
|
@@ -82,7 +69,7 @@ export default function intercom(rl) {
|
|
|
82
69
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
83
70
|
},
|
|
84
71
|
async execute(input, ctx) {
|
|
85
|
-
return
|
|
72
|
+
return api(ctx, "GET", `contacts/${pathSegment(input.contactId)}`);
|
|
86
73
|
},
|
|
87
74
|
});
|
|
88
75
|
rl.registerAction("contact.list", {
|
|
@@ -103,7 +90,7 @@ export default function intercom(rl) {
|
|
|
103
90
|
qs.per_page = limit;
|
|
104
91
|
if (startingAfter)
|
|
105
92
|
qs.starting_after = startingAfter;
|
|
106
|
-
return
|
|
93
|
+
return api(ctx, "GET", "contacts", undefined, qs);
|
|
107
94
|
},
|
|
108
95
|
});
|
|
109
96
|
rl.registerAction("contact.update", {
|
|
@@ -131,7 +118,7 @@ export default function intercom(rl) {
|
|
|
131
118
|
body.phone = phone;
|
|
132
119
|
if (customAttributes)
|
|
133
120
|
body.custom_attributes = customAttributes;
|
|
134
|
-
return
|
|
121
|
+
return api(ctx, "PUT", `contacts/${pathSegment(contactId)}`, body);
|
|
135
122
|
},
|
|
136
123
|
});
|
|
137
124
|
rl.registerAction("contact.delete", {
|
|
@@ -141,7 +128,7 @@ export default function intercom(rl) {
|
|
|
141
128
|
contactId: { type: "string", required: true, description: "Contact ID" },
|
|
142
129
|
},
|
|
143
130
|
async execute(input, ctx) {
|
|
144
|
-
return
|
|
131
|
+
return api(ctx, "DELETE", `contacts/${pathSegment(input.contactId)}`);
|
|
145
132
|
},
|
|
146
133
|
});
|
|
147
134
|
rl.registerAction("contact.search", {
|
|
@@ -164,7 +151,7 @@ export default function intercom(rl) {
|
|
|
164
151
|
const body = { query };
|
|
165
152
|
if (limit)
|
|
166
153
|
body.pagination = { per_page: limit };
|
|
167
|
-
return
|
|
154
|
+
return api(ctx, "POST", "contacts/search", body);
|
|
168
155
|
},
|
|
169
156
|
});
|
|
170
157
|
// ── Company ─────────────────────────────────────────
|
|
@@ -194,7 +181,7 @@ export default function intercom(rl) {
|
|
|
194
181
|
body.plan = plan;
|
|
195
182
|
if (customAttributes)
|
|
196
183
|
body.custom_attributes = customAttributes;
|
|
197
|
-
return
|
|
184
|
+
return api(ctx, "POST", "companies", body);
|
|
198
185
|
},
|
|
199
186
|
});
|
|
200
187
|
rl.registerAction("company.get", {
|
|
@@ -208,7 +195,7 @@ export default function intercom(rl) {
|
|
|
208
195
|
},
|
|
209
196
|
},
|
|
210
197
|
async execute(input, ctx) {
|
|
211
|
-
return
|
|
198
|
+
return api(ctx, "GET", `companies/${pathSegment(input.companyId)}`);
|
|
212
199
|
},
|
|
213
200
|
});
|
|
214
201
|
rl.registerAction("company.list", {
|
|
@@ -225,7 +212,7 @@ export default function intercom(rl) {
|
|
|
225
212
|
qs.per_page = limit;
|
|
226
213
|
if (page)
|
|
227
214
|
qs.page = page;
|
|
228
|
-
return
|
|
215
|
+
return api(ctx, "GET", "companies", undefined, qs);
|
|
229
216
|
},
|
|
230
217
|
});
|
|
231
218
|
rl.registerAction("company.listUsers", {
|
|
@@ -235,7 +222,7 @@ export default function intercom(rl) {
|
|
|
235
222
|
companyId: { type: "string", required: true, description: "Company ID" },
|
|
236
223
|
},
|
|
237
224
|
async execute(input, ctx) {
|
|
238
|
-
return
|
|
225
|
+
return api(ctx, "GET", `companies/${pathSegment(input.companyId)}/contacts`);
|
|
239
226
|
},
|
|
240
227
|
});
|
|
241
228
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An API key, sent as the Api-Key header beneath /api/ of the configured
|
|
4
|
+
* region base (US default, EU override). The base is public config and
|
|
5
|
+
* must be HTTPS.
|
|
6
|
+
*/
|
|
7
|
+
export const iterableCredential = staticCredential({
|
|
8
|
+
id: "iterable",
|
|
9
|
+
auth: { kind: "apiKey", header: "Api-Key" },
|
|
10
|
+
local: { secret: "apiKey" },
|
|
11
|
+
targets: (config) => ({
|
|
12
|
+
api: {
|
|
13
|
+
baseUrl: httpsBase(config.region ?? "https://api.iterable.com", "api/"),
|
|
14
|
+
methods: ["GET", "POST", "DELETE"],
|
|
15
|
+
},
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (v !== undefined && v !== null)
|
|
6
|
-
url.searchParams.set(k, String(v));
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
const opts = {
|
|
10
|
-
method,
|
|
11
|
-
headers: { "Api-Key": apiKey, "Content-Type": "application/json" },
|
|
12
|
-
};
|
|
13
|
-
if (body &&
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { iterableCredential } from "./credentials.js";
|
|
3
|
+
function apiRequest(ctx, method, path, body, qs) {
|
|
4
|
+
const json = body &&
|
|
14
5
|
Object.keys(body).length > 0 &&
|
|
15
6
|
method !== "GET" &&
|
|
16
|
-
method !== "DELETE"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
method !== "DELETE"
|
|
8
|
+
? body
|
|
9
|
+
: undefined;
|
|
10
|
+
return credentialJson(ctx, iterableCredential, "iterable", {
|
|
11
|
+
target: "api",
|
|
12
|
+
path,
|
|
13
|
+
method,
|
|
14
|
+
query: qs,
|
|
15
|
+
...(json !== undefined ? { json } : {}),
|
|
16
|
+
});
|
|
22
17
|
}
|
|
23
18
|
export default function iterable(rl) {
|
|
24
19
|
rl.setName("iterable");
|
|
25
20
|
rl.setVersion("0.1.0");
|
|
21
|
+
rl.setCredential(iterableCredential);
|
|
26
22
|
rl.setConnectionSchema({
|
|
27
23
|
apiKey: {
|
|
28
24
|
type: "string",
|
|
@@ -38,10 +34,6 @@ export default function iterable(rl) {
|
|
|
38
34
|
default: "https://api.iterable.com",
|
|
39
35
|
},
|
|
40
36
|
});
|
|
41
|
-
const conn = (ctx) => ({
|
|
42
|
-
baseUrl: (ctx.connection.config.region ?? "https://api.iterable.com").replace(/\/$/, ""),
|
|
43
|
-
apiKey: ctx.connection.config.apiKey,
|
|
44
|
-
});
|
|
45
37
|
// ── Event ───────────────────────────────────────────
|
|
46
38
|
rl.registerAction("event.track", {
|
|
47
39
|
access: "write",
|
|
@@ -55,10 +47,7 @@ export default function iterable(rl) {
|
|
|
55
47
|
},
|
|
56
48
|
async execute(input, ctx) {
|
|
57
49
|
const { events } = input;
|
|
58
|
-
|
|
59
|
-
return apiRequest(baseUrl, apiKey, "POST", "/events/trackBulk", {
|
|
60
|
-
events,
|
|
61
|
-
});
|
|
50
|
+
return apiRequest(ctx, "POST", "events/trackBulk", { events });
|
|
62
51
|
},
|
|
63
52
|
});
|
|
64
53
|
// ── User ────────────────────────────────────────────
|
|
@@ -89,7 +78,6 @@ export default function iterable(rl) {
|
|
|
89
78
|
},
|
|
90
79
|
async execute(input, ctx) {
|
|
91
80
|
const { identifier, value, preferUserId, dataFields } = input;
|
|
92
|
-
const { baseUrl, apiKey } = conn(ctx);
|
|
93
81
|
const body = {};
|
|
94
82
|
if (identifier === "email") {
|
|
95
83
|
body.email = value;
|
|
@@ -101,7 +89,7 @@ export default function iterable(rl) {
|
|
|
101
89
|
}
|
|
102
90
|
if (dataFields)
|
|
103
91
|
body.dataFields = dataFields;
|
|
104
|
-
return apiRequest(
|
|
92
|
+
return apiRequest(ctx, "POST", "users/update", body);
|
|
105
93
|
},
|
|
106
94
|
});
|
|
107
95
|
rl.registerAction("user.get", {
|
|
@@ -121,12 +109,13 @@ export default function iterable(rl) {
|
|
|
121
109
|
},
|
|
122
110
|
async execute(input, ctx) {
|
|
123
111
|
const { by, value } = input;
|
|
124
|
-
const { baseUrl, apiKey } = conn(ctx);
|
|
125
112
|
if (by === "email") {
|
|
126
|
-
const data = await apiRequest(
|
|
113
|
+
const data = await apiRequest(ctx, "GET", "users/getByEmail", undefined, {
|
|
114
|
+
email: value,
|
|
115
|
+
});
|
|
127
116
|
return data.user ?? data;
|
|
128
117
|
}
|
|
129
|
-
return apiRequest(
|
|
118
|
+
return apiRequest(ctx, "GET", `users/byUserId/${pathSegment(value)}`);
|
|
130
119
|
},
|
|
131
120
|
});
|
|
132
121
|
rl.registerAction("user.delete", {
|
|
@@ -146,11 +135,10 @@ export default function iterable(rl) {
|
|
|
146
135
|
},
|
|
147
136
|
async execute(input, ctx) {
|
|
148
137
|
const { by, value } = input;
|
|
149
|
-
const { baseUrl, apiKey } = conn(ctx);
|
|
150
138
|
const endpoint = by === "email"
|
|
151
|
-
?
|
|
152
|
-
:
|
|
153
|
-
return apiRequest(
|
|
139
|
+
? `users/${pathSegment(value)}`
|
|
140
|
+
: `users/byUserId/${pathSegment(value)}`;
|
|
141
|
+
return apiRequest(ctx, "DELETE", endpoint);
|
|
154
142
|
},
|
|
155
143
|
});
|
|
156
144
|
// ── User List ───────────────────────────────────────
|
|
@@ -172,9 +160,8 @@ export default function iterable(rl) {
|
|
|
172
160
|
},
|
|
173
161
|
async execute(input, ctx) {
|
|
174
162
|
const { listId, identifier, values } = input;
|
|
175
|
-
const { baseUrl, apiKey } = conn(ctx);
|
|
176
163
|
const subscribers = values.map((v) => identifier === "email" ? { email: v } : { userId: v });
|
|
177
|
-
return apiRequest(
|
|
164
|
+
return apiRequest(ctx, "POST", "lists/subscribe", {
|
|
178
165
|
listId,
|
|
179
166
|
subscribers,
|
|
180
167
|
});
|
|
@@ -208,14 +195,13 @@ export default function iterable(rl) {
|
|
|
208
195
|
},
|
|
209
196
|
async execute(input, ctx) {
|
|
210
197
|
const { listId, identifier, values, campaignId, channelUnsubscribe } = input;
|
|
211
|
-
const { baseUrl, apiKey } = conn(ctx);
|
|
212
198
|
const subscribers = values.map((v) => identifier === "email" ? { email: v } : { userId: v });
|
|
213
199
|
const body = { listId, subscribers };
|
|
214
200
|
if (campaignId !== undefined)
|
|
215
201
|
body.campaignId = campaignId;
|
|
216
202
|
if (channelUnsubscribe !== undefined)
|
|
217
203
|
body.channelUnsubscribe = channelUnsubscribe;
|
|
218
|
-
return apiRequest(
|
|
204
|
+
return apiRequest(ctx, "POST", "lists/unsubscribe", body);
|
|
219
205
|
},
|
|
220
206
|
});
|
|
221
207
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* The username and per-user API token, sent as HTTP Basic to the
|
|
4
|
+
* connection's own Jenkins instance.
|
|
5
|
+
*/
|
|
6
|
+
export const jenkinsCredential = staticCredential({
|
|
7
|
+
id: "jenkins",
|
|
8
|
+
auth: { kind: "basic" },
|
|
9
|
+
local: { username: "username", password: "apiToken" },
|
|
10
|
+
targets: (config) => ({
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: httpsBase(config.baseUrl, ""),
|
|
13
|
+
methods: ["GET", "POST"],
|
|
14
|
+
},
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
@@ -1,41 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
opts.body = typeof body === "string" ? body : JSON.stringify(body);
|
|
17
|
-
const res = await fetch(url.toString(), opts);
|
|
18
|
-
if (!res.ok)
|
|
19
|
-
throw new Error(`Jenkins error ${res.status}: ${await res.text()}`);
|
|
1
|
+
import { credentialOk, jsonAnswer, pathSegments, } from "../../_shared/credentials.js";
|
|
2
|
+
import { jenkinsCredential } from "./credentials.js";
|
|
3
|
+
async function jk(ctx, method, endpoint, body, contentType, qs) {
|
|
4
|
+
const res = await credentialOk(ctx, jenkinsCredential, "jenkins", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path: endpoint.replace(/^\//, ""),
|
|
7
|
+
method,
|
|
8
|
+
query: qs,
|
|
9
|
+
...(contentType ? { headers: { "Content-Type": contentType } } : {}),
|
|
10
|
+
...(body && method !== "GET"
|
|
11
|
+
? typeof body === "string"
|
|
12
|
+
? { body }
|
|
13
|
+
: { json: body }
|
|
14
|
+
: {}),
|
|
15
|
+
});
|
|
20
16
|
const ct = res.headers.get("content-type") ?? "";
|
|
21
17
|
if (ct.includes("json"))
|
|
22
|
-
return res
|
|
18
|
+
return jsonAnswer(res);
|
|
23
19
|
return { success: true };
|
|
24
20
|
}
|
|
25
|
-
function getConn(ctx) {
|
|
26
|
-
return {
|
|
27
|
-
baseUrl: ctx.connection.config.baseUrl.replace(/\/$/, ""),
|
|
28
|
-
username: ctx.connection.config.username,
|
|
29
|
-
apiToken: ctx.connection.config.apiToken,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function jk(ctx, method, endpoint, body, ct, qs) {
|
|
33
|
-
const { baseUrl, username, apiToken } = getConn(ctx);
|
|
34
|
-
return apiRequest(baseUrl, username, apiToken, method, endpoint, body, ct, qs);
|
|
35
|
-
}
|
|
36
21
|
export default function jenkins(rl) {
|
|
37
22
|
rl.setName("jenkins");
|
|
38
23
|
rl.setVersion("0.1.0");
|
|
24
|
+
rl.setCredential(jenkinsCredential);
|
|
39
25
|
rl.setConnectionSchema({
|
|
40
26
|
baseUrl: {
|
|
41
27
|
type: "string",
|
|
@@ -64,7 +50,7 @@ export default function jenkins(rl) {
|
|
|
64
50
|
jobName: {
|
|
65
51
|
type: "string",
|
|
66
52
|
required: true,
|
|
67
|
-
description: "Job name
|
|
53
|
+
description: "Job name; a job in a folder as folder/job/name",
|
|
68
54
|
},
|
|
69
55
|
parameters: {
|
|
70
56
|
type: "object",
|
|
@@ -77,10 +63,10 @@ export default function jenkins(rl) {
|
|
|
77
63
|
if (parameters &&
|
|
78
64
|
Object.keys(parameters).length > 0) {
|
|
79
65
|
const qs = parameters;
|
|
80
|
-
await jk(ctx, "POST", `/job/${jobName}/buildWithParameters`, undefined, undefined, qs);
|
|
66
|
+
await jk(ctx, "POST", `/job/${pathSegments(jobName)}/buildWithParameters`, undefined, undefined, qs);
|
|
81
67
|
}
|
|
82
68
|
else {
|
|
83
|
-
await jk(ctx, "POST", `/job/${jobName}/build`);
|
|
69
|
+
await jk(ctx, "POST", `/job/${pathSegments(jobName)}/build`);
|
|
84
70
|
}
|
|
85
71
|
return { success: true };
|
|
86
72
|
},
|
|
@@ -92,7 +78,7 @@ export default function jenkins(rl) {
|
|
|
92
78
|
jobName: { type: "string", required: true, description: "Job name" },
|
|
93
79
|
},
|
|
94
80
|
async execute(input, ctx) {
|
|
95
|
-
const data = (await jk(ctx, "GET", `/job/${input.jobName}/api/json`, undefined, undefined, { tree: "actions[parameterDefinitions[*]]" }));
|
|
81
|
+
const data = (await jk(ctx, "GET", `/job/${pathSegments(input.jobName)}/api/json`, undefined, undefined, { tree: "actions[parameterDefinitions[*]]" }));
|
|
96
82
|
return data.actions;
|
|
97
83
|
},
|
|
98
84
|
});
|
|
@@ -145,7 +131,7 @@ export default function jenkins(rl) {
|
|
|
145
131
|
async execute(input, ctx) {
|
|
146
132
|
const { jobName, limit } = input;
|
|
147
133
|
const tree = limit ? `builds[*]{0,${limit}}` : "builds[*]";
|
|
148
|
-
const data = (await jk(ctx, "GET", `/job/${jobName}/api/json`, undefined, undefined, { tree }));
|
|
134
|
+
const data = (await jk(ctx, "GET", `/job/${pathSegments(jobName)}/api/json`, undefined, undefined, { tree }));
|
|
149
135
|
return data.builds;
|
|
150
136
|
},
|
|
151
137
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { httpsBase, staticCredential } from "../../_shared/credentials.js";
|
|
2
|
+
/**
|
|
3
|
+
* An Atlassian API token with the account email as the Basic pair, on the
|
|
4
|
+
* connection's own Jira site beneath /rest/.
|
|
5
|
+
*/
|
|
6
|
+
export const jiraCredential = staticCredential({
|
|
7
|
+
id: "jira",
|
|
8
|
+
auth: { kind: "basic" },
|
|
9
|
+
local: { username: "email", password: "apiToken" },
|
|
10
|
+
targets: (config) => ({
|
|
11
|
+
api: {
|
|
12
|
+
baseUrl: httpsBase(config.domain, "rest/"),
|
|
13
|
+
methods: ["GET", "POST", "PUT", "DELETE"],
|
|
14
|
+
},
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
@@ -1,48 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
const opts = {
|
|
1
|
+
import { credentialJson, pathSegment } from "../../_shared/credentials.js";
|
|
2
|
+
import { jiraCredential } from "./credentials.js";
|
|
3
|
+
function jr(ctx, method, path, body, qs) {
|
|
4
|
+
return credentialJson(ctx, jiraCredential, "jira", {
|
|
5
|
+
target: "api",
|
|
6
|
+
path,
|
|
10
7
|
method,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
method !== "GET" &&
|
|
20
|
-
method !== "DELETE")
|
|
21
|
-
opts.body = JSON.stringify(body);
|
|
22
|
-
const res = await fetch(url.toString(), opts);
|
|
23
|
-
if (!res.ok)
|
|
24
|
-
throw new Error(`Jira API error ${res.status}: ${await res.text()}`);
|
|
25
|
-
if (res.status === 204)
|
|
26
|
-
return { success: true };
|
|
27
|
-
const ct = res.headers.get("content-type") ?? "";
|
|
28
|
-
if (ct.includes("json"))
|
|
29
|
-
return res.json();
|
|
30
|
-
return { success: true };
|
|
31
|
-
}
|
|
32
|
-
function getConn(ctx) {
|
|
33
|
-
return {
|
|
34
|
-
domain: ctx.connection.config.domain.replace(/\/$/, ""),
|
|
35
|
-
email: ctx.connection.config.email,
|
|
36
|
-
apiToken: ctx.connection.config.apiToken,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function jr(ctx, method, endpoint, body, qs) {
|
|
40
|
-
const { domain, email, apiToken } = getConn(ctx);
|
|
41
|
-
return apiRequest(domain, email, apiToken, method, endpoint, body, qs);
|
|
8
|
+
query: qs,
|
|
9
|
+
...(body &&
|
|
10
|
+
Object.keys(body).length > 0 &&
|
|
11
|
+
method !== "GET" &&
|
|
12
|
+
method !== "DELETE"
|
|
13
|
+
? { json: body }
|
|
14
|
+
: {}),
|
|
15
|
+
});
|
|
42
16
|
}
|
|
43
17
|
export default function jira(rl) {
|
|
44
18
|
rl.setName("jira");
|
|
45
19
|
rl.setVersion("0.1.0");
|
|
20
|
+
rl.setCredential(jiraCredential);
|
|
46
21
|
rl.setConnectionSchema({
|
|
47
22
|
domain: {
|
|
48
23
|
type: "string",
|
|
@@ -125,7 +100,7 @@ export default function jira(rl) {
|
|
|
125
100
|
fields.parent = { key: parentKey };
|
|
126
101
|
if (customFields)
|
|
127
102
|
Object.assign(fields, customFields);
|
|
128
|
-
return jr(ctx, "POST", "
|
|
103
|
+
return jr(ctx, "POST", "api/2/issue", { fields });
|
|
129
104
|
},
|
|
130
105
|
});
|
|
131
106
|
rl.registerAction("issue.get", {
|
|
@@ -155,7 +130,7 @@ export default function jira(rl) {
|
|
|
155
130
|
qs.fields = fields;
|
|
156
131
|
if (expand)
|
|
157
132
|
qs.expand = expand;
|
|
158
|
-
return jr(ctx, "GET",
|
|
133
|
+
return jr(ctx, "GET", `api/2/issue/${pathSegment(issueKey)}`, undefined, qs);
|
|
159
134
|
},
|
|
160
135
|
});
|
|
161
136
|
rl.registerAction("issue.search", {
|
|
@@ -188,8 +163,8 @@ export default function jira(rl) {
|
|
|
188
163
|
const { jql, fields, maxResults, nextPageToken, expand } = input;
|
|
189
164
|
const body = {
|
|
190
165
|
jql,
|
|
191
|
-
// The
|
|
192
|
-
//
|
|
166
|
+
// The endpoint returns only id+key by default; ask for all fields
|
|
167
|
+
// unless the caller narrows the list.
|
|
193
168
|
fields: Array.isArray(fields) ? fields : ["*all"],
|
|
194
169
|
};
|
|
195
170
|
if (maxResults)
|
|
@@ -198,10 +173,9 @@ export default function jira(rl) {
|
|
|
198
173
|
body.nextPageToken = nextPageToken;
|
|
199
174
|
if (expand)
|
|
200
175
|
body.expand = expand;
|
|
201
|
-
//
|
|
202
|
-
//
|
|
203
|
-
|
|
204
|
-
return jr(ctx, "POST", "/api/3/search/jql", body);
|
|
176
|
+
// POST api/3/search/jql is Atlassian's JQL search endpoint
|
|
177
|
+
// (CHANGE-2046), with cursor-based pagination.
|
|
178
|
+
return jr(ctx, "POST", "api/3/search/jql", body);
|
|
205
179
|
},
|
|
206
180
|
});
|
|
207
181
|
rl.registerAction("issue.update", {
|
|
@@ -230,7 +204,7 @@ export default function jira(rl) {
|
|
|
230
204
|
body.update = update;
|
|
231
205
|
if (transition)
|
|
232
206
|
body.transition = transition;
|
|
233
|
-
return jr(ctx, "PUT",
|
|
207
|
+
return jr(ctx, "PUT", `api/2/issue/${pathSegment(issueKey)}`, body);
|
|
234
208
|
},
|
|
235
209
|
});
|
|
236
210
|
rl.registerAction("issue.delete", {
|
|
@@ -240,7 +214,7 @@ export default function jira(rl) {
|
|
|
240
214
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
241
215
|
},
|
|
242
216
|
async execute(input, ctx) {
|
|
243
|
-
await jr(ctx, "DELETE",
|
|
217
|
+
await jr(ctx, "DELETE", `api/2/issue/${pathSegment(input.issueKey)}`);
|
|
244
218
|
return { success: true };
|
|
245
219
|
},
|
|
246
220
|
});
|
|
@@ -267,7 +241,7 @@ export default function jira(rl) {
|
|
|
267
241
|
};
|
|
268
242
|
if (comment)
|
|
269
243
|
body.update = { comment: [{ add: { body: comment } }] };
|
|
270
|
-
return jr(ctx, "POST",
|
|
244
|
+
return jr(ctx, "POST", `api/2/issue/${pathSegment(issueKey)}/transitions`, body);
|
|
271
245
|
},
|
|
272
246
|
});
|
|
273
247
|
rl.registerAction("issue.getTransitions", {
|
|
@@ -277,7 +251,7 @@ export default function jira(rl) {
|
|
|
277
251
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
278
252
|
},
|
|
279
253
|
async execute(input, ctx) {
|
|
280
|
-
return jr(ctx, "GET",
|
|
254
|
+
return jr(ctx, "GET", `api/2/issue/${pathSegment(input.issueKey)}/transitions`);
|
|
281
255
|
},
|
|
282
256
|
});
|
|
283
257
|
rl.registerAction("issue.getChangelog", {
|
|
@@ -287,7 +261,7 @@ export default function jira(rl) {
|
|
|
287
261
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
288
262
|
},
|
|
289
263
|
async execute(input, ctx) {
|
|
290
|
-
return jr(ctx, "GET",
|
|
264
|
+
return jr(ctx, "GET", `api/2/issue/${pathSegment(input.issueKey)}/changelog`);
|
|
291
265
|
},
|
|
292
266
|
});
|
|
293
267
|
rl.registerAction("issue.notify", {
|
|
@@ -305,7 +279,7 @@ export default function jira(rl) {
|
|
|
305
279
|
},
|
|
306
280
|
async execute(input, ctx) {
|
|
307
281
|
const { issueKey, subject, htmlBody, to } = input;
|
|
308
|
-
return jr(ctx, "POST",
|
|
282
|
+
return jr(ctx, "POST", `api/2/issue/${pathSegment(issueKey)}/notify`, {
|
|
309
283
|
subject,
|
|
310
284
|
htmlBody,
|
|
311
285
|
to,
|
|
@@ -322,7 +296,7 @@ export default function jira(rl) {
|
|
|
322
296
|
},
|
|
323
297
|
async execute(input, ctx) {
|
|
324
298
|
const { issueKey, body: commentBody } = input;
|
|
325
|
-
return jr(ctx, "POST",
|
|
299
|
+
return jr(ctx, "POST", `api/2/issue/${pathSegment(issueKey)}/comment`, {
|
|
326
300
|
body: commentBody,
|
|
327
301
|
});
|
|
328
302
|
},
|
|
@@ -336,7 +310,7 @@ export default function jira(rl) {
|
|
|
336
310
|
},
|
|
337
311
|
async execute(input, ctx) {
|
|
338
312
|
const { issueKey, commentId } = input;
|
|
339
|
-
return jr(ctx, "GET",
|
|
313
|
+
return jr(ctx, "GET", `api/2/issue/${pathSegment(issueKey)}/comment/${pathSegment(commentId)}`);
|
|
340
314
|
},
|
|
341
315
|
});
|
|
342
316
|
rl.registerAction("issueComment.list", {
|
|
@@ -346,7 +320,7 @@ export default function jira(rl) {
|
|
|
346
320
|
issueKey: { type: "string", required: true, description: "Issue key" },
|
|
347
321
|
},
|
|
348
322
|
async execute(input, ctx) {
|
|
349
|
-
return jr(ctx, "GET",
|
|
323
|
+
return jr(ctx, "GET", `api/2/issue/${pathSegment(input.issueKey)}/comment`);
|
|
350
324
|
},
|
|
351
325
|
});
|
|
352
326
|
rl.registerAction("issueComment.update", {
|
|
@@ -359,7 +333,7 @@ export default function jira(rl) {
|
|
|
359
333
|
},
|
|
360
334
|
async execute(input, ctx) {
|
|
361
335
|
const { issueKey, commentId, body: b } = input;
|
|
362
|
-
return jr(ctx, "PUT",
|
|
336
|
+
return jr(ctx, "PUT", `api/2/issue/${pathSegment(issueKey)}/comment/${pathSegment(commentId)}`, {
|
|
363
337
|
body: b,
|
|
364
338
|
});
|
|
365
339
|
},
|
|
@@ -373,7 +347,7 @@ export default function jira(rl) {
|
|
|
373
347
|
},
|
|
374
348
|
async execute(input, ctx) {
|
|
375
349
|
const { issueKey, commentId } = input;
|
|
376
|
-
await jr(ctx, "DELETE",
|
|
350
|
+
await jr(ctx, "DELETE", `api/2/issue/${pathSegment(issueKey)}/comment/${pathSegment(commentId)}`);
|
|
377
351
|
return { success: true };
|
|
378
352
|
},
|
|
379
353
|
});
|
|
@@ -385,7 +359,7 @@ export default function jira(rl) {
|
|
|
385
359
|
accountId: { type: "string", required: true, description: "Account ID" },
|
|
386
360
|
},
|
|
387
361
|
async execute(input, ctx) {
|
|
388
|
-
return jr(ctx, "GET", "
|
|
362
|
+
return jr(ctx, "GET", "api/2/user", undefined, {
|
|
389
363
|
accountId: input.accountId,
|
|
390
364
|
});
|
|
391
365
|
},
|
|
@@ -406,7 +380,7 @@ export default function jira(rl) {
|
|
|
406
380
|
const qs = { query };
|
|
407
381
|
if (maxResults)
|
|
408
382
|
qs.maxResults = maxResults;
|
|
409
|
-
return jr(ctx, "GET", "
|
|
383
|
+
return jr(ctx, "GET", "api/2/user/search", undefined, qs);
|
|
410
384
|
},
|
|
411
385
|
});
|
|
412
386
|
}
|