Forum Discussion

Harithh's avatar
Harithh
Frequent Visitor
1 year ago
Solved

Seeking a Working Solution for GitHub Enterprise with PowerBI

Hi Everyone,

For context I am still a beginner in this platform and tools.

I’ve been exploring ways to integrate GitHub Enterprise with Power BI to create a dashboard that includes metrics like pending pull requests, total lines of code, and other repository insights for all repositories in our organization. I know there are template apps available for standard GitHub (github.com), but I haven’t found a best working solution for GitHub Enterprise. 
 
The docs/reference I found so far
Connect Power BI to Private GitHub Repo — Smoother Consulting (This requires creating the CSV file and I believe this wasnt the best solution based on our requirement as we need to have auto refresh for the dashboard)
 
Here’s what I’ve tried so far:
• Explored the GitHub API for Enterprise, but it’s challenging to replicate the template app functionalities entirely.
• Looked for third-party tools or connectors, but compatibility with GitHub Enterprise has been limited.
• Tried adapting the standard GitHub template app, but it didn’t work seamlessly.
 
Questions:
1. Is there any working solution that provides similar functionality to the GitHub.com template app but for GitHub Enterprise?
2. Would having a Pro license for Power BI help achieve this or is this something that are required?
3. Are there any recommended approaches or best practices for building this integration?
4.Are the metrics mentioned is possible and can consolidates all repo in our Orgs into a single dashboard? (Example :Pending PR in the Orgs)
 
Any advice, insights, or resources would be greatly appreciated!
 
Thanks in advance!
  • Anonymous's avatar
    Anonymous
    1 year ago
     Hi Harithh,
     
     Thank for reaching out in Microsoft Community Forum.

     Please follow the below steps to specify the hostname while connecting with power BI;
     
     1.usually GitHub Enterprise exposes its API at a specific URL in this format:https://<your-enterprise-hostname>/api/v3/ please replace with <your-enterprise-hostname> with the actual hostname of your GitHub Enterprise instance.
     
     2.Use Power BI's Web Connector:
    a.Open Power BI Desktop.
    b.Click on Get Data > Web.
     In the URL field, enter the GitHub Enterprise API endpoint, for example: https://<your-enterprise-hostname>/api/v3/repos
     
     3. Authenticate to the GitHub Enterprise API:
     When prompted, choose Basic Authentication or OAuth 2.0 depending on your GitHub Enterprise setup.
     For Basic Authentication: Provide your GitHub Enterprise username and a personal access token (PAT) as the password.
     For OAuth 2.0: Follow the steps outlined by your GitHub Enterprise administrator to get an OAuth token.
     
     4. Fetch Data from Specific Endpoints:
     Use the REST API endpoints relevant to your data needs, such as:
     List all repositories: https://<your-enterprise-hostname>/api/v3/orgs/<org-name>/repos
     List pull requests: https://<your-enterprise-hostname>/api/v3/repos/<owner>/<repo>/pulls
     Test the API endpoints in a browser or a tool like Postman first to ensure they return the expected data.
     
     Thank you,
     Pavan.
     

9 Replies

  • 1. No

    2. No

    3. Talk to your Microsoft rep/submit a feature request

    4. Only for standard Github.

    • Harithh's avatar
      Harithh
      Frequent Visitor

      Hi lbendlin ,thanks for the clarification.Would it be helpful if we migrate it to GitHub Enterprise to GitHub EnterPrise Cloud? If that meets our requirement we might consider migrating.

       

      Hope to hear some insights on this.

      Thanks

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Harithh,

    Thanks for reaching out in Microsoft Community Forum.

    Q1; Is there any working solution that provides similar functionality to the GitHub.com template app but for GitHub Enterprise?

    Answer; There is no existing GitHub Enterprise Power BI template app.

    Q2; Would having a Pro license for Power BI help achieve this or is this something that are required?

    Answer; Power BI Pro license is necessary for integrating GitHub Enterprise with Power BI.

    Q3; Are there any recommended approaches or best practices for building this integration?

    Answer; here we're providing some possible approaches to build this integration

    1. Utilize GitHub’s REST API to retrieve data such as pull requests and commits, make sure secure authentication with tokens.
    2. using Power BI’s Web Connector connect the GitHub API and transform the data using power query.
    3. please schedule data refresh for up-to-date data and Employ Power BI Dataflows to automate and manage the ETL process for GitHub data.
    4. increase the performance through incremental loads for large repositories
    5. setting up necessary alerts and monitor API errors

    Q4; Are the metrics mentioned is possible and can consolidates all repo in our Orgs into a single dashboard? (Example :Pending PR in the Orgs)

    Answer; Yes, we can consolidate pending PRs and other metrics from all GitHub Enterprise Repos into a single power BI dashboard with the help of GitHub API

    If you found this post helpful, please consider marking it as "Accept as Solution" and select "Yes" if it was helpful. help other members find it more easily.

    Thank you,
    Pavan.

    • Harithh's avatar
      Harithh
      Frequent Visitor

      Hi Anonymous  , thank you for your response...May I know how we can specify the hostname when connecting with power BI? seems like it currently hard coded to GitHub.com and we cant change to our enterprise hostname.

       

      Any steps or process I could follow ?

      • Anonymous's avatar
        Anonymous
        Not applicable
         Hi Harithh,
         
         Thank for reaching out in Microsoft Community Forum.

         Please follow the below steps to specify the hostname while connecting with power BI;
         
         1.usually GitHub Enterprise exposes its API at a specific URL in this format:https://<your-enterprise-hostname>/api/v3/ please replace with <your-enterprise-hostname> with the actual hostname of your GitHub Enterprise instance.
         
         2.Use Power BI's Web Connector:
        a.Open Power BI Desktop.
        b.Click on Get Data > Web.
         In the URL field, enter the GitHub Enterprise API endpoint, for example: https://<your-enterprise-hostname>/api/v3/repos
         
         3. Authenticate to the GitHub Enterprise API:
         When prompted, choose Basic Authentication or OAuth 2.0 depending on your GitHub Enterprise setup.
         For Basic Authentication: Provide your GitHub Enterprise username and a personal access token (PAT) as the password.
         For OAuth 2.0: Follow the steps outlined by your GitHub Enterprise administrator to get an OAuth token.
         
         4. Fetch Data from Specific Endpoints:
         Use the REST API endpoints relevant to your data needs, such as:
         List all repositories: https://<your-enterprise-hostname>/api/v3/orgs/<org-name>/repos
         List pull requests: https://<your-enterprise-hostname>/api/v3/repos/<owner>/<repo>/pulls
         Test the API endpoints in a browser or a tool like Postman first to ensure they return the expected data.
         
         Thank you,
         Pavan.
         
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Harithh,

    I wanted to follow up since we haven't heard back from you regarding our last response. We hope your issue has been resolved.
    If the community member's answer your query, please mark it as "Accept as Solution" and select "Yes" if it was helpful.
    If you need any further assistance, feel free to reach out.

    Thank you,
    Pavan.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Harithh,

    I wanted to follow up since we haven't heard back from you regarding our last response. We hope your issue has been resolved.
    If the community member's answer your query, please mark it as "Accept as Solution" and select "Yes" if it was helpful.
    If you need any further assistance, feel free to reach out.

    Thank you,
    Pavan.