Pipeline Feedback - Release Markers

Documentation - https://docs.instana.io/core_concepts/pipeline_feedback/
API Documentation - https://instana.github.io/openapi/#tag/Releases

Blog article explaining the functionality - https://www.instana.com/blog/instana-pipeline-feedback/

 

##############################################################################

 

FAQ:

Q: Are release markers automatic? Or are those created like Releases?
A: I would say it's semi-automatic and it uses Instana's Backend API to create the Release Markers. The API can be integrated into the deployment procedure of the app.

Q: How do we say application/service X was released?
A: The name of the release marker can be used to store information. For example when a new PHP code is deployed the release marker could be named "PHP version x.x" as an example.

 

Q: Does application Y see the release marker for application X?
A: It depends, if the created release marker is global, then yes, definitely. But, starting Instana backend version 191 for on-prem and 190 for SaaS, scoped pipeline feedback is introduced. So from that point, a scope which can be defined are:

  • Service
  • Application
  • Service within an Application

The Release Markers will only be shown in dashboards for the given scope. The scopes can be mixed to define even complex Release Marker requirements. Read the Pipeline feedback documentation for further information.


Q: How does the API handle creating the same release twice? For example, if we used the Jenkins instana plugin, and added this to our CD pipeline, we might redeploy the same 'release multiple times' (say scale-up or down, configuration changes, etc.) If the release name doesn't change, will the API return an error? Or will it create the release a second time?
A: Yes, the same release marker will be created even if the name, or the timestamp, or both are the same. The response of the API request will return the name, start, and the unique id. The id could be used to later identify a unique Release (even if the name of the Release is the same)

 

##############################################################################

Creating the API request for a new Release marker:
1. Considering the Release Markers are created with an API request to Instana's Backend, you could use a variable in the API request to set the name of the Release Marker to correspond to the technology name or the version ('name' variable in the example request below)
2. Timestamp is epoch time in milliseconds and not seconds, this has caused some confusion before. epoch is Unix time 0 (midnight 1/1/1970). One good way of creating a current timestamp is through a Linux terminal - date +"%s%3N" (on alpine you need to install "coreutils" first)
3. Example API request to create a release marker (application-scoped):

curl --request POST \
--url 'https://unit.tenant.instana.io/api/releases' \
--header 'authorization: apiToken aBcDeFgHiJk123' \
--header 'Content-Type: application/json' \
--data '{"name": "Release Marker Test","start": 1610303675620,"applications": [{"name": "app-name"}]}'

And a successful response would look like this ('id' is a new unique string for the release):

{"id":"tfQBKC-FTNGlB0wYyo62SQ","name":"Release Marker Test","start":1610303675620,"lastUpdated":1610305145997,"applications":[{"id":"Xg8ayNb8TEWd8NhTSuChBg","name":"app-name"}]}

Release marker of this example will be now seen only in app-name application perspective:

ksnip_20210110-202645.png

 

 

Have more questions? Submit a request

Comments