Blameless
Blameless is the end-to-end SRE platform, empowering teams to optimize the reliability of their systems without sacrificing innovation velocity.
Connect Blameless with Devo SOAR
Navigate to Automations > Integrations.
Search for Blameless.
Click Details, then the + icon. Enter the required information in the following fields.
Label: Enter a connection name.
Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.
Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
Remote Agent: Run this integration using the Devo SOAR Remote Agent.
Audience: Audience URL to access Blameless. Example: .blameless.io
Client ID: Client ID to access Blameless.
Client Secret: Client Secret to access Blameless.
After you've entered all the details, click Connect.
Actions for Blameless
Create Incident
Create an incident
Input Field
Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.
Input Name | Description | Required |
---|---|---|
Description | Jinja-templated text containing the description of the incident. Example: {{description_column}}. | Required |
Creator | Jinja-templated text containing the slack user id of the creator user. Example: {{creator_column}}. | Required |
Type | Jinja-templated text containing the type of the incident (Default is 'DEFAULT' type). Example: {{type_column}}. | Optional |
Severity | Jinja-templated text containing the severity of the incident (Default is 0). The value between 0 and 3 (0 is most severe; 3 is least severe) Example: {{severity_column}}. | Optional |
Output
A JSON object containing multiple rows of result:
has_error: True/False
error: message/null
result: Incident Details
``` {json}{ "result": { "ok": true, "incident": { "_id": 131, "is_deleted": false, "created": { "$date": 1618231582667 }, "updated": { "$date": 1618231582990 }, "is_shadow": false, "creator": "abc@logichub.com", "blameless_creator": "", "roles": { "commander": "abc@logichub.com" }, "blameless_roles": {}, "description": "T2", "status": "INVESTIGATING", "severity": 0, "mute": false, "is_postmortem_required": true, "type": "DEFAULT", "duplicate_of": "", "start_of_customer_impact": { "$date": 1618231582668 }, "start_of_incident_impact": { "$date": 1618231582668 }, "time_to_identification": 0, "time_to_take_action": 0, "time_to_resolution": 0, "duration_of_customer_impact": 0, "duration_of_incident_impact": 0, "team": [], "blameless_team": [], "blamo_provider_name": "slack", "name": "131", "postmortem_state": null } }, "error": null, "has_error": false }
## Update Incident
Update an incident
### Input Field
Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.
| Input Name | Description | Required |
| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
| Incident ID | Jinja-templated text containing the description of the incident. Example: {{description_column}}. | Required |
| Description | Jinja-templated text containing the description of the incident. Example: {{description_column}}. | Optional |
| Type | Jinja-templated text containing the type of the incident (Default is 'DEFAULT' type). Example: {{type_column}}. | Optional |
| Severity | Jinja-templated text containing the severity of the incident (Default is 0). The value between 0 and 3 (0 is most severe; 3 is least severe) Example: {{severity_column}}. | Optional |
### Output
A JSON object containing multiple rows of result:
- has_error: True/False
- error: message/null
- result: Incident Details
``` {json}{
"result": {
"ok": true,
"incident": {
"_id": 127,
"is_deleted": false,
"created": {
"$date": 1618222934606
},
"updated": {
"$date": 1618236879530
},
"is_shadow": false,
"creator": "abc@logichub.com",
"blameless_creator": "",
"roles": {
"commander": "abc@logichub.com"
},
"blameless_roles": {},
"description": "T1",
"status": "INVESTIGATING",
"severity": "SEV3",
"mute": false,
"is_postmortem_required": true,
"type": "er",
"duplicate_of": "",
"start_of_customer_impact": {
"$date": 1618222934607
},
"start_of_incident_impact": {
"$date": 1618222934607
},
"time_to_identification": 0,
"time_to_take_action": 0,
"time_to_resolution": 0,
"duration_of_customer_impact": 0,
"duration_of_incident_impact": 0,
"team": [
{
"_id": "UQY4H9Y1J",
"profile": {
"title": "",
"phone": "",
"skype": "",
"real_name": "Geoff White",
"real_name_normalized": "Geoff White",
"display_name": "",
"display_name_normalized": "",
"fields": null,
"status_text": "",
"status_emoji": "",
"status_expiration": 0,
"avatar_hash": "ge163a5e149e",
"email": "geoffw@blameless.com",
"first_name": "Geoff",
"last_name": "White",
"image_24": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png",
"image_32": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png",
"image_48": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png",
"image_72": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png",
"image_192": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png",
"image_512": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png",
"status_text_canonical": "",
"team": "TQY4H9W1J",
"name": "geoffw"
},
"roles": [
"Participant"
]
}
],
"blameless_team": [
"1"
],
"blamo_provider_name": "slack",
"slack_channel": {
"id": "C01TZQWTKB5",
"name": "_incident-127",l.slack.com/archives/C01TZQWTKB5",
"is_private": false,
"announcements": [
{
"channel_id": "C01TZQWTKB5",
"msg_ts": "161822937.000600"
}
],
"task_lists": [
{
"channel_id": "C0TZQWTKB5",
"msg_ts": "1618222939."
}
]
},
"ticket": {
"type": "JIRA",
"key": "INCIDENT-7204",
"url": "https://blameless.",
"raw": {}
},
"name": "127",
"postmortem_state": null
},
"events": [
{
"_id": 950,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618222934606
},
"event_type": "INCIDENT_CREATED",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 951,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618222934607
},
"event_type": "START_OF_CUSTOMER_IMPACT",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 952,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618222934607
},
"event_type": "START_OF_INCIDENT_IMPACT",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 953,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618222935457
},
"event_type": "POSTMORTEM_STATE_CHANGED",
"value": "UNASSIGNED",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1010,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236178859
},
"event_type": "SEVERITY_FIELD_CHANGED",
"value": "3",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1011,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236179102
},
"event_type": "TYPE_FIELD_CHANGED",
"value": "er",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1012,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236179456
},
"event_type": "POSTMORTEM_STATE_CHANGED",
"value": "UNASSIGNED",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1013,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236225735
},
"event_type": "SEVERITY_FIELD_CHANGED",
"value": "3",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1014,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236225933
},
"event_type": "TYPE_FIELD_CHANGED",
"value": "er",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1015,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236226321
},
"event_type": "POSTMORTEM_STATE_CHANGED",
"value": "UNASSIGNED",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1016,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236276077
},
"event_type": "SEVERITY_FIELD_CHANGED",
"value": "3",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1017,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236276271
},
"event_type": "TYPE_FIELD_CHANGED",
"value": "er",
"is_deleted": false,
"source": {
"profile": {}
}
},
{
"_id": 1018,
"incident_id": 127,
"swimlane_id": 0,
"date": {
"$date": 1618236276672
},
"event_type": "POSTMORTEM_STATE_CHANGED",
"value": "UNASSIGNED",
"is_deleted": false,
"source": {
"profile": {}
}
}
],
"pagination": {
"limit": 1000,
"offset": 0,
"count": 13
}
},
"error": null,
"has_error": false
}
Get List of Incidents
Returns a list of Blameless Incidents, creators, Severity (Sev) levels, descriptions, as well as dates and times.
Input Field
Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.
Input Name | Desccription | Required |
---|---|---|
Limit | Limit the number of records fetched in a single call (Default is 100,000). | Required |
Output
A JSON object containing multiple rows of result:
has_error: True/False
error: message/null
result: list Of Incidents
{json}{
"start_of_incident_impact": {
"$date": 1618222934607
},
"name": "127",
"duration_of_customer_impact": 0,
"is_postmortem_required": true,
"blameless_roles": {},
"description": "T1",
"_id": 127,
"postmortem_state": null,
"time_to_resolution": 0,
"blameless_creator": "",
"is_deleted": false,
"duplicate_of": "",
"is_shadow": false,
"creator": "abc@logichub.com",
"mute": false,
"ticket": {
"key": "INCIDENT-",
"raw": {},
"type": "JIRA",
"url": "https://blameless.atlassian.net/browse/INCIDENT"
},
"start_of_customer_impact": {
"$date": 1618222934607
},
"duration_of_incident_impact": 0,
"has_error": false,
"slack_channel": {
"announcements": [
{
"channel_id": "hj",
"msg_ts": "16182937.00"
}
],
"id": "C01TZQWTKB5",
"is_private": false,
"name": "_incident-127",
"task_lists": [
{
"channel_id": "C01KB5",
"msg_ts": "161800"
}
],
"url": "https://blamelesstrQWTKB5"
},
"time_to_take_action": 0,
"updated": {
"$date": 1618222937603
},
"error": null,
"roles": {
"commander": "abc@logichub.com"
},
"status": "INVESTIGATING",
"team": [
{
"_id": "UQY4H9Y1J",
"profile": {
"avatar_hash": "ge163a5e149e",
"display_name": "",
"display_name_normalized": "",
"email": "geoffw@blameless.com",
"fields": null,
"first_name": "Geoff",
"image_192": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-192.png",
"image_24": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-24.png",
"image_32": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-32.png",
"image_48": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-48.png",
"image_512": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-512.png",
"image_72": "https://secure.gravatar.com/avatar/e163a5e149e2016d78559c54ec5ac3b9.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0012-72.png",
"last_name": "White",
"name": "geoffw",
"phone": "",
"real_name": "Geoff White",
"real_name_normalized": "Geoff White",
"skype": "",
"status_emoji": "",
"status_expiration": 0,
"status_text": "",
"status_text_canonical": "",
"team": "TQY4H9W1J",
"title": ""
},
"roles": [
"Participant"
]
}
],
"severity": "SEV0",
"blameless_team": [
"1"
],
"type": "DEFAULT",
"time_to_identification": 0,
"blamo_provider_name": "slack",
"created": {
"$date": 1618222934606
}
}
Release Notes
v2.0.0
- Updated architecture to support IO via filesystem