This plugin adds a new parameter type to a parameterized build, where the user can optionally submit a patch file.
This plugin is developed to enable server-side testing of a change that's not yet committed (also known as pre-tested commit). In this workflow, a developer works on a change locally, and before he checks in the changes, he'd take the diff, submit it to Jenkins, and verify that it builds OK. Once the patch is verified by Jenkins, the user will then actually commit the change.
This can be also useful for situations where a proper test environment is tricky to replicate locally, or where your Jenkins can run tests considerably faster than developers' local computers.
Note that on distributed version control systems, there's often a better way to do this. See Gerrit Trigger or Subversion Merge Plugin or validated merge feature from CloudBees.
In the job configuration screen, click "This build is parameterized", then add "patch as a parameter".