Connect GitHub to a Shipfox workspace
Install the GitHub App, limit repository scope, and prove that a push starts a run.
Connect GitHub so Shipfox can read a repository and receive events. The same integration connection lets a workflow call selected GitHub tools. See the GitHub overview for its capabilities.
Before you begin
You need access to workspace integration settings. You must also be able to install a GitHub App on the target account or organization.
To verify a run, you also need an online runner with the shipfox label.
Install the GitHub App
Start the integration connection
Open Settings → Integrations in the workspace. Select GitHub, then start the integration connection. Shipfox opens the GitHub App installation flow.
Set the GitHub repository boundary
Select the GitHub account or organization. Choose only the repositories Shipfox should reach. This selection is the hard repository boundary. GitHub returns you to Shipfox.
Record the integration connection slug
Open the new integration connection's menu. Select Use this integration. Copy the
slug from the trigger example. Workflows use that value as source.
New GitHub integration connections use Only your projects' repositories by default. This setting applies to explicit checkouts and repositories named by GitHub tools.
Use Manage GitHub repository access to change the setting or the repositories selected in GitHub.
Check event delivery
Make sure the integration connection is enabled in Settings → Integrations. Select View recent events. Push to an allowed repository. The event journal should show the GitHub event.
Verify a triggered run
Create a project from one repository
selected in GitHub. Add
.shipfox/workflows/check-github-connection.yml to that repository. Replace
github_acme with the integration connection slug. This is a complete
workflow:
# yaml-language-server: $schema=https://www.shipfox.io/docs/workflow.schema.json
name: Check the GitHub integration connection
runner: shipfox
triggers:
on_push:
source: github_acme # Replace with the slug of your GitHub integration connection.
event: push
jobs:
check:
steps:
- env:
GIT_REF: "${{ event.ref }}"
run: printf 'Received push for %s\n' "$GIT_REF"Commit and push the workflow to the project's default branch. Wait for Check the GitHub integration connection to sync, then push one more safe commit. The workflow file's first push may arrive before the new definition is ready.
Open the second push event and its linked run. Check the Git ref in the log. Check that the job uses the same allowed repository.
The GitHub events reference lists the shipped event names and payload behavior. The reference for GitHub tools lists the tools a workflow can call.