cf-git-providers
An NPM module/CLI for interacting with various git providers
Using the CLI
Install
In case you have node.js installed you can easily install with NPM:
npm install -g @codefresh-io/cf-git-providers
Or you can run it as a Docker container:
docker run -it --rm --entrypoint "sh" codefresh/cgp
Authenticate
To use the cli tool you will need to provide it with a Codefresh git context which you can get by using the codefresh-cli:
codefresh get context <context-name> -o json --decrypt | base64
Then, to provide this value to the cli by adding it to each command with the flag --git-context
or (preferably) by exporting the CF_GIT_CONTEXT
environment variable, example:
export CF_GIT_CONTEXT=$(codefresh get context <context-name> -o json --decrypt | base64)
Usage
Examples:
-
To get the list of repositories for a specific owner:
cgp list repos --owner codefresh-io
-
To create a repository webhook:
cgp create webhook --owner codefresh-io --repo cli --endpoint http://example.com --secret some-secret
Using the npm module
Install
With npm:
npm install @codefresh-io/cf-git-providers
With yarn:
yarn add @codefresh-io/cf-git-providers
Usage
import { getProviderByContext } from '@codefresh-io/cf-git-providers'
(async function () {
try {
const provider = await getProviderByContext(gitContext, providerOptions)
const fileContents = await provider.fetchRawFile({ owner, repo, ref, path })
console.log(fileContents)
} catch (error) {
console.error(error)
}
})()