https://github.com/jenkinsci/postgresql-fingerprint-storage-plugin
Configures PostgreSQL as the fingerprint storage engine in Jenkins ✨
https://github.com/jenkinsci/postgresql-fingerprint-storage-plugin
cloud-native external-storage fingerprint java jenkins plugin postgresql
Last synced: 3 months ago
JSON representation
Configures PostgreSQL as the fingerprint storage engine in Jenkins ✨
- Host: GitHub
- URL: https://github.com/jenkinsci/postgresql-fingerprint-storage-plugin
- Owner: jenkinsci
- License: mit
- Created: 2020-07-22T13:42:46.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2026-03-01T01:32:22.000Z (3 months ago)
- Last Synced: 2026-03-01T05:41:02.646Z (3 months ago)
- Topics: cloud-native, external-storage, fingerprint, java, jenkins, plugin, postgresql
- Language: Java
- Homepage: https://plugins.jenkins.io/postgresql-fingerprint-storage/
- Size: 1.33 MB
- Stars: 5
- Watchers: 1
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# PostgreSQL Fingerprint Storage Plugin
> [!CAUTION]
> This plugin is in alpha stage and is not recommended for production instance
>
> It's configuration might change in future releases

[](https://ci.jenkins.io/job/Plugins/job/postgresql-fingerprint-storage-plugin/job/main)
[](https://ci.jenkins.io/job/Plugins/job/postgresql-fingerprint-storage-plugin/job/main)


[](https://github.com/jenkinsci/postgresql-fingerprint-storage-plugin/releases/latest)
[](https://plugins.jenkins.io/postgresql-fingerprint-storage)

# Introduction
The plugin allows users to configure PostgreSQL for storing
fingerprints.
Another plugin which supports [storing fingerprints externally, but
inside Redis
instances](https://github.com/jenkinsci/redis-fingerprint-storage-plugin/)
is also available. Consider trying it out too! It is much more stable
than this plugin at the moment, and also supports fingerprint cleanup,
which is currently unsupported in this plugin.
# Installation
Clone the repository
```bash
git clone https://github.com/jenkinsci/postgresql-fingerprint-storage-plugin
cd postgresql-fingerprint-storage-plugin
```
To obtain the `postgresql-fingerprint-storage.hpi` and
`postgresql-fingerprint-storage.jar` files, run: `mvn clean install`
They will be available inside `./plugin/target`. (Note that docker is
required for running tests. If Docker is not installed, consider
skipping tests)
To run the plugin on a local instance, run:
```bash
cd plugin mvn hpi:run
```
# Configuring the plugin
## Using the Web UI
Once the plugin has been installed, you can configure the PostgreSQL
server details by following the steps below:
Ensure you have PostgreSQL as global database. Plugin will not work for other database engine.
1. Select `Manage Jenkins`
2. Select `Configure System`

4. Save the config
4. Scroll to the section `Fingerprints`
5. Select `PostgreSQL Fingerprint Storage` from the dropdown for
Fingerprint Storage Engine and fill in the required details:

1. Use the `Test PostgreSQL Connection` to verify that the details
are correct and Jenkins is able to connect to the PostgreSQL
instance.
2. \[IMPORTANT\] When configuring the plugin for the first time, it
is highly important to press the
`Perform PostgreSQL Schema Initialization` button. The button can
also be used in the case the database is wiped out and schema
needs to be recreated.
3. Press the `Save` button.
4. Now, all the fingerprints produced by this Jenkins instance should
be saved in the configured PostgreSQL server!
## Using Jenkins Configuration as Code Plugin (JCasC)
The plugin can also be configured using the [configuration as code
plugin](https://github.com/jenkinsci/configuration-as-code-plugin)
A sample YAML file is provided below for configuring this plugin using
JCasC:
```yaml
unclassified:
fingerprints:
storage:
postgreSQL:
host: "localhost"
port: 6379
ssl: false
databaseName: 0
connectionTimeout: 3000
socketTimeout: 3000
credentialsId: "foo"
```
# Reaching Out
Feel free to reach out to us for any questions, feedback, etc. on the
project’s [Gitter
Channel](https://gitter.im/jenkinsci/external-fingerprint-storage) or
the [Jenkins Developer Mailing
list](mailto:jenkinsci-dev@googlegroups.com)
We use Jenkins [Jira](https://issues.jenkins-ci.org/) to track issues.
Feel free to file issues under `postgresql-fingerprint-storage-plugin`
component.
# References
- [JEP-226](https://github.com/jenkinsci/jep/tree/master/jep/226)
- [Project
Page](https://www.jenkins.io/projects/gsoc/2020/projects/external-fingerprint-storage/)