- Your Git provider enforces review and ownership rules on pull requests — required reviews, branch protection, and code owners.
- Your CI/CD system runs automated steps that call Honeydew over an API. This works with any CI/CD system — GitHub Actions, GitLab CI/CD, CircleCI, Jenkins, Azure Pipelines, and others.
Honeydew provides a ready-made GitHub Action for
validation. It is currently the only prebuilt integration; for other CI/CD systems and for
other steps, call the API directly.
What you can do
A typical flow: your Git provider requires the right owners to approve a pull request, the
pipeline validates the branch before merge, and once merged the pipeline promotes,
materializes, and generates BI schemas as needed.
How it works
Governance rules — required reviews and code owners — are configured in your Git provider and apply to every pull request. See Git version control. The automated steps call Honeydew through one of two interfaces, which expose the same operations for reloading branches, validating objects, deploying datasets, and generating BI models:- GraphQL API — HTTPS endpoint authenticated with an API key and secret. Language- and tool-agnostic, so it fits any CI/CD runner.
- Snowflake Native App — the same operations as
SEMANTIC_LAYER.API.*SQL procedures, for pipelines that already have a Snowflake connection.
reset_workspace in GraphQL
maps to RELOAD_WORKSPACE in the Native App). Choose whichever matches your pipeline.
A pipeline authenticates with its own API key, so reloading a branch runs in the API key’s
session and does not affect users editing that workspace in Honeydew Studio. Validation is
safe to run on active branches.
Validate changes in a pipeline
Validation is the most common step, and the same request pattern applies to every other operation. The example below reloads the workspace from Git and then queries entities for errors. Withcurl:
If your organization uses a custom hostname for the API connection, use it in place of
api.honeydew.cloud. You can locate it in the Honeydew UI, under the API section in
Settings.error.
On GitHub, the GitHub Action runs the complete sequence
for you. On any other CI/CD system, port the full query set from
Validate a Workspace and fail the step on
any returned error — the two-call check above is not sufficient on its own.
Structural validation confirms the model loads and resolves, but not that its generated SQL
runs. To catch a model that is valid yet produces SQL that fails against the warehouse — for
example, after a source column is renamed — compile representative queries with
get_sql_from_yaml, or run them with adhoc_sql.
Authentication
CI/CD pipelines authenticate with an API key. Use an organization-level key as a service account, and give it the lowest role the pipeline needs:- Viewer — sufficient to reload a branch, validate objects, and generate BI schemas.
- Editor — required to modify objects or deploy datasets.
- Admin — required to reload a workspace for all users (publish to production).