Skip to content

Thin javascript abstraction over the GoodData REST API

License

Notifications You must be signed in to change notification settings

czechian/gooddata-js

 
 

Repository files navigation

GoodData JS SDK

GoodData javascript sdk library mainly provides a thin javascript abstraction over the GoodData REST API. It is created to make it easy to use the GD platform and write small javascript apps relying on GD APIs.

WARNING: npm package renamed from gooddata to @gooddata/gooddata-js


THIS SECTION IS OLD:

Usage

The result of the build is in dist/gooddata[.min].js. Result of the build UMD-compatible - you can use it both globally (see D3 example) and as AMD module. Note that you need to provide jQuery before trying to load sdk. In both AMD and CommonJS environment we expect jQuery library module to be named jquery.

Node JS

You can use the SDK in nodejs, but do not forget to set custom domain URL:

const gooddata = require('@gooddata/gooddata-js');
const getStream = require('get-stream');

gooddata.config.setCustomDomain('secure.gooddata.com');

gooddata.user.login('[email protected]', 'your-secret-password')
    .then(() => console.log('Success'))
    .catch((e) => {
        getStream(e.response.body).then(str => console.error(str))
    });

Quick start

To build the sdk you need to have git and Node.js installed. MacOS users should install Homebrew first and then run:

$ brew install git node yarn

Now, clone this repo with $ git clone [email protected]:gooddata/gooddata-js.git and get the library dependecies with

$ yarn install

Build

In the repository run:

$ grunt

and the built library is ready for you at dist/gooddata.min.js

Develop

It is easy to start your own project with this repository or modify and explore examples depicting some of the sdk usages. To start with examples run:

$ grunt dev

Which starts proxy that allows your script to communicate with secure.gooddata.com (backend can be changed with $ grunt dev --backend=some-other-backend.na.getgooddata.com).

To run some of the examples, first you need to update credentials in the related js file. In case of d3-data-viz example you need to edit viz.js file and update user and passwd variables. Then just add the name of the example to URL like localhost:8443/d3-data-viz and you should get a nice chord chart rendered in a while.

Documentation

Documentation of functions available in SDK can be found at sdk.gooddata.com/gooddata-js/api. It can be generated right from the source code by running:

$ grunt doc

Tests

Run tests with:

$ grunt test

Test coverage report can be found in coverage/ folder.

Releasing

Flow of release is:

  • bump version to version+1 in package.json
  • create version commit & tag and push these to your upstream remote (so watch your remote naming)

Steps to publish a release:

  • run yarn version command to select next version
  • run grunt bump-gh-pages in master
  • run npm publish in master
  • you're done

About

Thin javascript abstraction over the GoodData REST API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 78.6%
  • HTML 13.2%
  • CSS 7.4%
  • JavaScript 0.8%