Drone

Which runner processed my pipeline?

This question seems to come up on the official gitter quite frequently.

Day to day, you don’t need to know which machine ran a particular pipeline, but it’s useful from time to time. I tend to use it when one of the machines running my drone array seems to be inordinately slow, and I want to know which one :slight_smile:

At time of writing the web console does not show which machine / runner processed a particular pipeline. This information is only available via the API.

You need to look at:

https://{your-drone-server}/api/repos/{username}/{reponame}/builds/{buildnumber}

You’ll see some JSON.

In that JSON there is a key called “stages”. That key contains an array of “stages”, each of which broadly corresponds to a “pipeline” in your drone.yml file.

Each stage is itself an array… so useful items in that array, with some sample values, are:

  • kind: “pipeline” // I’m not sure whether there are other possible values?
  • machine: “ip-xxx-xxx-xxx-xxx.eu-west-2.compute.internal” // where the xxxs are numbers in an IP address that I’ve obfuscated for this forum post
  • os: “linux”
  • status: “success” // other values include things like “killed” etc.
1 Like