Before You Get Started
You need:- A Cekura API key
- An agent and scenarios configured in the Cekura dashboard
- A project ID only when selecting scenarios by evaluator folder
.gitlab-ci.yml, but it can be a global pipeline. For GitLab Self-Managed, first follow GitLab Self-Managed.
Choose Which Scenarios to Run
Choose a selector: scenario IDs, tags, or an evaluator folder. IDs and tags can be combined; a folder cannot be combined with either.- Scenario IDs
- Evaluator Folder
Run an exact set of scenarios using comma-separated IDs:
component include with the mirrored or remote include described below; the selector inputs stay the same.
Run the Pipeline
1
Add Your API Key
In your GitLab project, go to Settings → CI/CD → Variables, expand Variables, and select Add variable.Set the key to
CEKURA_API_KEY, paste your Cekura API key as the value, and enable Masked.Enable Protected only when the Cekura job runs exclusively on protected branches or tags. Protected variables are not available to pipelines on unprotected refs.2
Add the Pipeline Configuration
Copy one configuration from Choose Which Scenarios to Run into the active pipeline file.
3
Start a Test Run
Commit and push the pipeline configuration. By default, the generated
cekura-run job runs whenever the pipeline is triggered.You can also go to Build → Pipelines, select New pipeline, choose a branch, and select New pipeline again to test it manually.4
Review the Results
Open the
cekura-run job to see the result summary, failed-run details, and a shareable link to the full result in Cekura.GitLab also displays each scenario run in the pipeline’s Tests tab. The job publishes Markdown and JSON summaries as artifacts and adds a direct Cekura result link to the job page.GitLab Self-Managed
GitLab components can only be referenced from the same GitLab instance as the consuming project. A self-managed project therefore cannot use this GitLab.com reference directly:Production: Mirror the Component
GitLab recommends mirroring GitLab.com components into your self-managed instance:- Allow outbound access from the self-managed instance to
gitlab.com. - Create a project on the self-managed instance and configure it as a pull mirror of
gitlab.com/cekura/cicd. If pull mirroring is not available with your GitLab subscription, import the repository and repeat the import when upgrading the component. - Set the mirrored project as a CI/CD Catalog resource.
- Publish a release for the mirrored
1.0.0tag. Git repository mirroring copies the tag, but not the GitLab release or Catalog metadata. - Reference the mirrored component using the self-managed GitLab hostname and mirrored project path:
gitlab.example.com/components/cekura-cicd with the actual hostname and project path of the mirror. See GitLab’s guide to using a GitLab.com component on GitLab Self-Managed.
Proof of Concept: Use a Remote Include
On GitLab 17.0 or later, you can include the public component template directly for a proof of concept:gitlab.com. Remote includes are fetched without authentication, so this approach only works while the source file remains public.
Global Pipelines and Custom Stages
Global pipelines work with both GitLab.com and GitLab Self-Managed. Add the Cekura include to the active global configuration; changes to a repository-level.gitlab-ci.yml have no effect when GitLab is configured to load a different file.
The examples below use GitLab.com. On GitLab Self-Managed, use the mirrored component or remote include from the previous section.
The component creates a job named cekura-run and uses the test stage by default. The component cannot add a new stage to a global pipeline. Either pass the name of an existing stage:
stage must exactly match a stage defined by the active pipeline configuration.
Configure Pipeline Triggers
The component creates a job namedcekura-run. After the include, define only the job’s GitLab rules; GitLab merges them with the component job.
Run on Merge Requests and the Default Branch
Run on Merge Requests and the Default Branch
Run Only When Started Manually
Run Only When Started Manually
Run in Scheduled Pipelines
Run in Scheduled Pipelines
Component Inputs
Onlyapi_key and a scenario selector are needed for a typical run. Empty optional inputs are not sent to Cekura, so the API applies its defaults.
*Provide at least one of
scenario_ids, tags, or folder_path. A folder cannot be combined with IDs or tags.
Use the Result in Another Job
The component publishesRESULT_ID and RESULT_URL in a GitLab dotenv report. A downstream job can use them by downloading the cekura-run artifacts:
Troubleshooting
The cekura-run Job Does Not Appear
The cekura-run Job Does Not Appear
Open Build → Pipeline editor → Full configuration and search for
cekura-run.If the job is absent:- Check Settings → CI/CD → General pipelines → CI/CD configuration file to confirm which pipeline configuration GitLab loads.
- On GitLab Self-Managed, do not reference the component on
gitlab.comwithinclude:component. Mirror it locally or use the remote-include proof of concept above. - If a global pipeline is active, add the include to that configuration or use an extension mechanism provided by its owner.
The Pipeline Uses Custom Stages
The Pipeline Uses Custom Stages
The component uses
test by default. If the active pipeline defines its own stages: list without test, pass an existing stage through the stage input or ask the global pipeline owner to add a dedicated stage.A component can select a stage, but it cannot add that stage to the consuming pipeline.The API Key Is Not Available
The API Key Is Not Available
Check that
CEKURA_API_KEY is defined under Settings → CI/CD → Variables and is spelled exactly the same in .gitlab-ci.yml.If the variable is protected, the pipeline must run on a protected branch or tag. Otherwise, clear the Protected option or change where the job runs.The Pipeline Configuration Is Invalid
The Pipeline Configuration Is Invalid
On GitLab.com, confirm that the component reference is exactly
gitlab.com/cekura/cicd/run@1.0.0 and that inputs is nested under the component entry.On GitLab Self-Managed, confirm that the component reference uses the self-managed hostname and mirrored project path. For a remote include, confirm that the instance runs GitLab 17.0 or later and can access gitlab.com.Use Build → Pipeline editor → Validate in GitLab to validate the complete configuration.No Scenarios Were Selected
No Scenarios Were Selected
Provide
scenario_ids, tags, or folder_path. When using a folder, also provide project_id, and do not combine the folder with IDs or tags.The Cekura Tests Fail
The Cekura Tests Fail
Open the
cekura-run log for failure reasons and individual failed-run details. Follow the View full results in Cekura link for transcripts, evaluations, and the AI-generated analysis.