# Cannot access es service from custom plugin

**URL:** <https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643>\
**Category:** Kibana\
**Created:** [August 10, 2017, 3:57pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643 "2017-08-10T15:57:23Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![geujvari](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/geujvari/32/21017_2.png) [@geujvari](https://discuss.elastic.co/u/geujvari)\
**Post date:** [August 10, 2017, 3:57pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/1 "2017-08-10T15:57:24Z")

</div>

Hello!

I'm trying to write my own custom Kibana plugin and I want to launch custom ES queries from the client.  
According to the documentation, the `es` service should be a way to go, but I cannot use it, because angularjs says the service is not available, namely:

```auto
Uncaught Error: [$injector:modulerr] Failed to instantiate module kibana due to:
Error: [$injector:modulerr] Failed to instantiate module esAdmin due to:
Error: [$injector:nomod] Module 'esAdmin' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.4.7/$injector/nomod?p0=esAdmin

```

The code I try to run is (from the plugin app.js):

```auto
uiModules.get('kibana', ['esAdmin', 'es'])
.run(function (esAdmin, es) {
  es.ping()
  .then(
    () => {console.log("es pinged");}
   ).catch(err => {
     console.log(err);
   });

```

Can you tell me what am I doing wrong? (Using Kibana 5.5)

---

<div class="post-metadata">

**Author:** ![Bargs](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bargs/32/5429_2.png) [@Bargs](https://discuss.elastic.co/u/Bargs)\
**Post date:** [August 10, 2017, 4:26pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/2 "2017-08-10T16:26:18Z")

</div>

What version of Kibana are you writing a plugin for? The esAdmin proxy [was removed](https://github.com/elastic/kibana/pull/13000) in 6.0+. It looks like our docs are out of date, I'll make sure those get updated.

---

<div class="post-metadata">

**Author:** ![geujvari](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/geujvari/32/21017_2.png) [@geujvari](https://discuss.elastic.co/u/geujvari)\
**Post date:** [August 10, 2017, 4:39pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/3 "2017-08-10T16:39:56Z")

</div>

I'm using Kibana 5.5

---

<div class="post-metadata">

**Author:** ![geujvari](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/geujvari/32/21017_2.png) [@geujvari](https://discuss.elastic.co/u/geujvari)\
**Post date:** [August 10, 2017, 4:45pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/4 "2017-08-10T16:45:25Z")

</div>

Also if I just use es and remove esAdmin, I got a simlar exception.  
Should I maybe include a specific file for the service to be available?

```auto
Uncaught Error: [$injector:modulerr] Failed to instantiate module kibana due to:
Error: [$injector:modulerr] Failed to instantiate module es due to:
Error: [$injector:nomod] Module 'es' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

```

---

<div class="post-metadata">

**Author:** ![Bargs](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bargs/32/5429_2.png) [@Bargs](https://discuss.elastic.co/u/Bargs)\
**Post date:** [August 10, 2017, 4:53pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/5 "2017-08-10T16:53:11Z")

</div>

Try

```auto
uiModules.get('kibana')
.run(function (esAdmin, es) {
  es.ping()
  .then(
    () => {console.log("es pinged");}
   ).catch(err => {
     console.log(err);
   });

```

es and esAdmin are just angular services, not modules. This should work in 5.5. Do keep in mind that esAdmin will be gone in 6.0+ though.

---

<div class="post-metadata">

**Author:** ![geujvari](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/geujvari/32/21017_2.png) [@geujvari](https://discuss.elastic.co/u/geujvari)\
**Post date:** [August 10, 2017, 5:03pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/6 "2017-08-10T17:03:39Z")

</div>

Thank you for helping!

I tried it out, now a different exception:

```auto
Uncaught Error: [$injector:unpr] Unknown provider: esProvider <- es
http://errors.angularjs.org/1.4.7/$injector/unpr?p0=esProvider%20%3C-%20es (https://localhost:25601/dby/bundles/commons.bundle.js?v=8467:27572)
Version: 5.5.0
Build: 8467

```

---

<div class="post-metadata">

**Author:** ![Bargs](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bargs/32/5429_2.png) [@Bargs](https://discuss.elastic.co/u/Bargs)\
**Post date:** [August 10, 2017, 5:16pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/7 "2017-08-10T17:16:45Z")

</div>

Can you share the full code that's producing that error?

---

<div class="post-metadata">

**Author:** ![geujvari](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/geujvari/32/21017_2.png) [@geujvari](https://discuss.elastic.co/u/geujvari)\
**Post date:** [August 10, 2017, 5:28pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/8 "2017-08-10T17:28:07Z")

</div>

I found out the problem.  
I missed out an import.  
Adding this line `import 'ui/autoload/modules';` solves it.

Sorry, I'm new to Kibana.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [September 7, 2017, 5:28pm UTC](https://discuss.elastic.co/t/cannot-access-es-service-from-custom-plugin/96643/9 "2017-09-07T17:28:12Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
