github.js
- Version:
-
- 3.0.0
- Copyright:
-
- 2025 Mediumroast, Inc. All rights reserved.
- License:
-
- Apache-2.0
- Source:
Example
const gitHubCtl = new GitHubFunctions(accessToken, myOrgName, 'mr-cli-setup') const createRepoResp = await gitHubCtl.createRepository()
Requires
- module:octokit
Methods
-
<inner> catchContainer(repoMetadata)
-
Catches a container by locking it, creating a new branch, reading the objects
Parameters:
Name Type Description repoMetadataObject The metadata object
Returns:
Status, message, and metadata
- Type
- Promise.<Array>
-
<async, inner> checkForLock(containerName)
-
Checks to see if a container is locked.
Parameters:
Name Type Description containerNamestring The name of the container to check for a lock.
Returns:
A promise that resolves to an array containing status and message.
- Type
- Promise.<Array>
-
<async, inner> createBranchFromMain()
-
Creates a new branch from the main branch.
Returns:
A promise that resolves to an array containing a boolean indicating success, a message, and the response.
- Type
- Promise.<Array>
-
<inner> createContainers()
-
Creates the top level Study, Company and Interaction containers for all mediumroast.io assets
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the responses or error messages.
- Type
- Array
-
<inner> createRepository()
-
Creates a repository, at the organization level, for keeping track of all mediumroast.io assets
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the created repo or error message.
- Type
- Array
-
<async, inner> deleteObject(objName, source, repoMetadata, catchIt)
-
Deletes an object from a specified container
Parameters:
Name Type Description objNamestring The name of the object to delete
sourceobject The source object that contains the from and to containers
repoMetadataobject The repository metadata
catchItboolean Whether to catch the container
Returns:
Status, message, and response
- Type
- Promise.<Array>
-
<async, inner> getActionsBillings()
-
Gets the complete billing status for actions from the GitHub API
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the user info or error message.
- Type
- Array
-
<async, inner> getAllUsers()
-
Gets all of the users from the GitHub API
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the user info or error message.
- Type
- Array
-
<inner> getGitHubOrg()
-
If the GitHub organization exists retrieves the detail about it and returns to the caller
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the org or error message.
- Type
- Array
-
<async, inner> getRepoSize()
-
Gets the size of the repository in MB
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the response or error message.
- Type
- Array
-
<async, inner> getStorageBillings()
-
Gets the complete billing status for actions from the GitHub API
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the user info or error message.
- Type
- Array
-
<async, inner> getUser()
-
Gets the authenticated user from the GitHub API
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the user info or error message.
- Type
- Array
-
<async, inner> getWorkflowRuns()
-
Gets all of the workflow runs for the repository
Returns:
An array with position 0 being boolean to signify success/failure and position 1 being the response or error message.
- Type
- Array
-
<async, inner> lockContainer(containerName)
-
Locks a container by creating a lock file in the container.
Parameters:
Name Type Description containerNamestring The name of the container to lock.
Returns:
A promise that resolves to an array containing status and message.
- Type
- Promise.<Array>
-
<async, inner> mergeBranchToMain(branchName, mySha [, commitDescription])
-
Merges a specified branch into the main branch by creating a pull request.
Parameters:
Name Type Argument Default Description branchNamestring The name of the branch to merge into main.
myShastring The SHA of the commit to use as the head of the pull request.
commitDescriptionstring <optional>
'Performed CRUD operation on objects.' The description of the commit.
Returns:
A promise that resolves to an array containing success status, message, and response.
- Type
- Promise.<Array>
-
<async, inner> readObjects(containerName)
-
Reads objects from a specified container using the GitHub API.
Parameters:
Name Type Description containerNamestring The name of the container to read objects from.
Returns:
Status, message, and contents
- Type
- Promise.<Array>
-
<inner> releaseContainer(repoMetadata)
-
Releases a container by unlocking it and merging the branch
Parameters:
Name Type Description repoMetadataObject The metadata object
Returns:
Status, message, and response
- Type
- Promise.<Array>
-
<async, inner> unlockContainer(containerName, commitSha, branchName)
-
Unlocks a container by deleting the lock file in the container.
Parameters:
Name Type Description containerNamestring The name of the container to unlock.
commitShastring The SHA of the commit to use as the head of the pull request.
branchNamestring The name of the branch to unlock the container on.
Returns:
A promise that resolves to an array containing status and message.
- Type
- Promise.<Array>
-
<async, inner> updateObject(containerName, objName, key, value [, dontWrite] [, system] [, whiteList])
-
Updates an object in a specified container
Parameters:
Name Type Argument Default Description containerNamestring The name of the container containing the object
objNamestring The name of the object to update
keystring The key of the object to update
valuestring The value to update the key with
dontWriteboolean <optional>
false A flag to indicate if the object should be written back
systemboolean <optional>
false A flag to indicate if the update is a system call
whiteListArray <optional>
[] A list of keys that are allowed to be updated
Returns:
Status, message, and response
- Type
- Promise.<Array>
-
<async, inner> writeObject(containerName, obj, ref, mySha)
-
Writes an object to a specified container using the GitHub API.
Parameters:
Name Type Description containerNamestring The name of the container to write the object to.
objobject The object to write to the container.
refstring The reference to use when writing the object.
myShastring The SHA of the current file if updating.
Returns:
Status, message, and response
- Type
- Promise.<Array>
Mediumroast for GitHub API and SDK