You can set up automatic validations for your sites, to be run periodically or triggered when a deploy hook is received.
Setting up an Automatic Validation
When you set up an automatic validation, you can specify an schedule for it. This is optional and can be set to be daily, weekly or monthly, specifying as well the exact day (of the week or month) and the hour.
Then, you can define one or several validations to be started. In this example we're specifying that a site should validate HTML on up to 100 pages and CSS on up to 5 pages, every tuesday at 09:00 AM.
Setting up a Deploy Notification
Continous Validation lets you also run automatic validations on your sites when a new version is deployed.
Once you've defined your automatic validator, you can tell your hosting platform to notify us when a new version of your site is deployed. Basically, it's as simple as letting them know the URL of the automatic validator you just defined.
On the following examples, we'll suppose the automatic validator you defined has this URL:
curl is a command-line tool, present in most systems, that you can use to make a quick check from your terminal:
$ curl -X POST -d '' https://app.sitevalidator.com/u/abc/d/efg
Netlify is a hosting platform for static websites, and offers the simplest integration possible. You just need to paste your automatic validator URL into the Notifications section of your site, like this:
Currently, Netlify only allows one HTTP deploy hook per app, so if you need to trigger several hooks, you can set it up using deploy hook forker.
If your site is on Heroku, you can use the free HTTP post hook add-on, like this:
$ heroku addons:create deployhooks:http \ --url https://app.sitevalidator.com/u/abc/d/efg
Heroku only allows one HTTP deploy hook per app, so if you need to trigger several hooks, you can set it up using deploy hook forker.
Example: Engine Yard
Engine Yard lets you define deploy hooks using simple ruby scripts. To trigger a site validation, you can create a deploy/after_restart.rb file on the root folder of your app, that sends the post-deploy hook using curl like this:
run "curl -X POST -d '' https://app.sitevalidator.com/u/abc/d/efg"
Engine Yard lets you use several deploy hooks for your apps, just include them on the same file.
Example: Cloud 66
If your site is on Cloud 66, you can use their free deploy hooks to define your hooks per environment on a file named .cloud66/deploy_hooks.yml, like this:
staging: last_thing: - command: curl -X POST -d '' https://app.sitevalidator.com/u/abc/d/efg target: rails run_on: single_server
Cloud 66 let you have several deploy hooks defined. The syntax for doing that is:
environment: last_thing: - xxxxxx yyyyyy zzzzzz - xxxxxx yyyyyy zzzzzz
Example: Github Pages
Github Pages let you define webhooks for different events. You just need to enter your automatic validator URL in the Payload URL field, and choose the individual event for page build:
Github Pages lets you define several deploy hooks for different services.
If your hosting platform is not listed here, feel free to contact us and we'll help you with the integration.
Pausing a validator
You can pause a automatic validator, so that it will not fire any validations until you re-activate it.
Response status codes
When a deploy notification is received, Site Validator will return one of these possible status codes:
- 201 Created. All went well and the site validations were initiated.
- 404 Not Found. The automatic validator was not found. You might have typed it incorrectly, or removed it. When a automatic validator is paused, a 404 will be returned.
- 400 Bad Request. The automatic validator was found, but site validations could not be started. Normally, this means you have run out of validation credits.