Я новичок в API и JavaScript, поэтому я не уверен, что я здесь делаю не так, пожалуйста, найдите ниже подробную информацию о проблеме, с которой я столкнулся.
Цель - получить подробную информацию о Дженкинсе на веб-странице
В рамках своей цели я пытаюсь создать веб-страницу, на которой я могу запустить задание Jenkins и получить информацию о сборке, отображаемую на веб-странице. В качестве одной из частей цели я хочу запустить задание Jenkins с помощью кнопки на моей веб-странице.
Проблема - я создал следующий сценарий для выполнения операции -
<script>
function RunJenkinsJob() {
var xhr = new XMLHttpRequest();
xhr.open("POST", http://admin:114a2eae5e09d93b6ee831f248892ac581@localhost:8080/job/New_Test/build?token=Datacreation, true);
xhr.setRequestHeader('Content-Type', 'application/json');
}));
}
</script>
<head>
<style>body{background-color:#d0e4fe;}h1{color:orange;text-align:center;}p{font-family:"Times New Roman";font-size:20px;}</style>
</head>
<body>
<h1>Check Jenkins Job Build</h1>
<button type="button" onclick="RunJenkinsJob();"> Run Jenkins Job! </button>
</body>
</html>
Однако, когда я пытаюсь нажать эту кнопку, ничего не происходит, при доступе к этому URL-адресу непосредственно из браузера меня просят указать имя пользователя и пароль, а затем после обновления новая сборка запускается автоматически.
Вопрос
Как обеспечить аутентификацию для Jenkins в этом методе JavaScript, чтобы при нажатии кнопки можно было запускать новое задание, а также, если я могу получить некоторые указатели о том, как извлечь информацию о сборке, что также было бы очень полезно.
Сведения о системе ОС - версия Windows Jenkins - 2.235.1
- Обновление 1 -
Пожалуйста, найдите обновленную информацию ниже -
<!DOCTYPE html>
<html>
<script>
function RunJenkinsJob() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://admin:114a2eae5e09d93b6ee831f248892ac581@localhost:8080/job/New_Test/build?token=Datacreation", true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send();
document.write(xhr.status);
}
</script>
<head>
<style>body{background-color:#d0e4fe;}h1{color:orange;text-align:center;}p{font-family:"Times New Roman";font-size:20px;}</style>
</head>
<body>
<h1>Check Jenkins Job Build</h1>
<button type="button" onclick="RunJenkinsJob();"> Run Jenkins Job! </button>
</body>
</html>
}));
не принадлежит и должен быть удален. - person Shane Bishop   schedule 14.02.2021admin:114a2eae5e09d93b6ee831f248892ac581@localhost:8080
Я не уверен, что Дженкинс все еще поддерживает это. Это приведет к перенаправлению. Вам необходимо передать идентификатор пользователя admin и токен api в виде строки в кодировке base64 в заголовке аутентификации. Также отсутствуетxhr.send()
. Можете ли вы проверить статус, распечатав его в журнале консоли. `console.log (xhr.status) 'после строки отправки? - person Siddharth Kaul   schedule 14.02.2021