Required Data: Subversion Plugin

Article ID:360015659711
2 minute readKnowledge base

Issue

Any kind of issue with the Subversion Plugin.

Required Data Subversion Plugin

This article describes how to collect the minimum data that will be needed to debug an issue with the Subversion Plugin.

If the required data is bigger than 50 MB you will not be able to use ZenDesk to upload all the information. On this case we would like to encourage you to use our upload service in order to attach all the required information.

Required Data check list

[ ] Support bundle with SVNKit logs activated [ ] Agent name [ ] Configuration paths used by the plugin [ ] Subversion configuration files

Support bundle

SVNKit logs activation

Before reproducing the issue, create a dedicated logger.

The classes you need to add to the logger are:

  • svnkit

  • svnkit-network

  • svnkit-wc

  • hudson.scm.SubversionSCM

Once activated, please reproduce your test case.

Support bundle

A support bundle from the Jenkins instance after the issue is exposed. Please, follow the KB below in case you don’t know how to generate a support bundle.

  • [What is a support-bundle and how to create one][]

Agent name

The name of the agent on which the Subversion Plugin fails. You can find it under Manage Jenkins -> Manage Nodes

Configuration paths used by the plugin

In order to retrieve the configuration directory used by the Subversion Plugin, you’ll need to run the following script by going to /script:

  • If the issue is happening on the controller:

println "Default Config Dir: ${org.tmatesoft.svn.core.wc.SVNWCUtil.getDefaultConfigurationDirectory()}"
println "System Config Dir: ${org.tmatesoft.svn.core.internal.wc.SVNFileUtil.getSystemConfigurationDirectory()}"
  • If the issue is happening on an agent (make sur to replace 'AGENT_NAME'):

import hudson.util.RemotingDiagnostics
import jenkins.model.Jenkins

String agent_name = 'AGENT_NAME'
groovy_script = '''
println "Default Config Dir: ${org.tmatesoft.svn.core.wc.SVNWCUtil.getDefaultConfigurationDirectory()}"
println "System Config Dir: ${org.tmatesoft.svn.core.internal.wc.SVNFileUtil.getSystemConfigurationDirectory()}"
'''.trim()

String result
Jenkins.instance.slaves.find { agent ->
    agent.name == agent_name
}.with { agent ->
    result = RemotingDiagnostics.executeGroovy(groovy_script, agent.channel)
}
println result

Output of the script should be of the form:

Default Config Dir: XXX
System Config Dir: YYY

Make sure to copy paste this output on the ticket.

Subversion configuration files

Send the content of the two directories ('XXX' and 'YYY') from the previous step. If one directory is absent, make sure to mention it on the ticket.