* Modify sonarqube frame for job create.
This commit is contained in:
@@ -213,7 +213,7 @@ $(document).ready(function()
|
|||||||
$('#sonarProject #projectKey').remove();
|
$('#sonarProject #projectKey').remove();
|
||||||
$('#sonarProject #projectKey_chosen').remove();
|
$('#sonarProject #projectKey_chosen').remove();
|
||||||
$('#sonarProject .input-group').append("<div class='load-indicator loading'></div>");
|
$('#sonarProject .input-group').append("<div class='load-indicator loading'></div>");
|
||||||
$.getJSON(createLink('sonarqube', 'ajaxGetProjectList', 'sonarqubeID=' + sonarqubeID), function(html)
|
$.get(createLink('sonarqube', 'ajaxGetProjectList', 'sonarqubeID=' + sonarqubeID), function(html)
|
||||||
{
|
{
|
||||||
$('#sonarProject .loading').remove();
|
$('#sonarProject .loading').remove();
|
||||||
$('#sonarProject .input-group').append(html);
|
$('#sonarProject .input-group').append(html);
|
||||||
|
|||||||
@@ -198,10 +198,11 @@ $(document).ready(function()
|
|||||||
$(document).on('change', '#sonarqubeServer', function()
|
$(document).on('change', '#sonarqubeServer', function()
|
||||||
{
|
{
|
||||||
var sonarqubeID = $(this).val();
|
var sonarqubeID = $(this).val();
|
||||||
|
var projectKey = sonarqubeID == job.sonarqubeServer ? btoa(job.projectKey) : '';
|
||||||
$('#sonarProject #projectKey').remove();
|
$('#sonarProject #projectKey').remove();
|
||||||
$('#sonarProject #projectKey_chosen').remove();
|
$('#sonarProject #projectKey_chosen').remove();
|
||||||
$('#sonarProject .input-group').append("<div class='load-indicator loading'></div>");
|
$('#sonarProject .input-group').append("<div class='load-indicator loading'></div>");
|
||||||
$.getJSON(createLink('sonarqube', 'ajaxGetProjectList', 'sonarqubeID=' + sonarqubeID), function(html)
|
$.get(createLink('sonarqube', 'ajaxGetProjectList', 'sonarqubeID=' + sonarqubeID + '&projectKey=' + projectKey), function(html)
|
||||||
{
|
{
|
||||||
$('#sonarProject .loading').remove();
|
$('#sonarProject .loading').remove();
|
||||||
$('#sonarProject .input-group').append(html);
|
$('#sonarProject .input-group').append(html);
|
||||||
@@ -253,6 +254,6 @@ $(document).ready(function()
|
|||||||
$('#engine').change();
|
$('#engine').change();
|
||||||
$('#jkServer').change();
|
$('#jkServer').change();
|
||||||
$('#frame').change();
|
$('#frame').change();
|
||||||
|
$('#sonarqubeServer').change();
|
||||||
$('#triggerType').change();
|
$('#triggerType').change();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -37,21 +37,21 @@ class sonarqube extends control
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajax get project list.
|
* Ajax get project select.
|
||||||
*
|
*
|
||||||
* @param int $engine
|
* @param int $sonarqubeID
|
||||||
|
* @param string $projectKey
|
||||||
* @access public
|
* @access public
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function ajaxGetProjectList($sonarqubeID)
|
public function ajaxGetProjectList($sonarqubeID, $projectKey = '')
|
||||||
{
|
{
|
||||||
$projectList = $this->loadModel('sonarqube')->getList($sonarqubeID);
|
$projectList = $this->loadModel('sonarqube')->getAllProjectList($sonarqubeID);
|
||||||
$projectPairs = array(0 => '');
|
|
||||||
foreach($projectList as $project)
|
$projectPairs = array('' => '');
|
||||||
{
|
foreach($projectList as $project) $projectPairs[$project->key] = $project->name;
|
||||||
$projectPairs[$project->id] = $project->name;
|
|
||||||
}
|
echo html::select('projectKey', $projectPairs, base64_decode($projectKey), "class='form-control chosen' required");
|
||||||
echo html::select('projectKey', $projectPairs, '', "class='form-control chosen' required");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -71,4 +71,28 @@ class sonarqubeModel extends model
|
|||||||
$header = 'Authorization: Basic ' . $token;
|
$header = 'Authorization: Basic ' . $token;
|
||||||
return json_decode(commonModel::http($url, null, array(), $header));
|
return json_decode(commonModel::http($url, null, array(), $header));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all project list.
|
||||||
|
*
|
||||||
|
* @param int $sonarqubeID
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getAllProjectList($sonarqubeID)
|
||||||
|
{
|
||||||
|
list($url, $header) = $this->getApiBase($sonarqubeID);
|
||||||
|
$url = sprintf($url, 'projects/search?ps=500&p=1');
|
||||||
|
$result = json_decode(commonModel::http($url, null, array(), $header[0]));
|
||||||
|
|
||||||
|
$projectList = zget($result, 'components', array());
|
||||||
|
$total = isset($result->paging->total) ? $result->paging->total : 0;
|
||||||
|
for($i = 2; $i <= $total; $i++)
|
||||||
|
{
|
||||||
|
$url = sprintf($url, 'projects/search?ps=500&p=' . $i);
|
||||||
|
$pageData = json_decode(commonModel::http($url, null, array(), $header[0]));
|
||||||
|
$projectList += zget($pageData, 'components', array());
|
||||||
|
}
|
||||||
|
return (array)$projectList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user