Skip to content

Execution flow

Sergio Vicente de las Heras edited this page Jun 22, 2019 · 1 revision

The main purpose of Scribe is to register each event from a release into the Freshservice platform. Each release must be accompanied by a change request that will be updated over the whole process until the release finish.

The cornerstone of the application flow consist in an event router that will create a session for each release process. Each session is basically a channel where events will be queued.

Scribe

Inside a session, the status of a change created in Freshservice will be maintained until the release ends or timeouts.

The following events are received from Azure DevOps (VSTS):

Release deployment started: A deployment was started

  • Publisher ID: rm
  • Event ID: ms.vss-release.deployment-started-event

Release deployment approval pending: A deployment approval has been requested

  • Publisher ID: rm
  • Event ID: ms.vss-release.deployment-approval-pending-event

Release deployment approval completed: A deployment approval has been completed

  • Publisher ID: rm
  • Event ID: ms.vss-release.deployment-approval-completed-event

Release deployment completed: A deployment completed

  • Publisher ID: rm
  • Event ID: ms.vss-release.deployment-completed-event

Every vss event belonging to a release will be handled in the same session. A session is represented by a channel in witch every event of the release will be added.

Scribe

Each event received will result in an action over a Freshservice Change:

  • Release deployment started: Create a new Change and set the status to Pending release.
  • Release deployment approval pending: Add a note to the Change with the people in charge of approve the release and set the status to Awaitting approval.
  • Release deployment approval completed: Add a note with the result of the approval request and set the status to Pending release if the release was approved.
  • Release deployment completed: Add a note with the result of the release and set the status to Closed.
Clone this wiki locally