Products & Targets
Understand how products and targets relate.
Products define what you test. Targets define which version you test.
Products
A product is the top-level object for an application or website in Duku. It stores the name, description, and general base URL for that app or site.
Common examples:
A marketing site
A web app
A checkout flow
Targets
A target is a concrete deployment of a product. In most teams, targets map to commits, branches, preview deployments, or production.
Explorations run against the product's base URL. A target inherits that URL - it records which version you tested, not where.
In the app, you manage targets from the target menu in the top-right navbar, next to the active product. When Releases are enabled, the target menu is hidden.
Each target carries:
Version: A commit SHA or build identifier
Metadata: Context like branch name, PR number, and commit message
Environment: For example staging, canary, or production
Releases and environments
When Releases are enabled for your organisation, a product also has environments - a name and URL, such as staging. A release is a version you record as deployed to an environment. Runs, tests and schedules are then chosen by environment, and releases take the place of the target menu. See Releases.
Relationship
CI can override the URL for a single run, which is how per-PR preview deployments are explored.
When you use the GitHub Action, Duku creates and updates targets automatically. When you use the API directly, call upsertSimulationTarget.
Last updated

