Coder Social home page Coder Social logo

sitture / commit-status Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 25.0 3.72 MB

A React based simple app that shows a list of projects with their Github commit status and use it as a dashboard to view status of your CI pipelines.

Home Page: https://sitture.github.io/commit-status

License: MIT License

HTML 3.91% CSS 14.80% JavaScript 81.29%
ci-status commit-status commitstatus dashboard hacktoberfest monitoring reactjs status

commit-status's People

Contributors

adin234 avatar ameybhavsar24 avatar asadkhalid305 avatar asadrajput2 avatar baptiste-gislot avatar dependabot[bot] avatar eliasjuniornino avatar ffeliks avatar gabrielbs avatar giubatt avatar haroon-sheikh avatar hosseinnedaee avatar johachi avatar macanrox avatar ondrej-merkun avatar prateek93a avatar priyankaa2503 avatar sachin9663 avatar sachinttn9663 avatar shravan-balasubramanian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

commit-status's Issues

Make github login optional

Currently the root of the application requires you to login with github to begin.

We should change it so that it's an optional login to add private repositories.

Otherwise, we should allow to add public repositories.

show all sub-statuses of a project

Task

  • Currently when click on a project (https://sitture.github.io/commit-status), it shows the commit history of the project. But we'd like to change that so that clicking on the project shows git commit status of each tasks in the project and each status links to details in a new tab/window.

E.g.

Project A

  • Sub Status 1
  • Sub Status 2

Add a overall auto-fresh toggle

Add a toggle button to top right corner of the app to enable/disable auto refreshing.

  • Toggle text = Enable Auto Refresh when disabled and Disable Auto Refresh when enabled.

[Bug] Resetting Project Details on Projects Upsate

Behavior:

The state for project details is reset every time the projects as a whole are updated. This causes the project details to close (if they are open) and also for the individual auto refresh to be reset.

To replicate:

  1. Change the interval timer to 1000ms on row 87 of ProjectList.js
autoRefreshProjectStatuses = () => {
  if(this.state.projects.length && !this.state.authoRefreshIntervalId) {
    const authoRefreshIntervalId = setInterval(() => {
      this.loadProjectStatuses();
    }, 20000) // <- Change to 1000
    this.setState({authoRefreshIntervalId})
  } else if(!this.state.projects.length && this.state.authoRefreshIntervalId) {
    clearInterval(this.state.authoRefreshIntervalId);
    this.setState({authoRefreshIntervalId: null})
  }
}
  1. Start the application
  2. Try to open project details.

Step 1 is not necessary, but without it, you will have to wait 20 sec instead of 1 for the bug to appear.

Expected behavior:

Opened project details should stay open even after refreshing projects.
The project should still be set to auto update enable if it has been set to enabled.

Add ability to filter by status of the projects

Add ability to filter by status of the projects

  • Add a tabbed view to filter projects by All/Unhealthy
  • All shows a full list of projects
  • Unhealthy shows list of failed projects only

Example:
image

Add Login with Github feature

Task

  • Add the ability to login and authenticate with github

So that we can then use the oauth tokens to fetch the commit status

Show a count of sub commit statuses

Task

  • For each project status row, show a count of all sub commit-statuses

E.g.

Current:
image

${project} ${status}

New:
sitture/commit-status success [5/5]
sitture/commit-status failure [2/5]
${project} ${status} [$count]

Fix an issue with getting latest status of master

We currently get the commit status by hitting this endpoint https://api.github.com/repos/cucumber/cucumber-jvm/commits/master/status

But REF master does not always return the status and errors in 404.

Tasks

Change the api call to fetch status using the commit ref instead of master

  • Get the latest commit ref from master
  • Use the latest commit ref to fetch the commit status

E.g.

https://api.github.com/repos/cucumber/cucumber-jvm/commits/master/status returns ❌
https://api.github.com/repos/cucumber/cucumber-jvm/commits/bb97c6943659018e5e8496aff6a18d73eec06f26/status πŸ†—

Update the project card background based on the status

Task

  • Update the project card background based on the status. E.g. if the status is success then change the background of the project card to green.
  • Remove the status column
  • Right align the action to remove project

Add a message when there are no projects added

When there are no project, should add a message saying No projects are being monitored.

Where there are projects with status passed, and using unhealthy filter tab should show a text All projects are green.

Make github login prettier

Currently the initial github login page isn't responsive on mobiles.

image

Tasks

  • Update styling to make login module prettier
  • Update application title to commit-status

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.