Connect GitHub with Seal for automated change control and compliance in regulated environments
This integration bridges the gap between modern development workflows and strict regulatory requirements, designed specifically for organizations in regulated industries.
Meet FDA requirements with comprehensive documentation of all code changes. Automatically create and maintain traceability between requirements, change orders, and code implementations to satisfy 21 CFR Part 820 and IEC 62304 compliance.
Ensure compliance with Good Practice regulations including 21 CFR Part 11, EU Annex 11, and ISO 13485 by maintaining complete, timestamped audit trails of every change with proper review and approval workflows.
Choose which GitHub integrations you want to set up with Seal to simplify your development and compliance workflow:
Automatically creates or updates Seal change control instances from GitHub PRs that match configured branch patterns. Monitors Seal status to automate GitHub actions.
Syncs GitHub Issues matching specific labels with Seal entities for defect tracking or linking requirements.
Follow these step-by-step instructions to integrate GitHub with Seal and streamline your regulatory compliance workflow.
First, configure your Seal account with the necessary templates and permissions:
Description of Change
(Text/Rich Text)PR Number
(Text or Number)PR Link
(Text/URL)Repository Name
(Text)Repository ID
(Text)PR Title
(Text)Approved
Rejected
GitHub Issue Number
(Text or Number)GitHub Issue Title
(Text)Issue Description
(Text/Rich Text)GitHub Issue Link
(Text/URL)GitHub Issue Labels
(Text)Repository Name
(Text)GitHub Status
(**Single Select** Type): Must have options with these exact values:
Unresolved
Resolved in Main
Untagged
us.platform.seal.run
) and **API Base URL** (e.g., https://us.backend.seal.run/api/
).Set up the necessary secrets and configuration file in your GitHub organization/repository:
SEAL_API_TOKEN
: Your Seal API token generated earlier..github/seal-change-control-config.yml
in your repository.
# .github/seal-change-control-config.yml
# --- Core Settings (Required) ---
sealTemplateId: "YOUR_SEAL_CHANGE_CONTROL_TEMPLATE_ID"
sealApiBaseUrl: "https://YOUR_SEAL_API_BASE_URL/" # Must end with /
platformBaseUrl: "YOUR_SEAL_PLATFORM_BASE_URL" # e.g., us.platform.seal.run
# --- Branch Filtering (Required for PR Sync) ---
sourceBranchRegex: "^YOUR_FEATURE_BRANCH_PATTERN$" # e.g., "^feature/" or "^(feature/|hotfix/|chore/)" for multiple
targetBranchRegex: "^YOUR_RELEASE_BRANCH_PATTERN$" # e.g., "^main$" or "^(main|develop|release/.*)$" for multiple
# --- Issue Tracking (Optional - Required for Issue Sync) ---
issueSyncTemplateId: "YOUR_SEAL_ISSUE_TEMPLATE_ID" # Required if syncing issues
issueLabelRegex: "(bug|defect|seal)" # Regex for labels to trigger issue sync
# --- User Feedback Configuration (Optional) ---
# --- Testing ---
isTesting: true # Set true for detailed logs during setup, false for production
'feature/*'
, 'main'
) and multiple patterns are added as separate array entries. This is different from Seal's regex patterns which use the |
operator. Common example: trigger on both 'r[0-9]+.x'
AND 'feature/*'
branches.
Enhance your integration by adding GitHub Actions for tasks like snapshotting code or uploading build artifacts directly to Seal.
This action creates a ZIP archive of your PR's codebase and uploads it to a specified field in the corresponding Seal entity.
Code Snapshot
) to your Seal Change Control template. Enable "Allow Multiple" if desired..github/workflows/codebase_snapshot.yml
.SEAL_API_TOKEN
secret is configured in GitHub.GitHub-Artifacts
) in Seal Admin settings if the action specifies one (seal_file_type_title
).${Repository Name}-${PR Number}
. Ensure this is configured on your Seal Change Control template if using this action.
This action uploads specified build artifacts (like binaries, documentation PDFs) from your workflow run to a Seal entity.
Release Artifact(s)
) to your Seal Change Control template. Enable "Allow Multiple"..github/workflows/upload_artifacts.yml
(or integrate steps into your existing build/release workflow).SEAL_API_TOKEN
secret is configured in GitHub.GitHub-Artifacts
) in Seal Admin settings if using seal_file_type_title
.Verify everything works by testing the complete PR workflow:
sourceBranchRegex
pattern
targetBranchRegex
Verification checklist:
☐ GitHub App installed & authorized ☐ Relevant PR creates/updates Seal entity ☐ Relevant PR receives status check (if enabled) ☐ Relevant PR receives comment linking to Seal (if enabled) ☐ Closing relevant PR updates Seal status tag & adds comment ☐ Issue with relevant label creates/updates Seal entity ☐ Closing/Labeling/Unlabeling relevant Issue updates Seal 'GitHub Status' field ☐ Monitoring: Approving Seal entity approves GitHub PR (if enabled) ☐ Monitoring: Rejecting Seal entity closes GitHub PR & adds comment (if enabled) ☐ (Optional) Code snapshot / Artifact upload Actions run and link files to Seal entity
isTesting: true
mode provides detailed
logs to help troubleshoot any issues.
sourceBranchRegex
and
targetBranchRegex
sealApiBaseUrl
is
correct for
your region
When isTesting: true
is set, detailed logs will
be available:
Once you've verified everything works correctly, finalize your production setup:
isTesting: false # Change to false for production use