Skip to content

Update workflow schema and documentation for GitLab triggers #1185

@geoffjay

Description

@geoffjay

Summary

Update the workflow YAML schema and public documentation to cover the new GitLab trigger types (gitlab_issues, gitlab_merge_requests), the new assignee/assignees fields on GitHub triggers, and the GitLab configuration requirements.

Context

The workflow schema (schemas/workflow.yml) and documentation (docs/public/) need to be updated to reflect the new trigger types. The schema is used for validation and IDE autocompletion; the docs are the primary reference for users.

Acceptance Criteria

Schema Updates (schemas/workflow.yml)

  • Add source_gitlab_issues definition:
    • Required: type, owner, repo
    • Optional: labels (array), state (enum: opened/closed/all, default: opened), assignee (string)
    • Template variables documented: {{title}}, {{body}}, {{url}}, {{labels}}, {{assignee}}, {{source_id}}, {{gitlab_project_id}}, {{gitlab_iid}}
  • Add source_gitlab_merge_requests definition:
    • Required: type, owner, repo
    • Optional: labels (array), state (enum: opened/closed/merged/all, default: opened), assignees (array of strings)
    • Template variables documented: includes {{source_branch}}, {{target_branch}}, {{merge_status}}, {{draft}}
  • Add both refs to source_template.oneOf list
  • Add assignee property to source_github_issues definition
  • Add assignees property to source_github_pull_requests definition
  • Add examples for GitLab triggers

Documentation Updates

  • Update docs/public/trigger-reference.md:
    • Add gitlab_issues and gitlab_merge_requests rows to comparison table
    • Add "When to Use" section for GitLab triggers
    • Add configuration section explaining AGENTD_GITLAB_TOKEN and AGENTD_GITLAB_URL
    • Document GitLab state values (opened vs GitHub's open)
  • Update docs/public/templates.md:
    • Add GitLab trigger type to template variable tables
    • Document GitLab-specific variables
    • Add example workflow YAML for GitLab
  • Document the new assignee/assignees fields on GitHub triggers in both files

Key Files

  • schemas/workflow.yml - YAML schema definitions
  • schemas/definitions.yml - shared definitions (if webhook_source needs updating)
  • docs/public/trigger-reference.md - trigger comparison and configuration
  • docs/public/templates.md - template syntax and variable reference

Blocked By

  • The GitLab scaffolding issue (type names and field definitions must be finalized)

Stack Base

Branch off: feature/autonomous-pipeline
Blocked by: #1180

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions