Skip to main content

Jira Fronting

Jira demonstrates how broad issue-tracker APIs become a smaller governed ANIP capability surface.

The package is:

What It Proves

Jira is a strong fronting example because the raw backend can search issues, create work, transition workflow state, move work between sprints, change assignees, comment, link issues, and produce release notes. Giving an agent raw API access would push too much safety logic into prompts or client-side recipes.

The ANIP contract makes those actions explicit:

  • Reads are project-scoped and bounded.
  • New work is prepared as a preview before mutation.
  • Workflow, sprint, assignment, link, and escalation operations are approval-aware requests.
  • Unsafe terminal-state bypasses and arbitrary backend payloads are denied.
  • Audit records capture actor, project scope, normalized inputs, backend intent, and outcome.

Capability Surface

CapabilityIntent
jira.backlog.search_contextSearch bounded backlog context.
jira.issue.get_contextRetrieve bounded issue context.
jira.incident_bug.preparePrepare an incident/bug issue preview.
jira.story.preparePrepare a story issue preview.
jira.subtask.preparePrepare a subtask preview.
jira.customer_escalation.comment.preparePrepare a governed escalation comment.
jira.workflow_transition.requestRequest a workflow transition with approval posture.
jira.sprint_move.requestRequest a sprint move.
jira.assignee_change.requestRequest an assignee change.
jira.issue_link.requestRequest a governed issue link.
jira.release_notes.preparePrepare bounded release notes.

Backend Boundary

The agent sees Jira business capabilities, not raw Jira REST operations or arbitrary JQL execution.

Native Jira REST remains an implementation detail inside custom bundles. The contract owns project scope, allowed backend options, approval posture, denial behavior, and audit semantics.

Artifacts

ArtifactPath
Source specdocs/examples/jira-fronting-showcase/source-spec.md
Packageexamples/showcase/jira_fronting/registry-packages/jira-fronting-showcase-0.2.0.anip-package.json
Service definitionexamples/showcase/jira_fronting/registry-packages/jira-fronting-showcase-0.2.0-service-definition.json
Custom bundlesexamples/showcase/jira_fronting/custom-code-bundles/
Generated servicesexamples/showcase/jira_fronting/generated/

Live Validation

Credential file:

/tmp/anip-jira.env

Mutation is disabled unless both conditions are true:

  • ANIP_JIRA_ALLOW_MUTATION=true
  • the invoke request includes the required ANIP approval grant.

The important behavior is not "agent can create Jira issue". The important behavior is that the service can prepare the issue, stop at the approval boundary, and only continue when the host supplies the governed approval continuation.