2014-02-07 57 views
1

저희 회사에서는 Jenkins을 사용하여 자동으로 일일 빌드를 수행하고 FogBugz을 사용하여 버그 수정을 추적하고 문서화합니다. 이 모든 것이 잘 작동합니다.FogBugz "Release Notes"보고서의 생성을 자동화하는 방법이 있습니까?

출시 후보 테스트를 마치고 전 세계에 게시 할 준비가되면 FogBugz의 Release Notes Report 기능을 사용하여 이전에 출시 된 릴리스 이후 변경된 내용을 설명하는 텍스트 파일을 자동으로 생성합니다.

대부분 작동하지만 문제는 출시 후보 테스트가 완료하는 데 한 달 이상 걸릴 수 있습니다. 따라서 출시 후보가 테스트 프로세스를 통과하고 게시 준비가 완료 될 때까지 추가 버그 수정 SVN에 투입되어 FogBugz에 문서화되었습니다. 따라서 FogBugz에서 릴리스 노트 보고서를 생성하면 보고서에 출시 준비가 된 릴리스 후보에 실제로없는 변경 사항에 대한 설명이 포함됩니다. (*)

위의 문제에 대한 쉬운 해결책은 출시 후보자 문서가 컴파일 된 당일에 릴리스 노트 문서를 생성하는 것입니다. 그 방법으로 릴리스 노트 문서는 릴리스 후보의 테스트 된 실행 파일의 상태와 일치합니다. 그러나 모든 릴리스 후보자에게 손으로하는 것은 약간 지루하고 오류가 발생하기 쉽습니다. 따라서 젠킨스는 릴리스 노트 문서의 "Daily Build"를 수행해야합니다. 프로그램 실행 파일 빌드. 릴리스 노트 문서는 Artifacts 디렉토리에있는 실행 파일과 함께 보관되어 그 날의 일일 빌드를 기반으로 릴리스 후보를 게시하기로 결정할 때 사용됩니다.

정말 잘 될 것이라고 생각하지만, FogBugz가 스크립트에서 보고서를 생성하는 방법을 모르겠습니다. 그렇게 할 수있는 방법이 있습니까?

(*)이 문제에 대한 또 다른 접근 방법은 출시 후보 테스트를 시작할 때마다 새로운 마일스톤을 만드는 것이지만 너무 많은 마일스톤을 사용하여 FogBugz 데이터베이스가 복잡해지기 때문에이 작업을 원하지 않습니다. 버기 출시 후보가 포기되고 새로운 후보가 채택되었습니다.

답변

1

나는이 문제에 대해 약간의 진전을 이루었습니다 ... FogBugz의 XML API를 사용하여 XML 릴리스 노트를 얻을 수 있습니다. 먼저 here과 같이 토큰을 얻어야합니다. 내가 할 수있는 더 우아한 방법이 의심

wget -OReleaseNotes.xml 'https://fogbugz.mycompany.com/api.asp?token=the_token_value_from_above_goes_here&cmd=search&q=fixfor:MyMilestone&cols=ixBug,sCategory,sTitle,sReleaseNotes' 

을, 나는 HTML 또는 ASCII에서 데이터를 얻을 수 있다면 그것은 좋은 것 :

그런 다음 쉘 스크립트는 이와 같은 명령을 실행할 수 있습니다 형식이 아닌 XML 형식을 사용하지만 이는 아무것도없는 것보다 낫습니다.

+0

[FogBugzPy] (https://developers.fogbugz.com/?W199)를 사용하여 Python의 FogBugz API에서 데이터를 가져올 수 있습니다. BeautifulSoup을 사용하여 XML 파싱을 쉽게합니다. – Daniel