@@ -13,6 +13,21 @@ const GptService = require('../services/gpt_service.js');
1313
1414class GenerateEnhancedNotes {
1515
16+ filterPrTitles ( input ) {
17+ const lines = input . split ( '\n' ) ;
18+
19+ const filteredLines = lines . filter ( ( line ) => ! / ^ # # W h a t ' s C h a n g e d | ^ # # N e w C o n t r i b u t o r s | ^ \* @ | ^ \* \* F u l l C h a n g e l o g \* \* : / . test ( line ) ) ;
20+
21+ const output = filteredLines . map ( ( line ) => {
22+ const index = line . lastIndexOf ( ' by @' ) ;
23+ if ( index !== - 1 ) {
24+ return line . substring ( 0 , index ) ;
25+ }
26+ return line ;
27+ } ) . filter ( Boolean ) . join ( '\n' ) ;
28+ return output . trim ( ) ;
29+ }
30+
1631 async call ( ) {
1732
1833 var tagName = core . getInput ( 'tag_name' ) ;
@@ -36,13 +51,17 @@ class GenerateEnhancedNotes {
3651
3752 const githubService = new GitHubService ( token , owner , repo ) ;
3853 var releasenotes = await githubService . generateReleaseNotes ( tagName , previousTagName ) ;
39- logger . log ( `RELEASE NOTES:\n\n${ releasenotes } ` ) ;
54+ logger . log ( `ORIGINAL RELEASE NOTES:\n\n${ releasenotes } ` ) ;
55+ core . setOutput ( 'release_notes' , releasenotes ) ;
56+
57+ var releaseNoteFiltered = this . filterPrTitles ( releasenotes ) ;
58+ logger . log ( `FILTERED RELEASE NOTES:\n\n${ releaseNoteFiltered } ` ) ;
4059
4160 const gptService = new GptService ( openaiKey ) ;
42- var enhancedNotes = await gptService . generateReleaseNotes ( releasenotes ) ;
61+ var enhancedNotes = await gptService . generateReleaseNotes ( releaseNoteFiltered ) ;
4362 logger . log ( `ENHANCED RELEASE NOTES:\n\n${ enhancedNotes } ` ) ;
44-
4563 core . setOutput ( 'enhanced_notes' , enhancedNotes ) ;
64+
4665 return enhancedNotes ;
4766 }
4867}
0 commit comments