Lifecycle Integration

Integrate Lifecycle Events with CTO.ai

Lifecycle Events (also simply called Events) are the primary interface between your team’s development workflow and the CTO.ai platform.

In general, a Lifecycle Event represents a transition between states in your development workflow. These events can be Deployment Events, representing progress within your development process, such as each commit made to a repository; or they can be Change Events, representing major milestones in your collaborative workflows, such as merging a pull request or creating a new GitHub Release.

Derive Insights from Events

Insights Events (a subset of Lifecycle Events) are what the CTO.ai platform collects to measure the effectiveness of your DevOps practices—how often you deploy, the length of your development cycle, and how often your deployments fail—with DORA Metrics. Insights Events represent your team’s activity on the CTO.ai platform and integrated development tools, such as GitHub.

Our dedicated Event Types documentation has more information on these events and how we use them to calculate measures of your software delivery effectiveness.

Trigger Workflows with Events

For each Command, Pipeline, or Service defined in your ops.yml configurations, you can specify a list of which Events should trigger each of those workflows to run.

Our integrations with Git providers collect—by polling their APIs or receiving webhooks, as appropriate—user activity from within repositories you have connected to the CTO.ai platform. When a collected Event matches one under the events key defined for a workflow, that workflow is run by our platform.

Events that should be used to trigger a workflow run are specified in your ops.yml files as an array of strings under the workflow’s events field. Each string defines the name of an event from an external service (after it has been processed and interpreted by our system).

Format of Trigger Events
events:
  - "{origin}:{repo}:{event}"

In the above format for defining an Event that should trigger a workflow:

  • {origin} is the service that originated the event, e.g. github.
  • {repo} is the path to the repo on the service. On GitHub, the repo path is formatted as organization-name/repo-name.
  • {event} is a string representing the name of a lifecycle event on the originating service.