jbeveland27 / nr1-github-repository-explorer

Displays GitHub Repository Data in New Relic One

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

New Relic One - GitHub Repository Explorer

Table of Contents

Objective

Create a New Relic One application that leverages platform features and queries the GitHub GraphQL API for repository information.

Usage

This integration for the New Relic One platform adds the ability to browse repositories directly within New Relic One. This application leverages the GitHub GraphQL API, so users need to create a Personal Access Token in order to authenticate. This token will be stored securely with New Relic One's NerdStorage API.

It's recommended to create a dedicated personal access token with readonly permissions for use with this application. You will need to grant repo scopes if you want private repository data to show up in the application. Instructions can be found here.

Getting Started

Prerequisites

Download the New Relic One CLI

Clone Repository

git clone https://github.com/jbeveland27/nr1-github-repository-explorer.git

Install Dependencies and Run

npm install
npm start

Visit https://one.newrelic.com/?nerdpacks=local and ✨

Screenshots

Launcher: screenshot 1

Authentication: screenshot 2

Authentication Error Flow: screenshot 3

Repositories View: screenshot 4

Filtering Repositories: screenshot 5

Filtering Repositories - No Results: screenshot 6

Deleting Token from NerdStorage: screenshot 7

Notes

  • This project borrowed some ideas and code present in the nr1-github and nr1-workshop projects. I have made references in the code to where things were borrowed to give proper attribution.
  • The GraphQL query given with the assignment is still present in the project here. I elected to extend it a bit to gather some more data for display in the table.
  • Apollo GraphQL was chosen for interacting with the GitHub GraphQL API as it's the industry-standard GraphQL client and has a robust feature set. It was only used here for two API calls, but it's flexibility would be useful in the future if this project were to be extended to interact with more GraphQL data.

About

Displays GitHub Repository Data in New Relic One


Languages

Language:CSS 55.7%Language:JavaScript 44.3%