Back to docs

Git Event Automations

Automatically transition ticket status based on branch creation and pull request events.

This feature is not yet implemented
This feature is currently under development. Nothing described on this page works in the extension today. The content below documents the planned design for future reference.

Overview

Git event automations will support rule-based status transitions driven by Git workflow events (branch creation and PR lifecycle changes), while keeping ticket data in .opentix/. This feature is not yet implemented or shipped.

Planned Events

EventTriggerDetection
branch_createdA new branch is checked out locallyWatch Git HEAD reference
pr_openedA pull request is opened on GitHubPoll GitHub state
pr_mergedA pull request is mergedPoll GitHub state
pr_closedA pull request is closed without mergingPoll GitHub state

Planned Default Rules

Planned defaults:

EventActionExample
Branch createdSet status to in-progressCreate feat/OPTX-0001-auth -> ticket moves to In Progress
PR openedSet status to reviewOpen PR for OPTX-0001 -> ticket moves to Review
PR mergedSet status to doneMerge PR -> ticket moves to Done
PR closedSet status to cancelledClose PR without merge -> ticket moves to Cancelled

Rules are expected to optionally support a link_branch action to keep the ticket's branch field in sync.

Planned Configuration

The current extension does not scaffold or load automation config yet. The planned design uses:

  • .opentix/config.yml for global automation enable/interval
  • .opentix/automations.yml for rule definitions
automations:
  enabled: true
  pollIntervalSeconds: 120

And a rule file like:

version: 1
rules:
  - id: branch-to-in-progress
    trigger: branch_created
    condition:
      branch_contains: ticket_id
    action:
      set_status: in-progress
      link_branch: true

Current Status

Today, status transitions happen through manual board actions (drag/drop or ticket edits). Automation commands/settings are not yet available in package.json contributions.

Roadmap Notes

Planned implementation priorities:

  • Rule validation against configured statuses
  • Idempotent transitions (skip if already in target state)
  • Optional from_status guards to avoid backward movement
  • GitHub integration via gh CLI first, API fallback second

Next Steps