Skip to content
Snippets Groups Projects

Description

In order to build an automated task within our cozy-stack, we can create services which are javascript files called from a trigger job.

For instance on Ecolyo, to schedule a mail that alert the user that a new monthly report is available in the application, we add a trigger that is launched every month with a cron attribute. On that trigger we link a .js script then we instantiate this script with cozy-client.

Configuration

Manifest

The service should be described in the manifest.webapp file. it should defined the type, the file and the trigger. See more information in the official doc of Cozy here

Here is an example of service declaration in the ecolyo manifest:

Manifest.webapp

File location is determined after the build, see here.

!!! note "Cron" See the cron definition at cozy-stack.

Ecolyo services

Service code are located under src\targets\services.

Run services

On alpha

To run services on alpha, a script get_instance_triggers.sh allows you to get triggers associated with services. You can find the corresponding service by looking at the trigger frequency and comparing it with our manifest.webapp.

Then you need to run the script launch_instance_trigger.sh.

Locally

To run services on a local dev environment, you need to run a build first.

Then you need to run :

yarn run cozy-konnector-dev -m manifest.webapp <service.js>
# example
yarn run cozy-konnector-dev -m manifest.webapp ./build/services/enedisHalfHourMonthlyAnalysis/ecolyo.js

!!! bug "Expired token error"

If you have an "Expired token" error, you should remove `token.json`

More details on the cozy docs / Services / Execution.