Git Action Integration

InsightFinder can source the change events from GitAction and correlate it with other data to generate anomalies and root causes. Below documentation is a walk through of how to configure Git Action and InsightFinder integration.

Project Configuration

Information needed:

  1. URL – https://app.insightfinder.com/api/v1/deploymentEventReceive
  2. UserName – Your InsightFinder user
  3. License Key – Your InsightFinder user license key. You can find that in “Account Profile”.
  4. Project Name – As created above.
  5. Instance Name – Choose any instance name.

Project Creation

  1. Create a custom project in InsightFinder. Go to “Settings”->“System Settings”. Click on “Add New Project”. Select “Custom” and then click on “Create Project”.
  2. Select “Instance Type” as “Private Cloud”, “Data Type” as “Change Events” and “Agent Type” as “Live Streaming”
    (See Figure 1)
  3. On the next page, input “Project Name” and “System Name”. These could be the same or different. Leave everything else as default.
    (See Figure 2)
  4. You will see a message like below.
    (See Figure 3)

Git Event Creation

  1. Go to your git repository and to “/.github/workflows/” path
  2. Create a new file and name it with extension as .yml
  3. Add the below script there and commit the file. Everything highlighted needs to be filled with configurations from the above section.

name: CI

# Controls when the workflow will run
on:
# Triggers the workflow on push for the main branch
push:
branches: [ main ]

jobs:
# This workflow contains a single job to send the commit message to InsightFinder by Post request call
curl:
# The type of runner that the job will run on
runs-on: ubuntu-latest
steps:
– name: send deployment data
uses: dkershner6/post-api-call-action@v1
with:
# URL to send post request to
url: https://app.insightfinder.com/api/v1/deploymentEventReceive
# JSON string of data to pass into request, including the InsightFinder projectName, userName and the licenseKey
# In the deploymentData, you need to set the InstanceName, the timestamp and the data is auto generated
data: ‘{“projectName”:””,”userName”:””, “licenseKey”:””,”deploymentData”:[{“instanceName”:””, “timestamp”: “${{github.event.repository.pushed_at}}000”, “data”:${{toJSON(github.event.commits[0])}}}]}’
headers: ‘{“agent-type”:”Stream”}’

Figures

Click on an image to expand.