Skip to content
RecipesDoc

Run a Certyn Process After Each Deploy

Your CI sets the environment's version after a deploy, and Certyn runs a process on each new version.

For teams that want a check after every deploy without making the pipeline wait for it.

Your setup

  • Any CI or deploy tool that deploys to a test environment, for example staging.
  • A Certyn suite (test cases with a tag), or a goal such as run our Playwright suite from acme/web.
  • You want it to run once per deploy.

Say this to Certyn

After each deploy to staging, run the smoke tests. Our Jenkins job deploys it.

What Certyn does

  1. Uses or creates the process: a Certyn suite for a tag (type certyn), or an agent process with your goal (type agent).
  2. Turns on after each deploy for that environment (app.process.trigger.set, on_deploy). You approve the change.
  3. Tells your CI how to report a deploy. A deploy is a new environment version:
    • GitHub: a Certyn GitHub App deployment rule sets the version from each successful GitHub deployment that has a version in its payload.
    • Any CI: one call after the deploy step, with an API key that has the Projects scope (Settings → API Keys). See below.
curl -sS -X PUT "$CERTYN_API_URL/api/projects/$PROJECT_ID/environments/$ENVIRONMENT_ID" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $CERTYN_API_KEY" \
  -d "{\"version\":\"$BUILD_TAG\",\"changelog\":\"Build $BUILD_NUMBER\"}"

The two ids are not slugs. Find them once with GET /api/projects/overview and GET /api/projects/{projectId}/environments.

What you get

  • One run per new version, with a run report and a Certyn issue for each real product bug.
  • A version history on the environment, with each changelog, so you see which deploy broke what.

Limits

  • The same version twice does not start a run. Send a new value per deploy, such as the build tag or commit SHA.
  • The key from the ci_setup form cannot set versions. A key with the Projects scope can also change and delete projects, so keep it in a protected CI secret.
  • A chat started from CI (the GitHub Action instruction) cannot set the version, because it cannot ask you to approve.
  • A deploy-triggered run of an agent process has 60 minutes.
  • If your CI also starts this suite after deploy, you get two runs. Pick one trigger.