- 
    
Bug
 - 
    Resolution: Unresolved
 - 
    
Major
 - 
    Jenkins: 2.7.4
workflow-cps-global-lib: 2.3
 
Problem
Calling a function like `Myvariable.myFunctionName()` from a global library returns the following error;
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified method java.lang.Class myFunctionName
This only happens when calling global variables beginning with a capital letter.
Downgrading the workflow-cps-global-lib plugin to v2.0 results in the error going away. Upgrading to v2.1 makes the error appear.
From my point of view this is a regression between v2.0 and v2.1.
Am I not supposed to create global variables starting with a capital letter? This represents a breaking change in some of my global library code.
Steps to reproduce
1. Setup a global library like;
# directory structure +- vars | +- one.groovy | +- Two.groovy
# in vars/one.groovy
def call() {
  echo "in one()"
}
def fn() {
  echo "In one.fn()"
}
# in vars/Two.groovy
def call() {
  echo "In Two()"
}
def fn() {
  echo "In Two.fn()"
}
2. Load the global library into jenkins (git push)
3. Create a pipeline job with the following pipeline script
one() one.fn() Two() Two.fn()
Expected Output
[Pipeline] echo in one() [Pipeline] echo In one.fn() [Pipeline] echo In Two() [Pipeline] echo In Two.fn()
Actual Output
in one()
[Pipeline] echo
In one.fn()
[Pipeline] echo
In Two()
[Pipeline] End of Pipeline
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified method java.lang.Class fn
	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:113)
	at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
	at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
        [... truncated - full stack trace attached to ticket ...]
- is duplicated by
 - 
                    
JENKINS-36673 MissingMethodException When Calling Pipeline Library Function
-         
 - Resolved
 
 -         
 
- links to