Configure Issue Intake and Workflow Routing
Intake answers two separate questions: should Colony ingest this issue? and which workflow should the ingested issue use? Configure them independently and test with new issues. Existing pipeline rows keep their pinned workflow ID and version.
Choose an intake mode
Section titled “Choose an intake mode”| Mode | Behavior | Use it when |
|---|---|---|
| Tagged only | Colony ingests a new or eligible issue only after the provider carries the Colony enqueue marker. | You are onboarding, share the tracker with human-only work, or want explicit operator control. |
| All issues | Colony ingests every eligible newly discovered issue unless it carries an ignore marker. | The tracker is dedicated to Colony or your issue-creation process already guarantees compatible work. |
- Open the repository in Colony Cloud and go to its settings.
- Under intake, select Tagged only or All issues.
- Save the repository configuration.
- Return to the repository status or Pipeline view and confirm the configured mode before filing the test issue.
Set the default under the Mayor’s literal configuration key:
agents: sprint_master: intake_mode: taggedOverride one repository without changing the others:
repos: - owner: acme repo: payments intake_mode: allrepos[].intake_mode wins over agents.sprint_master.intake_mode. Because the repo-level field is startup configuration, restart or redeploy the Mayor after changing it. Run colony check --stage repository to confirm the resolved mode.
Enqueue or exclude one issue
Section titled “Enqueue or exclude one issue”With tagged intake, apply colony:enqueue or post /colony:enqueue on an eligible issue. On Azure DevOps, Colony projects flags as tags rather than creating a GitHub label object.
Use colony:ignore for work Colony must not ingest. Apply it before the next intake cycle; adding it after an issue has entered Postgres does not cancel the existing pipeline row. Use a workflow-valid cancel or pause action for already-ingested work.
Select the repository workflow
Section titled “Select the repository workflow”Prefer a built-in workflow until you can identify a state, transition, or gate it cannot express. In Colony Cloud, select an available workflow in the repository configuration. For self-hosted Colony, the runtime resolves a repository workflow in this order:
- a Cloud-pushed marker when that source is available;
- inline workflow YAML supplied by configuration;
.colony/workflow.yamlin the Worker checkout;- the built-in
colony-defaultfallback.
Definitions are immutable once registered at a workflow ID and version. New intake pins the resolved pair; changing the repository default does not rewrite issues already in flight.
Route different issues to different workflows
Section titled “Route different issues to different workflows”Self-hosted intake_rules are evaluated from top to bottom. The first matching rule wins; all predicates inside one rule must match, while labels matches any label in its list.
intake_rules: default: colony-default rules: - workflow: colony-content match: labels: [documentation] title_pattern: '^\[docs\]'title_pattern and body_pattern are JavaScript-compatible regular expressions. Invalid expressions fail configuration validation. A rule that selects an unknown or unavailable workflow fails routing; Colony does not silently run a different workflow.
The intake_rules block hot-reloads. After editing it, use the monitor’s config-reload control or POST /api/config/reload, then inspect the reload outcome. This does not change pinned workflows on existing issues.
Test the policy
Section titled “Test the policy”- Keep intake in tagged mode and create a deliberately small issue without the enqueue marker. Confirm it does not appear in the pipeline.
- Add the marker and confirm the issue is ingested once.
- Inspect the issue detail, event history, or workflow snapshot and verify the pinned workflow ID and version.
- Create one issue that matches a routing rule and one that falls through to the default.
- Remove the test work or let it complete before expanding the policy.
Diagnose unexpected intake
Section titled “Diagnose unexpected intake”| Symptom | Check |
|---|---|
| Nothing enters | Repository enabled state, provider access, Mayor health, intake mode, enqueue/ignore markers, and webhook or polling activity. |
| Too many issues enter | Effective repo override, all-issue mode, and automation that creates issues without an ignore marker. |
| Wrong workflow is pinned | Rule ordering, predicate semantics, repository default, definition availability, and the issue’s labels/title/body at intake time. |
| A workflow change did not affect an active issue | Expected behavior: the issue keeps its pinned workflow version. Test with a new issue. |