-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgithub.ts
60 lines (51 loc) · 1.39 KB
/
github.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const axios = require('axios')
const octoAuth = require('@octokit/auth-action')
const Request = require('@octokit/request')
import * as core from '@actions/core'
export class GitHub {
private requestWithAuth: any
constructor() {}
async performAuth() {
const auth = octoAuth.createActionAuth()
const authentication = await auth()
this.requestWithAuth = Request.request.defaults({
request: {
hook: auth.hook
},
mediaType: {
previews: ['machine-man']
}
})
}
async getPR(): Promise<any> {
return new Promise(async (resolve, reject) => {
const { data: issue, error: error } = await this.requestWithAuth(
'GET /repos/{owner}/{repo}/issues/{pull_number}',
{
owner: 'givve',
repo: 'givve',
pull_number: core.getInput('pull_request') || '7516'
}
)
resolve(issue)
})
}
async updatePRDescription(pr: any, task: any) {
return new Promise(async (resolve, reject) => {
// Beschreibung aktualisieren
await this.requestWithAuth(
'PATCH /repos/{owner}/{repo}/pulls/{pull_number}',
{
owner: 'givve',
repo: 'givve',
pull_number: pr.number,
body:
(pr.body || '') +
'\r\n\r\n --- \r\n Asana Task: ' +
task.data.permalink_url
}
)
resolve(true)
})
}
}