Skip to content

Config Validation

Push-triggered validation of repository configuration files.

How It Works

When a push event is received:

  1. GitWire checks the changed files for known config file patterns
  2. Fetches the file content from GitHub
  3. Validates against known schema rules
  4. Records results in config_validation_results

Supported Config Files

FileValidation
.github/workflows/*.ymlYAML syntax, basic GitHub Actions schema
.github/CODEOWNERSValid CODEOWNERS syntax
.github/ISSUE_TEMPLATE/*.ymlYAML syntax
.github/PULL_REQUEST_TEMPLATE.mdMarkdown syntax
package.jsonJSON syntax, required fields
tsconfig.jsonJSON syntax, TypeScript schema

Viewing Results

bash
# All config validation results
curl https://gitwire.yourdomain.com/api/enforcement/config-results \
  -H "Authorization: Bearer YOUR_API_KEY"

# For a specific repo
curl https://gitwire.yourdomain.com/api/enforcement/config-results/owner/repo \
  -H "Authorization: Bearer YOUR_API_KEY"

Result Record

FieldDescription
commit_shaThe commit that triggered validation
file_pathPath to the config file
file_typeType of config file
validWhether validation passed
errorsJSONB array of error objects
warningsJSONB array of warning objects

Merge Queue

Released under the MIT License.