feat(manual): expose execution_type and manual execution fields - #11
Open
snevesbarros wants to merge 2 commits into
Open
feat(manual): expose execution_type and manual execution fields#11snevesbarros wants to merge 2 commits into
snevesbarros wants to merge 2 commits into
Conversation
Angles 3.0 adds manual test case management. Builds and executions produced by a manual test run are tagged executionType: "manual"; everything this client reports stays "automated". - ExecutionTypes str enum, matching the GroupingPeriods style - Build.executionType - Execution.executionType plus the manual-only manualTestCase, manualTestCaseVersion, versionNumber and executedBy - Step.attachments, alongside the existing screenshot - Period.executionTypeBreakdown and PhaseMetrics.executionType, added to the phase metrics response in 3.0 - Optional execution_type filter on get_builds, get_builds_with_filters, get_builds_with_date_filters and get_phase_metrics All read-only. CreateBuild and CreateExecution deliberately do not carry executionType: it is what distinguishes a manual run from an automated one, and a reporting client setting it to "manual" would put a build on the dashboard that no manual test run exists to explain. It stays server-assigned. execution_type is a trailing keyword argument everywhere, so existing positional calls are unaffected; it accepts an ExecutionTypes member or a plain string, and is omitted from the query string when unset. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The execution_type and manual execution fields only exist on an Angles 3.0 server, so the client's major version now tracks the API's rather than continuing the 1.0.x line. Applied with bump2version so pyproject.toml and .bumpversion.cfg stay in step - the release workflow's post-release bump reads the latter. The workflow publishes the pyproject version verbatim, so this releases as 3.0.0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Keeps this client in step with Angles 3.0, which adds manual test case management. Builds and executions produced by a manual test run are tagged
executionType: "manual"; everything this client reports stays"automated".This is a reporting client for automated test frameworks, so it gets no manual test management surface — only the ability to read the new fields back. The full manual API surface lives in
angles-javascript-client, which backs angles-ui.Changes
ExecutionTypesstr enum, following the existingGroupingPeriodsstyle. Exported from bothangles_python_clientandangles_python_client.models.Build.executionTypeExecution—executionType, plus the manual-onlymanualTestCase,manualTestCaseVersion,versionNumberandexecutedByStep.attachments, alongside the existingscreenshotPeriod.executionTypeBreakdownandPhaseMetrics.executionType— added to the phase metrics response in 3.0execution_typefilter onget_builds,get_builds_with_filters,get_builds_with_date_filtersandget_phase_metricsThe two metrics response fields weren't in the original plan, but 3.0 added them to the response and these dataclasses exist to document the wire shape — omitting them would leave the documented shape wrong.
These fields are read-only, by design
CreateBuildandCreateExecutiondeliberately do not carryexecutionType. It is what distinguishes a manual run from an automated one, and a reporting client setting it to"manual"would put a build on the dashboard that no manual test run exists to explain. It stays server-assigned —POST /buildfrom this client gets the schema default.Verified rather than assumed: neither dataclass has the field.
Backwards compatibility
execution_typeis a trailing keyword argument everywhere, so existing positional calls are unaffected. It accepts anExecutionTypesmember or a plain string, and is omitted from the query string entirely when unset — so omitting it returns both types, exactly as before.Version
Moved to 3.0.0 so the client's major version tracks the API's. Applied with
bump2versionsopyproject.tomland.bumpversion.cfgstay in step — the release workflow's post-release bump reads the latter, and a mismatch would break it. The workflow publishes the pyproject version verbatim, so this releases as 3.0.0.Verification
python -m buildproducesangles_python_client-3.0.0-py3-none-any.whl🤖 Generated with Claude Code