2016-11-15 12 views
0

После моего названия.Jenkins Job DSL: Я хочу получить ветку с фиксацией или тегом

Я использую groovy для этого.

Но это не работает. кто может спросить меня, как это сделать?

следующий мой источник:

job("AAA") { 
parameters { 
    stringParam('branch_name', 'master', 'input branch name') 
    stringParam('commit_id', '123456', 'input commit id') 
} 
gitSCM { 
    userRemoteConfigs { 
    userRemoteConfig { 
    url("ssh://[email protected]/abc.git") 
    name("${branch_name}") 
    } 
    } 
    branches { 
    branchSpec { 
     name("${commit_id}") 
    } 
    }} 

Спасибо.

ответ

0

Мы делаем это так:

parameters { 
    stringParam('GERRIT_REFSPEC', library.GERRIT_REFSPEC.default, library.GERRIT_REFSPEC.description) 
    stringParam('GERRIT_PATCHSET_REVISION', library.GERRIT_PATCHSET_REVISION.default, library.GERRIT_PATCHSET_REVISION.description) 
} 

scm { 
    git { 
     remote { 
      name('ci-config') 
      url('ssh://url-to-repo') 
      refspec('$GERRIT_REFSPEC') 
     } 

     branch('${GERRIT_PATCHSET_REVISION}') 
    } 
} 

Но она используется только при запуске вручную. Поскольку он инициируется gerrit, он устанавливает значения, которые используются. Это ваша проблема, она запущена, а затем значения не установлены?

+0

To MaTePe. Большое спасибо. Да, я не задал значение для переменных. Я хочу, чтобы его можно было установить вручную. Я думаю, что «GERRIT_REFSPEC» - это «имя_пакета», а «GERRIT_PATCHSET_REVISION» - «commit_id». –