Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 61 62 | 2x 2x 2x 13x 13x 12x 12x 11x 11x 10x 10x 9x 9x 8x 1x 2x 7x 10x 10x 2x 1x 1x 1x 5x 5x 5x 2x | import type { ProjectMap } from './types' import * as core from '@actions/core' import * as github from '@actions/github' export function getConfig() { /** Retrieve required inputs */ const githubToken = core.getInput('github-token') if (!githubToken) throw new Error('Missing input github-token') const labelMapping = core.getInput('project-label-mapping') if (!labelMapping) throw new Error('Missing input project-label-mapping') const accountId = core.getInput('cloudflare-account-id') if (!accountId) throw new Error('Missing input cloudflare-account-id') const cloudflareApiToken = core.getInput('cloudflare-api-token') if (!cloudflareApiToken) throw new Error('Missing input cloudflare-api-token') /** Parse project mapping */ let parsedLabelMapping try { parsedLabelMapping = JSON.parse(labelMapping) as ProjectMap[] if (!Array.isArray(parsedLabelMapping)) { throw new Error('Invalid input project-label-mapping') } } catch (e) { throw new Error('Invalid input project-label-mapping') } /** Ensure project mapping has required properties */ for (let i = 0; i < parsedLabelMapping.length; i++) { const projectMap = parsedLabelMapping[i] if (!projectMap.label || !projectMap.project) { if (!projectMap.label) throw new Error( `Invalid input project-label-mapping, missing label property at index ${i}` ) if (!projectMap.project) throw new Error( `Invalid input project-label-mapping, missing project property at index ${i}` ) } } /** Ensure pull request context */ const pullRequest = github.context.payload.pull_request Iif (!pullRequest) throw new Error('Missing pull request context') return { projectMap: parsedLabelMapping, github: { token: githubToken, pullRequest }, cloudflare: { accountId, cloudflareApiToken } } } export default getConfig |