Blameless

Version: 2.0.0

Blameless is the end-to-end SRE platform, empowering teams to optimize the reliability of their systems without sacrificing innovation velocity.

Connect Blameless with LogicHub

  1. Navigate to Automations > Integrations.
  2. Search for Blameless.
  3. 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 LogicHub 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.
  4. 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 NameDescriptionRequired
DescriptionJinja-templated text containing the description of the incident. Example: {{description_column}}.Required
CreatorJinja-templated text containing the slack user id of the creator user. Example: {{creator_column}}.Required
TypeJinja-templated text containing the type of the incident (Default is 'DEFAULT' type). Example: {{type_column}}.Optional
SeverityJinja-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
{
  "result": {
    "ok": true,
    "incident": {
      "_id": 131,
      "is_deleted": false,
      "created": {
        "$date": 1618231582667
      },
      "updated": {
        "$date": 1618231582990
      },
      "is_shadow": false,
      "creator": "[email protected]",
      "blameless_creator": "",
      "roles": {
        "commander": "[email protected]"
      },
      "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 NameDescriptionRequired
Incident IDJinja-templated text containing the description of the incident. Example: {{description_column}}.Required
DescriptionJinja-templated text containing the description of the incident. Example: {{description_column}}.Optional
TypeJinja-templated text containing the type of the incident (Default is 'DEFAULT' type). Example: {{type_column}}.Optional
SeverityJinja-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
{
  "result": {
    "ok": true,
    "incident": {
      "_id": 127,
      "is_deleted": false,
      "created": {
        "$date": 1618222934606
      },
      "updated": {
        "$date": 1618236879530
      },
      "is_shadow": false,
      "creator": "[email protected]",
      "blameless_creator": "",
      "roles": {
        "commander": "[email protected]"
      },
      "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": "[email protected]",
            "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 NameDesccriptionRequired
LimitLimit 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
{
  "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": "[email protected]",
  "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": "[email protected]"
  },
  "status": "INVESTIGATING",
  "team": [
    {
      "_id": "UQY4H9Y1J",
      "profile": {
        "avatar_hash": "ge163a5e149e",
        "display_name": "",
        "display_name_normalized": "",
        "email": "[email protected]",
        "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

© Devo Technology Inc. All Rights Reserved.