# Jira issues

Create or link a Jira issue from a conversation, then follow it until it is
fixed. Status changes and comments come back to the conversation as internal
notes for your team. Masheev works with Jira Cloud.

Jira issue linking is in beta. See [Availability](https://docs.masheev.com/capabilities.md).

## Connect Jira

Jira uses the same Atlassian connection as Confluence, with a separate approval.

1. An admin opens **Settings → Integrations**.
2. If Atlassian is not connected yet, connect it and choose your site.
3. Enable Jira on the Atlassian connection. Atlassian asks you to approve read
   and write access to Jira work items. Masheev asks for this only when you
   enable Jira.
4. Pick the projects your team may file issues into, and a default issue type.

Teammates can only create or link issues in the projects you pick. You can
change the list at any time.

## Create an issue from a conversation

1. In a conversation, open **Create Jira issue**.
2. Masheev drafts the issue from the conversation: a summary, steps to
   reproduce, expected result, actual result and impact.
3. Before you file, Masheev shows open issues in your projects that look similar.
   Link one of those instead if it is the same problem.
4. Review and edit the draft, pick the project and issue type, and fill in any
   fields your Jira project requires.
5. Create the issue. It is linked to the conversation.

The draft is only a suggestion. Nothing is filed until a teammate creates it.

### What goes into the issue

- Email addresses and phone numbers are removed from the summary and
  description, including anything you typed.
- The description ends with an opaque customer reference, for example
  `Customer reference: cust-3f9a1c2b7e4d`. It is random and not derived from the
  customer's details. Use the conversation in Masheev to see who reported it.
- The issue is created with the Atlassian account that enabled Jira, so it
  appears in Jira as filed by that person.

Creating the same draft twice does not create two issues. If a request is
retried, Masheev returns the issue it already filed.

## Link an existing issue

Enter an issue key such as `SUP-142` to follow an issue that already exists. The
issue must be in one of your enabled projects. Comments posted before you link
the issue are not imported.

## Follow the issue

The conversation shows each linked issue with its current status. About every 30
minutes Masheev checks linked issues and:

- updates the status,
- adds each new Jira comment to the conversation as an internal note,
- when the issue moves to a done status, adds an internal note with a suggested
  reply you can send, for example: "Good news: the issue you reported has been
  fixed. Thanks for your patience, and let us know if you still see it."

After the done note, Masheev stops following the issue. Unlinking an issue stops
following it and leaves the issue in Jira unchanged.

## Procedure reference

Call these through the API or MCP. Hosted MCP tool names use `__` in place of the
dot, for example `tickets__create`.

| Procedure                               | Who    | What it does                                                    |
| --------------------------------------- | ------ | --------------------------------------------------------------- |
| `integrationStatus.setJiraSettings`     | Admin  | Save the allowed projects (up to 20) and default issue type.    |
| `integrationStatus.selectAtlassianSite` | Admin  | Choose the Atlassian site when your account has several.        |
| `tickets.config`                        | Member | Whether Jira is ready, the site name and allowed projects.      |
| `tickets.projects`                      | Member | Projects the connection can see.                                |
| `tickets.createMeta`                    | Member | Issue types and required fields for an allowed project.         |
| `tickets.draft`                         | Member | AI draft from a conversation. Files nothing.                    |
| `tickets.similar`                       | Member | Open issues in allowed projects that match a short description. |
| `tickets.create`                        | Member | Create an issue from a reviewed draft and link it.              |
| `tickets.link`                          | Member | Follow an existing issue from a conversation.                   |
| `tickets.list`                          | Member | Issues a conversation follows, with status.                     |
| `tickets.unlink`                        | Member | Stop following an issue.                                        |

### Create an issue

`draftId` is any unique id your client generates for this draft, 8 to 64
characters. Reuse it when you retry so the issue is created once.

```json
{
  "orgId": "YOUR_WORKSPACE_ID",
  "conversationId": "CONVERSATION_ID",
  "projectKey": "SUP",
  "issueTypeId": "10004",
  "summary": "Checkout button does nothing on Safari",
  "description": "Steps to reproduce:\n1. Add an item\n2. Open checkout on Safari 18\n\nExpected:\nPayment form opens\n\nActual:\nNothing happens\n\nImpact:\nSafari customers cannot pay",
  "draftId": "d7c1e0a2-5b7f-4c1e"
}
```

Pass required custom fields from `tickets.createMeta` in `fields`, keyed by
field key.

### Save Jira settings

```json
{
  "projects": ["SUP", "WEB"],
  "issueTypeId": "10004"
}
```

Rate limits apply per workspace: `tickets.draft` 30 per 10 minutes,
`tickets.create` 30 per hour.

## What Masheev never does

- It never messages a customer about an issue. The suggested reply is a note for
  your team to review and send.
- Customers cannot look up issues, and AI agents have no Jira tools.
- It never files an issue on its own. A teammate always creates it.
- It never writes customer email addresses or phone numbers into Jira.
- It never files into projects you did not enable.

Disconnecting Atlassian stops issue syncing. Issues already in Jira stay there.

## Privacy

Masheev stores the issue key, title, status and link for each linked issue, and
adds new comments to the conversation as internal notes. It does not store
Atlassian account IDs, names, email addresses or avatars; a mention in a comment
shows as `@teammate`. See the
[Privacy Policy](https://masheev.com/legal/privacy) (section 6.5) and the
[DPA](https://masheev.com/legal/dpa).
