Skip to content

Release Manager

The Release Manager plugin acts as an intelligent deployment gatekeeper. It compiles release notes, validates quality gates, analyzes risks, and provides a clear go/no-go recommendation before production deployment.

It combines signals from CI/CD pipelines, code changes, test results, and runtime telemetry to ensure safe and reliable releases.

Works with GitHub, Azure DevOps, Bitbucket, and any generic CI/CD pipeline.


CapabilityDescription
Release NotesGenerates structured, business-friendly release summaries
Gate ValidationVerifies build, test, quality, and security requirements
Risk AnalysisIdentifies high-risk changes using historical and contextual signals
Deployment DecisionApproves, warns, or blocks releases
Observability CheckAnalyzes staging logs, errors, and performance trends

flowchart TD
    A[Detect platform] --> B[Fetch release data]
    B --> C[Aggregate signals]
    C --> D[Validate gates]
    D --> E[Run risk analysis]
    E --> F[Generate release notes]
    F --> G{Decision}
    G -->|Approve| H[Proceed to deploy]
    G -->|Warn| I[Notify with risks]
    G -->|Block| J[Stop deployment]
  1. Detect platform — reads git remote to identify GitHub, Azure DevOps, Bitbucket, or generic.
  2. Fetch release data — collects commits, PRs, pipeline results, and test reports.
  3. Aggregate signals — combines code, test, security, and runtime data.
  4. Validate gates — checks predefined quality and compliance rules.
  5. Risk analysis — evaluates impact using change patterns and historical data.
  6. Generate notes — creates structured release summaries.
  7. Decision output — approves, warns, or blocks deployment.

InputSourceRequiredDescription
Repository URLAgent ruleYesThe repository being released — provided by the Xianix Agent rule, not typed in the prompt
Release versionPrompt / pipelineYesVersion/tag for the release
EnvironmentPrompt / pipelineYesTarget environment (e.g. staging, prod)
Pipeline IDCI/CDNoSpecific pipeline run reference

The platform (GitHub, Azure DevOps, etc.) is auto-detected from git remote — you don’t need to specify it.


Evaluate the latest release:

/release-check

Evaluate a specific version:

/release-check v1.4.2

Generate release notes only:

/release-notes v1.4.2

Release Status: ⚠️ Proceed with Caution

Section titled “Release Status: ⚠️ Proceed with Caution”

Summary

  • 2 new features, 3 bug fixes
  • Changes in critical processing module

Risks Identified

  • High-risk module modified
  • No new integration tests

Gate Status

  • Build: Passed
  • Test Coverage: Below threshold
  • Security: No critical issues

Recommendations

  • Run regression tests
  • Monitor logs post-deployment

RuleAction
Test coverage < 70%Warn
Critical vulnerability detectedBlock
Failed pipelineBlock
High-risk module changed without testsWarn

The Xianix Agent reads these from its secrets store and injects them at runtime via the rule’s with-envs block (see the rule examples below). For local CLI use, export them in your shell.

VariablePlatformRequiredPurpose
GITHUB-TOKENGitHubYesAccess releases, PRs, and pipeline status
AZURE-DEVOPS-TOKENAzure DevOpsYesAccess pipelines, work items, and release data
OBSERVABILITY-API-KEYMonitoringNoFetch logs and metrics from staging

The GITHUB-TOKEN requires the following repository permissions:

PermissionAccessWhy it’s needed
ContentsReadAccess repository contents, commits, branches, and releases
MetadataReadSearch repositories and access repository metadata
Pull requestsReadFetch PRs included in the release
ActionsReadAccess CI pipeline run results and status
ChecksReadRead check-run status for gate validation

The AZURE-DEVOPS-TOKEN (Personal Access Token) requires:

PermissionAccessWhy it’s needed
CodeReadAccess repository contents, commits, and tags
BuildReadRead pipeline run results and status
ReleaseReadRead release pipeline state and deployment metadata
Work ItemsReadFetch work items included in the release

Terminal window
# Point Claude Code at the plugin
claude --plugin-dir /path/to/xianix-plugins-official/plugins/release-manager
# Then in the chat
/release-check

Or trigger it automatically via the Xianix Agent by adding a rule — see the examples below and the Rules Configuration guide.


Add one (or both) of the execution blocks below to your rules.json so the Xianix Agent automatically validates releases when a webhook fires.

The Release Manager is event-driven. It runs when the ai-dlc/release/check label (GitHub) or tag (Azure DevOps) is applied, or when a release is published directly. The OR logic across match-any entries means multiple scenarios can trigger the same validation run.

ScenarioWhat it covers
Release publishedA new release or tag is published on the repository
Label applied to a PRA human applies ai-dlc/release/check to the last PR before releasing
Azure DevOps deployment startedA release pipeline deployment begins in Azure DevOps
PlatformScenarioWebhook eventFilter rule
GitHubRelease publishedreleaseaction==published
GitHubLabel applied to PRpull_requestaction==labeled and label.name=='ai-dlc/release/check'
Azure DevOpsDeployment startedms.vss-release.deployment-started-eventresource.environment.name is present

Each execution block in rules.json follows this top-level shape:

FieldPurpose
nameHuman-readable id for the execution
platform"github" or "azuredevops" — drives which provider the plugin uses
repository.urlWebhook path to the repository URL (e.g. repository.clone_url). Omit for Azure DevOps release-pipeline events — those are project-scoped, not repo-scoped.
repository.refWebhook path to the branch ref (e.g. release.target_commitish). Optional.
match-anyArray of trigger filters — first one to match wins
use-inputsMinimal — usually just the entry-point id (e.g. release-version). The plugin fetches release notes, PRs, and pipeline state from the platform API at runtime.
use-pluginsThe plugin to invoke
with-envsRequired environment variables, sourced from the agent’s secrets.* store and marked mandatory: true
execute-promptThe prompt sent to the agent. Implicit interpolations: {{repository-name}} and {{git-ref}} from the repository block, plus any name from use-inputs
{
"name": "github-release-check",
"platform": "github",
"repository": {
"url": "repository.clone_url",
"ref": "release.target_commitish"
},
"match-any": [
{
"name": "github-release-published",
"rule": "action==published"
}
],
"use-inputs": [
{ "name": "release-version", "value": "release.tag_name", "mandatory": true }
],
"use-plugins": [
{
"plugin-name": "release-manager@xianix-plugins-official",
"marketplace": "xianix-team/plugins-official"
}
],
"with-envs": [
{ "name": "GITHUB-TOKEN", "value": "secrets.GITHUB-TOKEN", "mandatory": true }
],
"execute-prompt": "Release {{release-version}} has been published in {{repository-name}} from branch {{git-ref}}.\n\nRun /release-check {{release-version}} to perform the automated release validation."
}

Release-pipeline events are project-scoped, not repo-scoped, so the repository block is omitted. The plugin reads pipeline / release artifact metadata at runtime via the Azure DevOps REST API.

{
"name": "azuredevops-release-check",
"platform": "azuredevops",
"match-any": [
{
"name": "ado-deployment-started",
"rule": "eventType==ms.vss-release.deployment-started-event"
}
],
"use-inputs": [
{ "name": "release-id", "value": "resource.release.id", "mandatory": true }
],
"use-plugins": [
{
"plugin-name": "release-manager@xianix-plugins-official",
"marketplace": "xianix-team/plugins-official"
}
],
"with-envs": [
{ "name": "AZURE-DEVOPS-TOKEN", "value": "secrets.AZURE-DEVOPS-TOKEN", "mandatory": true }
],
"execute-prompt": "Azure DevOps release deployment started — release id {{release-id}}.\n\nRun /release-check {{release-id}} to perform the automated release validation. Resolve the release name, target environment, and repository from the release id via the `az` CLI."
}

  • Predict release failure probability
  • Recommend rollback strategies
  • Suggest optimal deployment windows
  • Learn from past incidents