Cisco Spark integration for StackStorm

March 22, 2016
by Anthony Shaw of Dimension Data

I’m “pretty excited” to share some news, we’ve just finished integrating Cisco Spark into StackStorm, via our automation-bot, Hubot.
This means you can get all of the power of StackStorm chatops from within Cisco Spark rooms and collaboration experiences.

What is Cisco Spark?

Cisco Spark delivers cloud-based business communications that enables customers to message, meet and call anyone, whether it be on their mobile device, desktop or meeting room end-points.

What is StackStorm?

StackStorm is an event-driven automation platform that ties together every component of your environment. It’s commonly used for auto-remediation—including response to security events—and other cases such as complex deployments.

Configuring Cisco Spark

If you don’t already have a Cisco Spark account, you can sign up at www.ciscospark.com.

Once you have signed up, go to developer.ciscospark.com and sign in, then you should be able to generate a key

 

Now, copy the key to the clipboard and save it for later.

Copy the key

You want to create a room, or get the ID of an existing room also, so in the developer console go to the rooms page and test out the create room function.

Creating a key

Copy the id property of the created room from the response in the right-hand pane, you will need this later.

Back in the Cisco Spark UI, you can then join that room by searching for it.

Configuring StackStorm

To configure the StackStorm chatops bot to set the following environment variables:

  • HUBOT_SPARK_API_URI – The URI, defaults to the public service if not provided
  • HUBOT_SPARK_ACCESS_TOKEN – The access token we just created
  • HUBOT_SPARK_ROOMS – A list of room Ids (comma seperated) you want your bot to listen in

You need to alter the following properties of "/opt/puppet/hieradata/answers.yaml" then run update-system

...
hubot::adapter: "spark"
hubot::env_export:
HUBOT_LOG_LEVEL: "debug"
HUBOT_SPARK_API_URI=https://api.ciscospark.com/v1
HUBOT_SPARK_ACCESS_TOKEN="your token"
HUBOT_SPARK_ROOMS="your room ID"
...

If you already have the docker hubot image running, stop it and download the new version

service docker-hubot stop
docker rmi stackstorm/hubot
docker pull stackstorm/hubot
service docker-hubot start

Now you can tail docker logs hubot to see what is going on, check into your room and start issuing those ChatOps commands!

Testing the integration

Then you will be able to post messages and wait for the arrival of your bot.

Then to test that out, head into StackStorm and run the chatops.post_message action with a hello message:

Hello world

And then back in Cisco Spark you should see your message!

In Spark

What now?

Now you can install more packs that support ChatOps commands into your StackStorm environment, try out some of these out-of-the-box integrations.

About Dimension Data

Dimension Data is a ICT services and solutions provider that uses its technology expertise, global service delivery capability, and entrepreneurial spirit to accelerate the business ambitions of its clients. For an idea of what we do, check out this YouTube video of the Tour de France- powered by Dimension Data

Dimension Data and Cisco Spark

Dimension Data is one of Cisco’s largest global partners with a relationship that extends over 20 years and a Cisco Gold Partner in every region in which we operate. Dimension Data’s Cisco qualifications cover virtually all the certifications and specializations that Cisco uses to classify its partners.

Dimension Data announced Cisco Spark hybrid services after celebrating their 25 year partnership with Cisco

Cisco Spark Hybrid Services is the next generation of the Spark Service that that connects clients’ existing on-premises collaboration capabilities to Cisco Spark in the Dimension Data Collaboration Cloud services bringing together the best of both worlds.

Dimension Data and StackStorm

Dimension Data are a StackStorm Enterprise customer and have been using StackStorm to automate research projects, integrate and automate their public cloud and automate the deployment of Cloud Services

About Anthony

Anthony runs Innovation and Research projects for Dimension Data’s IT-as-a-Service global division out of Sydney, Australia.

Anthony is a long-time StackStorm user, after starting to use StackStorm to automate the Dimension Data Cloud, Anthony ended up developing packs for tesla, [OctopusDeploy (https://github.com/StackStorm-Exchange/stackstorm-octopusdeploy), SignalR, and others..

Anthony’s goal for next month (once the hardware arrives) is to upgrade the sprinkler system in his house to use StackStorm IFTTT triggers to control the water flow based on the weather conditions.. More to come on that one.

You can follow Anthony on Twitter to see what he’s currently up to.

Acknowledgement

I’d like to acknowledge:

  • Edward Medvedev for his continued collaboration with me, on late night discussions about Tesla, the correct way to setup the horn honking and support on my bizarre and poorly thought through ideas for StackStorm. Keep it real Ed-
    Keep it real
  • The ‘Stormers Manas, Lakshmi, Tomaz, Winston, Kirill and Patrick for providing consistent 24×7 above-and-beyond support for us on our wild automation adventure.
[Image: Cartoon Network]