From your descriptions it looks like that you are trying to adapt Jenkins to work with your code. It would simpler if you would adapt your code to work with Jenkins.
Normally Jenkins handles for you:
1) Trigger from any repository
2) Checkout from any repository
Then your plugin comes into place: it runs on the checked out sources and produces results (typically in the UI but CVS will be possible as well).
Your plugin then can access the files in the workspace and run tests.