jenkins-job-builder is a nice tool to help me to maintain jobs in YAML
files. see example in configuration chapter.
Now I had lots of old jenkins jobs, it will be nice to have a python script xml2yaml
to convert the existing jenkins job config.xml
to YAML
file format.
Do you any suggestions to had a quick solution in python ?
I don't need it to be used in jenkins-job-builder
directly, just can be converted it into YAML for reference.
For the convert, some part can be ignored like namespace.
config.xml
segment looks like:
<project>
<logRotator class="hudson.tasks.LogRotator">
<daysToKeep>-1</daysToKeep>
<numToKeep>20</numToKeep>
<artifactDaysToKeep>-1</artifactDaysToKeep>
<artifactNumToKeep>-1</artifactNumToKeep>
</logRotator>
...
</project>
The yaml
output could be:
- project:
logrotate:
daysToKeep: -1
numToKeep: 20
artifactDaysToKeep: -1
artifactNumToKeep: -1
If you are not familiar with config.xml
in jenkins, you can check infra_backend-merge-all-repo job in https://ci.jenkins-ci.org