> For the complete documentation index, see [llms.txt](https://docs.getint.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.getint.io/getting-started-with-the-platform/preparing-for-the-integration/jira-service-accounts.md).

# Jira Service Accounts

Before connecting Jira to another tool with Getint, set up a dedicated **Service Account** for the integration. A Service Account is the account Getint uses to read and write data in Jira on your behalf. Using one keeps your integration stable, secure, and easy to audit.

Atlassian provides native Service Accounts that are well-suited to integrations like Getint. These accounts do not consume a standard user license and are purpose-built for API interactions.

***

### Why Use a Service Account?

* **Security**: Avoid sharing personal login credentials.
* **Continuity**: Integrations won't break when individual passwords change or when a user is deactivated.
* **Audit trails**: Easily tell apart actions performed by your team and actions performed by Getint.
* **Permission control**: Grant only the specific access the integration needs.

{% hint style="info" %}
When Getint syncs a comment, it posts under the account that created the connection, not the original author. Posting as the original author is not technically possible, so we recommend using a dedicated Service Account as the connection owner.

To preserve context, Getint adds the original author, creation date, source task, and comment ID to the comment footer.
{% endhint %}

### Creating a Jira Service Account

First, define the account within your Atlassian Organization.

1. Log in to **admin.atlassian.com**.
2. Select your **Organization** from the list.
3. Go to **Directory** > **Service accounts**.
4. Click **Create service account**.
5. Enter a **Name** (for example, `Getint-Sync-Bot`) and an optional **Description**.
6. Select the **user** role for the service account in Jira.
7. Click **Create**.

***

### Generating Authentication Credentials

Service accounts cannot log in through a browser UI, so you authenticate with an **API Token** that has classic or granular scopes.

{% hint style="warning" %}
**OAuth 2.0** is not supported yet.
{% endhint %}

To create an API token:

1. Go to **Directory** > **Service accounts** and select your account.
2. Click **More actions** (•••) > **Create credentials**.
3. Select **API token** and click **Next**.
4. **Name your token**, for example `Production-Sync-Token`.
5. **Set scopes**: See the [required Getint permissions](https://docs.getint.io/guides/quickstart/connection#forge-apps-onpremise-scoped-tokens) for the scopes you need.
6. **Set expiration**: Choose a duration (1 to 365 days) that fits your security policy.
7. **Copy and save** the token immediately. You will not be able to see it again.

Your service account is now ready to use with Getint.

***

### Grant Project and Space Access With a Sufficient Role

Creating the account is not enough on its own. The Service Account must be **added to each Jira Project** (and Space, for Jira Service Management) you intend to sync, and assigned a role with sufficient permissions to perform the sync.

This matters because of how Getint operates: **Getint impersonates the account selected for the integration and can only do what that account is allowed to do.** If the Service Account cannot see a project, transition an issue, edit a field, or add a comment, then the integration cannot either. Missing access is one of the most common causes of failed or partial syncs.

{% hint style="warning" %}
Atlassian Service Accounts are harder to troubleshoot, since we can't log in to them directly. Unlike a regular user account, there's no way to sign in and confirm exactly what the account can and can't access.
{% endhint %}

When assigning the role, make sure the account can:

* **View** the project or space and its issues.
* **Create and edit** issues, incidents, requests, or tasks of the relevant types.
* **Transition** issues through the statuses your mapping uses.
* **Edit the fields** you are syncing, including any required or custom fields.
* **Add comments and attachments**, if those are part of your integration.

{% hint style="warning" %}
Grant access for **every** project or space involved in the integration, including both sides of a sync where Jira is the destination. An account with valid credentials but no access to the target project will still fail to sync.
{% endhint %}

### Modifying a Connection That Uses a Service Account

Once a connection is built on a Service Account, you **cannot freely change it**. Specifically, you can only:

* **Add or replace the access token** for the existing account (for example, when a token expires), or
* **Modify the connection permissions** (the scopes and access granted to that account).

You **cannot** repoint a Service Account connection to a different account, instance, or project through editing. Doing so would break the link between already-synced items and cause data sync errors.

{% hint style="warning" %}
Do not use connection editing to switch to a different instance or project. The new target may be incompatible with items already synced, which causes sync issues.
{% endhint %}

If you are transitioning from a personal account to a Service Account or replacing an expired token, use the **Change Connection** feature in the integration editor. When you do, confirm the new account holds the **same access** to the fields and issues already synchronized, or the integration may encounter sync errors. For finer adjustments, edit the connection from the **Connections** setting in **Workflows**. See [Editing Connections for Existing Integrations](https://docs.getint.io/getintio-platform/connections/editing-connections-for-existing-integrations) for details.

***

### Document and Maintain

* Keep a record of the Service Accounts you create for integrations, including their purpose, the systems they connect to, and any relevant details.
* Review the accounts regularly. Rotate credentials periodically and keep them aligned with your organization's security policies.

***

### Test the Account

Before finalizing the integration, test the Service Account to confirm it has the right level of access and can perform every intended action. Create a test issue, move it through a couple of statuses, and add a comment to verify the account's permissions hold up end-to-end.

If you are connecting Jira with tools like Azure DevOps, ServiceNow, or Asana, see our [Integration Guides](https://docs.getint.io/guides/integration-synchronization) or contact the [Getint support team](https://getint.io/help-center).

<figure><img src="/files/h1Cuw1dxXAYeoWGvDbWp" alt=""><figcaption><p><em>Start your integration journey.</em> <a href="https://calendly.com/d/cpws-jb2-8xx/demo-call-all-team"><em>Schedule a free consultation with our Getint Integration Expert today!</em></a></p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.getint.io/getting-started-with-the-platform/preparing-for-the-integration/jira-service-accounts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
