diff options
Diffstat (limited to 'src/workflow-context-helper.ts')
| -rw-r--r-- | src/workflow-context-helper.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/workflow-context-helper.ts b/src/workflow-context-helper.ts new file mode 100644 index 0000000..c7d7918 --- /dev/null +++ b/src/workflow-context-helper.ts @@ -0,0 +1,30 @@ +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}` + ) + } +} |
