# Jira

Install Factory for Jira, link your Jira Cloud site, and delegate issues to Droid using your organization's remote delegation configuration.

Assign a Jira issue to Factory or mention `@Factory` in an issue comment to have Droid investigate, implement, and test the work. Droid runs on a remote computer and reports progress and results in Jira.

<Info>
  Jira remote delegations are in Private Preview. Contact your Factory account team to request access and confirm that Jira delegation is enabled for your organization. This guide covers Jira Cloud.
</Info>

You delegate directly from an issue; you do not need to create a Software Factory automation. The [Remote delegations](/remote-delegations) settings control the shared execution configuration.

A personal [Jira connector](/harness/connectors) gives Droid tools to use inside a session. It does not install the Factory agent in Jira or enable issue assignment.

## Prerequisites

To install and configure Jira delegation, you need:

- A Jira Cloud site with agent assignment and mentions available.
- Permission to install apps and open app administration in Jira.
- The **Manager** or **Owner** role in the Factory organization you want to connect.
- Access to **Settings → Remote Delegations**, including Jira app setup.
- Service-account access and an active service account for shared execution.
- An execution template for **Dynamic** compute, or service-account-owned Droid Computers for **Persistent** compute.

Team members who delegate work need a Factory account in the connected organization and permission to use Factory on the Jira issue. Use the same email for Jira and Factory so Factory can link the person making the request.

## Install and connect Factory for Jira

Installing the app and linking the Jira site are separate steps. Complete both before delegating work.

<Steps>
  <Step title="Open Jira delegation settings">
    In Factory, open <a href="https://app.factory.ai/settings/remote-delegations">**Settings → Remote Delegations**</a>. Under **Delegation Apps**, find **Jira** and select **Set Up for Org**.

    If Jira is already connected, select **Configure** to open its setup page.
  </Step>
  <Step title="Install the Jira app">
    On the Jira setup page, select **Connect** to open [Factory for Jira in the Atlassian Marketplace](https://marketplace.atlassian.com/apps/4122056413/factory-for-jira?hosting=cloud&tab=overview). Select your Jira Cloud site and approve the requested permissions.

    For an existing connection, **Manage → Install Jira App** opens the same installation page. Installing a personal Jira connector is not a substitute for this app.
  </Step>
  <Step title="Link the Jira site to Factory">
    In Jira, open the installed Factory app's **Get started** or **Configure** page. Select **Connect Factory**.

    Factory opens in a new tab. Sign in with a Manager or Owner account and select the intended Factory organization. Review the Jira site and Factory organization shown in the **Connect Jira** confirmation, then select **Connect**.
  </Step>
  <Step title="Verify the connection">
    Return to the Factory app page in Jira. It should show **Connected to Factory**. Select **Refresh** if it has not updated.

    You can also review the Jira app status from **Settings → Remote Delegations → Jira → Configure → Manage** in Factory. A connected app still needs the execution configuration below before Droid can run work.
  </Step>
</Steps>

## Configure shared execution

In **Settings → Remote Delegations**, find **Remote Delegation Configs** and select **Edit** on **Apps**.

Follow [Configure delegated sessions](/remote-delegations#configure-delegated-sessions) to review:

- **General:** default model, reasoning level, and instructions.
- **Plugins:** the plugins delegated sessions need.
- **Identity:** an active service account with the required Git credentials and connectors.
- **Compute:** **Dynamic** with an execution template, or **Persistent** with computers owned by the service account.

Eligible organizations receive a default configuration, service account, and execution template. Review those defaults rather than assuming the environment has the repositories, credentials, and tools your task needs.

Jira issue delegations use the Apps configuration's **service-account identity and connectors**, not the personal credentials of the person assigning the issue. This configuration is shared with other delegation apps, so changes can affect more than Jira.

Team members can set a preferred model and reasoning level under **Settings → Session Defaults → Delegations**. When organization policy allows it, the requester's model preference overrides the configuration's model. Choose **Org default** to use the configuration's model and reasoning settings. A personal model preference does not change the service-account identity or connector access.

## Delegate an issue

Before assigning the work, put the repository, desired outcome, acceptance criteria, and verification steps in the issue description. Include relevant error messages, reproduction steps, and links.

For example:

> In the storefront repository, investigate the failing checkout test. Fix the cause, run the relevant tests, and open a pull request with the results and a summary of the change.

### Assign Factory through the agent picker

1. Open the Jira issue.
2. Select **Agents**.
3. Search for **Factory** and select it to delegate the issue.

![Jira issue with the Agents picker open and Factory selected in the search results](/docs-assets/images/jira-assign.png)

Factory appears as a Rovo agent in Jira's **Agents** picker. You do not need to create a Jira user named Factory.

### Mention Factory in a comment

Add an issue comment, select `@Factory` from Jira's mention picker, and describe the task. Save the comment to send it.

For example:

> @Factory Investigate the failure described in this issue. Fix it in the storefront repository, run the relevant tests, and open a pull request.

![Jira comment editor with an @Factory mention and a request to take another pass at the RCA](/docs-assets/images/jira-mention.png)

Factory uses the issue context and your request to start the session. It can also retrieve issue details, comments, and linked issues through the Jira app's access.

## Follow progress and send follow-ups

Review Factory's progress and replies in Jira's agent conversation. It reports when it is preparing the session, working, or waiting for your reply. For code changes, Droid is instructed to open a pull request and return its URL.

If Droid asks a question, reply in the same agent conversation. You can also send another instruction to refine the work. Only the person who started the delegation can send follow-up messages to that session.

Review the proposed changes and test results before merging. Delegating an issue does not replace code review.

### Cancel a running task

Use the running task's cancellation control in Jira's agent conversation. Factory marks the task canceled and attempts to stop the linked Droid session.

Cancellation does not undo work already performed. Review any changes or pull requests produced before the cancellation.

## Troubleshooting

<Troubleshooting>
  <TroubleshootingItem title="Jira is missing from Remote Delegations">
    Confirm that you have the **Manager** or **Owner** role and that your organization has Jira remote delegation access. Contact your Factory account team if the settings page or app is unavailable. Remote Delegations settings are not available in airgapped deployments.
  </TroubleshootingItem>

  <TroubleshootingItem title="Factory does not appear in the Agents picker">
    Confirm that **Factory for Jira** is installed on the same Jira Cloud site as the issue. Ask a Jira administrator to check that agent assignment is available and that the app is enabled and up to date. Connecting a personal Jira connector in Factory does not add the agent to Jira.
  </TroubleshootingItem>

  <TroubleshootingItem title="The app is installed but Jira says Not connected">
    Open the Factory app's administration page in Jira and select **Connect Factory**. Complete the confirmation in the intended Factory organization, then return to Jira and select **Refresh**.
  </TroubleshootingItem>

  <TroubleshootingItem title="The connect link expired or was already used">
    Return to Jira and select **Connect Factory** again to get a fresh link. Sign in and confirm the connection from that new link.
  </TroubleshootingItem>

  <TroubleshootingItem title="The Jira site is already linked to another Factory organization">
    Check which Factory organization you selected. If the site needs to move, coordinate with a Manager or Owner of the currently connected organization before disconnecting it and linking it to the intended organization.
  </TroubleshootingItem>

  <TroubleshootingItem title="Factory cannot match my Jira account">
    Make sure your Jira email matches your Factory account email and that you belong to the connected Factory organization. Then retry the request. If the app reports an account-link conflict, contact Factory support rather than creating another account.
  </TroubleshootingItem>

  <TroubleshootingItem title="Droid needs a delegation target">
    A Manager or Owner must configure **Apps** under **Settings → Remote Delegations**. Check its service account and compute, save the configuration, then assign Factory on the issue again. Completing setup alone does not start the waiting task.
  </TroubleshootingItem>

  <TroubleshootingItem title="The connection reports Delegation unavailable or App upgrade required">
    For **Delegation unavailable**, contact your Factory account team to check access. For **App upgrade required** or a stale app credential, ask a Jira administrator to open or upgrade the Factory app, then refresh its status.
  </TroubleshootingItem>

  <TroubleshootingItem title="The session cannot start or accept a follow-up">
    Check that the execution template has a ready build or that the persistent computers are online with a current Droid daemon. If a follow-up is rejected, confirm that you are using the Jira account that started the delegation. See [Remote delegations troubleshooting](/remote-delegations#troubleshooting) for identity, compute-policy, and capacity errors.
  </TroubleshootingItem>
</Troubleshooting>

<RelatedLinks>
  <RelatedLink href="/remote-delegations" title="Remote delegations">
    Configure the shared Apps identity, instructions, plugins, and compute.
  </RelatedLink>
  <RelatedLink href="/enterprise/identity-and-access" title="Identity & Access">
    Set up service accounts and Git credentials for shared work.
  </RelatedLink>
  <RelatedLink href="/droid-computers/byom" title="Bring Your Own Machine (BYOM)">
    Connect your own computers for persistent execution.
  </RelatedLink>
  <RelatedLink href="/harness/connectors" title="Connectors">
    Give the execution identity access to external tools.
  </RelatedLink>
</RelatedLinks>
