Skip to content


Repository files navigation

JavaScript client for the eZ Platform REST API

Build Status

This repository provides a JavaScript library meant to ease the usage of the eZ Publish REST API.


The eZ Platform JavaScript REST Client is a bower package, so the easiest way to install it is to run:

$ bower install --save ezsystems/ez-js-rest-client

Then you can include in your project the file bower\_components/ez-js-rest-client/dist/CAPI-min.js (or the non minified version). It's also possible to directly take dist/CAPI.js or dist/CAPI-min.js in a clone of this repository.


The usage the JavaScript REST Client is detailed in Using the JavaScript REST API Client



The project maintenance is handled in a nodejs based environment with a help of Grunt task runner.

  • Install nodejs
  • Clone this repository
  • From the root of the repository, install the local npm dependencies:
    $ npm install
  • Install the global dependencies (usually you need to be root)
    # npm install -g grunt-cli yuidocjs

API Documentation

The JavaScript API documentation can be generated in the api directory with:

$ grunt doc

Alternatively, you can run

$ grunt livedoc

to run the yuidoc documentation server. The dynamic documentation can then be reached at


The library can be built with:

$ grunt build

This command will (re)generate the files dist/CAPI.js and dist/CAPI-min.js.


#### Unit tests

The unit tests can be executed with:

$ grunt test

It's also possible to generate a coverage report with:

$ grunt coverage

After this command, the report is available in test/coverage/lcov-report/index.html.

Continuous execution

During development it may be quite handy to automatically rerun unit-tests and/or lint checks, once any project related file has changed.

Using so called watch tasks this can easily be achieved. Currently the following of those tasks exist:

  • watch:lint: On each file change execute a linting run
  • watch:test: Execute a unit-test run on each file change

Manual tests

The library can be manually tested by installing the Symfony2 bundle jsRestClientBundle, which is situated in the test/manual/ folder.

Before bundle installation run grunt build command once. It will build all the source files into Resources/public/js/CAPI.js file.

Then the bundle could be installed into your current ezPublish 5.x instance using following instruction:

  • Create path/to/ezpublish5/src/EzSystems if it does not exist.

  • Symlink the bundle into /src/EzSystems/ (keep folder name).

  • Edit /app/AppKernel.php and add the following line before in the return statement of the method registerBundles:

    $bundles[] = new EzSystems\jsRestClientBundle\jsRestClientBundle();
  • Import routing.yml file of the bundle into main routing file by adding the following lines at the very bottom of ezpublish/config/routing.yml:

        resource: "@jsRestClientBundle/Resources/config/routing.yml"
  • Clear the Symfony 2 caches with app/console.

After these steps you may access /js-rest-client-test/ path where you will find testing html page. Most of requests can be configured a little bit before executing them by changing input values. See details of tests implementation in Resources/public/js/cookbook-*.js files.


Javascript REST client for eZ Platform RESTv2 API, mimics PHP API found in eZ Platform.



Security policy





No packages published