loadGithubOrganizationArgsFromJsonFiles

loadGithubOrganizationArgsFromJsonFiles: (filePaths: GithubOrganizationJsonConfigFilePaths & { identity: string }, options?: GithubOrganizationJsonConfigLoaderOptions) => GithubOrganizationArgs

Loads GithubOrganizationArgs from three JSON files.

Remarks

Each file must contain a top-level JSON object map:

  • teamsFilePath: team-name keys and team settings values
  • usersFilePath: account-name keys and user settings values (email is required)
  • externalCollaboratorsFilePath: <repository>::<accountName> keys and collaborator settings values (email is required)

Type

(filePaths: GithubOrganizationJsonConfigFilePaths & { identity: string }, options?: GithubOrganizationJsonConfigLoaderOptions) => GithubOrganizationArgs

Example

CODE
const args = loadGithubOrganizationArgsFromJsonFiles({
  identity: 'github-governance',
  teamsFilePath: './config/github-teams.json',
  usersFilePath: './config/github-users.json',
  externalCollaboratorsFilePath: './config/github-external-collaborators.json',
});

// users file example:
// { "alice": { "email": "alice@example.com", "role": "admin", "teams": ["platform"] } }
// external collaborators file example:
// { "jobcloud/infra::contractor": { "email": "contractor@example.com", "permission": "push" } }

new GithubOrganization(args);