Class RequestDeploymentApprovalSkill
- All Implemented Interfaces:
A2aServerSkill
TASK_STATE_COMPLETED once policy — and any humans the workflow pulls in —
approve. While an approval gate is open, the task reports TASK_STATE_INPUT_REQUIRED:
the caller knows, in its own protocol's terms, that a human is deciding.
Mechanically identical to OrchestrateReleaseSkill (both run a template as a
release); advertised separately because the contract differs — this skill's template
is expected to embody an approval decision, and agents choose skills by reading descriptions.
-
Constructor Summary
ConstructorsConstructorDescriptionRequestDeploymentApprovalSkill(com.xebialabs.xlrelease.api.v1.TemplateApi templateApi) -
Method Summary
Modifier and TypeMethodDescriptionWhat the skill does and what input it expects — agents read this to decide what to send.id()Skill id as advertised on the Agent Card and addressed via message metadataskillId.final A2aSkillOutcomeExecutes the skill.name()Human-readable name for the Agent Card.final booleanreadOnly()Whether the skill only reads Release state.
-
Constructor Details
-
RequestDeploymentApprovalSkill
public RequestDeploymentApprovalSkill(com.xebialabs.xlrelease.api.v1.TemplateApi templateApi)
-
-
Method Details
-
id
Description copied from interface:A2aServerSkillSkill id as advertised on the Agent Card and addressed via message metadataskillId. -
name
Description copied from interface:A2aServerSkillHuman-readable name for the Agent Card. -
description
Description copied from interface:A2aServerSkillWhat the skill does and what input it expects — agents read this to decide what to send. -
readOnly
public final boolean readOnly()Description copied from interface:A2aServerSkillWhether the skill only reads Release state. When the A2A feature's read-only mode is on, skills returningfalseare hidden from the Agent Card and rejected if called anyway.- Specified by:
readOnlyin interfaceA2aServerSkill
-
invoke
Description copied from interface:A2aServerSkillExecutes the skill.Runs on the HTTP request thread under the caller's authenticated identity, so host API calls are permission-checked as that caller. Return
A2aSkillOutcome.text(String)for an immediately-complete result, orA2aSkillOutcome.release(String)for work delegated to a release, whose live state becomes the A2A task from then on. ThrowIllegalArgumentExceptionfor bad input (becomes a failed A2A task with the message as explanation),A2aContractViolationExceptionfor a governance handoff-contract violation (becomes a rejected task); any other exception is reported as a failed task without internal detail.- Specified by:
invokein interfaceA2aServerSkill- Parameters:
text- the concatenated text parts of the incoming messagemetadata- the incoming message's metadata values, stringified
-