# Run Content Validator in CI

**URL:** <https://community.omni.co/t/run-content-validator-in-ci/437>\
**Category:** Administration\
**Tags:** modeling, content-validator\
**Created:** [January 15, 2026, 9:29am UTC](https://community.omni.co/t/run-content-validator-in-ci/437 "2026-01-15T09:29:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ernesto](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.omni.co/ernesto/32/601_2.png) [@ernesto](https://community.omni.co/u/ernesto)\
**Post date:** [January 15, 2026, 9:29am UTC](https://community.omni.co/t/run-content-validator-in-ci/437/1 "2026-01-15T09:29:21Z")

</div>

## Overview

This guide shows how to run the [Content Validator](https://docs.omni.co/modeling/develop/content-validator) as part of CI in Github so pull requests receive a validation check and a comment with any issues. It makes use of a small python [utility](https://github.com/ernestoongaro/omnicles), Github actions and the Omni API.

## What it does

- Runs the Content Validator API for a model on every PR.
- Posts a PR comment with validation results (screenshot below).
- Stores a history artifact to flag new vs existing issues.
- Supports Omni branches by resolving branch name → branch ID.

 ![omnicles_gh_comment](https://canada1.discourse-cdn.com/flex004/uploads/omni/original/1X/4dbbe72583b3fd2ca3c54eb6b30f03130553a493.jpeg)

## Demo

[link](https://screen.studio/share/OFqWgCI7) to video

## Prerequisites

- Omni API [\* key](https://docs.omni.co/api/authentication) with access to the model.
- Model ID to validate (the MCP server [docs](https://docs.omni.co/ai/mcp/quickstart) describe how to get this)
- Access to get [\* Github Actions](https://docs.github.com/en/actions) for your Omni repo.

## Setup

1. Add GitHub [secrets and variables](https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets):
  - `OMNI_API_KEY` (secret)
  - `OMNI_BASE_URL` (variable or secret)
  - `OMNI_MODEL_ID` (variable or secret)

2. Run the workflow once on the default branch to create the initial history artifact.
3. Open a PR to see the check + comment.

## Links

- [GitHub - ernestoongaro/omnicles: CI tooling for Omni.co's Analytics Platform](https://github.com/ernestoongaro/omnicles)
- [API authentication - Omni Docs](https://docs.omni.co/api/authentication)
- [Content Validator Docs](https://docs.omni.co/modeling/develop/content-validator#validating-model-changes-with-the-content-validator)
- [coming soon] Content Validator API docs

## Notes

- The Content Validator API currently validates all content and does not support filters.
- Optional history helps reduce noise by identifying which issues are newly introduced, use it with the `--fail-on-new-only` flag (see GH utility [README](https://github.com/ernestoongaro/omnicles))

## Disclaimer

⚠ This is community-built and not an official Omni release. Review the code and use at your own risk.

---

<div class="post-metadata">

**Author:** ![ernesto](https://yyz2.discourse-cdn.com/flex004/user_avatar/community.omni.co/ernesto/32/601_2.png) [@ernesto](https://community.omni.co/u/ernesto)\
**Post date:** [August 19, 2026, 10:02am UTC](https://community.omni.co/t/run-content-validator-in-ci/437/2 "2026-08-19T10:02:30Z")

</div>

Since writing this @aaranda has written a MUCH better version: check out [GitHub - exploreomni/OmniFlow: Open-source, security-first CI/CD validation and deployment companion for the Omni semantic layer. · GitHub](https://github.com/exploreomni/OmniFlow)
