IFraming удаленный контент на странице проекта (из URL в consoleoutput)?
Все,
У нас есть тестовое приложение, которое создает свои собственные отчеты в веб-панели, которые мы хотели бы добавить на страницу проекта Hudson для сборок. В настоящее время приложение выводит URL-адрес этой страницы в журнал консоли.
То, что я хотел бы сделать, это извлечь URL из журнала консоли, а затем добавить содержимое в конечной точке URL на страницу проекта для этой сборки (возможно, IFrame?).
Есть ли простой способ сделать это? Существующий плагин возможно? Возможно, конфиг, который я пропустил? Я приезжаю в Гудзон из Cruisecontrol, и я все еще сталкиваюсь с различиями.
Благодарю.
2 ответа
В итоге я решил создать собственный плагин, который проанализировал журнал консоли, создав ArrayList URL-адресов, и добавил "действие" в верхний левый столбец. Оттуда я мог бы извлечь каждый URL из моего 'bean' (эффективно упаковщика ArrayList). После этого это был просто кусок Jelly для создания каждого iFrame на странице Jenkins. Однако я добавил немного Javascript на страницу Jelly, поскольку высота iFrames по умолчанию мне не пригодилась.
Желе:
<script type="text/javascript">
function resizeFrame(f) {
var i = document.getElementById(f);
var s;
s = 100;
i.style.height = s;
s = i.document.body.clientHeight;
//Some odd Javascript re-sizing here, works fine in the debugger..
var ss = s/2.5;
i.style.height = ss+"px";
}
</script>
<table width='100%'>
<j:forEach items="${it.result.getHtmlLogPath()}" var="i" indexVar="index">
<tr>
<td width='100%'>
<iframe id="myFrame${index}" src="${i}" width="100%" frameborder="0" onload="resizeFrame('myFrame${index}');"/>
</td>
</tr>
</j:forEach>
</table>
На данный момент это работает для моих основных требований, если я получу возможность, я обобщу плагин для других, с которыми можно работать.
Должна быть возможность создания сценария редактирования описания сборки по HTTP POST: в форме ${BUILD_URL}/submitDescription
:
curl --data description="<a href=\"http://foo.bar.com\">foo</a>" ${BUILD_URL}/submitDescription
Описание сборки будет отображаться в истории сборки слева, поэтому вы можете захотеть сделать ее короткой.