Size: a a a

2020 October 08

MC

M@s0n C01em@n in jenkins_ru
точнее его геопозиции про которую я если честно и забыл даже
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
Подскажите по шаред либе, если в vars лежит 2 файла
vars/A.groovy
vars/B.groovy
В A.groovy есть функция A1
Я хочу в файле B.groovy вызвать эту функцию: - A1.
Как это сделать?
Можно ли просто написать A.A1() ?
источник

VL

V L in jenkins_ru
Viacheslav Dubrovskyi
Подскажите по шаред либе, если в vars лежит 2 файла
vars/A.groovy
vars/B.groovy
В A.groovy есть функция A1
Я хочу в файле B.groovy вызвать эту функцию: - A1.
Как это сделать?
Можно ли просто написать A.A1() ?
Да
источник

KK

K Koles in jenkins_ru
Viacheslav Dubrovskyi
Подскажите по шаред либе, если в vars лежит 2 файла
vars/A.groovy
vars/B.groovy
В A.groovy есть функция A1
Я хочу в файле B.groovy вызвать эту функцию: - A1.
Как это сделать?
Можно ли просто написать A.A1() ?
можно в каждом из файлов назвать функцию call() и вызывать потом просто A() или В()
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
а не работает :(
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: properties.call() is applicable for argument types:
источник

VL

V L in jenkins_ru
Сделай
void call() {} в либе
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
V L
Сделай
void call() {} в либе
в A или в B?
источник

VL

V L in jenkins_ru
В той которую будешь вызывать
источник

E

Elenhil in jenkins_ru
Viacheslav Dubrovskyi
в A или в B?
В идеале везде
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
V L
В той которую будешь вызывать
не работает. Ошибка та же
источник

VL

V L in jenkins_ru
Viacheslav Dubrovskyi
а не работает :(
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: properties.call() is applicable for argument types:
А что за argument types в ошибке?
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: properties.call() is applicable for argument types: (java.util.ArrayList) values: [[@buildDiscarder(<anonymous>=@logRotator(artifactDaysToKeepStr=,artifactNumToKeepStr=50,daysToKeepStr=15,numToKeepStr=50))]]
источник

VL

V L in jenkins_ru
Почему они в call залетают если функция отдельно определена
источник

VL

V L in jenkins_ru
Viacheslav Dubrovskyi
hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: properties.call() is applicable for argument types: (java.util.ArrayList) values: [[@buildDiscarder(<anonymous>=@logRotator(artifactDaysToKeepStr=,artifactNumToKeepStr=50,daysToKeepStr=15,numToKeepStr=50))]]
A.A1()
В таком виде
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
Вот мой A (properties.groovy)
import groovy.transform.Field

@Field def rulesForProtectedBranch  = [
   'master':['qa_approval', 'regular'],
   'maintenance/4.1':['qa_approval', 'regular', 'regression'],
   'maintenance/3.1':['qa_approval', 'regular', 'regression'],
   'maintenance/2.6':['qa_approval', 'regular', 'regression']
]

def getProtectedBranchesMap() {
   return rulesForProtectedBranch
}
Я дергаю из B.groovy вот так:
def callAPISetStatus(projectID, context, state, scmVars) {
   def rules = properties.getProtectedBranchesMap()
}
и
не работает :(
источник

VL

V L in jenkins_ru
vars/helloWorld.groovy

void call() {}

void sayHello(String name)
{
   println "sayHello $
{name}"
}
источник

VL

V L in jenkins_ru
тест на него

class helloWorldTest extends BasePipelineTest {
   def helloWorld

   @Before
   void setUp() {
       super.setUp()
       helloWorld = loadScript("vars/helloWorld.groovy")
   }

   @Test
   void "Say hello'"() {
     helloWorld.sayHello("Preved")
   }

}
источник

VL

V L in jenkins_ru
все работает
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
😱 разобрался. Там с properties пересекалось с другой переменной
источник

VD

Viacheslav Dubrovsky... in jenkins_ru
Сорри
источник