For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deployment patterns

Use practical deployment patterns for tagging, reporting, publishing, and CI/CD.

Choose the pattern that matches your rollout goal.

Use the expandables for the shortest path. Use the linked reference pages for field details.

Use Installation and first run for the first successful run.

End-to-end reporting workflows

SeaLights auto-tagging

Use this when SeaLights already tags code changes during build reporting.

1

Confirm the data path

Confirm your ticket source in Data sources.

Confirm your target in Publication targets.

2

Generate report data

Run the report-generation flow from Report Generation.

Use --ticket-source jira or --ticket-source ado to match your source system.

3

Publish the result

Publish issue KPIs or detailed pages from Publish Analytics.

Expected outcome

  • No separate tagging step runs.

  • Coverage comes from existing SeaLights tagging data.

  • The flow stays short for recurring reports.

Manual tagging

Use this when auto-tagging is unavailable or too limited for your build flow.

1

Tag source changes

Choose the tagging command in Source Tagging.

Use --days-back for pull-request tagging.

Use --since-date for history-based tagging.

2

Generate report data

Run the report-generation flow from Report Generation.

3

Publish the result

Publish issue KPIs or detailed pages from Publish Analytics.

Expected outcome

  • Source changes are tagged before coverage is calculated.

  • Ticket-linked coverage works without auto-tagging.

  • Downstream publishing stays unchanged.

Issue coverage KPIs

Sprint coverage

Use this when you want sprint tickets updated where teams already review work. Choose the platform that matches the KPI destination.

✅ Prerequisites

  • Your JQL returns the sprint tickets you want.

  • Jira publishing is configured.

  • Report data generation already works.

🚀 Steps

1

Configure the ticket query

Set the JQL filter in Data sources.

2

Generate report data

Run the Jira report flow from Report Generation with --ticket-source jira.

3

Publish sprint coverage

Use the Jira publishing path in Publish Analytics.

📤 Expected outcome

Jira issues show updated sprint coverage values. Teams review coverage without leaving Jira.

✅ Prerequisites

  • Your WIQL returns the sprint work items you want.

  • Azure DevOps publishing is configured.

  • Report data generation already works.

🚀 Steps

1

Configure the work item query

Set the WIQL in Data sources.

2

Generate report data

Run the Azure DevOps report flow from Report Generation with --ticket-source ado.

3

Publish sprint coverage

Use the Azure DevOps publishing path in Publish Analytics.

📤 Expected outcome

Azure DevOps work items show updated sprint coverage. Coverage follows the WIQL result set.

✅ Prerequisites

  • Jira custom field IDs are defined.

  • Jira write access is available.

  • Report data generation already works.

🚀 Steps

1

Configure the query and field IDs

Set the JQL filter in Data sources. Set the field mapping in Publication targets.

2

Generate report data

Run the Jira report flow from Report Generation with --ticket-source jira.

3

Publish sprint coverage

Use the legacy Jira publishing path in Publish Analytics.

📤 Expected outcome

Jira custom fields are updated with sprint coverage values. Existing legacy dashboards keep working.

Detailed coverage reports

Feature coverage

Use this when teams need page-based coverage for a feature, epic, or cross-ticket review. Choose the destination that matches where teams review full coverage pages.

✅ Prerequisites

  • Confluence access is configured.

  • The target space and parent page are known.

  • Report data generation already works.

🚀 Steps

1

Configure the target

Set the Confluence target in Publication targets.

2

Generate report data

Run the report flow from Report Generation.

3

Publish detailed pages

Use the Confluence publishing path in Publish Analytics.

📤 Expected outcome

A summary page is created or updated in Confluence. Ticket-level pages are published under the target parent page. Teams get stable links for feature-level review.

Azure DevOps Wiki is a planned target. It is not the current production path. Azure DevOps Wiki support is planned by EOY2026.

🚀 Steps

1

Keep the current production target

Continue to publish detailed pages to Confluence for now.

2

Track the future destination

Record Azure DevOps Wiki as the planned target in your rollout plan.

📤 Expected outcome

Detailed publishing still goes to Confluence today. Azure DevOps Wiki remains the planned future destination.

CI/CD automation

Use this when coverage must run on a schedule or as part of delivery gates. Choose the platform tab that matches your pipeline.

Store SEALIGHTS_API_TOKEN, GITHUB_TOKEN, and JIRA_AUTHORIZATION in an Azure DevOps variable group named sealights-coverage-secrets, marked as secret.

CI/CD reference material

Sample ReportInfo JSON structure
Run multiple repositories in parallel
Fail the build on low coverage
Send a low-coverage notification

Analytics scope patterns

One app and one repo

Use this when one repository maps to one SeaLights app and one main branch.

Expected outcome

Coverage is pulled from one app and mapped back to one repo cleanly.

Several repos in one reporting flow

Use this when one report must include several repositories.

Expected outcome

The same run can cover more than one repository.

Raw stages and grouped stages together

Use this when you want both detailed stage coverage and a rolled-up KPI.

Expected outcome

Reports show both stage detail and grouped coverage.

Integration build scope

Use this when one reported build combines several components.

Expected outcome

User Story Coverage validates that all required components are in scope.

Multi-system examples

Jira source to Jira plugin output

Use this when Jira is both the ticket source and the KPI destination.

1

Select the tickets

Use the Jira query path in Data sources.

2

Generate the report data

Run the Jira report flow from Report Generation.

3

Publish the KPI

Use the Jira plugin path in Publish Analytics.

Expected outcome

  • Jira issues are selected by JQL.

  • Coverage is calculated from SeaLights data.

  • Jira issues are updated with coverage KPIs.

Azure DevOps source to Confluence output

Use this when work items live in Azure DevOps and teams review full pages in Confluence.

1

Select the work items

Use the WIQL path in Data sources.

2

Generate the report data

Run the Azure DevOps report flow from Report Generation.

3

Publish detailed pages

Use the Confluence path in Publish Analytics.

Expected outcome

  • Work items are selected by WIQL.

  • Coverage is matched to those work items.

  • Detailed pages are published to Confluence.

SeaLights and Git tagging to issue coverage KPIs

Use this when ticket mapping comes from tagging before report generation.

1

Tag the linked changes

Choose the tagging command in Source Tagging.

2

Generate the report data

Run the report flow from Report Generation.

3

Publish the KPI

Use the target-specific path in Publish Analytics.

Expected outcome

  • Recent code changes are tagged with ticket IDs.

  • Coverage is linked to those tickets.

  • Teams see issue-level coverage in the target system.

Tagging workflows

Pull request coverage

Use this when pull requests are the main source of ticket-linked changes.

1

Choose the tagging source

Use GitHub pull requests when merged PRs are your source of truth.

Use Jira-linked pull requests when tagging must stay limited to Jira query results.

2

Run the tagging path

Use US_SRC_tag_repos_by_github_prs.py or US_SRC_tag_repos_by_jira_github_prs.py from Source Tagging.

Use --days-back to set the PR lookback window.

3

Continue to reporting

Generate report data in Report Generation.

Expected outcome

Recent merged pull requests are scanned and matching ticket IDs are tagged in SeaLights.

Git history tagging

Use this when pull requests are not your source of truth.

1

Set the time range

Choose a stable cutoff date for the tagging window.

2

Run the history path

Use US_SRC_tag_repos_by_history.py from Source Tagging.

Use --since-date to set the history cutoff.

3

Continue to reporting

Generate report data in Report Generation.

Expected outcome

Commits are scanned directly and matching ticket IDs are tagged from commit history.

Jira-linked pull requests

Use this when tagging must stay limited to tickets returned by the Jira query.

1

Configure the Jira query

Set the JQL filter in Data sources.

2

Run the constrained tagging path

Use US_SRC_tag_repos_by_jira_github_prs.py from Source Tagging.

3

Continue to reporting

Generate report data in Report Generation.

Expected outcome

Only pull requests linked to the selected Jira tickets are processed.

Last updated

Was this helpful?