# Upload a JAR File Using Connectivity Customizers

Use a connectivity customizer to upload the required .jar files for your JDBC SaaS source.

> [!NOTE]
>
> For more information on the processes described on this page, refer to the following articles in the SailPoint Developer Community.
>
> - [Building and uploading to Identity Security Cloud](<https://developer.sailpoint.com/docs/connectivity/saas-connectivity/customizers/upload/>)
> - [Linking a connectivity customizer to a source](<https://developer.sailpoint.com/docs/connectivity/saas-connectivity/customizers/linking/>)

## Prerequisites

Before you can upload a .jar file to the JDBC SaaS source complete the following:

- Create an empty customizer project then create the connector customizer that you'll use to upload the .jar file.
- Create the JDBC SaaS source in SailPoint.

### Creating the Empty Customizer Project

Set up an empty connector customizer project, which is necessary before creating and uploading a customizer. To create an empty connector customizer project, run the following command:

```bash
sail conn customizers init my-customizer-project
```

### Creating the Connector Customizer

To create an empty connector customizer, run the create command:

```bash
sail conn customizers create my-connector-customizer
```

This command returns the customizer ID, as shown in the following example:

```text
+--------------------------------------+-------------------------+---------+
|                  ID                  |          NAME           | VERSION |
+--------------------------------------+-------------------------+---------+
| 7b968fab-0f40-49f0-b13b-8bf529fc0b82 | my-connector-customizer |         |
+--------------------------------------+-------------------------+---------+
```

## Building the Customizer

Prepare the .jar file for upload by copying it to the appropriate directory and creating a .zip file containing the .jar file.

1. Copy the .jar file to the respective directory.
2. Create a .zip file of your .jar file using the following command:

   ```bash
   zip <file_name.zip> <file_name.jar>
   ```

## Connectivity Customizer to Source Link Commands

This section lists the commands you can use to manage connections between connectivity customizers and sources.

### Find Sources

Use this command to find sources:

```bash
sail conn instances list
```

The system returns a list of sources with their ID, name, and the ID of any customizers that are already linked to it:

```text
+--------------------------------------+--------------------------+---------------+
|                  ID                  |           NAME           | CUSTOMIZER ID |
+--------------------------------------+--------------------------+---------------+
| 0327d0a4-5e94-4803-90a6-c0819349ecca | airtable test            |               |
| 05da3fa2-17f0-4bd4-9e2a-ab93d7dffe68 | Discourse                |               |
| 069b9398-8ed9-433d-943f-3cb32952524f | github                   |               |
| 0dbb53b0-2e62-4a8e-9efe-97555755025d | Smartsheet               |               |
| edfc9bfb-b55c-482f-b1aa-b4d51caf7558 | JDBC SaaS Source         |               |
+--------------------------------------+--------------------------+---------------+
```

### Find Customizers

Use this command to find customizers:

```bash
sail conn customizers list
```

The system returns a list of customizers, with the customizers' ID, name, and Version:

```text
+--------------------------------------+-------------------------+---------+
|                  ID                  |          NAME           | VERSION |
+--------------------------------------+-------------------------+---------+
| 7b968fab-0f40-49f0-b13b-8bf529fc0b82 | my-connector-customizer |   1     |
+--------------------------------------+-------------------------+---------+
```

### Link to a Source

To link a source to a customizer, find the source ID in the instance list and a customizer from the customizer list. Then issue this command:

```bash
sail conn customizers link -i <source_instance_id> -c <customizer_id>
```

Following a successful link, the customizer's ID is next to the source's ID in the list of sources:

```text
+--------------------------------------+----------------------+--------------------------------------+
|                  ID                  |         NAME         |            CUSTOMIZER ID             |
+--------------------------------------+----------------------+--------------------------------------+
| edfc9bfb-b55c-482f-b1aa-b4d51caf7558 | JDBC SaaS Source     | 7b968fab-0f40-49f0-b13b-8bf529fc0b82 |
+--------------------------------------+----------------------+--------------------------------------+
```

### Unlink from a Source

To unlink a customizer from a source, issue the unlink command and pass the source instance ID:

```bash
sail conn customizers unlink -i <source_instance_id>
```

## Uploading the Customizer to SailPoint

Upload the customizer to SailPoint using the upload command, specifying the customizer ID and the .zip file containing the .jar file.

To upload the .jar file using the customizer to SailPoint, run the upload command:

```bash
sail conn customizers upload -c <your_customizer_ID> -f <file_name>.zip
```

Replace `<your_customizer_ID>` with the customizer ID obtained during the creation step, and `<file_name>.zip` with the name of your .zip file.
