github commit source GitHub Commit Source

Provided by: "Apache Software Foundation"

Support Level for this Kamelet is: "Stable"

Receive commit From GitHub.

Configuration Options

The following table summarizes the configuration options available for the github-commit-source Kamelet:

Property Name Description Type Default Example

branch

Branch

Required The branch we want to consume commit from.

string

oauthToken

OAuth Token

Required OAuth token.

string

repoName

Repository Name

Required The GitHub Repository name.

string

repoOwner

Repository Owner

Required The repository owner.

string

startingSha

Starting SHA

Required The SHA from which we want to consume, possible values beginning, last or a specific SHA.

string

last

Dependencies

At runtime, the github-commit-source Kamelet relies upon the presence of the following dependencies:

  • camel:jackson

  • camel:github

  • camel:kamelet

Camel JBang usage

Prerequisites

  • You’ve installed JBang.

  • You have executed the following command:

jbang app install camel@apache/camel

Supposing you have a file named route.yaml with this content:

- route:
    from:
      uri: "kamelet:timer-source"
      parameters:
        period: 10000
        message: 'test'
      steps:
        - to:
            uri: "kamelet:log-sink"

You can now run it directly through the following command

camel run route.yaml

Camel K Environment Usage

This section describes how you can use the github-commit-source.

Knative source

You can use the github-commit-source Kamelet as a Knative source by binding it to a Knative object.

github-commit-source-pipe.yaml
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
  name: github-commit-source-pipe
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1
      name: github-commit-source
    properties:
      branch: The Branch
      oauthToken: The OAuth Token
      repoName: The Repository Name
      repoOwner: The Repository Owner
      startingSha: The Starting SHA
  sink:
    ref:
      kind: Channel
      apiVersion: messaging.knative.dev/v1
      name: mychannel

Prerequisite

You have Camel K installed on the cluster.

Procedure for using the cluster CLI

  1. Save the github-commit-source-pipe.yaml file to your local drive, and then edit it as needed for your configuration.

  2. Run the source by using the following command:

    kubectl apply -f github-commit-source-pipe.yaml

Procedure for using the Kamel CLI

Configure and run the source by using the following command:

kamel bind github-commit-source -p "source.branch=The Branch" -p "source.oauthToken=The OAuth Token" -p "source.repoName=The Repository Name" -p "source.repoOwner=The Repository Owner" -p "source.startingSha=The Starting SHA" channel:mychannel

This command creates the Kamelet Pipe in the current namespace on the cluster.

Kafka source

You can use the github-commit-source Kamelet as a Kafka source by binding it to a Kafka topic.

github-commit-source-pipe.yaml
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
  name: github-commit-source-pipe
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1
      name: github-commit-source
    properties:
      branch: The Branch
      oauthToken: The OAuth Token
      repoName: The Repository Name
      repoOwner: The Repository Owner
      startingSha: The Starting SHA
  sink:
    ref:
      kind: KafkaTopic
      apiVersion: kafka.strimzi.io/v1beta1
      name: my-topic

Prerequisites

  • You’ve installed Strimzi.

  • You’ve created a topic named my-topic in the current namespace.

  • You have Camel K installed on the cluster.

Procedure for using the cluster CLI

  1. Save the github-commit-source-pipe.yaml file to your local drive, and then edit it as needed for your configuration.

  2. Run the source by using the following command:

    kubectl apply -f github-commit-source-pipe.yaml

Procedure for using the Kamel CLI

Configure and run the source by using the following command:

kamel bind github-commit-source -p "source.branch=The Branch" -p "source.oauthToken=The OAuth Token" -p "source.repoName=The Repository Name" -p "source.repoOwner=The Repository Owner" -p "source.startingSha=The Starting SHA" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic

This command creates the Kamelet Pipe in the current namespace on the cluster.