* Fix bug#36595,37109,37110
This commit is contained in:
@@ -134,13 +134,18 @@ class compileModel extends model
|
||||
|
||||
$url = new stdclass();
|
||||
$url->userPWD = "$jenkinsUser:$jenkinsPassword";
|
||||
|
||||
$detailUrl = strpos($jenkins->pipeline, '/job/') !== false ? sprintf('%s%s/api/json', $jenkinsServer, $jenkins->pipeline) : sprintf('%s/job/%s/api/json', $jenkinsServer, $jenkins->pipeline);
|
||||
$hasParameterizedBuild = $this->loadModel('job')->checkParameterizedBuild($detailUrl, $url->userPWD);
|
||||
$buildInterface = $hasParameterizedBuild ? 'buildWithParameters' : 'build';
|
||||
|
||||
if(strpos($jenkins->pipeline, '/job/') !== false)
|
||||
{
|
||||
$url->url = sprintf('%s%sbuildWithParameters/api/json', $jenkinsServer, $jenkins->pipeline);
|
||||
$url->url = sprintf("%s%s{$buildInterface}/api/json", $jenkinsServer, $jenkins->pipeline);
|
||||
}
|
||||
else
|
||||
{
|
||||
$url->url = sprintf('%s/job/%s/buildWithParameters/api/json', $jenkinsServer, $jenkins->pipeline);
|
||||
$url->url = sprintf("%s/job/%s/{$buildInterface}/api/json", $jenkinsServer, $jenkins->pipeline);
|
||||
}
|
||||
|
||||
return $url;
|
||||
|
||||
@@ -4,7 +4,7 @@ function changeEngine(event)
|
||||
|
||||
if(engine == 'jenkins')
|
||||
{
|
||||
$('.reference').removeClass('hidden');
|
||||
$('.reference').addClass('hidden');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -82,7 +82,7 @@ function changeRepo(event)
|
||||
if(data.type.indexOf('git') != -1)
|
||||
{
|
||||
var engine = $('[name=engine]').val();
|
||||
if(engine == 'jenkins') $('.reference').removeClass('hidden');
|
||||
//if(engine == 'jenkins') $('.reference').removeClass('hidden');
|
||||
$('.reference').addClass('gitRepo');
|
||||
|
||||
$('.svn-fields').addClass('hidden');
|
||||
|
||||
@@ -75,7 +75,7 @@ function changeRepo(event)
|
||||
if(data.type.indexOf('git') != -1)
|
||||
{
|
||||
var engine = $('[name=engine]').val();
|
||||
if(engine == 'jenkins') $('.reference').removeClass('hidden');
|
||||
//if(engine == 'jenkins') $('.reference').removeClass('hidden');
|
||||
$('.reference').addClass('gitRepo');
|
||||
|
||||
$('.svn-fields').addClass('hidden');
|
||||
|
||||
@@ -700,4 +700,19 @@ class jobModel extends model
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if jenkins has enabled parameterized build.
|
||||
*
|
||||
* @param string $url
|
||||
* @param string $userPWD
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function checkParameterizedBuild($url, $userPWD)
|
||||
{
|
||||
$response = common::http($url, null, array(CURLOPT_HEADER => true, CURLOPT_USERPWD => $userPWD));
|
||||
|
||||
return strpos($response, 'hudson.model.ParametersDefinitionProperty') !== false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ formPanel
|
||||
),
|
||||
formGroup
|
||||
(
|
||||
$job->engine == 'jenkins' ? setClass('reference') : setClass('reference hidden'),
|
||||
$job->engine == 'jenkins' ? setClass('reference hidden') : setClass('reference hidden'),
|
||||
set::labelWidth('5em'),
|
||||
set::label($lang->job->branch),
|
||||
set::required(true),
|
||||
|
||||
Reference in New Issue
Block a user