Deployments API
How to use Multitudes' API endpoints to track deployments and integrate with your CI/CD pipeline.
Last updated
Was this helpful?
How to use Multitudes' API endpoints to track deployments and integrate with your CI/CD pipeline.
Last updated
Was this helpful?
Use our API to get more flexibility and control over how you track your devOps activity.
See - how long code takes to get deployed once a PR has been merged and include Deploy Time in calculations
See how often code is successfully deployed to Production with ()
Keep track of
on how data received via API is used to calculate Deployment metrics in Multitudes.
Send us information about your deployments from any CI/CD tool. We’ll use this to calculate metrics such as Change Lead Time
through to deployment and Deployment Frequency
(more info on ).
Our data pipeline runs every 6 hours so you may need to wait to see data after you start sending.
On the resulting modal, click “Generate Token”.
After the token has been generated, click "Copy Token" and use it in your API calls (see Step 2 below). You will only see this token once!
When you close out of the modal, the Deployments API card will now have a “Configure” button instead of “Connect” (see screenshot at left below). Clicking it will give you options to revoke your token or regenerate a new one, should you need it (see screenshot at right below).
To tell us about a deployment, make an HTTP POST request to our endpoint with the generated authentication token in the header and required parameters.
You should make one POST per repository being deployed and include the commit SHAs of the merge commit for each PR being deployed. This is particularly important if you are deploying multiple PRs at once or if your PRs are being merged via an intermediary branch.
commitSha
string or string[] Required
If a deployment only has commits authored by bots, these will be included in the grey Organization line only.
environmentName
string Required
If you send us deployments with the same commits and environment name, we will dedupe by taking the latest received deployment.
deployedAt
UTC datetime in ISO8601 format
The time of the deployment. Default: the timestamp that the POST request was received by our API
title
string
A title to give your deployment for easy identification on our drilldown tables. Default: the commit message of the matched commit with the most recent commit timestamp
tags
string
A custom field for you to add labels (e.g., ["is_fix", "is_failure", "sev1", "product_launch"]). In the future, we plan to support filtering on these labels. Default: none
When you set up the Deployments API, you can send us a Test Deployment to ensure its working.
To do so, add the following Body parameter:
isTest
boolean true/false
Any deployments that include the isTest
parameter will be excluded from any data analysis.
Default: false
Below is formatted as code
, response text
, description
201
, Created successfully
, Deploy registered successfully.
400
, Invalid request
, The data is not in the expected format, the response will provide a list of fields that have an issue.
401
, Unauthorized
, API key not valid.
403
, Forbidden
, API key does not have the correct scopes or organisation for this request or has been revoked.
500
, Internal server error
. Please contact support@multitudes.com for more information. An unknown error has occurred, please contact support with the returned request ID for us to investigate.
--fail-with-body
flag to ensure cURL will exit with code 22 on an HTTP failure status code (>=400). Otherwise, you can look for a non-20x status code to detect a failure.
With a list of commit SHAs:
With a list of all SHAs since the last commit to this branch:
This is especially useful if your feature branches are merged to a develop/staging/test branch and then that branch is eventually merged into a "production" branch for deployment.
Sending a test deployment:
After sending a deployment through the API, you can verify the transmitted data using our GET endpoint with the generated authentication token in the header.
page
number
The page number of of the deployments. Default: 1
pageSize
number
The number of deployments to show per page. Maximum is 100. Default: 20
includeTests
boolean true/false
Whether to include deployments with isTest
set to true
in the response.
Default: false
E.g. pageSize 20, page 2, would return deployments 21-40.
Below is formatted as code
, response text
, description
200
, OK
, Retrieved deploys successfully.
401
, Unauthorized
, API key not valid.
403
, Forbidden
, API key does not have the correct scopes or organisation for this request or has been revoked.
500
, Internal server error
. Please contact support@multitudes.com for more information. An unknown error has occurred, please contact support for us to investigate.
--fail-with-body
flag to ensure cURL will exit with code 22 on an HTTP failure status code (>=400). Otherwise, you can look for a non-20x status code to detect a failure.
Including test deployments:
With different page and page size:
Example with a single commit SHA:
Example collecting all SHAs since the last commit to this branch:
In the Multitudes app, go to and click on the “Connect” button in the Deployments API card.
Note that we include each deployment we receive a POST for in our metric calculations. You may want to only POST deployments to your production environment. See more details .
The SHA-1 value(s) of the commit(s) being deployed. Each value should have a minimum of 7 characters. While this is likely fine for most organizations, you may wish to send us a longer SHA if you’d like more assurance that they will be matched to the correct commit and PR data ().
Commits should all be from the same repository. This will determine how the our repositories filter interacts with charts like . If there are commits from different repos in the commit_sha
field, we will assume the repository of the first commit in the list.
Commits that are authored by users who are not a in Multitudes will be filtered out of results. If a deployment has no commits authored by Multitudes contributors, the whole deployment will be filtered out of results as we won't be able to attribute it to a Multitudes contributor nor their team.
The environment that this is deploying to. We recommend only sending us deployments to your main production environment for an accurate indicator of . We don't filter on environmentName
.
If you send us deployments to multiple environments for the same commits, we will take the time of the latest deploy to calculate the Deploy Time
(and therefore Change Lead Time
) of a matched PR. This is because we assume the PR hasn't been fully released until it has been deployed to all environments.