As PM I want to test how status.io works and fits to us, so that I can compare with others and make decision
Acceptance Criteria
[x] Paste working code
Tasks
[x] Read the docs
[x] Create a simple script that uses API to
[x] Subscribes user to the status page (by groups. Eg some for core, another for sports-data)
[x] Creates an incident and notifies the user
Analysis
Email and status page looks a beet creepy to me. Also, their API seems overcomplicated to me: component_ids, containerids, mix of their sometimes concatinated with -, sometimes ``
import statusio
from .config import statuspage_id, statusio_api_id, statusio_api_kei
status_api = statusio.Api(statusio_api_id, statusio_api_kei)
def on_incident(incident, publisher, errors=''):
components = status_api.ComponentList(statuspage_id)
component = components.get('result', [{}])[0]
component_id = component.get('_id')
container_id = None
for container in component.get('containers', []):
if publisher == container.get('name'):
container_id = container.get('_id')
if not container_id:
logging.error('No status page found for publisher: %s' % publisher)
return
result = status_api.IncidentCreate(
statuspage_id=statuspage_id,
infrastructure_affected=['%s-%s' % (component_id, container_id)],
incident_name=incident,
incident_details=errors,
current_status=300,
current_state=100,
notify_email='1'
)
return result
def subscribe_user(address, method='email', granular=''):
result = status_api.SubscriberAdd(
statuspage_id=statuspage_id,
method=method,
address=address,
silent='1',
granular=granular,
)
return result
As PM I want to test how status.io works and fits to us, so that I can compare with others and make decision
Acceptance Criteria
Tasks
core
, another forsports-data
)Analysis
Email and status page looks a beet creepy to me. Also, their API seems overcomplicated to me: component_ids, containerids, mix of their sometimes concatinated with
-
, sometimes ``