Giter VIP home page Giter VIP logo

jubilant-todo-tribble's People

Contributors

bantolomeus avatar husterknupp avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

jubilant-todo-tribble's Issues

Find and store todos with context

  • find not too excessive way to iterate trough file tree
  • printout number of files included in the repo
  • find all todos

store:

  • each todo line number
  • literal code line of todo
  • 7 lines of context (if given) up and 7 lines down
  • email + user name of committer (for now project creator see #3)

Connect to gitlab

Read codebase of arbitrary repo and walk path

  • arbitrary gitlab repo:
  • find a way to get all files and folders in a repo
  • find gitlab endpoint url for a file
  • auth needed for read access?
  • printout single line to see that the reading works

make component selectable

We do not really want to use one standard component in all Jira issues. Thats why we want to be able to select a component that already exists or create a new component.

  • implement a frontend component that enables component selection
  • enable component creation

Cover todo scanning with tests

  • todo moves line up, text doesn't change -> changed todo (consider context change?)
  • todo moves line down, text doesn't change -> changed todo (consider context change?)
  • todo stays in the same line, text changes -> new todo/changed todo (levenstein distance?)
  • todo has same text as another todo in the same file at another line -> new todo
  • todo stays the same, all together -> no change

case 1,2 (consider context change) / 3 (word difference) should be done in another issue

Deploy the app somewhere

Should have

  • permanent internet and cpu access
  • access to gitlab and jira

Out of scope: easy deployment process. Building on whatever server and restarting should suffice for the start.

Banto's Build Brocess

mvn clean package -U should lead to

  • no maven dependency errors and
  • ideally a BUILD SUCCESS maven output

Please provide a console output with details for a broken build.

Connect to Jira

Programmatically create an issue

  • find jira endpoint url/method for creating new issues
  • how to do auth?
  • don't put Jira url or any credentials in code base
  • use dev project (get id)
  • use issue engineering issue type (get id)
  • define assignee
  • define issue title
  • define issue description
  • implement the connection
  • log that new issue has been created

Endpoint for status check

on GET /stats show me

  • what repo(s) are being scanned?
  • how many todos have been found?
  • when was the last scan?
  • was there an error?

Multiple repos should be configurable

Currently one can specify only one component to scan. It makes sense to enable more than one repo.

  • Let's make arbitrarily many different gitlab repos configurable in the yaml
  • How to persist todos?
  • Map from repoId to todo list?

Make Credentials uncommitable

Currently git does not ignore the credentials class which is pretty annoying for every commit

Let's read a Credentials file or our already exisiting application.yaml even for the tests.

Track todos in configurable jira issue

  • Put todos in ticket description
  • Currently we talk only to Jira. So having one configurable Jira issue id should be enough to track the progress there via API calls.
  • Also the already tracked todos should not be removed when a new one comes. But new ones should be added at the end

Format should look like this
( ) Todo in ${repoId} (branch ${branchName}) - ${fileUrl} Line ${lineNumber}

Reuse Jira session

.. and not create tokens with every new request. Avoid being the session creation leader

Read ticket number from commit

It would be nice if todos would be added to a ticket that I'm anyway working on so that I can make the progress of an issue more transparent

Either by looking in the commit message or by parsing the todo itself

format could be like
for Jira

  • commit message [DEV-123] comited some code
  • todo string: // todo something needs to be done (DEV-123)

and this for github

  • commit message #20 comited some code
  • // todo something needs to be done (20)

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.