|
1 | | -const axios = require('axios'); |
2 | | - |
3 | | -const token = process.env.GITHUB_TOKEN; |
4 | | - |
5 | | -const baseURL = |
6 | | - process.env.GITHUB_API_URL + '/repos/' + process.env.GITHUB_REPOSITORY; |
7 | | -const request = axios.create({ |
8 | | - baseURL: baseURL, |
9 | | - validateStatus: () => true, |
10 | | -}); |
11 | | - |
12 | | -request.defaults.headers.common['Accept'] = 'application/vnd.github+json'; |
13 | | -request.defaults.headers.common['Authorization'] = 'Bearer ' + token; |
14 | | -request.defaults.headers.common['X-GitHub-Api-Version'] = '2022-11-28'; |
15 | | - |
16 | 1 | async function main() { |
17 | | - if (!token) { |
18 | | - console.log('No token'); |
| 2 | + if (!process.env.GITHUB_TOKEN) { |
| 3 | + console.log('No GITHUB_TOKEN'); |
19 | 4 | return; |
20 | 5 | } |
21 | 6 |
|
| 7 | + const baseURL = `${process.env.GITHUB_API_URL}/repos/${process.env.GITHUB_REPOSITORY}`; |
| 8 | + |
| 9 | + const apiHeader = { |
| 10 | + Accept: 'application/vnd.github+json', |
| 11 | + Authorization: `Bearer ${process.env.GITHUB_TOKEN}`, |
| 12 | + 'X-GitHub-Api-Version': '2022-11-28', |
| 13 | + 'Content-Type': 'application/json', |
| 14 | + }; |
| 15 | + |
22 | 16 | console.log('baseURL: ' + baseURL); |
23 | 17 |
|
24 | | - const pulls = await request.get('/pulls', { |
25 | | - params: { |
26 | | - state: 'open', |
27 | | - head: 'dev-locale', |
28 | | - base: 'dev', |
| 18 | + const pulls = await fetch( |
| 19 | + `${baseURL}/pulls?state=open&head=dev-locale&base=dev`, |
| 20 | + { |
| 21 | + headers: apiHeader, |
29 | 22 | }, |
30 | | - }); |
| 23 | + ); |
31 | 24 |
|
32 | | - if (pulls.data.length > 0) { |
| 25 | + const data = await pulls.json(); |
| 26 | + if (data.length > 0) { |
33 | 27 | // already has PR |
34 | | - const item = pulls.data[0]; |
| 28 | + const item = data[0]; |
35 | 29 | console.log('PR already exists: ' + item.html_url); |
36 | 30 | return; |
37 | 31 | } |
38 | 32 |
|
39 | 33 | // Create new PR |
40 | | - const create = await request.post( |
41 | | - '/pulls', |
42 | | - JSON.stringify({ |
| 34 | + const create = await fetch(`${baseURL}/pulls`, { |
| 35 | + method: 'POST', |
| 36 | + body: JSON.stringify({ |
43 | 37 | title: 'locale: update locales', |
44 | 38 | body: '', |
45 | 39 | head: 'dev-locale', |
46 | 40 | base: 'dev', |
47 | 41 | }), |
48 | | - ); |
| 42 | + headers: apiHeader, |
| 43 | + }); |
49 | 44 |
|
50 | 45 | if (create.status === 201) { |
51 | | - console.log('PR created: ' + create.data.html_url); |
| 46 | + console.log(`PR created: ${(await create.json()).html_url}`); |
52 | 47 | } else { |
53 | 48 | console.log('PR created failed: ' + create.status); |
54 | 49 | } |
|
0 commit comments