Release Notes

CLI 1.2.0: Download artifacts, GraphQL and more!

Published on

To date the Calibre CLI has been used for testing performance following deployments, creating custom reports and dashboards and improving performance workflows. With our latest release you can get even more access to Calibre’s features directly from the command line or in your node application.

What’s new

Call the Calibre GraphQL API

You can now make direct requests to the GraphQL API which opens up numerous possibilities to integrate Calibre into your delivery pipelines, reporting tools and workflow.

For example, you can read individual metrics with the following query:

calibre request --query='query GetSite($site: String!) {
  organisation: {
    site(slug: $site) {
      metricsHistory(measurement: $measurement, page: $page) {
        current
        oneMonth
        threeMonth
        sixMonth
      }
    }
  }
}' --site='<slug>' --measurement='<metric>' --page='<uuid>'

Or you could update a metric budget to include a new page with the following mutation:

calibre request --query='mutation UpdateMetricBudget($site: String!, $uuid: String!, $pages: [String!]) {
  updateMetricBudget(
    site: $site
    uuid: $uuid
    attributes: { pages: $pages }
  ) {
    uuid
  }
}' --site='<slug>' --uuid='<budget uuid>' --pages='["<page uuid>"]'

You can see the full GraphQL schema in our new API Documentation.


Effortlessly download Lighthouse.json, Screenshots, Render videos and GIFs!

It’s now possible to download the artifacts that Calibre generates for each snapshot or one off test.

Snapshots

calibre site download-snapshot-artifacts --site=<slug> <id>

Downloads the artifacts of a snapshot to ./snapshot-artifacts/<uuid>.

This also generates manifest.json, which makes it possible to programmatically read and use the assets from each test.

One off tests

calibre test download-artifact <uuid>

Downloads the artifacts of a test to ./test-artifacts/<uuid>


What else has changed

  • calibre site delete-snapshot now uses id rather than iid.
  • calibre site get-pulse-metrics will return data for all pages (Previously the —page flag was required).
  • Reimplemented support for node 8 with a 1.2.1 release

Execute GraphQL queries from Node.js

With the addition of the ability to make GraphQL requests directly to the Calibre API we implemented a new GraphQL module in the node API.

const { GraphQL } = require('calibre')

const query = `
    query Site($slug: String!){
      organisation {
        site(slug: $slug) {
          name
          slug
        }
      }
    }
  `

const result = GraphQL.request({ query, slug: 'calibre' })

Check out our Node.js examples to see it in action.

Try it out today!

Update existing applications to the latest release with one of the following options:

  • Run npm install calibre
  • Run yarn add calibre
  • Download and install a standalone binary for Mac, Windows or Linux .

If you haven’t tried the CLI yet, here’s a short guide to get you started automating your performance system in no time.

Performance Newsletter
Performance Newsletter
Web performance tools, talks and resources delivered to your inbox.
Subscribe