* Finish task#8375.

This commit is contained in:
qiyu-xie
2020-11-20 08:15:56 +08:00
parent 09e7734adf
commit eb3d6f7161
11 changed files with 131 additions and 7 deletions
+40
View File
@@ -24,3 +24,43 @@ function deleteItem(obj)
if($('#paramDiv').find("input").size() <= 2) return;
$(obj).closest('.input-group').remove();
}
/**
* Set param name.
*
* @param obj $obj
* @access public
* @return void
*/
function setParamName(obj)
{
if(obj.value == '$zentao_version') $(obj).closest('.input-group').find("input[name^='paramName']").val('ZENTAO_VERSION');
if(obj.value == '$zentao_account') $(obj).closest('.input-group').find("input[name^='paramName']").val('ZENTAO_ACCOUNT');
if(obj.value == '$zentao_product') $(obj).closest('.input-group').find("input[name^='paramName']").val('ZENTAO_PRODUCT');
if(obj.value == '$zentao_repopath') $(obj).closest('.input-group').find("input[name^='paramName']").val('ZENTAO_REPOPATH');
}
/**
* Show input, hidden select.
*
* @param obj $obj
* @access public
* @return void
*/
function setValueInput(obj)
{
if(obj.checked)
{
$(obj).closest('.input-group').find('select').attr('disabled', true);
$(obj).closest('.input-group').find('select').addClass('hidden');
$(obj).closest('.input-group').find("input[name^='paramValue']").removeClass('hidden');
$(obj).closest('.input-group').find("input[name^='paramValue']").removeAttr('disabled');
}
else
{
$(obj).closest('.input-group').find("input[name^='paramValue']").attr('disabled', true);
$(obj).closest('.input-group').find("input[name^='paramValue']").addClass('hidden');
$(obj).closest('.input-group').find('select').removeClass('hidden');
$(obj).closest('.input-group').find('select').removeAttr('disabled');
}
}
+7
View File
@@ -29,6 +29,7 @@ $lang->job->comment = 'Match Keywords';
$lang->job->customParam = 'Benutzerdefinierte Bauparameter';
$lang->job->paramName = 'Name';
$lang->job->paramValue = 'Wert';
$lang->job->custom = 'Custom';
$lang->job->lblBasic = 'Basic Info';
@@ -56,3 +57,9 @@ $lang->job->frameList['jtest'] = 'JTest';
$lang->job->frameList['cppunit'] = 'CppUnit';
$lang->job->frameList['gtest'] = 'GTest';
$lang->job->frameList['qtest'] = 'QTest';
$lang->job->paramValueList[''] = '';
$lang->job->paramValueList['$zentao_version'] = 'Current version';
$lang->job->paramValueList['$zentao_account'] = 'Current user';
$lang->job->paramValueList['$zentao_product'] = 'Current product ID';
$lang->job->paramValueList['$zentao_repopath'] = 'Current version library path';
+7
View File
@@ -29,6 +29,7 @@ $lang->job->comment = 'Match Keywords';
$lang->job->customParam = 'Custom build parameters';
$lang->job->paramName = 'Name';
$lang->job->paramValue = 'Value';
$lang->job->custom = 'Custom';
$lang->job->lblBasic = 'Basic Info';
@@ -56,3 +57,9 @@ $lang->job->frameList['jtest'] = 'JTest';
$lang->job->frameList['cppunit'] = 'CppUnit';
$lang->job->frameList['gtest'] = 'GTest';
$lang->job->frameList['qtest'] = 'QTest';
$lang->job->paramValueList[''] = '';
$lang->job->paramValueList['$zentao_version'] = 'Current version';
$lang->job->paramValueList['$zentao_account'] = 'Current user';
$lang->job->paramValueList['$zentao_product'] = 'Current product ID';
$lang->job->paramValueList['$zentao_repopath'] = 'Current version library path';
+7
View File
@@ -29,6 +29,7 @@ $lang->job->comment = 'Corres Mots cl閟';
$lang->job->customParam = 'Paramètres de construction personnalisés';
$lang->job->paramName = 'Nom';
$lang->job->paramValue = 'PH';
$lang->job->custom = 'Custom';
$lang->job->lblBasic = 'Infos de Base';
@@ -56,3 +57,9 @@ $lang->job->frameList['jtest'] = 'JTest';
$lang->job->frameList['cppunit'] = 'CppUnit';
$lang->job->frameList['gtest'] = 'GTest';
$lang->job->frameList['qtest'] = 'QTest';
$lang->job->paramValueList[''] = '';
$lang->job->paramValueList['$zentao_version'] = 'Current version';
$lang->job->paramValueList['$zentao_account'] = 'Current user';
$lang->job->paramValueList['$zentao_product'] = 'Current product ID';
$lang->job->paramValueList['$zentao_repopath'] = 'Current version library path';
+7
View File
@@ -29,6 +29,7 @@ $lang->job->comment = 'Từ khóa phù hợp';
$lang->job->customParam = 'Tham số tự chọn';
$lang->job->paramName = 'Tên';
$lang->job->paramValue = 'giá';
$lang->job->custom = 'Custom';
$lang->job->lblBasic = 'Basic Info';
@@ -56,3 +57,9 @@ $lang->job->frameList['jtest'] = 'JTest';
$lang->job->frameList['cppunit'] = 'CppUnit';
$lang->job->frameList['gtest'] = 'GTest';
$lang->job->frameList['qtest'] = 'QTest';
$lang->job->paramValueList[''] = '';
$lang->job->paramValueList['$zentao_version'] = 'Current version';
$lang->job->paramValueList['$zentao_account'] = 'Current user';
$lang->job->paramValueList['$zentao_product'] = 'Current product ID';
$lang->job->paramValueList['$zentao_repopath'] = 'Current version library path';
+7
View File
@@ -29,6 +29,7 @@ $lang->job->comment = '匹配关键字';
$lang->job->customParam = '自定义构建参数';
$lang->job->paramName = '名称';
$lang->job->paramValue = '值';
$lang->job->custom = '自定义';
$lang->job->lblBasic = '基本信息';
@@ -56,3 +57,9 @@ $lang->job->frameList['jtest'] = 'JTest';
$lang->job->frameList['cppunit'] = 'CppUnit';
$lang->job->frameList['gtest'] = 'GTest';
$lang->job->frameList['qtest'] = 'QTest';
$lang->job->paramValueList[''] = '';
$lang->job->paramValueList['$zentao_version'] = '当前版本号';
$lang->job->paramValueList['$zentao_account'] = '当前用户名';
$lang->job->paramValueList['$zentao_product'] = '当前产品ID';
$lang->job->paramValueList['$zentao_repopath'] = '当前版本库路径';
+7
View File
@@ -29,6 +29,7 @@ $lang->job->comment = '匹配關鍵字';
$lang->job->customParam = '自定義構建參數';
$lang->job->paramName = '名稱';
$lang->job->paramValue = '值';
$lang->job->custom = '自定義';
$lang->job->lblBasic = '基本信息';
@@ -56,3 +57,9 @@ $lang->job->frameList['jtest'] = 'JTest';
$lang->job->frameList['cppunit'] = 'CppUnit';
$lang->job->frameList['gtest'] = 'GTest';
$lang->job->frameList['qtest'] = 'QTest';
$lang->job->paramValueList[''] = '';
$lang->job->paramValueList['$zentao_version'] = '當前版本號';
$lang->job->paramValueList['$zentao_account'] = '當前用戶名';
$lang->job->paramValueList['$zentao_product'] = '當前產品ID';
$lang->job->paramValueList['$zentao_repopath'] = '當前版本庫路徑';
+12 -3
View File
@@ -149,6 +149,7 @@ class jobModel extends model
}
unset($job->paramName);
unset($job->paramValue);
unset($job->custom);
$job->customParam = json_encode($customParam);
$this->dao->insert(TABLE_JOB)->data($job)
@@ -215,6 +216,7 @@ class jobModel extends model
}
unset($job->paramName);
unset($job->paramValue);
unset($job->custom);
$job->customParam = json_encode($customParam);
$this->dao->update(TABLE_JOB)->data($job)
@@ -286,7 +288,7 @@ class jobModel extends model
*/
public function exec($id)
{
$job = $this->dao->select('t1.id,t1.name,t1.repo,t1.jkJob,t1.triggerType,t1.atTime,t1.customParam,t2.name as jenkinsName,t2.url,t2.account,t2.token,t2.password')
$job = $this->dao->select('t1.id,t1.name,t1.product,t1.repo,t1.jkJob,t1.triggerType,t1.atTime,t1.customParam,t2.name as jenkinsName,t2.url,t2.account,t2.token,t2.password')
->from(TABLE_JOB)->alias('t1')
->leftJoin(TABLE_JENKINS)->alias('t2')->on('t1.jkHost=t2.id')
->where('t1.id')->eq($id)
@@ -300,10 +302,10 @@ class jobModel extends model
$url = $this->loadModel('compile')->getBuildUrl($job);
$now = helper::now();
$data = new stdclass();
$repo = $this->loadModel('repo')->getRepoById($job->repo);
$data->PARAM_TAG = '';
if($job->triggerType == 'tag')
{
$repo = $this->loadModel('repo')->getRepoById($job->repo);
$lastTag = '';
if($repo->SCM == 'Subversion')
{
@@ -346,7 +348,14 @@ class jobModel extends model
$data->ZENTAO_DATA = "compile={$compileID}";
/* Add custom parameters to the data. */
foreach(json_decode($job->customParam) as $paramName => $paramValue) $data->$paramName = $paramValue;
foreach(json_decode($job->customParam) as $paramName => $paramValue)
{
$paramValue = str_replace('$zentao_version', $this->config->version, $paramValue);
$paramValue = str_replace('$zentao_account', $this->app->user->account, $paramValue);
$paramValue = str_replace('$zentao_product', $job->product, $paramValue);
$paramValue = str_replace('$zentao_repopath', $repo->path, $paramValue);
$data->$paramName = $paramValue;
}
$compile = new stdclass();
$compile->queue = $this->loadModel('ci')->sendRequest($url->url, $data, $url->userPWD);
+9 -2
View File
@@ -91,9 +91,16 @@
<td colspan='2' id='paramDiv'>
<div class='table-row input-group'>
<span class='input-group-addon w-50px'><?php echo $lang->job->paramName; ?></span>
<?php echo html::input('paramName[]', '', "class='form-control id='test''"); ?>
<?php echo html::input('paramName[]', '', "class='form-control'"); ?>
<span class='input-group-addon w-40px'><?php echo $lang->job->paramValue; ?></span>
<?php echo html::input('paramValue[]', '', "class='form-control'"); ?>
<?php echo html::select('paramValue[]', $lang->job->paramValueList, '', "class='form-control' onchange='setParamName(this)'"); ?>
<?php echo html::input('paramValue[]', '', "class='form-control hidden' id='paramValue' disabled"); ?>
<span class='input-group-addon w-90px'>
<div class='checkbox-primary'>
<input type='checkbox' name='custom' id='custom' value='1' onclick='setValueInput(this);' />
<label for='custom'><?php echo $lang->job->custom;?></label>
</div>
</span>
<span class='input-group-addon w-40px'><a href='javascript:;' onclick='addItem(this);'><i class='icon icon-plus'></i></a></span>
<span class='input-group-addon w-40px'><a href='javascript:;' onclick='deleteItem(this)'><i class='icon icon-close'></i></a></span>
</div>
+22 -2
View File
@@ -117,16 +117,36 @@
<span class='input-group-addon w-50px'><?php echo $lang->job->paramName; ?></span>
<?php echo html::input('paramName[]', $paramName, "class='form-control'"); ?>
<span class='input-group-addon w-40px'><?php echo $lang->job->paramValue; ?></span>
<?php $isCustom = zget($lang->job->paramValueList, $paramValue, '') ? false : true; ?>
<?php if($isCustom):?>
<?php echo html::input('paramValue[]', $paramValue, "class='form-control'"); ?>
<?php echo html::select('paramValue[]', $lang->job->paramValueList, '', "class='form-control hidden' onchange='setParamName(this)' disabled");?>
<?php else:?>
<?php echo html::input('paramValue[]', '', "class='form-control hidden' id='paramValue' disabled"); ?>
<?php echo html::select('paramValue[]', $lang->job->paramValueList, $paramValue, "class='form-control' onchange='setParamName(this)'");?>
<?php endif;?>
<span class='input-group-addon w-90px'>
<div class='checkbox-primary'>
<input type='checkbox' name='custom' id='custom' value='1' onclick='setValueInput(this);' <?php if($isCustom) echo 'checked';?> />
<label for='custom'><?php echo $lang->job->custom;?></label>
</div>
</span>
<span class='input-group-addon w-40px'><a href='javascript:;' onclick='addItem(this);'><i class='icon icon-plus'></i></a></span>
<span class='input-group-addon w-40px'><a href='javascript:;' onclick='deleteItem(this)'><i class='icon icon-close'></i></a></span>
</div>
<?php endforeach;?>
<div class='table-row input-group'>
<span class='input-group-addon w-50px'><?php echo $lang->job->paramName; ?></span>
<?php echo html::input('paramName[]', '', "class='form-control'"); ?>
<?php echo html::input('paramName[]', '', "class='form-control' id='paramName'"); ?>
<span class='input-group-addon w-40px'><?php echo $lang->job->paramValue; ?></span>
<?php echo html::input('paramValue[]', '', "class='form-control'"); ?>
<?php echo html::select('paramValue[]', $lang->job->paramValueList, '', "class='form-control' onchange='setParamName(this)'");?>
<?php echo html::input('paramValue[]', '', "class='form-control hidden' id='paramValue' disabled"); ?>
<span class='input-group-addon w-90px'>
<div class='checkbox-primary'>
<input type='checkbox' name='custom' id='custom' value='1' onclick='setValueInput(this);' />
<label for='custom'><?php echo $lang->job->custom;?></label>
</div>
</span>
<span class='input-group-addon w-40px'><a href='javascript:;' onclick='addItem(this);'><i class='icon icon-plus'></i></a></span>
<span class='input-group-addon w-40px'><a href='javascript:;' onclick='deleteItem(this)'><i class='icon icon-close'></i></a></span>
</div>
+6
View File
@@ -101,6 +101,12 @@
<th><?php echo $lang->job->customParam;?></th>
<td>
<?php foreach(json_decode($job->customParam) as $paramName => $paramValue):?>
<?php
$paramValue = str_replace('$zentao_version', zget($lang->job->paramValueList, $paramValue). '(' . $this->config->version . ')', $paramValue);
$paramValue = str_replace('$zentao_account', zget($lang->job->paramValueList, $paramValue). '(' . $this->app->user->account . ')', $paramValue);
$paramValue = str_replace('$zentao_product', zget($lang->job->paramValueList, $paramValue). '(' . $job->product . ')', $paramValue);
$paramValue = str_replace('$zentao_repopath', zget($lang->job->paramValueList, $paramValue). '(' . $repo->path . ')', $paramValue);
?>
<div><?php echo $paramName . ' : ' . $paramValue;?></div>
<?php endforeach;?>
</td>