Class SecureNoteConverter
- All Implemented Interfaces:
ExtensionPoint
StringCredentials
or FileCredentials
proxy. The specific type is determined by the item's name.-
Nested Class Summary
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
canConvert
(BitwardenItem item) Checks if this converter can handle the fully resolved item.boolean
canConvert
(BitwardenItemMetadata metadata) Checks if this converter can handle the item type specified in the metadata.com.cloudbees.plugins.credentials.common.StandardCredentials
convert
(com.cloudbees.plugins.credentials.CredentialsScope scope, String id, String description, BitwardenItem item) Creates a real, fully-formed Jenkins credential from a complete Bitwarden item.com.cloudbees.plugins.credentials.common.StandardCredentials
createProxy
(com.cloudbees.plugins.credentials.CredentialsScope scope, String id, BitwardenItemMetadata metadata) Creates a lightweight, lazy-loading proxy for a Jenkins credential.Methods inherited from class com.mwdle.bitwarden.converters.CredentialConverter
findConverter, findConverter
-
Constructor Details
-
SecureNoteConverter
public SecureNoteConverter()
-
-
Method Details
-
canConvert
Checks if this converter can handle the item type specified in the metadata.This is a fast check based only on the item's type, without accessing any secret data.
This implementation returns
true
if the item's type isBitwardenItemType.SECURE_NOTE
.- Specified by:
canConvert
in classCredentialConverter
- Parameters:
metadata
- The lightweight, non-secret metadata of the Bitwarden item.- Returns:
true
if this converter is designed for the item's type.
-
canConvert
Checks if this converter can handle the fully resolved item.This check is performed after the secret has been fetched and can be used to verify that the necessary fields (e.g.,
login
,notes
) are present.This implementation returns
true
if the Bitwarden item contains a non-nullnotes
field.- Specified by:
canConvert
in classCredentialConverter
- Parameters:
item
- The fully resolved Bitwarden item with all metadata and secret fields.- Returns:
true
if this converter can handle the item's data.
-
createProxy
public com.cloudbees.plugins.credentials.common.StandardCredentials createProxy(com.cloudbees.plugins.credentials.CredentialsScope scope, String id, BitwardenItemMetadata metadata) Creates a lightweight, lazy-loading proxy for a Jenkins credential.This method should not perform any expensive operations. It creates a dynamic proxy that will defer the actual fetching of the secret until a method like
getPassword()
orgetContent()
is called.This implementation creates a proxy for either
StringCredentials
orFileCredentials
, based on whether the item name ends with.env
.- Specified by:
createProxy
in classCredentialConverter
- Parameters:
scope
- The scope for the new credential (always GLOBAL for this provider).id
- The ID the credential will be known by in Jenkins (either the name or UUID).metadata
- The lightweight metadata of the Bitwarden item.- Returns:
- A
StandardCredentials
proxy object.
-
convert
public com.cloudbees.plugins.credentials.common.StandardCredentials convert(com.cloudbees.plugins.credentials.CredentialsScope scope, String id, String description, BitwardenItem item) Creates a real, fully-formed Jenkins credential from a complete Bitwarden item.This method is called by the
CredentialProxy
during the lazy-loading process after the full item has been fetched from the Bitwarden CLI.This implementation returns a
StringCredentialsImpl
using the content of thenotes
field, or aFileCredentialsImpl
if the item name ends with.env
.- Specified by:
convert
in classCredentialConverter
- Parameters:
scope
- The scope for the new credential.id
- The ID for the new credential.description
- The user-facing description for the new credential.item
- The fully resolved Bitwarden item.- Returns:
- The final, concrete Jenkins credential object.
-