You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
884 B
TypeScript
31 lines
884 B
TypeScript
3 years ago
|
import * as core from '@actions/core'
|
||
|
import * as fs from 'fs'
|
||
|
|
||
|
/**
|
||
|
* Gets the organization ID of the running workflow or undefined if the value cannot be loaded from the GITHUB_EVENT_PATH
|
||
|
*/
|
||
|
export async function getOrganizationId(): Promise<number | undefined> {
|
||
|
try {
|
||
|
const eventPath = process.env.GITHUB_EVENT_PATH
|
||
|
if (!eventPath) {
|
||
|
core.debug(`GITHUB_EVENT_PATH is not defined`)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
const content = await fs.promises.readFile(eventPath, {encoding: 'utf8'})
|
||
|
const event = JSON.parse(content)
|
||
|
const id = event?.repository?.owner?.id
|
||
|
if (typeof id !== 'number') {
|
||
|
core.debug('Repository owner ID not found within GITHUB event info')
|
||
|
return
|
||
|
}
|
||
|
|
||
|
return id as number
|
||
|
} catch (err) {
|
||
|
core.debug(
|
||
|
`Unable to load organization ID from GITHUB_EVENT_PATH: ${(err as any)
|
||
|
.message || err}`
|
||
|
)
|
||
|
}
|
||
|
}
|