# AI Code Generation: From Ticket to Tested Pull Request

Source: https://maito.app/workflows/turn-a-ticket-into-a-tested-pull-request

Hand Maito a well-scoped ticket in Linear, Jira or GitHub. It writes the change on a branch, adds tests, runs them and opens a pull request.

Hand over a well-scoped ticket and get back a pull request with tests.

[Engineering](https://maito.app/workflows/team/engineering) · [Software](https://maito.app/workflows/industry/software) · When you ask · Updated October 19, 2026

Works with

-   Slack
-   Email
-   [Linear](https://maito.app/workflows/tool/linear)
-   [Jira](https://maito.app/workflows/tool/jira)
-   GitHub

## How do you go from a ticket to a tested pull request?

To go from a ticket to a tested pull request, hand Maito the ticket. It reads the ticket and the code, makes the change on a branch, adds tests, runs the test suite and linter, and opens a pull request. You get the PR link with what changed and what it found.

## How it's done today

Small tickets wait weeks because nobody has time.

## What Maito does

1.  Read the ticket and the code
2.  Make the change
3.  Write and run tests
4.  Open a pull request with a summary

## Example

**Alex** (10:02 AM):

fix LIN-412, the date picker ignores the user's time zone.

**Maito** (10:19 AM):

PR #903 is open: Fix date picker time zone (LIN-412).

The picker built dates in the browser's zone, then saved them as UTC midnight. Anyone west of UTC saw the previous day after saving. It now formats with the zone from the user's profile.

**Tests:** 3 added, 212 of 212 passing, lint and types clean.

**Catch:** the invoice due-date field in billing uses the same helper and had the same bug. I fixed it too, in a separate commit so you can drop it.

From LIN-412 and src/components/DatePicker.tsx. Nothing is merged.

**Alex** (10:24 AM):

keep the billing fix, but split it into its own PR.

**Maito** (10:27 AM):

Done. The billing fix is now PR #904, stacked on #903. Both are waiting for review.

## How to set it up

When you ask Turn a ticket into a tested pull request

Set up

Nothing to set up. Ask in Slack or by email whenever you need it.

Connect issue tracker

-   Linear
-   Jira
-   GitHub

Not connected yet? Your agent sends you a link to sign in.

## What it won't do

It does best on well-scoped tickets. Large design changes and anything the tests can't cover need an engineer's eye.

## Questions

### Where do the tickets come from?

Linear, Jira or GitHub issues, whichever is connected.

### Does it merge the code?

No. It opens the pull request and a person reviews and merges it.

### What if the ticket is vague?

Maito asks questions in Slack, waits for the answers and continues. It doesn't guess at the scope.

## More engineering workflows

-   [Review a teammate's pull request Get a first review that catches bugs and missed cases before a person looks. Engineering · When something happens Works with Slack, Email.](https://maito.app/workflows/review-a-teammates-pull-request)
-   [Check a change for security problems Look at a change for injection, leaked secrets and missing permission checks. Engineering · When you ask Works with Slack, Email.](https://maito.app/workflows/check-a-change-for-security-problems)
-   [Write the changelog Twice a week, turn merged pull requests into a changelog people can read. Engineering · On a schedule Works with Slack, Email.](https://maito.app/workflows/write-the-changelog)
-   [Nudge stale pull requests Pull requests waiting too long get a polite reminder to the right reviewer. Engineering · On a schedule Works with Slack, Email.](https://maito.app/workflows/nudge-stale-pull-requests)
-   [File a bug from a Slack thread When a bug comes up in chat, mention Maito and it gets filed once, with details and no duplicates. Engineering · When you ask Works with Linear, Jira.](https://maito.app/workflows/file-a-bug-from-a-slack-thread)
-   [Draft the incident postmortem Turn the incident channel and logs into a postmortem draft. Engineering · When you ask Works with Datadog, Sentry.](https://maito.app/workflows/draft-the-incident-postmortem)

[See all workflows](https://maito.app/workflows)

## Put your AI teammate to work.

Set it up in minutes. Start with this one, and let it earn the next one.

[Put Maito to work](https://maito.app/login?returnTo=%2Fworkflows%2Fturn-a-ticket-into-a-tested-pull-request)[Book a demo](mailto:support@maito.app?subject=Maito%20demo)
