Yavaren™ user guideVersion 1.0.0Printable guide · PDF

Reviews and quality

Automation repositories — where your generated tests live, and their pipeline

Keep the tests Quality Intelligence generates in your application's repository, in a repository you already have, or in a new private repository Yavaren creates in your organisation; switch on a complete pipeline for them in your own CI and run it for an exact version of your application.

Quality › Quality Intelligence › your application › Repository.

Choose where the automation lives

Choice What happens
In the application's repository (default) The tests go into an automation/ folder next to your code, as a draft pull request.
In an existing repository Yavaren adds a folder of its own there (never over your team's files), as a draft pull request. Your application's repository is not changed.
In a new repository Yavaren creates a private repository in your organisation after an administrator confirms it, and proposes the tests in it as a draft pull request.
One repository per layer Advanced: separate repositories for web, API, database or mobile tests.

Choose the connection (one of your repository connections: its host and credential are used), the organisation (empty = the connection's own), the name (Yavaren suggests <application>-automation), and the CI system with its triggers. Saving resets the strategy's approval: what is generated and where it goes are approved together.

Create the new repository

  1. An administrator approves the strategy.
  2. On the Repository tab, Create the repository… shows exactly what will be created — host, organisation, name, visibility — and the estimated pipeline time. Create the repository confirms it.
  3. Yavaren checks the credential's permissions, creates the repository (private), makes its first commit (a README, an ignore file and a marker; nothing that runs), generates the automation on a branch, runs it against your test environment, and opens a draft pull request.
  4. Review and merge the pull request yourself. Yavaren never merges.

If something stops it (a permission missing, the name taken), the steps say why. Resume runs the same request again: what was done is found and kept, and nothing is created twice.

Switch the pipeline on

The pipeline is in the pull request, switched off. After merging:

  1. Set the secrets it needs in your CI (Yavaren never reads or writes their values): QA_DATABASE_URL for database tests (a database with no real data), QA_APP_REPOSITORY_TOKEN (read-only) when the database tests read your application from its own repository, and optionally QA_USERNAME / QA_PASSWORD for a test account.
  2. Switch the pipeline on (an administrator). Yavaren sets the plain variables — the test environment's address, its kind, whether tests may create data — and switches it on only when nothing required is missing. It never runs for an environment marked production.
  3. Run the pipeline for a branch, a pull request (refs/pull/42/head) or an exact commit. The run records which application commit was tested and checks the pipeline's own record of it.

To start these tests from your application's own pipeline, copy the step shown under Start these tests from the application's pipeline into your application repository. It goes one way only.

Permissions per host

Host Create the repository Write the tests Configure and run the pipeline
GitHub Administration: write on the organisation (fine-grained token or GitHub App), or repo Contents and Pull requests: write Actions: write, Variables: write, Secrets: read
GitLab api scope, Developer on the group api, Developer on the project Maintainer (CI/CD variables), api
Azure DevOps Code: read, write & manage, in your existing project (Yavaren never creates a project) Code: read & write Build: read & execute
Bitbucket Cloud repository:admin in the workspace repository:write, pullrequest:write pipeline:write, pipeline:variable
Bitbucket Data Center PROJECT_ADMIN REPO_WRITE in your CI server (a Jenkinsfile is generated)

Yavaren never widens a token by itself: a missing permission is named, with how to grant it.

Troubleshooting

You see Do
"the host refused to create the repository (403)" Grant the create permission above (or create it EMPTY yourself), then Resume.
"a repository named … already exists there and holds code" Choose another name, or choose it as an existing repository.
"the credential cannot see the organisation" Choose an organisation the connection's account belongs to (Choose from a list shows them).
"the pipeline stays switched off: set the secret(s) …" Set those secrets in your CI, then switch it on again.
"the pipeline tested application commit …, not the requested …" The pipeline did not check out the commit asked for; check QA_APP_REPOSITORY_URL and the token.
A run "did not finish in time" It is still running in your CI; its page has it.

Disconnect stops Yavaren using the repository; the repository and everything in it stays.