Canonical · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Test Observer Issues API
10 actions
10 updates
phrasing
extends
openapi/canonical-issues-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Canonical's API. It is a proposal applied on top of the contract, not a document Canonical publishes.
What the actions change
x-apievangelist-phrasing
Targets 10
$.info
$.paths['/v1/issues/{issue_id}/attach'].post
$.paths['/v1/issues/{issue_id}/detach'].post
$.paths['/v1/issues/{issue_id}/attachment-rules'].post
$.paths['/v1/issues/{issue_id}/attachment-rules/{attachment_rule_id}'].delete
$.paths['/v1/issues/{issue_id}/attachment-rules/{attachment_rule_id}'].patch
$.paths['/v1/issues'].get
$.paths['/v1/issues'].put
$.paths['/v1/issues/{issue_id}'].get
$.paths['/v1/issues/{issue_id}'].patch
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Test Observer Issues API
version: 1.0.0
extends: openapi/canonical-issues-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 9
- target: $.paths['/v1/issues/{issue_id}/attach'].post
update:
x-apievangelist-phrasing:
intent: Attach test results to an issue
effect: write
questions:
- How do I link failing test results to a known issue?
- Can I attach test results matching a filter to an issue instead of listing them?
instructions:
- text: Attach test results {test_results} to issue {issue_id}.
slots:
test_results: requestBody.test_results
issue_id: path.issue_id
- text: Link all test results matching {filters} to issue {issue_id}.
slots:
filters: requestBody.test_results_filters
issue_id: path.issue_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues/{issue_id}/detach'].post
update:
x-apievangelist-phrasing:
intent: Detach test results from an issue
effect: write
questions:
- Can I unlink test results that were wrongly attached to an issue?
- How do I detach results that match a filter from an issue?
instructions:
- text: Detach test results {test_results} from issue {issue_id}.
slots:
test_results: requestBody.test_results
issue_id: path.issue_id
- text: Unlink results matching {filters} from issue {issue_id}.
slots:
filters: requestBody.test_results_filters
issue_id: path.issue_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues/{issue_id}/attachment-rules'].post
update:
x-apievangelist-phrasing:
intent: Create an auto-attachment rule for an issue
effect: write
questions:
- Can new test results be attached to an issue automatically when they match certain criteria?
- What criteria can an attachment rule match on, such as test case names or environments?
instructions:
- text: Create an attachment rule on issue {issue_id} for test cases {test_case_names}.
slots:
issue_id: path.issue_id
test_case_names: requestBody.test_case_names
- text: Auto-attach results from environments {envs} with status {statuses} to issue {issue_id}.
slots:
envs: requestBody.environment_names
statuses: requestBody.test_result_statuses
issue_id: path.issue_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues/{issue_id}/attachment-rules/{attachment_rule_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an issue attachment rule
effect: destructive
questions:
- How do I remove an automatic attachment rule from an issue?
- Can I stop an issue from auto-collecting test results by deleting its rule?
instructions:
- text: Delete attachment rule {rule_id} on issue {issue_id}.
slots:
rule_id: path.attachment_rule_id
issue_id: path.issue_id
- text: Remove rule {rule_id} from issue {issue_id}.
slots:
rule_id: path.attachment_rule_id
issue_id: path.issue_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues/{issue_id}/attachment-rules/{attachment_rule_id}'].patch
update:
x-apievangelist-phrasing:
intent: Enable or disable an attachment rule
effect: write
questions:
- Can I temporarily pause an issue's attachment rule without deleting it?
- Is there a way to switch an attachment rule back on?
instructions:
- text: Set attachment rule {rule_id} on issue {issue_id} to enabled = {enabled}.
slots:
rule_id: path.attachment_rule_id
issue_id: path.issue_id
enabled: requestBody.enabled
- text: Disable attachment rule {rule_id} of issue {issue_id}.
slots:
rule_id: path.attachment_rule_id
issue_id: path.issue_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues'].get
update:
x-apievangelist-phrasing:
intent: List tracked issues
effect: read
questions:
- Which known issues are being tracked against test results?
- Can I filter issues by source, project or status?
- Is there a text search across issues?
instructions:
- text: List issues from project {project} with status {status}.
slots:
project: query.project
status: query.status
- text: Search issues for {q}.
slots:
q: query.q
- text: Show {limit} issues from source {source}.
slots:
limit: query.limit
source: query.source
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues'].put
update:
x-apievangelist-phrasing:
intent: Create or update an issue by URL
effect: write
questions:
- How do I register a bug tracker issue so test results can be linked to it?
- Does sending an issue URL that already exists update it instead of duplicating it?
instructions:
- text: Register the issue at {url}.
slots:
url: requestBody.url
- text: Create or update the issue {url} with title {title} and status {status}.
slots:
url: requestBody.url
title: requestBody.title
status: requestBody.status
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues/{issue_id}'].get
update:
x-apievangelist-phrasing:
intent: Get one issue
effect: read
questions:
- Where can I see a tracked issue and its attached test results?
- Can I look up a single issue by its ID?
instructions:
- text: Show issue {issue_id}.
slots:
issue_id: path.issue_id
- text: Get the details and attachment rules of issue {issue_id}.
slots:
issue_id: path.issue_id
method: generated
generated: '2026-09-26'
- target: $.paths['/v1/issues/{issue_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update an issue's title, status or auto-rerun
effect: write
questions:
- Can I turn on automatic reruns for tests linked to an issue?
- How do I change the status of a tracked issue?
instructions:
- text: Set the status of issue {issue_id} to {status}.
slots:
issue_id: path.issue_id
status: requestBody.status
- text: Enable auto-rerun ({auto_rerun}) on issue {issue_id}.
slots:
auto_rerun: requestBody.auto_rerun_enabled
issue_id: path.issue_id
- text: Retitle issue {issue_id} to {title}.
slots:
issue_id: path.issue_id
title: requestBody.title
method: generated
generated: '2026-09-26'