for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
import requests
from st2actions.runners.pythonrunner import Action
class GetAppHealthStatusAction(Action):
"""
Get health status of new relic application(s).
def __init__(self, *args, **kwargs):
super(GetAppHealthStatusAction, Action).__init__(*args, **kwargs)
self.url = 'https://api.newrelic.com/v2/applications.json'
self.headers = {
'User-Agent': 'StackStorm-New-Relic-Sensor/1.0.0 python-requests/2.7.0',
'content-type': 'application/x-www-form-urlencoded',
}
self.headers['X-Api-Key'] = self.config['api_key']
def run(self, app_name=None):
params = None
if app_name:
params = {'filter[name]': app_name}
resp = requests.get(self.url, headers=self.headers, params=params).json()
app_status_map = {}
for application in resp['applications']:
app_status_map[application['name']] = application['health_status']
return app_status_map