diff --git a/app/routes/application.js b/app/routes/application.js index 4633a779..f43b37d2 100644 --- a/app/routes/application.js +++ b/app/routes/application.js @@ -7,9 +7,11 @@ export default TravisRoute.extend(BuildFaviconMixin, { beforeModel() { this._super.apply(this, arguments); - return this.get('auth').refreshUserData().then((function() {}), (() => { + return this.get('auth').refreshUserData().then( () => { + this.setupPendo(); + }, () => { return this.get('auth').signOut(); - })); + }); }, renderTemplate: function() { @@ -60,6 +62,24 @@ export default TravisRoute.extend(BuildFaviconMixin, { } }, + setupPendo() { + if(!window.pendo) { + return; + } + + let user = this.get('auth.currentUser'); + + var options = { + visitor: { + id: user.get('id'), + github_login: user.get('login'), + email: user.get('email') + } + }; + + window.pendo.identify(options); + }, + actions: { redirectToGettingStarted() { // do nothing, we handle it only in index path @@ -88,6 +108,7 @@ export default TravisRoute.extend(BuildFaviconMixin, { afterSignIn() { var transition; + this.setupPendo(); if (transition = this.auth.get('afterSignInTransition')) { this.auth.set('afterSignInTransition', null); return transition.retry(); diff --git a/package.json b/package.json index c15dbf3d..81138c0d 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "ember-cli-htmlbars-inline-precompile": "^0.3.1", "ember-cli-inject-live-reload": "^1.3.1", "ember-cli-inline-images": "^0.0.4", + "ember-cli-pendo": "drogus/ember-cli-pendo", "ember-cli-pretender": "0.3.1", "ember-cli-qunit": "^1.2.1", "ember-cli-release": "0.2.8", diff --git a/waiter/config.ru b/waiter/config.ru index fdca382c..1a640ac6 100644 --- a/waiter/config.ru +++ b/waiter/config.ru @@ -73,5 +73,6 @@ run Travis::Web::App.build( code_climate_url: ENV['CODE_CLIMATE_URL'], assets_host: ENV['ASSETS_HOST'], ajax_polling: ENV['AJAX_POLLING'], - github_orgs_oauth_access_settings_url: ENV['GITHUB_ORGS_OAUTH_ACCESS_SETTINGS_URL'] + github_orgs_oauth_access_settings_url: ENV['GITHUB_ORGS_OAUTH_ACCESS_SETTINGS_URL'], + pendo_key: ENV['PENDO_KEY'] ) diff --git a/waiter/lib/travis/web/app.rb b/waiter/lib/travis/web/app.rb index 92614286..d681902e 100644 --- a/waiter/lib/travis/web/app.rb +++ b/waiter/lib/travis/web/app.rb @@ -191,6 +191,8 @@ class Travis::Web::App pusher['path'] = options[:pusher_path] if options[:pusher_path] config['pusher'] = pusher + config['ember-cli-pendo'] = { apiKey: options[:pendo_key] } + config['gaCode'] = options[:ga_code] if options[:ga_code] config['pro'] = options[:pro] if options[:pro] config['enterprise'] = options[:enterprise] if options[:enterprise]