My Post

New Features – Basic Test editor and test exports in CSV format

Today we’d like to introduce two great new features available on the StatusCake monitoring platform, we’ve received a lot of requests recently for the new functionality these will offer. You can read more about exactly what the new additions enable you to do below!

Basic Test Editor

Our new basic test editor allows you to set up HTTP type tests much faster than you’d usually be able to using our standard test creation form. When creating a basic test you will only need to select the URL to be tested, check rate and testing location, you can also optionally assign contact groups and tags.

testswitch2

From the dashboard you can now use the basic test editor at any time using the new buttons at the top, you’ll also have the option to create an “Advanced test” using our standard form, which will allow you to access the more complex configurations such as string match, custom headers and POST data. When creating a basic test you can switch to the advanced setup form at any time by clicking the link at the very top of the form.

testswitch

When using the basic test editor you will be given the status of the website after typing the URL in a box to the left of the page, so you can be sure that the settings you have added are correct before saving. We’ve also simplified the location selection part, you now have the ability to select a continent from where you would like testing to occur, and locations will be assigned from that continent only. There’s the option as well to select “Random” and have the tests come from our locations around the globe with no restrictions.

CSV format export for test details

We’ve added the ability to export your test settings as a CSV file from the main uptime test dashboard. At the top of the page you’ll now see a button labelled “Export Settings” which can be clicked to action the download for all tests straight away.

export

The file downloaded will have semi-colon separated values, for a full reference of the details that the file will contain please check here.

Featured Post
MondayUpdates

Monday Update – Domain and SSL updates

Today we’ve made some changes to our Domain and SSL features to make your monitoring set ups more effective, and cover a wider range of use-cases.

SSL Monitoring Updates

Hostname field added to SSL

You can now add a custom hostname to the settings of your SSL test. This is very handy in cases where you need to test with a unique hostname or a specific IP, which is great for bypassing a proxy or dealing with the presence of a load balancer. Existing tests will need to be updated and this setting enabled in order to take advantage of this feature.

hostname

User Agent added to SSL

We’ve also added the ability to define a custom user agent for the SSL tests. You can set this to whatever you want for development or security purposes, if you do choose to leave this blank then our default StatusCake user agent will be used.
useragent

API support for this and the hostname function will be coming soon.

Domain Monitoring Updates

New TLD’s added to our list of supported Domains

We now have full support for two new TLD’s :

  • .live
  • .coop

Adding one of these domains will allow you to get the full set of data including expiry and extended WHOis info. If there’s a domain you’d like to see supported that isn’t just yet – please get in touch with our friendly team via live chat, or send us an email at support@statuscake.com.

Featured Post

StatusCake API Quick Guides – Listing tests and detailed settings

In this post we’ll take you through how to list tests from your account, and their detailed settings through the API. There are two functions involved here, first is the function that lists ALL tests on the account with important settings, and second is a more detailed call for a single test. As usual we’ll take you through this process for both of these using PHP, bash, Python and Postman.

PHP Example 1 – Get all tests

<?php
// Auth the request
$API = “l6OxVJilcD2cETMoNRvn”;
$Username = “StatusCake”;
// Create the CURL
$ch = curl_init(“https://app.statuscake.com/API/Tests/”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
“API: “.$API,
“Username: “.$Username
));
// For Debugging
$Response = curl_exec($ch);
$Response = json_decode($Response);
// Check for success
if (!empty($Response->Success) && $Response->Success == 1) {
echo ‘Here’s the detailed data!’;
echo $Response;
echo ‘Here’s the data!’;
echo $Response;
} else {
echo ‘Something Went Wrong Grabbing the Data<BR>’;
echo $Response->Message;
}
?>

PHP Example 2 – Get detailed data on a single test

<?php
// Auth the request
$API = “l6OxVJilcD2cETMoNRvn”;
$Username = “StatusCake”;
$TestID = TESTIDHERE;
// Create the CURL
$ch = curl_init(“https://app.statuscake.com/API/Tests/Details/?TestID=” . $TestID);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
“API: “.$API,
“Username: “.$Username
));
// For Debugging
$Response = curl_exec($ch);
$Response = json_decode($Response);
// Check for success
if (!empty($Response->Success) && $Response->Success == 1) {
echo ‘Here’s the detailed data!’;
echo $Response;
} else {
echo ‘Something Went Wrong Grabbing the details<BR>’;
echo $Response->Message;
}
?>

Bash Example 1 – Get all tests

curl -H “API: [APIKey]” -H “Username: [Username]” -X GET https://app.statuscake.com/API/Tests/Details/?TestID=TESTIDHERE

Bash Example 2 – Get all tests

curl H “API: [APIKey]” H “Username: [Username]” X GET https://app.statuscake.com/API/Tests/

Python Example 1 – Get all tests

# -*- coding: utf-8 -*-
import requests
headers = {‘API’: ‘APIKEYHERE’,’Username’: ‘USERNAMEHERE’}
url = ‘https://app.statuscake.com/API/Tests/’
r = requests.post(url, headers=headers)
print(r.text)

Python Example 2 – Get detailed data on a single test

# -*- coding: utf-8 -*-
import requests
headers = {‘API’: ‘APIKEYHERE’,’Username’: ‘USERNAMEHERE’}
url = ‘https://app.statuscake.com/API/Tests/Details/?TestID=TESTIDHERE’
r = requests.post(url, headers=headers)
print(r.text) 

Postman Example 1 – Get all tests

pmALL

Postman Example 2 – Get detailed data on a single test

PMalltests

Featured Post

StatusCake API Quick Guides – Adding an Uptime Test

At StatusCake we’ve got a powerful and ever growing API which allows you to automate many tasks, and also to take advantage of functions that are not available in-app.

The Basics

You can communicate with our API through most common coding languages, through this article we will provide code examples in terminal bash, PHP and Python, as well as an example of how to manually run the commands through a common tool for such tasks: PostMan.

The first thing you need to bear in mind when using the API is that all of your calls will need to be validated using the Username and API key, both of these details can be found in the user details section of your account, here for the username, and here for the API key

For the full list of settings that can be added along with your new test please check this page.

  1. Adding with PHP via a curl:

When using a the PHP curl method you’ll want something very similar to the code shown below, just replace the values with your desired parameters. You can see a full list of the available parameters here.

// Enter your personal API key and Username to use for authentication , and also the data to insert
$API = “l6OxVJilcD2cETMoNRvn”;
$Username = “StatusCake”;
$InsertData = array(“WebsiteName”:”My new test”, “Paused” : 0, “WebsiteURL”: “https://www.statuscake.com”, “CheckRate” : “60”, “TestType” : “HTTP”);
// Create the CURL, set the options, remember to use the PUT request type and add the Username and API values to an array.
$ch = curl_init(“https://app.statuscake.com/API/Tests/Update”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “PUT”);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($InsertData));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
“API: “.$API,
“Username: “.$Username
));
// For Debugging, find out if something is going wrong
$Response = curl_exec($ch);
$Response = json_decode($Response);
// Check to see if everything has worked, and print a message indicating whether this was the case
if ($Response->Success == 1) {
echo ‘Inserted Test!’;
} else {
echo ‘Something Went Wrong<BR>’;
echo $Response->Message;
}
}

 

  1. Adding through a terminal with bash

With this method we are looking at significantly less typing, it’s very important once again to ensure that this is always sent as a PUT request. The command should be run from a linux based system accessed through SSH or something similar.

curl -H “API: APIKEY” -H “Username: USERNAME” -d “WebsiteName=MyNewSite&CheckRate=60&TestType=HTTP” -X PUT https://app.statuscake.com/API/Tests/Update

  1. Adding with a Python script

To send a the HTTP PUT request required for this functionality with Python we need to import and use the “requests” package. 

import requests
payload = {‘WebsiteName’:’MySite’, ‘TestType’:’HTTP’, ‘CheckRate’:60, ‘WebsiteURL’:’http://statuscake.com’}
headers = {‘API’: ‘KEYHERE’, ‘Username’: ‘USERNAMEHERE’}
url = ‘https://app.statuscake.com/API/Tests/Update’
r = requests.put(url, headers=headers, data=payload)
print(r.text)

  1. Adding using the PostMan software

Using Postman can be a good manual method, and a way of testing your settings before automating them. Below we’ve included an image showing an example of how to enter the details into the Postman software, API key and Username should be entered separately in the “Headers” section.

 

postman1

Featured Post

New Role – Developer / DevOps Engineer

Posted: March 2018
Job Role: Developer / DevOps Engineer
Job Type: Permanent – Full Time
Location: Central London

Purpose of the Role & Responsibilities:
We have a position available immediately for a DevOps Engineer to become the newest member of the small but highly driven StatusCake team.

You will be responsible, initially, for assisting with technical customer support. This grounding will help you understand how we work as a team, and give you the best possible understanding of our product, code base and customers.  The scope of the role will increase once the right candidate has a good knowledge of this.

As well as providing reactive technical support fixing reported bugs, we’re keen for a self-motivated and disciplined individual who has a real enthusiasm and determination for looking at code and wanting to constantly improve it; “good enough” isn’t in our vocabulary.

Preference will be given to those candidates able to demonstrate a passion for keeping an eye on emerging and innovative technologies, and are proficient using the languages and tools on which the StatusCake application and infrastructure is based: PHP, MySQL, HTML/CSS/JavaScript, CentOS, Git/SVN, Apache/Litespeed, and RESTful Gateways.

Required Skills:
• PHP & MySQL (No Framework)
• HTML/CSS/JavaScript
• Knowledge of GIT
• NodeJS

Desirable Skills:
We’d particularly like to hear from you if you have experience of working with one or more of the following:

• InfluxDB (or TBDD in general)
• Redis
• User Experience (UX)
• RESTful Gateways

Required Personality:
Being part of a small team we’re looking for someone with the right personality mix, as well as your skills. We’re looking for someone who doesn’t just want a job, but has a passion and enthusiasm for coding.

You’ll be someone who can hit the ground running, are ambitious and driven, and looking to stay with the company so that as your experience and understanding grows, you can enjoy a wider role with more responsibilities. We also love people that question technology and coding – how can that be done differently, better and more efficiently?

Application Requirements:
Please email us at team+jobs@statuscake.com with the following information:

• A short bio on who you are, and what you’ve achieved so far.
• Who you’ve worked for / what freelance or hobby projects you’ve worked on?
• Tell us your GitHub or send us a link to one of your projects or your portfolio.
• Tell us what you like about StatusCake, but also what is wrong with it and what would you change?

Strictly no agencies.

Featured Post