Я хочу загрузить артефакты в конвейер gocd, используя их API, равный POST /go/files/:pipeline_name/:pipeline_counter/:stage_name/:stage_counter/:job_name/*path_to_file
. У меня есть приложение nodejs с включенным Google oauth2. Я загружаю файлы и загружаю их с помощью POST-запроса в angularjs.
<script>
angular.module('fupApp', [])
.directive('ngFiles', ['$parse', function ($parse) {
function fn_link(scope, element, attrs) {
var onChange = $parse(attrs.ngFiles);
element.on('change', function (event) {
onChange(scope, { $files: event.target.files });
});
};
return {
link: fn_link
}
} ])
.controller('fupController', function ($scope, $http) {
var formdata = new FormData();
$scope.getTheFiles = function ($files) {
angular.forEach($files, function (value, key) {
formdata.append(key, value);
});
};
// NOW UPLOAD THE FILES.
$scope.uploadFiles = function () {
var request = {
method: 'POST',
url: 'https://<mydomain1.net>:8154/go/files/FirstPipeline/13/defaultStage/1/defaultJob/',
data: formdata,
headers: {
'Content-Type': 'multipart/form-data'
}
};
// SEND THE FILES.
$http(request)
.success(function (d) {
alert(d);
})
.error(function () {
});
}
});
</script>
Я пытаюсь запросить от mydomain2.net до mydomain1.net (этоgocd). Однако в браузере после выбора файла и нажатия кнопки «Отправить» появляется эта ошибка после проверки (Ctrl + Shift + I).
Доступ к XMLHttpRequest по адресу https://mydomain1:8154/go/files/FirstPipeline/13/defaultStage/1/defaultJob/' от источника http://mydomain2:3000' заблокирован политикой CORS: заголовок «Access-Control-Allow-Origin» отсутствуетзапрашиваемый ресурс.
Где следует добавить заголовок Access-Control-Allow-Origin
на стороне GoCD?