Skip to main content
The Jira change request agent watches a Jira ticket type, works out which file in your repo each ticket is about, and checks the request against your warehouse data before touching anything. Every ticket ends in one of two states: a pull request linked to the ticket and ready for review, or an escalation comment with the specific question a human needs to answer. You build it entirely in the Agent UI (no YAML) and run it daily with Bolt’s native Run Paradime DinoAI Agent command (no API keys). This pattern fits any queue where tickets describe changes to code that lives in a predictable place: per-customer SQL logic, mapping tables, configuration files, or dbt™ models owned by a support or operations team.
Prerequisites
  • Jira connected so the agent can list tickets, comment, and change statuses.
  • Your repository connected so the agent can branch, commit, and open PRs.
  • A warehouse connection the agent can query read-only (it validates requests with run_sql_query).
  • Optional: Slack connected for run summaries.
  • Your Jira workflow must allow moving tickets from Open to In Progress, and from there to Ready for Review and Needs Review (or your equivalents). If a status isn’t reachable, the agent’s transitions will fail.
Estimated time: 20 minutes.

Steps

1

Agree the conventions

The agent needs three conventions it can rely on. This guide uses example values; swap in your own everywhere they appear in the next step.Putting the ticket key in the branch name and PR title means Jira’s GitHub integration links the PR to the ticket automatically.
2

Build the agent in the Agent UI

In the Agent app, open Agents, select New agent, then Start from scratch. See Build an agent in the UI for a tour of the builder. Fill in the fields:Name: jira-change-request-agentRole:
Goal:
Backstory:
Model: leave Auto selected.Allowed tools (everything else is refused, see the Tools Reference):
  • get_jira_issue, list_jira_issues, update_jira_issue, add_jira_comment
  • read_file, write_file, search_files_and_directories, ripgrep_search
  • run_sql_query
  • run_terminal_command
  • post_slack_message
Output: pick the Slack channel for run summaries, or leave empty (messages then land in the Bolt run logs; also remove post_slack_message and the Slack step from the Goal).
If the code lives in a different repository than the one connected to your workspace, add list_accessible_repos and clone_additional_repo to the allowed tools and prepend a Goal step telling the agent to clone that repo and work inside the clone. The agent can clone any repository your GitHub integration grants access to.
3

Deploy and test it with a chat

Select Deploy, then Just here: the agent is saved to the workspace and live immediately. (Once it settles, redeploy via Open a pull request to version-control the definition, see Creating Agents in the App.)With one known-good ticket in Open status, hover the agent card, select Chat, and send: Process the open Change Request ticket queue end to end. Confirm the status transitions, the branch and PR, and the ticket comment all land before scheduling it.
4

Schedule it with Bolt

On the Agents page, hover the agent card and select Schedule. This opens a new Bolt schedule with the Run Paradime DinoAI Agent command already added and the agent pre-selected.
  1. Task: Process the open Change Request ticket queue end to end.
  2. Select Save command, set the trigger to a cron such as 0 9 * * 1-5 (weekdays at 9 AM), and deploy.
The command runs natively inside Paradime, so there are no API keys or environment variables to configure. The agent exits cleanly on an empty queue, so a daily run costs nothing when there are no tickets.
After a run, every ticket that was in Open ends in Ready for Review with exactly one linked PR explaining the change from a data standpoint, or in Needs Review with a comment specific enough to answer without re-deriving the context. No ticket is left in In Progress. The most likely failure is a Jira transition error, which means a target status isn’t reachable from the ticket’s current status in your Jira workflow. Check the run transcript in the agent sessions panel.

How it works

The agent’s defining behavior is the validation gate: it only opens a PR when it can ground the request in your actual data, and everything else becomes a precise question back to the ticket instead of a guess. That means reviewers only ever see PRs with evidence attached, and unclear tickets surface immediately rather than after a wrong change ships.
Like the Jira backlog agent, the orchestration lives inside the agent’s Goal: one session works the queue sequentially, so there is no wrapper script or orchestrator to maintain. What this template adds is the status lifecycle (tickets always land in a terminal status) and the escalation path for requests the data does not support.

Next steps

Jira backlog agent

The label-driven variant: implement dbt™ models from agent-ready issues.

Run an agent with Bolt

Everything the Run Paradime DinoAI Agent command can do.

Triggering from Bolt reference

Every field of the command and the run lifecycle.

Tools Reference

What every tool id in the allowlist does.