@@ -5,6 +5,14 @@ import sodium from 'libsodium-wrappers'
5
5
import { Octokit } from '@octokit/core'
6
6
import { createAppAuth } from '@octokit/auth-app'
7
7
8
+ export function getAppLoginName ( ) {
9
+ return core . getInput ( 'app_login_name' ) || 'BOT_NAME'
10
+ }
11
+
12
+ export function getAppTokenName ( ) {
13
+ return core . getInput ( 'app_token_name' ) || 'BOT_TOKEN'
14
+ }
15
+
8
16
export async function getAppToken ( ) {
9
17
const fallback = core . getInput ( 'fallback' )
10
18
const required = fallback == null
@@ -29,22 +37,23 @@ export async function getAppToken() {
29
37
30
38
// 2. Get installationId of the app
31
39
const octokit = github . getOctokit ( jwt )
32
- const {
33
- data : { id : installationId } ,
34
- } = await octokit . rest . apps . getRepoInstallation ( {
40
+ const install = await octokit . rest . apps . getRepoInstallation ( {
35
41
...github . context . repo ,
36
42
} )
37
43
38
44
// 3. Retrieve installation access token
39
45
const { token } = await auth ( {
40
- installationId,
41
46
type : 'installation' ,
47
+ installationId : install . data . id ,
42
48
} )
43
49
50
+ // eslint-disable-next-line no-console
51
+ console . log ( install . data )
52
+
44
53
return token
45
54
}
46
55
47
- async function createSecret ( octokit : Octokit , value : string ) {
56
+ async function makeSecret ( octokit : Octokit , value : string ) {
48
57
const { repo } = github . context
49
58
const res = await octokit . request (
50
59
'GET /repos/:owner/:repo/actions/secrets/public-key' ,
@@ -72,45 +81,30 @@ async function createSecret(octokit: Octokit, value: string) {
72
81
}
73
82
}
74
83
75
- async function createOrUpdateRepoSecret (
84
+ export async function createSecret (
76
85
token : string ,
77
- name : string ,
78
- value : string ,
86
+ secretName : string ,
87
+ secretValue : string ,
79
88
) {
80
89
const octokit = new Octokit ( { auth : token } )
81
- const secret = await createSecret ( octokit , value )
90
+ const secret = await makeSecret ( octokit , secretValue )
82
91
await octokit . request (
83
92
'PUT /repos/:owner/:repo/actions/secrets/:secret_name' ,
84
93
{
85
94
...github . context . repo ,
86
- secret_name : name ,
95
+ secret_name : secretName ,
87
96
data : secret ,
88
97
} ,
89
98
)
90
99
}
91
100
92
- async function deleteSecret ( token : string , name : string ) {
101
+ export async function deleteSecret ( token : string , secretName : string ) {
93
102
const octokit = new Octokit ( { auth : token } )
94
103
await octokit . request (
95
104
'DELETE /repos/:owner/:repo/actions/secrets/:secret_name' ,
96
105
{
97
106
...github . context . repo ,
98
- secret_name : name ,
107
+ secret_name : secretName ,
99
108
} ,
100
109
)
101
110
}
102
-
103
- export async function saveTokenToSecret ( secretName : string , token : string ) {
104
- if ( secretName ) {
105
- return createOrUpdateRepoSecret ( token , secretName , token )
106
- }
107
- return null
108
- }
109
-
110
- export async function removeTokenFromSecret ( secretName : string ) {
111
- if ( secretName ) {
112
- const token = await getAppToken ( )
113
- return deleteSecret ( token , secretName )
114
- }
115
- return null
116
- }
0 commit comments