Skip to content

Latest commit

 

History

History
118 lines (93 loc) · 4.78 KB

examples.mdx

File metadata and controls

118 lines (93 loc) · 4.78 KB
title Examples
description Full workflow YAML and label examples for the Issues section.

Examples

This page provides concrete examples: a full issue workflow, optional inputs for assignees and projects, and example labels and branch names.

Full issue workflow

Example .github/workflows/copilot_issue.yml with common inputs:

name: Copilot - Issue

on:
  issues:
    types: [opened, reopened, edited, labeled, unlabeled, assigned, unassigned]

jobs:
  copilot-issues:
    name: Copilot - Issue
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v5
        with:
          persist-credentials: false

      - uses: vypdev/copilot@v3
        with:
          token: ${{ secrets.PAT }}
          project-ids: ${{ vars.PROJECT_IDS }}
          desired-assignees-count: 1
          issue-managed-branches: true
          pre-branch-sdd: true
          main-branch: main
          development-branch: develop
          feature-tree: feature
          bugfix-tree: bugfix
          hotfix-tree: hotfix
          release-tree: release
          agent-provider: ${{ vars.AGENT_PROVIDER || 'codex' }}
          agent-model-provider: ${{ vars.AGENT_MODEL_PROVIDER || 'openai' }}
          agent-model: ${{ vars.AGENT_MODEL || 'gpt-6-luna' }}
          ai-ignore-files: build/*
          debug: ${{ vars.DEBUG }}
  • token is required. Use a fine-grained PAT with repo and project permissions (see Authentication).
  • project-ids: Comma-separated project IDs so issues (and later PRs) are linked to boards.
  • desired-assignees-count: Number of assignees (e.g. 1).
  • issue-managed-branches: Create and verify an issue-linked branch after in-progress (default: true).
  • pre-branch-sdd: For eligible features or behavior changes, resolve SDD questions and publish the SDD before implementation (default: false).
  • main-branch / development-branch: Match your repo (e.g. main and develop).
  • *-tree: Branch prefixes (e.g. feature/123-title). Omit if you keep defaults.

Example: branchless help and optional branchless work

A help or question issue stays branchless after in-progress. For other admitted types, set issue-managed-branches: false to run without Action-managed branches. Release and hotfix workflows require managed branches, as does pre-branch-sdd: true.

- uses: vypdev/copilot@v3
  with:
    token: ${{ secrets.PAT }}
    issue-managed-branches: false

Example labels on an issue

Goal Labels to add
New feature feature, then in-progress; the Action adds SDD if enabled and later branched
Bug fix bugfix, then in-progress; add contract-change for a behavior change
Documentation docs or documentation, then in-progress
Chore / maintenance chore or maintenance, then in-progress
Hotfix (production) hotfix, then in-progress; add deploy to trigger the hotfix workflow
Release release, then in-progress; add deploy to trigger the release workflow
Question (no branch) question, then in-progress
Help request (no branch) help, then in-progress

Example branch names

Assuming defaults (feature-tree: feature, development-branch: develop):

Issue Start labels Branch created
#42 "Add login page" feature, in-progress feature/42-add-login-page from develop
#99 "Fix null in API" bugfix, in-progress bugfix/99-fix-null-in-api from develop
#100 "Critical payment bug" hotfix, in-progress hotfix/100-critical-payment-bug from its selected production tag
#101 "Release 1.2.0" release, in-progress release/101-release-1-2-0 from develop

branched appears only after the Action verifies each linked branch. With the SDD gate, the first branch commit contains the validated specification.

Deploy workflow filenames

If you use release or hotfix and the deploy label, the action dispatches a workflow by filename. Defaults:

  • release-workflow: release_workflow.yml
  • hotfix-workflow: hotfix_workflow.yml

Your .github/workflows/ must contain files with these exact names (or pass the correct names in the action inputs). Example:

# In copilot_issue.yml (or wherever you call Copilot for issues)
- uses: vypdev/copilot@v3
  with:
    token: ${{ secrets.PAT }}
    release-workflow: release_workflow.yml
    hotfix-workflow: hotfix_workflow.yml

Next steps