Skip to content
CloseYourItdocsPages

Documentation / Using CloseYourIt

Releases

The versions running in each environment, bound to GitHub tags, and the errors that come back after a fix.

A release is the version of your program running in an environment. CloseYourIt uses it to tell you in which version an error was born, in which it was fixed and whether it came back later.

Where releases come from

In two ways:

  • From CI. After the release, the pipeline registers the version with a project token that has the ingest permission.
  • From errors. The first error carrying a version (release in the SDK) creates the release by itself.

The call from CI:

curl -X POST https://bugs.example.com/api/v1/projects/$PROJECT_ID/releases \
  -H "Authorization: Bearer $CYI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"version": "v1.4.2", "sha": "'"$GITHUB_SHA"'"}'
  • version is required. sha (the commit) and build_time are optional.
  • The environment is the token's, it is not written in the body. For staging use the staging token.
  • Repeating the call does not create duplicates.

The same version in staging and in production are two different releases.

Where you see them

On the project page, the Releases section shows the latest ones: version, environment, the commit cut to 7 characters, how many events it received and when. See all → opens the full list. From the command line: cyi releases list --project <id or key>.

On the page of an error you find Introduced in (the first version where it appeared) and Latest release (the last one where it was seen). If they are the same, you read First seen and still in.

The "live" release

The live mark tells which version runs right now in an environment. It needs GitHub connected: creating the App is covered in GitHub.

  1. In the project open the GitHub tab, pick the repository and press Link repository.
  2. Turn on Tag → release binding.
  3. Pick the Production environment and the Staging environment.

From then on:

  • a stable tag (for example v1.2.3) marks the live release in production;
  • a pre-release tag (for example v1.2.3-beta) marks it in staging.

The release becomes live when both signals have arrived: the CI registration for that environment and the GitHub tag with the same version. The order does not matter. Each environment has only one live release: the new one takes the mark away from the previous one.

Errors that come back

When you resolve an error, CloseYourIt notes the release that is live at that moment: in the resolution box you read Resolved in release ….

If the error then shows up again:

  • from a version equal to or newer than the fix, the error reopens and is a regression. The alert says Error regressed and in which version (see Alerts);
  • from a version that is surely older, the error stays resolved. It is an old client not yet updated, not a new failure.

Versions like v1.4.2 are compared by number. Others, for example a commit, by the date they first appeared. If the project has no live release, or the order is unclear, the error always reopens: better one alert too many than a hidden regression.