我们在GitHub上托管一些存储库,其他一些在GitLab上。
有时,包已发布但未发布源代码。
我们始终在//Sort categories
$('#categories-list').find('tbody').sortable({
connectWith: 'tbody',
opacity: 0.6,
cursor: 'move',
forcePlaceholderSize: true,
update: function(e) {
var serialized = $('#categories-list tbody').sortable('serialize');
console.log(serialized);
// $.post('admin/ereg_forms/set_category_position', serialized, function(data) {
// if (data.status == 'error') {
// alert(data.message);
// }
// });
}
});
$('#addmorefool').on('click', AddMore);
function AddMore() {
let tbody = $('#categories-list').find('tbody');
let rowscount = tbody.find('tr').length;
let newRow = '<tr id="category-row-' + rowscount + '"><td><span class="double-arrow-unicode" style="font-size:18px; cursor:pointer;">↕</span></td><td class="category-row-title">test' + rowscount + '</td></tr>';
tbody.append(newRow);
}
AddMore();
//Add category submit
$("#add-category-sumbit").on('click', function(e) {
//console.log("howdy");
e.preventDefault();
var myform = $("#add-category-form");
var errorBlock = myform.find(".errors-block");
errorBlock.html('');
errorBlock.dialog({
modal: true,
width: 'auto',
autoOpen: false
});
var catSub = $('#add-category-submit');
catSub.hide();
var myjax = $.ajax({
url: myform.attr('action'),
type: 'POST',
data: myform.serialize(),
dataType: 'json'
})
.done(function(data) {
catSub.show();
//Check if server side validation passed
var category_data = data.data;
var tableRow = $('<tr class="category-row-' + category_data.id + '"><td><span class="double-arrow-unicode" style="font-size:18px; cursor:pointer;">↕</span>' +
'</td><td>' + category_data.title +
'</td><td></tr>');
let tbody = $('#categories-list').find('tbody');
tbody.append(tableRow);
resetForm(myform);
//Close popup window (out cause have none)
//('#add-category').dialog('close');
$("<div title='Success!'>Category has been saved.</div>").dialog({
modal: true,
width: 'auto'
});
}).fail(function(data) {
//Show error on popup dialog
errorBlock.html('<span>Sorry, the information that was sent is invalid. Please review the errors at the top of the form and try again.</span>' + data.message);
errorBlock.dialog("open");
//catSub.show(); (out cause not in code)
});
});
中显示构建状态和代码覆盖率。
有没有办法让GitLab上的构建和覆盖徽章始终可以被匿名访问?
答案 0 :(得分:1)
之后是issue 13324
它包括:
仅供参考,我有一个使用GitLab API的解决方法 假设您已在GitLab中为用户创建了一个令牌(注意:“用户”不一定是人类 - 我的用例是在托管在不同VM上的仪表板上显示徽章)
<img src="https://<gitlab-uri>/<namespace>/<project>/badges/<branch>/build.svg?private_token=<token>
2018年12月更新:这不是通过令牌的可能性(请参阅Paul B.的answer)。
这是因为“Improper Enforcement of Token Scope”:
GitLab Web界面容易受到授权问题的影响,该问题允许用户使用任何范围的个人访问令牌(PAT)访问Web-UI。
现在,该问题已在最新版本中得到缓解,并已分配CVE-2018-19569。
但是...
更新时间:2018-11-28:我们收到报告称此更改影响了某些用户下载repo文件和作业工件的方式。
有关如何通过API执行此操作的说明,请参阅our support issue。
您还有一个重复API访问的current workaround:
可以使用特定文件名(徽标)将项目头像添加到项目存储库,然后此文件将用于头像。这里有一个例子:
https://gitlab.com/issue-reproduce/project-avatar-repo
您将能够通过Repository Files API检索文件:
https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository
示例:
https://gitlab.com/api/v4/projects/issue-reproduce%2Fproject-avatar-repo/repository/files/logo.png?ref=master
答案 1 :(得分:1)
自Gitlab的release 11.4.8起,就不可能再通过人员访问令牌公开项目的徽章了。由于变化“ 将个人访问令牌限制为Web请求的API范围。”
删除此“替代方法”的提交为published as a security fix
目前正在讨论ongoing issue,以寻求其他解决方案。让我们看看进展如何。