Block all API calls

Article ID:217375688
1 minute readKnowledge base

Issue

  • It has been observed a lot of threads and slow requests like

"Handling GET /job/FOLDER1/job/JOB1/api/json from 192.168.1.130 : RequestHandlerThread[#2246]" Id=614605 ...
...
  • It would great to have a way to filter out the number of requests which are processed by Jenkins, so the load can be reduced.

Resolution

Install the CloudBees Request Filter Plugin and add one of the following rules in Manage Jenkins > Configure System to get the desired behavior:

.*\/api\/(python|json|xml)+(?!.+tree=.+).*

Block all the api requests which do not use parameters

.*\/api\/(python|json|xml)

Block all the api requests including those which use tree and depth parameters

.*\/api\/(python|json|xml).*
This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.