2012-08-09 3 views
3

웹 응용 프로그램 중 하나는 해당 사이트의 사용자가 액세스 할 수 있도록 다수의 다른 서버에 배포됩니다. 우리는 Trac을 사용하여 버그/작업 항목을 관리하지만 릴리스 노트를 자동화하는 방법을 찾고 있으므로 서버를 업그레이드 한 사용자는 언제 업그레이드를 받았는지와 어떤 종류의 document - HTML 또는 XML - 모든 항목을 포함하여 빌드 당시 Trac에서 추출되었습니다.Trac에서 릴리스 노트 자동 생성

이상적으로는 주 어셈블리에서 xyz 버전을 기반으로 RSS XML을 Trac에서 추출한 후 post-build 단계를 수행하고 releasenotes.xml로 저장합니다.이 바이너리로 배포 한 후 템플릿 등이 상주합니다. 생산.

그러면 웹 서버는 설치 과정에서 웹 서버를 표시 할 수 있습니다.

내 문제는 우리의 Trac이 공개되지 않았기 때문입니다. (Trac에 계정이없는 사용자조차도 그렇지 않습니다. Trac의 보고서에서이를 지적 할 수 있으며, 독자적으로 로그인하여 읽을 수 있습니다) 양식 인증 프로세스가 필요하기 때문에이 추출을 자동화 할 수 없습니다. 인증이 필요없는 읽기 전용 RSS 피드를 찾을 수 없습니다.

누구든지이 문제를 해결할 수 있습니까? 아니면 고려해야 할 또 다른 접근법이 있습니까?

현재 명령 스크립트에서 curl 및 grep로 작업하고 있습니다. 로그인 페이지에서 토큰을 얻은 다음 로그인하여 인증 쿠키를 얻은 다음 원하는 보고서의 RSS를 가져옵니다. 분명히 이것은 로그인 양식의 사용자/비밀번호/__ FORM_TOKEN 구조에 민감합니다.

+0

당신은 trac이 공개되지 않는다는 것이 무엇을 의미하는지 명확히 할 수 있습니까? 그게 당신 buildserver 귀하의 trac 연결할 수 없다는 뜻입니까? – wimh

+0

@wimmel Trac의 양식 시스템에서 비밀번호 인증이 필요합니다. –

+0

릴리스 정보에 사용할 수있는 Trac 내 계정을 만들 수 있습니까? –

답변

1

대부분의 경우 XMLRPC 플러그인이 여기에 친구가 될 것입니다.

Trac-hacks가 현재 사용 중지되었으므로 전체 설명서는 현재 사용할 수 없지만 여기서는 간단한 파이썬 스크립트를 사용하여 시작할 수 있습니다 (오류 처리 및 잘못된 입력은 독자의 연습 문제로 남아 있습니다).

#!/usr/bin/python 
# Fetch a Trac page via RPC 
# Usage: fetchpage.py <wiki page name> <output file> 

import sys 
from xmlrpclib import ServerProxy 

# Extract info from CLI args 
page_title = sys.argv[1] 
output_filename = sys.argv[2] 

# Authenticate with Trac and fetch the specified wiki page 
p = ServerProxy('http://UserName:[email protected]/login/rpc') 
page = p.wiki.getPageHTML(page_title) 

# Write page to file 
with open(output_filename,'w') as outfile: 
    outfile.write(page) 

는 "./fetchpage.py 'ReleaseNotes/x.y.z' changelog.html"로 스크립트를 실행 한 후 파일 changelog.html는 HTML로 미리 렌더링 지정된 위키 페이지의 내용이 포함됩니다. 도구 모음 및 페이지 머리글/바닥 글은 포함되지 않습니다.

여기에는 x.y.z 릴리스에 대한 릴리스 노트가 들어있는 ReleaseNotes/x.y.z이라는 wiki 페이지가 있다고 가정합니다. 개인적으로 wiki 페이지를 사용하여 RSS를 구문 분석하고 수동으로 수행하는 것보다 (매크로를 사용하여) 릴리스 정보 문서를 만드는 것이 더 쉽습니다. 이 출력물을 가져 와서 CSS 스타일 시트를 포함 시키거나 사용자에게 배포 할 준비가 된 매력적인 HTML 형식의 변경 내역을 가질 수 있습니다.

여기서 사용되는 계정에는 읽기 액세스 권한에 대한 일반 권한 집합 외에도 XML_RPC 권한이 필요합니다.

+0

http://stackoverflow.com/questions/7689637/is-it-possible-to-generate-a-changelog-automatically-from-trac – gavenkoa

관련 문제