The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/vendor/grafana.coffee

60 lines
1.9 KiB

# Description:
# A way to interact with the Google Images API.
#
# Commands:
# hubot image me <query> - The Original. Queries Google Images for <query> and returns a random top result.
# hubot animate me <query> - The same thing as `image me`, except adds a few parameters to try to return an animated GIF instead.
# hubot mustache me <url> - Adds a mustache to the specified URL.
# hubot mustache me <query> - Searches Google Images for the specified query and mustaches it.
module.exports = (robot) ->
robot.hear /grafana (.*)/i, (msg) ->
sendUrl msg.match[1]
robot.router.get '/hubot/test', (req, res) ->
sendUrl()
res.send 'OK '
imageMe = (msg, cb) ->
cb 'http://localhost:3000/render/dashboard/solo/grafana-play-home?from=now-1h&to=now&panelId=4&fullscreen'
sendUrl = (params) ->
https = require 'https'
querystring = require 'querystring'
opts = params.split(' ')
dashboard = opts[0]
panelId = opts[1]
from = opts[2]
imageUrl = "http://localhost:3000/render/dashboard/solo/#{dashboard}/?panelId=#{panelId}"
link = "http://localhost:3000/dashboard/db/#{dashboard}/?panelId=#{panelId}&fullscreen"
if from
imageUrl += "&from=#{from}"
link += "&from=#{from}"
console.log 'imageUrl: ' + imageUrl
hipchat = {}
hipchat.format = 'json'
hipchat.auth_token = process.env.HUBOT_HIPCHAT_TOKEN
console.log 'token: ' + hipchat.auth_token
hipchat.room_id = '877465'
hipchat.message = "<a href='#{link}'><img src='#{imageUrl}'></img></a>"
hipchat.from = "hubot"
hipchat.message_format = "html"
params = querystring.stringify(hipchat)
path = "/v1/rooms/message/?#{params}"
data = ''
https.get {host: 'api.hipchat.com', path: path}, (res) ->
res.on 'data', (chunk) ->
data += chunk.toString()
res.on 'end', () ->
json = JSON.parse(data)
console.log "Hipchat response ", data