> For the complete documentation index, see [llms.txt](https://docs.elimity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elimity.com/gateways-jira-data-center/v1.0.0/step-by-step-deployment-guide.md).

# Step-by-step deployment guide

{% hint style="info" %}
This version of the gateway is currently compatible with Elimity Insights server versions matching `>3.41.0`.
{% endhint %}

## 1. Setting up a dedicated user in Jira Data Center

As usual, we recommend creating a dedicated user in Jira Data Center for this connector. Don't assign any groups for this user yet, we'll cover that in the next step. Either way, refer to [the official documentation](https://confluence.atlassian.com/adminjiraserver/create-edit-or-remove-a-user-938847025.html) for additional information about creating users in Jira Data Center. Having created a new dedicated user, we can now use it to log in and generate a personal access token. Again, [the official documentation](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html) provides more details on how to do this. Note down the generated token.

## 2. Setting up a dedicated group in Jira Data Center

To assign the minimal required global permissions in Jira Data Center, we also recommend creating a dedicated group. More specifically, we recommend following these steps:

1. [Create a new group](https://confluence.atlassian.com/adminjiraserver/view-create-or-delete-a-group-938847038.html)
2. [Add the dedicated user to the newly created group](https://confluence.atlassian.com/adminjiraserver/modify-group-membership-938847039.html)
3. [Grant the following global permissions to the newly created group:](https://confluence.atlassian.com/adminjiraserver/managing-global-permissions-938847142.html)
   1. Jira administrators
   2. Browse users

## 3. Generating a secret token

To make sure your gateway only serves requests from authenticated sources, we need to generate a secret token. You could do this for example with OpenSSL:

```shell-session
$ openssl rand -base64 32
```

You should use this token to configure [the built-in connector](/reference-manual/built-in-connectors/jira-data-center.md). The gateway itself only has to verify this token, so we just need to provide it with a hash (hex-encoded SHA256). You can again use OpenSSL for this step:

```shell-session
$ echo -n 'paste-secret-token-here' | openssl dgst
```

Note down the resulting hash for later use.

## 4. Configuring the gateway

To configure your gateway, mount an JSON configuration file at `/app/config/config.json` with the properties listed below. Refer to the following attachment for a starting point:

{% file src="/files/9EaFbMNLSvFvX8h3KOIe" %}

Edit the following properties in this file to configure the gateway to your needs:

<table data-full-width="true"><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>personalAccessToken</code></td><td><code>string</code></td><td>Token you noted down in step 1</td></tr><tr><td><code>restApiBaseUrl</code></td><td><code>string</code></td><td>Base URL of your Jira Data Center instance's REST API, e.g. <code>https://jira.example.com/rest</code></td></tr><tr><td><code>secretTokenHash</code></td><td><code>string</code></td><td>Secret token hash you noted down in step 3</td></tr></tbody></table>

## 5. Deploying the gateway

Having configured the gateway we can now deploy it so the built-in connector can start importing. Since we distribute the gateway as a Docker image, our recommendation for deployment is to use a CaaS solution like Google Cloud Run or Azure Container Apps. If that's not an option, you can also manually deploy the image on e.g. Windows Server. Refer to [our documentation about gateways and import agents](/technical-guides/gateways-and-import-agents.md) for additional 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.elimity.com/gateways-jira-data-center/v1.0.0/step-by-step-deployment-guide.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.
