> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudgeni.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab CI

> Trigger Cloudgeni scans from GitLab CI with direct API calls so the pipeline matches the current public scan surface.

# GitLab CI

Treat GitLab CI as an automation client for the Cloudgeni API.

That keeps the docs aligned with the product surface that actually exists today.

## Static Analysis Example

```yaml theme={null}
cloudgeni_static_analysis:
  image: curlimages/curl:8.7.1
  stage: test
  script:
    - |
      curl --fail --silent --show-error \
        -X POST \
        -H "Content-Type: application/json" \
        -H "X-CLOUDGENI-API-KEY: $CLOUDGENI_API_KEY" \
        "$CLOUDGENI_API_URL/api/v1/organizations/$CLOUDGENI_ORG_ID/workspaces/$CLOUDGENI_WORKSPACE_ID/repositories/$CLOUDGENI_REPO_ID/static-analysis" \
        -d '{"analysisEngine":"checkov","excludedPaths":[]}'
```

## Environment Variables To Set

* `CLOUDGENI_API_URL`
* `CLOUDGENI_API_KEY`
* `CLOUDGENI_ORG_ID`
* `CLOUDGENI_REPO_ID`

## Next

Use [Scanning API](/api-reference/scanning-api) when you want the same pattern for cloud scans or
for finding retrieval.
