diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py
index 6d303605b..8afb409c8 100644
--- a/jenkins_jobs/modules/wrappers.py
+++ b/jenkins_jobs/modules/wrappers.py
@@ -2035,10 +2035,6 @@ def ssh_agent_credentials(registry, xml_parent, data):
.. literalinclude::
/../../tests/wrappers/fixtures/ssh-agent-credentials003.yaml
- The **users** with one value in list equals to the **user**. In this
- case old style XML will be generated. Use this format if you use
- SSH-Agent plugin < 1.5.
-
Example:
.. literalinclude::
@@ -2053,16 +2049,22 @@ def ssh_agent_credentials(registry, xml_parent, data):
logger = logging.getLogger(__name__)
+ plugin_info = registry.get_plugin_info("SSH Agent Plugin")
+ plugin_ver = pkg_resources.parse_version(
+ plugin_info.get("version", str(sys.maxsize))
+ )
+
entry_xml = XML.SubElement(
xml_parent, "com.cloudbees.jenkins.plugins.sshagent.SSHAgentBuildWrapper"
)
+ user_parent_entry_xml = entry_xml
xml_key = "user"
user_list = list()
if "users" in data:
user_list += data["users"]
- if len(user_list) > 1:
- entry_xml = XML.SubElement(entry_xml, "credentialIds")
+ if plugin_ver >= pkg_resources.parse_version("1.5.0"):
+ user_parent_entry_xml = XML.SubElement(entry_xml, "credentialIds")
xml_key = "string"
if "user" in data:
logger.warning(
@@ -2081,7 +2083,7 @@ def ssh_agent_credentials(registry, xml_parent, data):
)
for user in user_list:
- XML.SubElement(entry_xml, xml_key).text = user
+ XML.SubElement(user_parent_entry_xml, xml_key).text = user
mapping = [("ignore-missing-credentials", "ignoreMissing", False)]
helpers.convert_mapping_to_xml(entry_xml, data, mapping, fail_required=False)
diff --git a/tests/wrappers/fixtures/ssh-agent-credentials002.xml b/tests/wrappers/fixtures/ssh-agent-credentials002.xml
index 2b6f9fe6f..3f9c2be93 100644
--- a/tests/wrappers/fixtures/ssh-agent-credentials002.xml
+++ b/tests/wrappers/fixtures/ssh-agent-credentials002.xml
@@ -6,8 +6,8 @@
44747833-247a-407a-a98f-a5a2d785111c
f1c0f777-7ac6-43fd-b5c7-68b420aa1392
dd647a01-be21-402b-bfc5-a4e89be7d0c4
- false
+ false
diff --git a/tests/wrappers/fixtures/ssh-agent-credentials003.xml b/tests/wrappers/fixtures/ssh-agent-credentials003.xml
index ab9fad817..11866125c 100644
--- a/tests/wrappers/fixtures/ssh-agent-credentials003.xml
+++ b/tests/wrappers/fixtures/ssh-agent-credentials003.xml
@@ -5,8 +5,8 @@
44747833-247a-407a-a98f-a5a2d785111c
dd647a01-be21-402b-bfc5-a4e89be7d0c4
- false
+ false
diff --git a/tests/wrappers/fixtures/ssh-agent-credentials004-post-v1.5.xml b/tests/wrappers/fixtures/ssh-agent-credentials004-post-v1.5.xml
new file mode 100644
index 000000000..2ffc44e36
--- /dev/null
+++ b/tests/wrappers/fixtures/ssh-agent-credentials004-post-v1.5.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+ 49d20745-9889-4c02-b286-fc6fb89c36bd
+
+ false
+
+
+
diff --git a/tests/wrappers/fixtures/ssh-agent-credentials004-post-v1.5.yaml b/tests/wrappers/fixtures/ssh-agent-credentials004-post-v1.5.yaml
new file mode 100644
index 000000000..b0668a940
--- /dev/null
+++ b/tests/wrappers/fixtures/ssh-agent-credentials004-post-v1.5.yaml
@@ -0,0 +1,4 @@
+wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '49d20745-9889-4c02-b286-fc6fb89c36bd'
diff --git a/tests/wrappers/fixtures/ssh-agent-credentials004.plugins_info.yaml b/tests/wrappers/fixtures/ssh-agent-credentials004.plugins_info.yaml
new file mode 100644
index 000000000..33670f3de
--- /dev/null
+++ b/tests/wrappers/fixtures/ssh-agent-credentials004.plugins_info.yaml
@@ -0,0 +1,3 @@
+- longName: 'SSH Agent Plugin'
+ shortName: 'ssh-agent'
+ version: "1.4"
diff --git a/tests/wrappers/fixtures/ssh-agent-credentials005.xml b/tests/wrappers/fixtures/ssh-agent-credentials005.xml
new file mode 100644
index 000000000..c0f45d739
--- /dev/null
+++ b/tests/wrappers/fixtures/ssh-agent-credentials005.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ false
+
+
+
diff --git a/tests/wrappers/fixtures/ssh-agent-credentials005.yaml b/tests/wrappers/fixtures/ssh-agent-credentials005.yaml
new file mode 100644
index 000000000..5f453180c
--- /dev/null
+++ b/tests/wrappers/fixtures/ssh-agent-credentials005.yaml
@@ -0,0 +1,3 @@
+wrappers:
+ - ssh-agent-credentials:
+ users: []