We’ve added the annotations endpoint to our REST API for retrieving a build’s annotations 🗃
The data is presented as rendered HTML (the same HTML we use within the app) within a JSON body, alongside everything else you might want to know about the annotation.
You can read more about this addition in the Annotations API documentation 📖
Builds created from schedules will no longer be associated with users 🏃🏼♂️💨
If a user loses access to a pipeline, either by leaving the organization or changing teams, you won't need to update your schedules to a new owner.
If your schedule is still attached to a user, you'll see the ⚠️ Requires Migration badge. You'll be able to remove the user from the schedule on the build schedule page.
Unmigrated schedules will have their users automatically removed on the 30th of January, 2020. To check your build schedules, see the Schedules section of your Pipeline Settings 👀
There’s a whole new section in the docs: ✨Deployments ✨
Here you'll find common patterns for deployments with code samples and walkthroughs, as well as how to add manual approval steps, and working with external deployment systems.
Also new in the deployments section is our guide to Deploying with Kubernetes: a complete walk-through of setting up your Buildkite pipeline to deploy to your Kubernetes cluster
Check it all out in the new Deployments section 📚
We've added new documentation on Buildkite Agent's new Artifactory support for uploading build artifacts to JFrog's Artifactory 🎉
There is now first-class support for uploading your artifacts directly to your Artifactory instance.
To learn more about Artifactory and our technology partnership, head to the JFrog Partner website. To learn more about Buildkite's built-in Artifactory support, see our new Artifactory guide 👀
We've added a new if
property that uses a boolean expression to decide whether a step will be run or skipped 💫
You could previously use the branches
property to limit the running of a step based on which branch you were building, but this new option allows more complex conditions 😎
1 2 3 4
steps: - label: '💨 Smoke Test' command: smoke-test.sh if: "build.branch == 'master' || build.message =~ /\\[smoke\\]/i"
The if
property is available on all step types; check out the Using Conditionals
documentation for details!
We've added a new API Access Audit section in your Organization Settings, so you can identify old and unused tokens, and revoke their access to your organization’s data 🕵️
As well as sorting by usage or age, and searching by scope, you can search for the a full token value — allowing you to inspect and revoke a token you've access to.
You can read all about it in the new Managing API Access documentation, and if you’re an organization admin you can find the new API Access Audit section in your Organization Settings.
The swag you've all been waiting for is finally available in the shop: Buildkite socks 🧦
Our socks are pure cotton and are available in Small, Medium, and Large. Get your hands (or paws🐾) on a pair here: https://shop.buildkite.com/products/socks
To make it easier to see if you’re running an agent version with a known issue, we've updated the agent list, job timeline, and agent page to show a warning and a link to upgrade instructions 🐛
Upgrade instructions all link to their relevant buildkite-agent GitHub release, so you can dig into the details and find the minimum required version bump.
We've added a new Single Sign-On section to your Buildkite organization settings, allowing you to setup, test, activate and manage your SSO configuration:
See the SSO documentation for all the details, and how to get started.
The Artifacts API will no longer return the glob_path
and original_path
fields from 1st September 2019.
When uploading artifacts the Buildkite Agent currently submits information about the glob pattern used to match the artifacts, and where on the filesystem each artifact was stored. We will remove the glob_path
and original_path
fields from artifacts to reduce the amount of your data we store.
The only place exposing these fields is in the REST API when listing artifacts or retrieving an individual artifact with the Artifacts API. They are not used again by the Buildkite Agent once the artifact is uploaded.
If you rely on this data, please reach out via support@buildkite.com.
We’ve added support for setting the timezone of your Scheduled Builds, so you’re no longer limited to just UTC ⏰
As an added bonus, if you specify a timezone it will automatically handle changes such as daylight savings 🎉
You can read more about the new timezone support in the updated Scheduled Builds documentation.
To make it easier to navigate long build pages, we’ve updated the job navigation so that it sticks to the top of your browser window as you scroll 🔝
Now you can keep your bearings while spelunking through long build output or tracking down that particular artifact 🔍
We've added the ability to link to build annotations, so you can more easily share them with your team, and link to them in your build output 🔗
You can find an annotation's link using the coloured bar on the left, or you can add #annotation-<context>
to the build page's URL. For example, if the annotation has the context coverage
, you'd add #annotation-coverage
to the build page's URL.
See the buildkite-agent annotate documentation for information on adding and updating build annotations.
We've added a pipelineRotateWebhookURL
GraphQL mutation for rotating the webhook URL that connects a pipeline with your source control. And a github-webhook-rotate CLI tool for automating the process with GitHub 🌪
You can find the CLI tool on GitHub at buildkite/github-webhook-rotate, and the GraphQL mutation documentation by searching for pipelineRotateWebhookURL
in the GraphQL Explorer.
We've added a new set of REST APIs for managing an API Access Token, including the ability to immediately revoke the current token 🗑
See the API Access Token REST API documentation for more details.
To help increase the security between Buildkite and your Github Enterprise, Gitlab Community/Enterprise, or Bitbucket Server, you can now limit which IP address ranges are allowed to send build events to Buildkite 🚧
You can configure the new IP restrictions using the "Allowed IP Addresses" fields in your Buildkite Organization Settings.
We've added a new Managing Pipeline Secrets guide to help you understand how to securely store and access secrets, and some of the anti-patterns you should avoid 🔐
Have a read through the recommendations and share it with your team 💪
We’ve added a new multiple
property to block steps, giving you the ability to select multiple options when unblocking builds ☑️
When the build is unblocked with multiple selected options, the meta-data value will return the options as a newline separated string.
See the block step documentation for more details and examples.
Your pipeline overview page uses each pipeline’s default branch to calculate the graphs and statistics. We've added support for setting a pipeline's default branch to a blank value (which you can now do directly on the pipelines page), allowing you to see the graphs and stats for all builds in a pipeline 📊
To protect accounts from being accessed using compromised passwords, we've integrated haveibeenpwned.com into all of our authentication systems, allowing us to verify that known compromised passwords can't be used to access Buildkite data 🚷
The integration with haveibeenpwned.com uses a technique called k-anonymity hashes, which hashes the password and sends only the first few characters, ensuring there's little risk of disclosing information about your password.
Create an account to get started with a 30-day free trial. No credit card required.