@codefresh-io/cf-git-providers

An NPM module/CLI for interacting with various git providers

Usage no npm install needed!

<script type="module">
  import codefreshIoCfGitProviders from 'https://cdn.skypack.dev/@codefresh-io/cf-git-providers';
</script>

README

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)
    }
})()