@@ -4,9 +4,28 @@ import {Octokit, optional, required} from '../lib'
44import { ForbiddenError } from '../lib/api'
55import { approve } from '../lib/github'
66import { track } from '../lib/track'
7+ import { list as listMessages } from '../lib/jobs/messages'
78
89const jobID = optional ( 'codeball-job-id' )
910
11+ const defaultMessages = [
12+ required ( 'message' ) ,
13+ '<hr />' ,
14+ `[dashboard](https://codeball.ai/${ process . env . GITHUB_REPOSITORY } )`
15+ ]
16+
17+ const getServerSideMessages = ( jobId : string ) =>
18+ listMessages ( jobId ) . then ( messages => [
19+ required ( 'message' ) ,
20+ '<hr />' ,
21+ ...messages . map ( message => message . text )
22+ ] )
23+
24+ const getMessages = ( jobId : string | undefined ) =>
25+ jobId
26+ ? getServerSideMessages ( jobId ) . catch ( ( ) => defaultMessages )
27+ : defaultMessages
28+
1029async function run ( ) : Promise < void > {
1130 const pullRequestURL = github . context . payload ?. pull_request ?. html_url
1231 if ( ! pullRequestURL ) throw new Error ( 'No pull request URL found' )
@@ -24,12 +43,9 @@ async function run(): Promise<void> {
2443 if ( ! repoName ) throw new Error ( 'No repo name found' )
2544
2645 const githubToken = required ( 'GITHUB_TOKEN' )
27- const message = required ( 'message' )
28-
2946 const octokit = new Octokit ( { auth : githubToken } )
3047
31- const dashboardLink = `[dashboard](https://codeball.ai/${ process . env . GITHUB_REPOSITORY } )`
32- const reviewMessage = `${ message } ${ dashboardLink } `
48+ const reviewMessage = ( await getMessages ( jobID ) ) . join ( '\n\n' )
3349
3450 const pr = await octokit . pulls
3551 . get ( {
0 commit comments