IFraming удаленный контент на страницу проекта (из URL в consoleoutput)? - PullRequest
2 голосов
/ 17 августа 2011

All

У нас есть тестовое приложение, которое создает свои собственные отчеты на веб-панели, которые мы хотели бы добавить на страницу проекта Hudson для сборок. В настоящее время приложение выводит URL-адрес этой страницы в журнал консоли.

Что я хотел бы сделать, это вытащить URL из журнала консоли, а затем добавить содержимое в конечной точке URL на страницу проекта для этой сборки (возможно, IFrame?).

Есть ли простой способ сделать это? Существующий плагин возможно? Возможно, конфиг, который я пропустил? Я приезжаю в Хадсон из Cruisecontrol, и я все еще пытаюсь разобраться с различиями.

Спасибо.

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

В итоге я решил создать собственный плагин, который анализировал журнал консоли, создавая список URL-адресов Array, и вносил «действие» в верхний левый столбец. Оттуда я мог бы извлечь каждый URL из моего 'bean' (эффективно упаковщика ArrayList). После этого это был просто кусок Jelly для создания каждого iFrame на странице Jenkins. Однако я добавил немного Javascript на страницу Jelly, поскольку высота iFrames по умолчанию мне не пригодилась.

Jelly:

<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>    

В данный момент это работает для моих основных требований, если я получу возможность, я сгенерирую плагин для работы с другими.

1 голос
/ 18 августа 2011

Должна быть возможность создания сценария редактирования описания сборки по HTTP POST: в форме ${BUILD_URL}/submitDescription:

curl --data description="<a href=\"http://foo.bar.com\">foo</a>" ${BUILD_URL}/submitDescription

Описание сборки будет отображаться в истории сборок слева,так что вы можете быть короткими.

...