.editorconfig | ||
.eslintrc | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
package.json | ||
README.md | ||
webtask-bounties.js | ||
webtask-mailchimp.js | ||
webtask-medium.js | ||
webtask-youtube.js | ||
webtask-zoho.js |
webtasks
🐬 Ocean Protocol's webtasks doing automatic things for us via webtask.io
Table of Contents
Tasks
Medium
webtask-medium.js
: Generic task to fetch and reconstruct items from any medium publication.
Requires the Medium username appended at the end of the url:
http://localhost:8080/:medium_username
# when published on webtask.io
https://TASK_URL/TASK_NAME/:medium_username
YouTube
webtask-youtube.js
: Generic task to fetch and reconstruct items from any YouTube account. For now, only fetches a playlist. YouTube API key is provided via secret environment variable YOUTUBE_API_KEY
setup in web editor of webtask.io.
Construct your request url like so, e.g. locally:
http://localhost:8080/:youtube_playlist_id
# when published on webtask.io
https://TASK_URL/TASK_NAME/:youtube_playlist_id
Bounties
webtask-bounties.js
: Task to fetch open bounties on Gitcoin and Bounties.network in one request. Task creates a unified response from fetching both networks.
Construct your /
request url like so, e.g. locally:
http://localhost:8080/
# when published on webtask.io
https://TASK_URL/TASK_NAME/
Response is structured by network and fills it with whatever comes back from respective API:
{
"gitcoin": [
{...}
],
"bountiesNetwork": [
{...}
]
}
MailChimp
webtask-mailchimp.js
: Task to add a new newsletter subscriber.
Construct your /
request url like so, e.g. locally:
http://localhost:8080/newsletter/jelly@mcjellyfish.com
# when published on webtask.io
https://TASK_URL/TASK_NAME/newsletter/jelly@mcjellyfish.com
Zoho
webtask-zoho.js
: Generic task to subscribe users into lists on Zoho Campaigns & Zoho CRM.
Credentials are provided via secret environment variables, setup in web editor of webtask.io:
ZOHO_CAMPAIGNS_TOKEN
ZOHO_CAMPAIGNS_LIST_KEY
ZOHO_CRM_TOKEN
Campaigns API
/newsletter/:data
: subscribes the given email address to the newsletter list on Zoho Campaigns.
The data needs to be in json
format in the following pattern:
{Contact Email:info@oceanprotocol.com}
Construct your request url like so, e.g. locally:
http://localhost:8080/newsletter/:data
# when published on webtask.io
https://TASK_URL/TASK_NAME/newsletter/:data
CRM API
/crm/:data
: subscribes the given email address to the newsletter list on Zoho Campaigns.
The data needs to be in json
format in the following pattern:
{First Name:Jellyfish, Last Name:McJellyfish, Contact Email:info@oceanprotocol.com}
Construct your request url like so, e.g. locally:
http://localhost:8080/crm/:data
# when published on webtask.io
https://TASK_URL/TASK_NAME/crm/:data
Development
npm install wt-cli -g
npm start
And go to localhost:8080
Deployment
All tasks are running serverless on webtask.io where you can login with your GitHub account. Then interact with it locally with the wt-cli
:
npm install wt-cli -g
wt init YOUR_GITHUB_EMAIL
wt create webtask-medium.js --name medium
# make sure it's there and get url
wt ls
Authors
- Matthias Kretschmann (@kremalicious) - BigchainDB & Ocean Protocol
- initial Medium web task by Pedro Gomes (@pedrouid) - Balance
License
Copyright 2018 Ocean Protocol Foundation Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.