Skip to content

Latest commit

 

History

History
435 lines (325 loc) · 11.4 KB

CLI.md

File metadata and controls

435 lines (325 loc) · 11.4 KB

gooddata-ruby CLI

api

Some basic API stuff directly from CLI

api get

GET request on our API

tomaskorcak@kx-mac:~/$ gooddata api get /gdc
{"about"=>
  {"summary"=>"Use links to navigate the services.",
   "category"=>"GoodData API root",
   "links"=>
    [{"link"=>"/gdc/", "summary"=>"", "category"=>"home", "title"=>"home"},
     {"link"=>"/gdc/account/token",
      "summary"=>"Temporary token generator.",
      "category"=>"token",
      "title"=>"token"},
     {"link"=>"/gdc/account/login",
      "summary"=>"Authentication service.",
      "category"=>"login",
      "title"=>"login"},
     {"link"=>"/gdc/md",
      "summary"=>"Metadata resources.",
      "category"=>"md",
      "title"=>"metadata"},
     {"link"=>"/gdc/xtab2",
      "summary"=>"Report execution resource.",
      "category"=>"xtab",
      "title"=>"xtab"},
     {"link"=>"/gdc/availableelements",
      "summary"=>
       "Resource used to determine valid attribute values in the context of a report.",
      "category"=>"availablelements",
      "title"=>"AvailableElements"},
     {"link"=>"/gdc/exporter",
      "summary"=>"Report exporting resource.",
      "category"=>"report-exporter",
      "title"=>"exporter"},
     {"link"=>"/gdc/account",
      "summary"=>"Resource for logged in account manipulation.",
      "category"=>"account",
      "title"=>"account"},
     {"link"=>"/gdc/projects",
      "summary"=>"Resource for user and project management.",
      "category"=>"projects",
      "title"=>"projects"},
     {"link"=>"/gdc/tool",
      "summary"=>"Miscellaneous resources.",
      "category"=>"tool",
      "title"=>"tool"},
     {"link"=>"/gdc/templates",
      "summary"=>"Template resource - for internal use only.",
      "category"=>"templates",
      "title"=>"templates"},
     {"link"=>"/gdc/releaseInfo",
      "summary"=>"Release information.",
      "category"=>"releaseInfo",
      "title"=>"releaseInfo"},
     {"link"=>"https://secure-di.gooddata.com/uploads",
      "summary"=>"User data staging area.",
      "category"=>"uploads",
      "title"=>"user-uploads"}]}}

api info

Info about the API version etc

tomaskorcak@kx-mac:~/$ gooddata api info
GoodData API
  Version: N/A
  Released: N/A
  For more info see N/A
nil

auth

Work with your locally stored credentials

auth store

Store your credentials to ~/.gooddata so client does not have to ask you every single time

tomaskorcak@kx-mac:~/$ gooddata auth store
Enter your GoodData credentials.
Email
[email protected]
Password
xxxxxxxxxxxxxxxx
Authorization Token
ABCDEF123
Overwrite existing stored credentials (y/n)
y

console

Interactive session with gooddata sdk loaded

domain

Manage domain

domain add_user

Add user to domain

tomaskorcak@kx-mac:~/$ gooddata domain add_user gooddata-tomas-korcak joe doe [email protected] password

domain list_users

List users in domain

tomaskorcak@kx-mac:~/$ gooddata domain list_users gooddata-tomas-korcak
Tomas,Korcak,[email protected]
tomas,korcak,[email protected]
joe,doe,[email protected]

help

Shows a list of commands or help for one command

process

Work with deployed processes

process deploy

Deploys provided directory to the server

process get

Gives you some basic info about the process

process list

Lists all user's processes deployed on the plaform

tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb process list
{"processes"=>
  {"items"=>
    [{"process"=>
       {"type"=>"GRAPH",
        "name"=>"Training March",
        "graphs"=>["Training March/graph/graph.grf"],
        "executables"=>["Training March/graph/graph.grf"],
        "links"=>
         {"self"=>
           "/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes/f12975d2-5958-4248-9c3d-4c8f2e1f067d",
          "executions"=>
           "/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes/f12975d2-5958-4248-9c3d-4c8f2e1f067d/executions",
          "source"=>
           "/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes/f12975d2-5958-4248-9c3d-4c8f2e1f067d/source"}}}],
   "links"=>
    {"self"=>
      "/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/processes"}}}

project

Manage your project

project build

If you are in a gooddata project blueprint it will apply the changes. If you do not provide a project id it will build it from scratch and create a project for you.

project clone

Clones a project. Useful for testing

tomaskorcak@kx-mac:~/$ gooddata -p uq7vmjkmfj86jihofsavdxgtfmxwofrh project clone

project create

Create a gooddata project

tomaskorcak@kx-mac:~/$ gooddata project create
Project name
Test Project
Project summary  ||
Test Project Summary Text
Project template

token
SUPERSECRETTOKENHERE
Project 'Test Project' with id /gdc/projects/uq7vmjkmfj86jihofsavdxgtfmxwofrh created successfully!

project delete

Delete a project. Be careful this is impossible to revert

tomaskorcak@kx-mac:~/$ gooddata -p uq7vmjkmfj86jihofsavdxgtfmxwofrh project delete

project invite

Invites user to project

tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project invite [email protected] admin
Inviting [email protected], role: /gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/2

project list_users

List users

tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project list_users
Korcak,Tomas,[email protected],/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9

project roles

Roles

tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project roles
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/2,Admin
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/7,Connectors System User
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/5,Editor
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/3,Embedded Dashboard Only
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/1,Unverified Admin
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles/4,Viewer

project show

Shows basic info about a project

tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project show
{"content"=>
  {"cluster"=>"",
   "authorizationToken"=>"IOUYYUY8786",
   "guidedNavigation"=>"1",
   "isPublic"=>"0",
   "driver"=>"Pg",
   "state"=>"ENABLED"},
 "links"=>
  {"ldm_thumbnail"=>
    "/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/ldm?thumbnail=1",
   "self"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb",
   "clearCaches"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/clearCaches",
   "invitations"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/invitations",
   "users"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/users?link=1",
   "uploads"=>
    "https://secure-di.gooddata.com/project-uploads/tk6192gsnav58crp6o1ahsmtuniq8khb/",
   "ldm"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/ldm",
   "metadata"=>"/gdc/md/tk6192gsnav58crp6o1ahsmtuniq8khb",
   "publicartifacts"=>
    "/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/publicartifacts",
   "roles"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/roles",
   "dataload"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload",
   "connectors"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/connectors",
   "execute"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/execute",
   "schedules"=>"/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/schedules",
   "templates"=>"/gdc/md/tk6192gsnav58crp6o1ahsmtuniq8khb/templates",
   "eventstores"=>
    "/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb/dataload/eventstore/stores"},
 "meta"=>
  {"created"=>"2014-03-03 14:24:51",
   "summary"=>"",
   "updated"=>"2014-03-03 14:24:51",
   "author"=>"/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9",
   "title"=>"Training March",
   "contributor"=>"/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9"}}

project update

If you are in a gooddata project blueprint it will apply the changes. If you do not provide a project id it will build it from scratch and create a project for you.

project validation

You can run project validation which will check RI integrity and other problems.

tomaskorcak@kx-mac:~/$ gooddata -p tk6192gsnav58crp6o1ahsmtuniq8khb project validation
{"projectValidateResult"=>
  {"error_found"=>0,
   "fatal_error_found"=>0,
   "results"=>
    [{"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm"},
     {"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::transitivity"},
     {"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::elem_validation"},
     {"body"=>{"error"=>0, "log"=>[]}, "from"=>"metric_filter"},
     {"body"=>{"error"=>0, "log"=>[]}, "from"=>"ldm"},
     {"body"=>{"error"=>0, "log"=>[]}, "from"=>"invalid_objects"},
     {"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::pdm_vs_dwh"},
     {"body"=>{"error"=>0, "log"=>[]}, "from"=>"pdm::pk_fk_consistency"}],
   "meta"=>{"start_time"=>1398202260, "finished_time"=>1398202262}}}

projects

Manage your projects

projects list

Lists user's projects

tomaskorcak@kx-mac:~/$ gooddata projects list
/gdc/projects/la84vcyhrq8jwbu4wpipw66q2sqeb923,GoodSales Demo
/gdc/projects/pouwty5dezpuib8nil16fv4i1jz80oju,GoodSample Demo
/gdc/projects/tk6192gsnav58crp6o1ahsmtuniq8khb,Training March

role

Basic Role Management

role list

List roles

tomaskorcak@kx-mac:~/$ gooddata -p pouwty5dezpuib8nil16fv4i1jz80oju role list
dashboardOnlyRole,/gdc/projects/pouwty5dezpuib8nil16fv4i1jz80oju/roles/3
readOnlyUserRole,/gdc/projects/pouwty5dezpuib8nil16fv4i1jz80oju/roles/4

run_ruby

Run ruby bricks either locally or remotely deployed on our server

scaffold

Scaffold things

scaffold brick

Scaffold a gooddata ruby brick. This is a piece of code that you can run on our platform

tomaskorcak@kx-mac:~/$ gooddata scaffold brick mybrick

tomaskorcak@kx-mac:~/$ ls -la mybrick/
total 16
drwxr-xr-x   4 tomaskorcak  staff   136 Apr 22 14:10 .
drwxr-xr-x  31 tomaskorcak  staff  1054 Apr 22 14:10 ..
-rw-r--r--   1 tomaskorcak  staff   103 Apr 22 14:10 brick.rb
-rw-r--r--   1 tomaskorcak  staff   179 Apr 22 14:10 main.rb

tomaskorcak@kx-mac:~/$ cat mybrick/brick.rb 
class MyBrick < GoodData::Bricks::Brick

    def call(params)
        # do something here
    end

end

tomaskorcak@kx-mac:~/$ cat mybrick/main.rb 
require_relative '../../gooddata/bricks/bricks'

require_relative './mybrick'


scaffold project

Scaffold a gooddata project blueprint

tomaskorcak@kx-mac:~/$ gooddata scaffold project myproj

tomaskorcak@kx-mac:~/$ ls -la myproj/
total 8
drwxr-xr-x   5 tomaskorcak  staff   170 Apr 22 14:13 .
drwxr-xr-x  31 tomaskorcak  staff  1054 Apr 22 14:13 ..
-rw-r--r--   1 tomaskorcak  staff    53 Apr 22 14:13 Goodfile
drwxr-xr-x   5 tomaskorcak  staff   170 Apr 22 14:13 data
drwxr-xr-x   3 tomaskorcak  staff   102 Apr 22 14:13 model

user

User management

user show

Show your profile

tomaskorcak@kx-mac:~/$ gooddata user show
{"accountSetting"=>
  {"country"=>nil,
   "firstName"=>"Tomas",
   "ssoProvider"=>nil,
   "timezone"=>nil,
   "position"=>nil,
   "authenticationModes"=>[],
   "companyName"=>"GoodData",
   "login"=>"[email protected]",
   "email"=>"[email protected]",
   "created"=>"2014-03-03 11:28:51",
   "updated"=>"2014-04-22 22:58:51",
   "lastName"=>"Korcak",
   "phoneNumber"=>"00420775995881",
   "links"=>
    {"self"=>"/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9",
     "projects"=>
      "/gdc/account/profile/c6f1b9dc57a3aac97ed70e467b27bbd9/projects"}}}