Skyliner and Github Deployment Status

Dan McKinley
Skyliner
Published in
2 min readFeb 3, 2017

As of today, Skyliner will automatically publish deployment state for GitHub projects back to GitHub using the deployments API. You can use this with GitHub’s webhooks to automate tasks that need to occur during or after Skyliner deploys.

An example of this might be running an integration test suite against QA. To do this, you could configure your continuous integration server to listen for deployment webhook payloads indicating successful deploys to QA. That would look something like this:

Skyliner creates a GitHub deployment for every automatically or manually deployed application. The deployment event is annotated like this:

{
"deployment": {
"environment": <"qa" or "prod">
"payload": {
"skyliner-user-id": <Skyliner deploying user ID>
"skyliner-user-name": <Skyliner deploying username>
}
// ... other fields per GitHub documentation.
}
}

The status of that deployment is then updated periodically as it is executed and completed. Each deployment status event includes:

{
"deployment_status": {
"state": <"pending", "success", or "failure">
"target_url": <Skyliner status page for the deploy>
// ... other fields per GitHub documentation.
}
}

Note that Skyliner will not currently push code when another GitHub integration creates a deployment event. We also do not yet mark deployments as pending or failed if other integrations update deployment status. But we’ll consider both of these as future enhancements.

Let us know how this works for you, and what else we can add that might be helpful. Not a Skyliner user yet? Sign up for free today!

--

--