Code Monkey home page Code Monkey logo

javiertuya / dashgit Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 994 KB

DashGit - A Dashboard for GitHub and GitLab repositories. Consolidates in a single view all your open issues, PRs, review requests, branches and statuses. Combine and merge dependency updates from dependabot PRs.

Home Page: https://javiertuya.github.io/dashgit/

License: MIT License

JavaScript 62.29% HTML 4.07% Shell 0.24% Java 33.40%
dashboard github gitlab git github-dashboard gitlab-dashboard branches build-status issues pull-requests

dashgit's Introduction

dashgit's People

Contributors

dependabot[bot] avatar javiertuya avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

dashgit's Issues

Add description to git labels

Currently labels show only the text and color. Get the description of each label and show it as a tooltip in the UI

Add follow up reminders on issues and PRs

Leveraging the existence of an update manager repository to handle the updates, add the ability to mark work items with a follow up reminder that will be stored in this repository and shown in the UI when the reminder time expires. This must support both open and closed work items.

Combined dependabot updates from the UI

Solution will consist on creating a java based updater by porting existing codebase. The user will need to set up a dedicated repo to act as backend to run the updater. From the UI, the selected updates will be send to this repo and then executed by GH Actions to create and merge the combined pull requests:

  • Port codebase to create the updater
  • Autoresolve conflicts in adjacent lines
  • Create the UI to select the updates to combine and merge (only own GitHub)
  • Integrate UI and updater (only own GitHub)
  • Complete with all providers

To address later

  • Run the Integration tests in CI
  • Address conflicts on package-locks.json

Make triage and assignment easier

The unassigned tab is used to triage, but it includes everything that has not an assignee, even the own open issues/prs. Add some option, at least to filter out the own work items.

Add closed work items with mentions to the involved tab

Motivation: Currently, the involved tab includes all open work items where the user is mentioned, among others and an indicator if there any of the notifications is unread. As there can be unread mention notifications on closed work items, it displays how many, but it does not display the content of these work items. To access these mentions we need to go to the repository, that can have many other kinds notifications (mainly in GitHub).

Add option to restrict GitLab GraphQL queries by project full paths

When running on gitlab.com, the GraphQL queries return every project that is found (up to the project limits), resulting in a low probability of finding the projects that are of interest for the user. Limiting projects by specifying membership or search gives timeouts. Therefore the only reliable approach seems to be specify a fullPaths array with the projects of interest

GitLab review request does not appear if reviewer was mentioned before requested to review

The notification of review request is used to determine if a MR appears at the assigned tab. But this is not always possible, eg. in this scenario:

  • The author makes the pull request and mentions the reviewer
  • Before the reviewer accepts the mention notification (TODO), the author requests a review
  • The reviewer still see the mention notification, but not the request review notification

Create and merge dependabot combined updates from the UI - preliminar evaluation

Currently I run combined updates using a server-based solution. It would be good to do so from the DashGit UI. Some preliminar issues to investigate:

  • Check git libraries to decide whether whether to do it on node or backport the java components
  • Decide if using auto merge (test for race conditions between PR creation and availability to set the PR as auto-merge) or pulling the merge status

Flaky behaviour getting statuses on gitlab.com

Getting statuses cause intermittent exceptions when accesing fields from the GraphQL response, eg. when accesing the repository field at the projects query. It seems that the graphql response does not always guarantees the structure of the node content. Note that this does not appear when querying an on-premises instance.

Allow ignore more than one branch

Currently, the configuration parameter Filter if label takes the string as a single label value. Convert it into an array of values to filter work items at least one of the array labels is present. A migration will be needed.

Prefactor filtering and merge work items from the APIs

Currently, to get some work items, more than one API call is made to the repository API. This leads to duplicate items that are filterd after being sorted by date. To support #39 and #40, we need refactor the way in which this works. Duplicate responses from api and other items (e.g. follow ups) must be merged by combining their properties according to their source.

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.