> For the complete documentation index, see [llms.txt](https://docs.harmony.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.io/integrations/saas-applications/jetbrains.md).

# JetBrains

Discover users and track JetBrains license assignments across your organization

JetBrains produces widely-used developer tools including IntelliJ IDEA, PyCharm, WebStorm, and the full suite of language-specific IDEs. Connecting JetBrains to Harmony gives IT teams visibility into which users have licenses assigned and which JetBrains products are in use across the organization.

{% hint style="info" %}
This integration is read-only. Harmony pulls license and assignee data from JetBrains but does not assign, revoke, or otherwise modify licenses in your JetBrains organization.
{% endhint %}

#### What the JetBrains integration enables

| Capability             | Description                                                                                                            |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| User Discovery         | Surface all JetBrains license holders in Harmony's software inventory                                                  |
| License Tracking       | See which JetBrains products are assigned to each user                                                                 |
| Seat Utilization       | See when each assigned license was last used to spot inactive seats                                                    |
| Multi-Instance Support | Connect multiple JetBrains accounts for organizations with separate accounts                                           |
| Per-Product Tracking   | Each JetBrains IDE and tool appears as its own entry in your Applications catalog, with individual usage and user data |

#### Prerequisites

* **JetBrains Org Admin**: Org administration access in JetBrains Central Console (required to enable the API and generate a token)
* **Customer Code**: Your organization's customer code from JetBrains Account
* **Harmony Account**: Active Harmony workspace

#### Connect JetBrains to Harmony

**Step 1: Enable the JetBrains Account API**

1. Sign in to [JetBrains Central Console](https://console.jetbrains.cloud) as an org admin
2. Click the organization name in the bottom left corner and select **Org administration**
3. In the **API** section of the Administration page, click **Enable API**

{% hint style="info" %}
Only an org admin can enable the API, and it only needs to be done once per organization. Until the API is enabled, no tokens can be generated.
{% endhint %}

**Step 2: Generate a Personal API Token**

1. Click the organization name in the bottom left corner and select **Org administration**
2. In the **API** section of the Administration page, click **Generate Token**
3. Copy the generated token and store it in a safe place

{% hint style="warning" %}
Each user gets a single personal token. Once you close the dialog, the token cannot be viewed again - if you lose it, use **Re-Generate Token** to create a new one.
{% endhint %}

**Step 3: Find your Customer Code**

1. Go to [account.jetbrains.com/licenses/notifications](https://account.jetbrains.com/licenses/notifications) and sign in
2. Your **Customer Code** is the number displayed beneath your organization's name in the **Organizations in JetBrains Console** section

![JetBrains account page showing the Customer Code beneath the organization name](https://1160081901-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fow5hkvoGYRymkbqRTEvW%2Fuploads%2Fgit-blob-226ee9bccb4d2b89a344e8adf53fa01808167290%2Fjetbrains-customer-code.png?alt=media)

**Step 4: Navigate to Integrations**

1. Log in to your Harmony dashboard
2. Go to **Settings** > **Integrations**
3. Find **JetBrains** under **SaaS Applications** and click **Connect**

**Step 5: Enter Credentials**

1. Enter your **API Token**
2. Enter your **Customer Code**
3. Click **Connect**

{% hint style="info" %}
To add additional JetBrains accounts, repeat this process for each account.
{% endhint %}

#### What Harmony Syncs

**From JetBrains:**

* Users, identified by email address (JetBrains display names are not synced)
* License assignments per user, with each JetBrains product (IntelliJ IDEA, PyCharm, WebStorm, etc.) surfaced as its own application
* License status per product - suspended licenses are marked as suspended, all others as active
* License details per product: last-seen date, expiration date, team name, and whether the license is a trial

{% hint style="info" %}
The JetBrains Account API is license-centric - Harmony discovers users from assigned licenses. Members of your JetBrains organization who hold no license are not synced, and unassigned licenses in your pool are not visible to Harmony.
{% endhint %}

#### Per-Product Visibility in the Applications Catalog

Each JetBrains product now appears as its own entry in your Applications catalog, rather than a single aggregated "JetBrains" item. This mirrors how Microsoft 365 apps are broken out, giving you precise visibility into which tools your team actually uses and who is assigned to each one.

The following products are tracked individually:

* **IDEs:** IntelliJ IDEA, PyCharm, WebStorm, Rider, CLion, GoLand, RubyMine, PhpStorm, RustRover, and more
* **Data tools:** DataSpell, Datalore
* **Quality and profiling tools:** Qodana, ReSharper, ReSharper C++, dotCover, dotMemory, dotTrace
* **Platform and services:** TeamCity, YouTrack, JetBrains AI, JetBrains Academy
* **Bundles and suites:** All Products Pack, dotUltimate, JetBrains IDE Services

Each product row includes its individual usage data and assigned users, so you can right-size licenses for every tool independently.

{% hint style="info" %}
All JetBrains products in the Applications table display their official product icons rather than a generic placeholder, covering the full catalog listed above as well as variants such as ReSharper C++.
{% endhint %}

#### Use Cases

<details>

<summary>License Reclamation</summary>

Identify developers whose JetBrains licenses show no recent activity, so you can reclaim those seats in JetBrains to reduce costs

</details>

<details>

<summary>Offboarding Verification</summary>

Confirm in Harmony's inventory that JetBrains licenses are no longer assigned to developers who left the organization

</details>

<details>

<summary>Software Audit</summary>

Include JetBrains in a complete picture of developer tooling spend and seat allocation across the org

</details>


---

# 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.harmony.io/integrations/saas-applications/jetbrains.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.
