Section 3 of 4 — GitHub Actions Workflows
- name: Run pipeline
run: |
python watcher.py \
--once \
--repo ${{ github.repository }} \
--issue ${{ github.event.issue.number }} \
--label ${{ github.event.label.name }}
--once means: process this single issue, then exit. No polling loop.
--label tells watcher which pipeline YAML to load.
Works for ANY label — add new label in repos.yaml + create pipelines/<label>.yaml → it works.
my_pipeline.py + add GitHub Actions workflow .github/workflows/my-pipeline.yml + modify watcher dispatch logicpipelines/ai-refactor.yaml (define stages), add ai-refactor label to repos.yaml entry. Done. The existing workflows auto-dispatch via --label ai-refactor.
# pipelines/ai-refactor.yaml (new pipeline in 10 lines)
stages:
- name: analyze
type: engineer
prompt: "Analyze the code and suggest refactoring improvements"
- name: refactor
type: engineer
depends_on: analyze
- name: review
type: code_reviewer
depends_on: refactor