Feature roundup: Hipchat integration, faster caching, code coverage badge, and much more

- By Manisha Sahasrabudhe on April 06, 2016

We hope you're enjoying using the new Shippable. Now that we're a month past the release and all customers are on the new build platform, we have started knocking off new features at breakneck speed!

Improved integration with Atlassian products

We've added support for commit status of Bitbucket pull requests so you can now view build status for your pull requests from within Bitbucket UI. We also added Hipchat notifications for CI and Pipeline workflows. More on that in a separate blog post to be published later today. 

New caching implementation

Shippable now supports folder level caching so you can cache selectively depending on your needs. The new caching implementation is fast and can save you several minutes in build times! Read more in our documentation about caching.

Trigger build API: Ability to pass key value pairs

Using our API to automate your workflows? We just made it better by adding support for key value parameters while calling our POST /projects/:projectID/newBuild API. You can now inject global environment variables into the new build by specifying key-value pairs in the request body of the POST. These key-value pairs have to be set in the globalEnv property.

  "globalEnv": {
    "FOO": "bar",
    "FIZZ": "buzz"

Read our API docs here.


Code coverage badge

If you're using our build badges, you already know how cool it is to embed them anywhere you want and get the latest status for your builds. We have now added this capability for code coverage as well!code_coverage.png

You'll find your code coverage badge in the Settings for the Project you want the coverage badge for. 


Building unsupported languages

We support many popular languages listed here and we have official build images for all supported languages. However, you can use Shippable for pretty much any language. If we don't have an official image for the language, you can use your custom Docker image as explained here

When using a custom image for an unsupported language, you can set the language to none in your yml. This skips any default processing we do for supported languagesand gives you complete control to configure your CI workflows as per your needs.

language: none


Wildcards in branch include/exclude

The include/exclude tags let you specify branches for which you want to run CI builds or send notifications or use hub credentials. More on branches here.

You can now use wildcards in the include/exclude tags as shown below:

    - stage
    - prod
    - beta*
    - release/*

This is useful if you use a tool like Gitflow to manage your branches.


New env variable: IS_FORK

Our new environment variable IS_FORK lets you configure your yml to take or skip a specific action depending on whether the current project is a fork of another project. For example, you could configure your yml to skip deployments for forks.

    - if [ "$IS_FORK" == false ]; then ./deploySomething.sh; fi


Time for each command in the build console

You can now see the time it took to execute each command in your build console. This helps you narrow down problems when builds take too long or are stuck at a particular command.



That's it for this week. We have many exciting things coming up in the pipeline (pun intended), so stay tuned for the next new feature update!

Try Shippable 

Topics: news, features, tips