Automation

Using WS.Eng CLI in automated environments including GitHub Actions, REST API, and MCP server integrations.

GitHub Actions

Example Workflow

name: Review PR

on:
    workflow_call:

jobs:
    review-pr:
        runs-on: ubuntu-latest
        permissions:
            contents: read
            id-token: write

        steps:
            - uses: actions/checkout@v4
              with:
                  ref: ${{ github.head_ref }}
                  fetch-depth: 0

            - name: Review PR
              uses: trilogy-group/ws-eng-cli@main
              with:
                  command: wseng review-work --output github

Key Points

Checkout with full history:

- uses: actions/checkout@v4
  with:
      ref: ${{ github.head_ref }} # Check out PR branch
      fetch-depth: 0 # Full history for diff analysis

CI mode flags:

wseng review-work --ci --no-tracking --output github
  • --ci - Disables interactive prompts
  • --no-tracking - Disables analytics
  • --output github - Posts results as PR comment

What Runs Automatically

When tickets transition to certain statuses, webhooks trigger CLI commands:

Pushed to Review:

  1. wseng verify-acceptance-video - Validates demo video
  2. wseng review-work - Automated code review
  3. wseng ws infer-breakdown - Calculates story points

Deployed:

  1. wseng release-notes - Generates changelog

Results posted as PR/ticket comments.

REST API

The CLI is deployed as REST API at https://cli.wseng.ai.

OpenAPI Spec: https://cli.wseng.ai/docs/openapi.json

Example: Execute command via API

curl -X POST https://cli.wseng.ai/commands/review-work/execute \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ticketId": "LAMBDA-12345",
    "output": "markdown"
  }'

Data API: Query tickets, people, projects without executing commands.

curl https://cli.wseng.ai/data/tickets/LAMBDA-12345 \
  -H "x-api-key: YOUR_API_KEY"

MCP Server

The CLI exposes an MCP server for AI integrations.

MCP Metadata: https://cli.wseng.ai/docs/mcp.json

Claude Desktop config:

{
    "mcpServers": {
        "WSEng": {
            "command": "wseng",
            "args": ["mcp"]
        }
    }
}

Commands commonly used in automation.

Automated review checks explained.

Complete action.yml specification.