6DEV0DEVDEV-2c43dd5f41-41
Github: Research API and list of java frameworks -->
github/pom.xmlYurii Dubinkayurii.dubinka@gmail.com3960DEV6-85c59e7554-55
Github object which implements {@link org.dgroup.lazylead.api.TicketingSystem} is required.
github/src/test/java/org/dgroup/lazylead/github/GithubTestIT.javaYurii Dubinkayurii.dubinka@gmail.com9960DEV6-3a1e386555-56
Github object which implements {@link TicketingSystem} is required.
lazylead-github/src/test/java/io/github/dgroup/lazylead/github/GithubTestIT.javaYurii Dubinkayurii.dubinka@gmail.com10860DEV6-794ab67455-56
Github object which implements {@link System} is required.
lazylead-github/src/test/java/io/github/dgroup/lazylead/github/GithubTestIT.java@dgroupyurii.dubinka@gmail.com7DEV0DEVDEV-8c5b33ff41-41
Trello: Research API and list of java frameworks -->
trello/pom.xmlYurii Dubinkayurii.dubinka@gmail.com8DEV0DEVDEV-7b6d80ce41-41
Jira: Port the current implementation of LL -->
jira/pom.xmlYurii Dubinkayurii.dubinka@gmail.com11DEV30DEVDEV-904dcc8c28-29
Add hamcrest matchers to each interface into corresponding java package in order to simplify the unit testing process.
api/src/main/java/org/dgroup/lazylead/jira/user/package-info.javaYurii Dubinkayurii.dubinka@gmail.com12DEV0DEVDEV-aeb3234413-13
The logs(including GC) should be placed into STDOUT in order to store it externally with sharding etc...
.docker/docker-compose.ymlYurii Dubinkayurii.dubinka@gmail.com13DEV0DEVDEV-d83df77f37-38
Implementation is required for RemindAboutTasksWithoutOriginalEstimations#action
jira/src/main/java/org/dgroup/lazylead/jira/annoying/RemindAboutTasksWithoutOriginalEstimations.javaYurii Dubinkayurii.dubinka@gmail.com14DEV0DEVDEV-abb64c3034-35
Implementation is required for DueDateInPastOrSeemsToExpireSoon#action.
jira/src/main/java/org/dgroup/lazylead/jira/annoying/DueDateInPastOrSeemsToExpireSoon.javaYurii Dubinkayurii.dubinka@gmail.com15DEV0DEVDEV-16aa7edd34-35
Implementation is required for RemindAboutMissingTimeSpent#action
jira/src/main/java/org/dgroup/lazylead/jira/annoying/RemindAboutMissingTimeSpent.javaYurii Dubinkayurii.dubinka@gmail.com16DEV0DEVDEV-823bca8d39-40
Implementation is required for PrintTeamCapacityToNewlyCreatedTickets#action
jira/src/main/java/org/dgroup/lazylead/jira/annoying/PrintTeamCapacityToNewlyCreatedTickets.javaYurii Dubinkayurii.dubinka@gmail.com17DEV0DEVDEV-45e7e98a26-27
Create a template with header/footer sections in order to avoid code duplication in future.
jira/src/main/java/org/dgroup/lazylead/jira/annoying/package-info.javaYurii Dubinkayurii.dubinka@gmail.com18DEV0DEVDEV-40bd2cb836-37
Implementation is required including qulice issues for Fetch#apply.
jira/src/main/java/org/dgroup/lazylead/jira/Fetch.javaYurii Dubinkayurii.dubinka@gmail.com19DEV0DEVDEV-514e2a2847-48
this.url(): Avoid hardcode of `.com` and define a new object. The pmd issues below should be fixed as well.
jira/src/main/java/org/dgroup/lazylead/jira/issue/IssueEnvelope.javaYurii Dubinkayurii.dubinka@gmail.com80190DEV19-9ffdc00248-49
add integration test for class The pmd issues below should be fixed as well.
jira/src/main/java/org/dgroup/lazylead/jira/issue/IssueEnvelope.javarebe1207skakunenko@gmail.com20DEV0DEVDEV-ad4e094434-34
Implementation is required including qulice issues.
jira/src/main/java/org/dgroup/lazylead/jira/filter/FilterOf.javaYurii Dubinkayurii.dubinka@gmail.com21DEV0DEVDEV-537dab5b28-29
Add more documentation and explanation how to use and configure jira filter properly in order to be used by @lazylead.
jira/src/main/java/org/dgroup/lazylead/jira/filter/package-info.javaYurii Dubinkayurii.dubinka@gmail.com22DEV0DEVDEV-b4c4cfce38-40
Create a new user for the public atlassian bug tracker in order for integration testing. The credentials should be placed somewhere to the external configuration.
jira/src/test/java/org/dgroup/lazylead/jira/JiraTest.javaYurii Dubinkayurii.dubinka@gmail.com23DEV0DEVDEV-4845b17741-41
Split tests to unit and integrational. -->
jira/pom.xmlYurii Dubinkayurii.dubinka@gmail.com24DEV0DEVDEV-be38d4aa65-65
Choose only 1 framework for access to Jira instances -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com25DEV30DEVDEV-68caeecd143-143
Activate Junit5 library for unit tests. -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com31DEV0DEVDEV-b3fbf49f64-64
Trello object which implements TicketingSystem -->
trello/pom.xmlYurii Dubinkayurii.dubinka@gmail.com32DEV0DEVDEV-8f9a95a053-53
Move the trello client to the separate class.
trello/src/test/java/org/dgroup/lazylead/trello/TrelloTestIT.javaYurii Dubinkayurii.dubinka@gmail.com33DEV0DEVDEV-ebda723878-78
Move the Board to the separate class
trello/src/test/java/org/dgroup/lazylead/trello/TrelloTestIT.javaYurii Dubinkayurii.dubinka@gmail.com34DEV0DEVDEV-a8d36d2a3-3
Define openshift template
.docker/docker-compose.ymlYurii Dubinkayurii.dubinka@gmail.com35DEV0DEVDEV-99b30ce330-30
ID based hamcrest matcher for the entities.
trello/src/main/java/org/dgroup/lazylead/trello/domain/Entity.javaYurii Dubinkayurii.dubinka@gmail.com36DEV0DEVDEV-2c86d22531-31
Name based hamcrest matcher for the entities.
trello/src/main/java/org/dgroup/lazylead/trello/domain/Entity.javaYurii Dubinkayurii.dubinka@gmail.com37DEV0DEVDEV-8efef43e44-44
Trello issue implementation is required
trello/src/main/java/org/dgroup/lazylead/trello/Trello.javaYurii Dubinkayurii.dubinka@gmail.com38DEV0DEVDEV-e48606af95-95
Increase code coverage to 50%+ -->
jira/pom.xmlYurii Dubinkayurii.dubinka@gmail.com40DEV0DEVDEV-cd012d2f38-38
Initiate CLI start point -->
cli/pom.xmlYurii Dubinkayurii.dubinka@gmail.com41DEV0DEVDEV-34b5780c39-39
Define initial configuration structure -->
cli/pom.xmlYurii Dubinkayurii.dubinka@gmail.com49410DEV41-1399ea0a45-45
Find a way to parse YML tag as a {@link java.util.Map}.
cli/src/test/java/org/dgroup/lazylead/cli/YmlConfigurationSmokeTest.javaYurii Dubinkayurii.dubinka@gmail.com66410DEV41-ce006d0980-81
Find a way how to pass arguments to the quartz job. Read more here https://goo.gl/WYNLhi.
cli/src/test/java/org/dgroup/lazylead/cli/QuartzConfigurationSmokeTest.java@dgroupyurii.dubinka@gmail.com67410DEV41-8e56031f118-122
Find a way how to override the default scheduler worker/thread naming pattern in order to see in the thread dumps the name of particular task during troubleshooting. Now it's something like <em>[DefaultQuartzScheduler_Worker-3]</em>, but it should be like <em>[TEAMID_BUGTRACKINGSYSTEM_TASKID]</em>
cli/src/test/java/org/dgroup/lazylead/cli/QuartzConfigurationSmokeTest.java@dgroupyurii.dubinka@gmail.com68410DEV41-1658acf7184-186
Find a way how to initiate immutable quartz jobs. Potentially it can be done using {@link JobFactory}. For example, we can start research from {@link org.quartz.simpl.SimpleJobFactory}.
cli/src/test/java/org/dgroup/lazylead/cli/QuartzConfigurationSmokeTest.java@dgroupyurii.dubinka@gmail.com69410DEV41-8959881531-32
Find a way how to use the instances of Annoying within quartz jobs.
api/src/main/java/org/dgroup/lazylead/api/Annoying.java@dgroupyurii.dubinka@gmail.com74410DEV41-1fcb79b481-82
Override the size of the default thread pool for quartz jobs executions.
cli/src/test/java/org/dgroup/lazylead/cli/QuartzConfigurationSmokeTest.java@dgroupyurii.dubinka@gmail.com88410DEV41-405baf7938-44
Verify that Team objects have the proper properties from YAML file. Implement a new matcher 'TeamIs' in 'api' module, package 'org.dgroup.lazylead.api.yaml'. See YmlConfigurationSmokeTest for expected scenarios. Each test should contain single AssertThat statement and in ideal case the size of method's body should be only 5 lines, for example, IsEntityTest#matches().
cli/src/test/java/org/dgroup/lazylead/cli/yaml/TeamsTest.javaYurii Dubinkayurii.dubinka@gmail.com89410DEV41-b052a4b9198-198
*.yaml - Transform system to TicketingSystem.
cli/src/main/java/org/dgroup/lazylead/cli/yaml/TeamsV1.javaYurii Dubinkayurii.dubinka@gmail.com90410DEV41-4a81c184199-199
*.yaml - Transform action to Annoying.
cli/src/main/java/org/dgroup/lazylead/cli/yaml/TeamsV1.javaYurii Dubinkayurii.dubinka@gmail.com109410DEV41-0d880083123-127
Add environment variables from OS to team properties. The team properties will contains properties defined: - within the each team in YAML file; - as global properties for all teams in YAML file; - as OS environment variables.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/yaml/TeamsV1.java@dgroupyurii.dubinka@gmail.com110410DEV41-7d4f98d535-35
Unit test is required once #81 is completed.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/annoying/AnnoyingOf.javaYurii Dubinkayurii.dubinka@gmail.com111410DEV41-0ced8dfa34-35
The system should be built considering type. Remove the "PMD.UnusedFormalParameter" once completed.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/ts/SystemOf.javaYurii Dubinkayurii.dubinka@gmail.com112410DEV41-09b5db7c66-67
Move the unnecessary fields to the TaskEnvelope once it will be delivered within the #88.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/ts/TaskOf.javaYurii Dubinkayurii.dubinka@gmail.com113410DEV41-c698211561-61
The envelope should receive the instance of {@link System}.
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/system/Envelope.javaYurii Dubinkayurii.dubinka@gmail.com133410DEV41-e1bab84636-36
Tests for negative scenario's are required
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/annoying/AnnoyingOf.javadgroupyurii.dubinka@gmail.com43DEV0DEVDEV-3a81e37c37-37
Replace JUnit 5 with 4.xx
trello/src/test/java/org/dgroup/lazylead/trello/domain/IsEntityTest.javaYurii Dubinkayurii.dubinka@gmail.com103430DEV43-ceb63fe630-31
Minitest+integration test - define approach like maven profile for java-based applications.
test/lazylead/smtp_test.rbYurii Dubinkayurii.dubinka@gmail.com104430DEV43-fd5cb07747-47
email-related properties should be exported to the CI env
test/lazylead/smtp_test.rbYurii Dubinkayurii.dubinka@gmail.com70DEV0DEVDEV-ae2d517c78-78
Use o.l.c.m.Assertion instead of AssertThat. Also, activate the de.thetaphi:forbiddenapis mvn plugin in order to forbid the usage of AssertThat. -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com71DEV0DEVDEV-bdb5866985-85
Execute the unit/integration tests concurrently, for example 4 threads in order to speedup the testing procedure. -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com72DEV0DEVDEV-73ef4e1e111-111
Ensure that the unused dependencies won't be added as the required dependencies for the children modules. For example, "jira" module doesn't need a dependency on "snakeyml".-->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com78Dev0DEVDev-380f7b5c25-25
add tocken retrieve for trello.com -->
trello/pom.xmlrebe1207skakunenko@gmail.com81DEV0DEVDEV-70b49cb147-47
this.url(): Avoid hardcode of `.com` and define a new object.
jira/src/main/java/org/dgroup/lazylead/jira/issue/IssueEnvelope.javarebe1207skakunenko@gmail.com85DEV0DEVDEV-b8d50f0a29-29
Use `org.dgroup` as a group and `lazylead` as parent. Fix changes for all submodules. -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com86DEV0DEVDEV-0714b60e35-35
Rultor: Enable integration tests on merge phase -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com91DEV0DEVDEV-75a8c318350-350
Release tagyml to maven central as separate repository and use as proper dependency. Remove 'mvn install:install-file' from rultor and circleci configs. -->
pom.xml@dgroupyurii.dubinka@gmail.com93DEV0DEVDEV-7add02f366-66
add javadoc processing in multiple threads -->
pom.xmlrebe120746130239+rebe1207@users.noreply.github.com100DEV0DEVDEV-bb0a78eb40-40
Circle CI: upload artifacts by mask instead of hardcode of the version
.circleci/config.ymlYurii Dubinkayurii.dubinka@gmail.com114DEV0DEVDEV-7b30ebc340-41
Add the tests for the negative scenarios when {@link Annoying} can't be initiated.
lazylead-cli/src/test/java/io/github/dgroup/lazylead/cli/annoying/AnnoyingOfTest.java@dgroupyurii.dubinka@gmail.com115DEV0DEVDEV-5becb5f341-42
Implementation is required for PrintTeamCapacityToNewlyCreatedTickets
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/annoying/PrintTeamCapacityToNewlyCreatedTickets.javaYurii Dubinkayurii.dubinka@gmail.com123DEV0DEVDEV-73956a9536-39
Rename children in order to avoid compound names. EmptyJira -> Empty, FakeJira -> Fake, Fetch move to package 'func', LocalJira -> Local. Remove the JiraEnvelope as not required anymore.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/JiraEnvelope.java@dgroupyurii.dubinka@gmail.com124DEV0DEVDEV-d23232bb42-44
Rename the `jql` to `sql` which is System-Query-Language. For JIRA is JQL, for Github is GHQL, for Trello TQL, etc. Change javadoc(s) accordingly.
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/System.javaYurii Dubinkayurii.dubinka@gmail.com125DEV0DEVDEV-123c062e84-84
use hamcrest-core instead of hamcrest-all -->
pom.xmlrebe1207skakunenko@gmail.com126DEV0DEVDEV-c15a0c0236-36
remove throwing YmlFormatException
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/yaml/Team.javarebe1207skakunenko@gmail.com127DEV0DEVDEV-81fd6ca833-33
rename to Fake
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/user/FakeUser.javarebe1207skakunenko@gmail.com134DEV0DEVDEV-f5c7628148-50
Add java.util.Properties to all constructors of each implementations of {@link System}. The global properties from YAML file will be placed to each system in order to instantiate the objects.
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/System.java@dgroupyurii.dubinka@gmail.com135DEV0DEVDEV-a825f05252-55
Tests for negative cases are required when - class not found/exists in the classpath - class not implements/extending the target - class has no required constructor
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/reflection/ObjectOf.javadgroupyurii.dubinka@gmail.com136DEV0DEVDEV-c48a6fae186-193
Add 'systems' tag which will contains the set of available issue-ticketing systems for the teams. The tag should be present on the same level as global 'properties', 'teams' tags and contains: - ID (unique string) - Type (jira, github or trello) - properties. The 'system' tag from {@code /teams/n/task/n/system} should be a reference to 1 entry from 'systems' tag above.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/yaml/TeamsV1.javadgroupyurii.dubinka@gmail.com137DEV0DEVDEV-954c8f8f311-311
Add a new profile for integration tests. Now the integration tests are executing by default and make take some time + external configuration is required. Let's simplify the local development process. Activate the profile with integration tests on CI -->
pom.xmldgroupyurii.dubinka@gmail.com140DEV0DEVDEV-5b151e4050-50
fix test.
lazylead-github/src/test/java/io/github/dgroup/lazylead/github/GithubTestIT.javarebe120746130239+rebe1207@users.noreply.github.com156DEV0DEVDEV-e58baf2467-67
Print help info in case if no arguments specified
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.java@dgroupyurii.dubinka@gmail.com157DEV0DEVDEV-d76d947487-87
Instantiate the Quartz jobs for @lazylead annoying actions
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.java@dgroupyurii.dubinka@gmail.com158DEV0DEVDEV-cbc38a00310-310
Release term4j to maven central as separate repository and use as proper dependency. -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com1651580DEV158-599d568b89-89
Remove this dependency as it will came with term4j -->
lazylead-cli/pom.xmlYurii Dubinkayurii.dubinka@gmail.com159DEV0DEVDEV-73bcd259328-328
Move the smoke-tests to the separate maven profile `3rd-parties-smoke-tests`.
pom.xmlYurii Dubinkayurii.dubinka@gmail.com161DEV0DEVDEV-e1240af648-48
implement methods url(), reporter(), dueDate()
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/IssueEnvelope.javaYurii Dubinkayurii.dubinka@gmail.com166DEV0DEVDEV-19d7e40633-34
Add constructor for the `Exception` and use it instead of {@code throw new ConnectivityException(exp.getMessage(), exp); }
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/ConnectivityException.javaYurii Dubinkayurii.dubinka@gmail.com167DEV0DEVDEV-290bb1b173-77
Unroll the UncheckedIOException in order to find the root cause exception. Based on the root cause exception the handling procedure should be written (and exit codes). For now we just print "Illegal @lazylead YAML configuration", but it should be done only in case when YamlFormatException is a real root cause.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.javaYurii Dubinkayurii.dubinka@gmail.com168DEV0DEVDEV-6b6f8f6378-82
Detect the `teams.yml` or `teams.yaml` automatically. The order of detection: - <em>-f</em> argument of application - <em>teams.yml</em> or <em>teams.yaml</em> from the start directory - <em>%LAZYLEAD_CONFIG%</em> environment variable
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.javaYurii Dubinkayurii.dubinka@gmail.com169DEV0DEVDEV-ee60b201109-109
Build all instances of ticketing systems defined in yaml file
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.javaYurii Dubinkayurii.dubinka@gmail.com170DEV0DEVDEV-a4a6b47943-44
Change the javadoc in all unit tests where ExpectedException is used. The javadoc for field(s) should be the same as {@link this#cause}.
lazylead-cli/src/test/java/io/github/dgroup/lazylead/cli/AppTest.javaYurii Dubinkayurii.dubinka@gmail.com171DEV0DEVDEV-233cb35c47-47
implement methods for comments.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/IssueEnvelope.javarebe1207skakunenko@gmail.com172DEV0DEVDEV-73ad138948-48
implement originalEstimation().
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/IssueEnvelope.javarebe1207skakunenko@gmail.com174DEV0DEVDEV-4fcf32de28-29
Support auto-deploy of changes within the YAML file without restart. Provide a flag to disable it (by default enabled).
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/package-info.javaYurii Dubinkayurii.dubinka@gmail.com2041740DEV174-8ffc2bec54-56
Add evict in case if ticketing system wasn't used more than 'Time-to-live' configurable parameter. The time unit for the parameter might be in milliseconds or seconds.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/system/SystemsOf.javaYurii Dubinkayurii.dubinka@gmail.com175DEV0DEVDEV-b0f3b2de117-120
Print to `xml` the details about job(s) execution - the quantity of posted comments with body - the quantity of sent emails with body Use [xembly](https://github.com/yegor256/xembly) framework to work with xml.
lazylead-cli/pom.xmlYurii Dubinkayurii.dubinka@gmail.com176DEV0DEVDEV-b95f6767135-143
Stubs for the external systems. SoapUI can be used in background mode https://community.smartbear.com/t5/SoapUI-Open-Source/How-to-run-soapUI-on-Linux-without-graphical-interface/td-p/29420. however the project should be build using GUI. The steps to be done: - Create a new SoapUI project - Send request to public jira instances(or any other external systems) and trace the request/response - Add this request/response patterns to the SoapUI project - Ensure that the SoapUI project can be called using command-line 'testrunner.bat' - https://www.soapui.org/test-automation/running-from-command-line/functional-tests.html
lazylead-cli/pom.xmlYurii Dubinkayurii.dubinka@gmail.com177DEV0DEVDEV-e308feb6120-124
Email sending: - find framework to work with email - Explain in docs how to configure properties to own email server. - Customize the framework. in case if solution became complex (or looks as a framework) then move it to the separate lib and deploy to maven central. - Expose convenient email API to `lazylead-api` module
pom.xmlYurii Dubinkayurii.dubinka@gmail.com178DEV0DEVDEV-417e8b40202-206
Acceptance tests, define the procedure. It might be: - Build *.jar with code quality checks; - Build Docker image; - Run the Docker image and save the application results to the XML file; - Ensure that XML file with results contains expected rows.
pom.xmlYurii Dubinkayurii.dubinka@gmail.com181DEV0DEVDEV-8470f7f169-70
Try to simplify the config search procedure below. The logic seems to be complex, thus we need to think about alternatives.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/arg/LazyleadOf.java@dgroupyurii.dubinka@gmail.com182DEV0DEVDEV-7751a0df37-37
Rename the Envelope considering the naming: XxxEnvelope
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/quartz/trigger/TriggerEnvelope.java@dgroupyurii.dubinka@gmail.com183DEV0DEVDEV-9b6a0b5c62-64
Use 'var' keyword from JDK10 instead of local variables. Also use String.isBlank when string is blank instead of something like {@code String.chars().allMatch(Character::isWhitespace)}.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/system/SystemOf.javaYurii Dubinkayurii.dubinka@gmail.com184DEV0DEVDEV-d4ec9fd546-48
Test for the negative case is required. By default the quartz is executing the job in separate thread(s) thus its hard to check the exception from the thread where scheduler is started.
lazylead-cli/src/test/java/io/github/dgroup/lazylead/cli/quartz/job/JobTest.javaYurii Dubinkayurii.dubinka@gmail.com185DEV0DEVDEV-05be913b36-39
Rename children in order to avoid compound names. EmptyJira -> Empty, Fetch move to package 'func', LocalJira -> Local. Remove the JiraEnvelope as not required anymore.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/JiraEnvelope.javaYurii Dubinkayurii.dubinka@gmail.com186DEV0DEVDEV-e54c5cc436-36
Rename the fakes using the following naming: FakeType
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/yaml/team/FakeTeam.javaYurii Dubinkayurii.dubinka@gmail.com189DEV0DEVDEV-f1648343106-106
Schedule the jobs using quartz scheduler.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.javaYurii Dubinkayurii.dubinka@gmail.com191DEV0DEVDEV-4a976490115-117
Tag 'cc' should be optional and can be omit during the configuration. Right now the system throws the YamlFormatException with message: "The tag `cc` is missing or has incorrect structure".
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/yaml/TeamsV1.javaYurii Dubinkayurii.dubinka@gmail.com192DEV0DEVDEV-c0c90c9c87-88
The exception handling procedure should print the exception details to the logs/std.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.javaYurii Dubinkayurii.dubinka@gmail.com193DEV0DEVDEV-9839ca68120-120
Exit in case if no jobs specified with corresponding message.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.javaYurii Dubinkayurii.dubinka@gmail.com194DEV0DEVDEV-79b63122121-121
Mechanism to wait for the modification of the YAML file.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/App.javaYurii Dubinkayurii.dubinka@gmail.com197DEV0DEVDEV-7604b60240-43
Exports Jobs interface with two methods iterator(), size(). Steps: 1) Create a new interface Jobs with two methods above 2) Rename current implementation to 'JobsOf'
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/quartz/job/Jobs.javaYurii Dubinkayurii.dubinka@gmail.com198DEV0DEVDEV-03b2b7f1283-285
Replace this complex method to HasProperty matcher once it will be released within the cactoos-matchers lib. Here is the url https://github.com/llorllale/cactoos-matchers/issues/67
lazylead-cli/src/test/java/io/github/dgroup/lazylead/cli/yaml/TeamsV1Test.javaYurii Dubinkayurii.dubinka@gmail.com205DEV0DEVDEV-1705434637-41
Use Credentials in primary constructor for all ticketing systems. Each {@link System} must have primary constructor with 2 arguments: - {@link Credentials} - {@link java.util.Properties} Based on these parameters each system should be instantiated.
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/system/Credentials.java@dgroupyurii.dubinka@gmail.com206DEV0DEVDEV-8c27e3fd138-138
Add ticketing system types like `local`, `empty`.
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/system/Credentials.javaYurii Dubinkayurii.dubinka@gmail.com207DEV0DEVDEV-0825fec251-51
Upgrade qulice to the latest version -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com208DEV0DEVDEV-a297cdb7107-112
Remove this method once tagyml v0.4.0 is released. Now the PropertiesOf(v0.3.0) throws the NPE in case if field 'properties' is null. The tag 'properties' is optional, thus it may happens often. The fix is using Alt(new PropertiesOf(...), new Properties()) which will allows to create an empty properties in case if the original is absent.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/yaml/ConfigV1.javaYurii Dubinkayurii.dubinka@gmail.com209DEV0DEVDEV-41ea5fa270-70
Add `sys` and `act` to the equals method and hashcode.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/system/TaskOf.javaYurii Dubinkayurii.dubinka@gmail.com210DEV0DEVDEV-3b6fc8bf40-41
Cleanup the constructors. It should be 2-3 main constructors. All others should be removed.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/FakeJira.javaYurii Dubinkayurii.dubinka@gmail.com214DEV0DEVDEV-ae8b17d4147-148
Research of {@link DisallowConcurrentExecution} is required in order to prevent the concurrent execution of jobs.
lazylead-cli/src/main/java/io/github/dgroup/lazylead/cli/quartz/job/Job.javaYurii Dubinkayurii.dubinka@gmail.com216DEV0DEVDEV-a02b08fe58-62
All instances of {@link Annoying} should implement the quartz {@link Job}. All such jobs should prohibit the simultaneous execution, thus, they should be annotated with {@link DisallowConcurrentExecution}. In order to prevent wrong implementations we should create the {@code AbstractAnnoying} which allows extending through ctor(s).
lazylead-cli/src/test/java/io/github/dgroup/lazylead/cli/quartz/QuartzJobSimultaneouslyTest.javaYurii Dubinkayurii.dubinka@gmail.com222DEV0DEVDEV-dfa0a46142-43
Extend the FakeIssue from lazylead-api module in order to avoid the duplicated code.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/FakeIssue.java@dgroupyurii.dubinka@gmail.com223DEV0DEVDEV-5f9fd6ba34-34
Move the jira-dependent methods to the JiraIssue
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/Issue.javaYurii Dubinkayurii.dubinka@gmail.com224DEV0DEVDEV-79cd7cc955-55
Rename to className() as its more clear
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/yaml/Task.javaYurii Dubinkayurii.dubinka@gmail.com227DEV0DEVDEV-65345d5d59-59
Jira component - new object is required
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/JiraIssue.javaYurii Dubinkayurii.dubinka@gmail.com231DEV0DEVDEV-78a7c99b38-40
Deploy SMTP server in order to use with email-based integration tests. Use the SMTP server details for the test below. For now the test is deactivated.
lazylead-email/src/test/java/io/github/dgroup/lazylead/email/JavamailSmokeTestIT.javaYurii Dubinkayurii.dubinka@gmail.com232DEV0DEVDEV-2db9ab9441-43
Move `io.github.dgroup.lazylead.email` to the separate mvn lib `pman4j` as this part of functionality is out of scope the lazylead domain. Add the overall info with github links to the root package-info.java file.
lazylead-email/src/test/java/io/github/dgroup/lazylead/email/JavamailSmokeTestIT.javaYurii Dubinkayurii.dubinka@gmail.com233DEV0DEVDEV-a62c210844-59
Add postman to YAML configuration as a separate YAML tag `postmans`. Add a reference from each task to particular `postman` instance using tag `id`. There might be several types of postmans, but for now `text` only which will send text email messages without attachments/etc. The potential YML configuration might be the following: .......................................... . postmans: . - id: default . type: text . properties: . user: mike@gmail.com . pass: BdfS42~!3 . mail.smtp.auth: true . mail.smtp.host: smtp.gmail.com . mail.smtp.port: 587 ..........................................
lazylead-email/src/test/java/io/github/dgroup/lazylead/email/JavamailSmokeTestIT.javaYurii Dubinkayurii.dubinka@gmail.com237DEV0DEVDEV-11198a9b36-36
Use the smtp properties from mbox4j once 0.2.0 is released.
lazylead-cli/src/test/java/io/github/dgroup/lazylead/cli/email/GmailSmtpProperties.javaYurii Dubinkayurii.dubinka@gmail.com239DEV0DEVDEV-87030aef40-40
fix method returning null.
lazylead-api/src/main/java/io/github/dgroup/lazylead/api/comment/FakeComments.javaYurii Dubinkayurii.dubinka@gmail.com240DEV0DEVDEV-457fcdbb36-36
add mechanism how to use Issue without real Jira rest client.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/Silent.javaYurii Dubinkayurii.dubinka@gmail.com241DEV0DEVDEV-f1569c8752-53
split implementation: move implementation of @Issue interface into another class and extend this from new Envelope
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/IssueEnvelope.javaYurii Dubinkayurii.dubinka@gmail.com242DEV0DEVDEV-592d6bef54-54
add implementation for add comments to Jira issue.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/issue/IssueEnvelope.javaYurii Dubinkayurii.dubinka@gmail.com243DEV0DEVDEV-f7b6a71837-39
Templates - give the opportunity to provide the template root per each annoying task. In case if root wasn't specified, the default root directory should be used. Remove PMD.UnusedLocalVariable once task is completed.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/annoying/DueDateInPastOrSeemsToExpireSoon.javaYurii Dubinkayurii.dubinka@gmail.com244DEV0DEVDEV-4a67479340-42
Outbox - give the opportunity to provide the email outbox per each annoying task. In case if outbox wasn't specified, the default email outbox should be used. Remove PMD.UnusedLocalVariable once task is completed.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/annoying/DueDateInPastOrSeemsToExpireSoon.javaYurii Dubinkayurii.dubinka@gmail.com245DEV0DEVDEV-d8e3b3fd37-37
add Envelope if required.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/comment/CommentOf.javaYurii Dubinkayurii.dubinka@gmail.com246DEV0DEVDEV-632f91a838-40
add implementation for email. Right now the {@link User#email()} returns "unknown@unknown.un" instead of real one.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/comment/CommentOf.javaYurii Dubinkayurii.dubinka@gmail.com247DEV0DEVDEV-d5245c2244-44
Add fields to system properties.
lazylead-jira/src/main/java/io/github/dgroup/lazylead/jira/func/Fetch.javaYurii Dubinkayurii.dubinka@gmail.com251DEV0DEVDEV-a4b2321151-51
Update qulice to the latest version -->
pom.xmlYurii Dubinkayurii.dubinka@gmail.com252DEV0DEVDEV-2250078c328-329
#/DEV Use mvn verification plugin in order to check license for the files see https://github.com/yegor256/cactoos/pull/1146/files.
pom.xmlYurii Dubinkayurii.dubinka@gmail.com105DEV0DEVDEV-b4174fd63-7
Increase code coverage from 75% to 80%+. Right now it was decreased to 75% due to long manual setup of dev. instances of Atlassian Jira and Confluence. It was configured locally and there is no automation for now how it can be included quickly into CI process. This need to be done later.
.simplecov@dgroupyurii.dubinka@gmail.com106DEV0DEVDEV-2823e14f24-25
Add indexes to all columns which have foreign keys in order to avoid full table scans.
upgrades/sqlite/001-install-main-lazylead-tables.sql@dgroupyurii.dubinka@gmail.com107DEV0DEVDEV-d797d8a427-28
Add description to each column using ANSI column command. Potentially switch to h2 is required.
upgrades/sqlite/001-install-main-lazylead-tables.sql@dgroupyurii.dubinka@gmail.com108DEV0DEVDEV-54a63de130-31
Add index by name to table persons in order to avoid full table scans during access by name.
upgrades/sqlite/001-install-main-lazylead-tables.sql@dgroupyurii.dubinka@gmail.com109DEV0DEVDEV-64f216db44-44
task.cron - add regexp verification of cron expression.
upgrades/sqlite/001-install-main-lazylead-tables.sql@dgroupyurii.dubinka@gmail.com110DEV0DEVDEV-6508c13150-53
task.cron - add support for non-cron based schedule like at, once, every. More details: https://github.com/jmettraux/rufus-scheduler https://stackoverflow.com/questions/46691666/using-constantize-to-invoke-both-a-class-and-method-from-separate-strings
upgrades/sqlite/001-install-main-lazylead-tables.sql@dgroupyurii.dubinka@gmail.com111DEV0DEVDEV-7d63e4e160-60
tasks.enabled - add index for future search. Research is required.
upgrades/sqlite/001-install-main-lazylead-tables.sql@dgroupyurii.dubinka@gmail.com112DEV0DEVDEV-e808b1a415-17
The current image size is about 150MB. The original alpine image is ~20MB. Image cleanup is required.
.docker/Dockerfile@dgroupyurii.dubinka@gmail.com113DEV0DEVDEV-dd5a75713-3
Define openshift template in order to deploy into Openshift/Kubernetes/etcN environment.
.docker/docker-compose.yml@dgroupyurii.dubinka@gmail.com114DEV0DEVDEV-356982e514-14
Add SHA2, version, release date, and url to commit.
.docker/docker-compose.ymlYurii Dubinkayurii.dubinka@gmail.com115DEV0DEVDEV-0fc56aa131-32
Test took ~5s+ and should be optimized. Potentially, a confluence HTTP client is a first candidate.
test/lazylead/task/confluence_ref_test.rbYurii Dubinkayurii.dubinka@gmail.com116DEV0DEVDEV-068f152034-38
Test fully depends on external system. Before test the external system should be cleaned up. Moreover, the test itself just creates a reference, but didn't check that the link is exist. Developer have to open the ticket and check.
test/lazylead/task/confluence_ref_test.rbYurii Dubinkayurii.dubinka@gmail.com117DEV0DEVDEV-7b40ca1737-38
Print to logger the details about emails which were sent Mail::TestMailer.deliveries.each { |m| p m.html_part.body.raw_source }
test/lazylead/task/duedate_test.rbYurii Dubinkayurii.dubinka@gmail.com118DEV0DEVDEV-c02ff15228-29
Rename xxx_test.rb to test_xx.rb as this naming is more clear.
test/lazylead/version_test.rbYurii Dubinkayurii.dubinka@gmail.com119100DEV10-74e00feb61-68
Think about using "timecop" >v0.9.1 gem in order to make E2E application skeleton https://stackoverflow.com/questions/59955571. The depedency for gemspec should be after *thin* in .gemspec .. s.add_runtime_dependency "thin", "1.7.2" s.add_runtime_dependency "timecop", "0.9.1" .. More https://github.com/travisjeffery/timecop
test/lazylead/cli/app_test.rbYurii Dubinkayurii.dubinka@gmail.com120DEV0DEVDEV-d874636635-36
Support sub-task for link search. Potentially, the issue might have sub-tasks where discussion ongoing.
lib/lazylead/task/confluence_ref.rbYurii Dubinkayurii.dubinka@gmail.com121DEV0DEVDEV-90477f0d31-32
Each task should verify input arguments. The common API should be provided for each task.
lib/lazylead/task/fix_version.rbYurii Dubinkayurii.dubinka@gmail.com122DEV0DEVDEV-466fbab469-71
Unable to find confluence pages where title has ":" symbol. The symbol ":" might be replaced by "%3A". The search needs to consider this case as well.
lib/lazylead/confluence.rbYurii Dubinkayurii.dubinka@gmail.com123DEV0DEVDEV-d00213da35-36
Add support of symbols for options in order to use both notations like opts[:endpoint] or opts["endpoint"].
lib/lazylead/exchange.rbYurii Dubinkayurii.dubinka@gmail.com124DEV0DEVDEV-7fdcbc6e33-36
Merge Smtp and Postman objects. There might be different postman's based on different mail servers, thus its better to keep together the instantiation and sending. For each type of mail servers we should have separate object.
lib/lazylead/postman.rbYurii Dubinkayurii.dubinka@gmail.com125DEV0DEVDEV-e1b7fc1a38-41
TestMail.deliveries -> store all emails to the files in /test/resources/testmailer/*.html. Right now after each test with email sending we taking the body and test it content. Quite ofter we need to check visual style in mails, etc, thus its better to store them on disk.
lib/lazylead/postman.rbYurii Dubinkayurii.dubinka@gmail.com126DEV0DEVDEV-d24b2c3433-33
Unit tests for 'issues' function
lib/lazylead/system/synced.rbYurii Dubinkayurii.dubinka@gmail.com127570DEV57-6543647835-37
The debug method should be moved outside of ctor. This was moved here from 'client' method because Rubocop failed the build due to 'Metrics/AbcSize' violation.
lib/lazylead/system/jira.rbYurii Dubinkayurii.dubinka@gmail.com128DEV0DEVDEV-dbf04b0277-80
Jira.cp - find a way how to avoid this method. Potentially, hash with indifferent access might be used. http://jocellyn.cz/2014/05/03/hash-with-indifferent-access.html key.kind_of?(Symbol) ? key.to_s : key
lib/lazylead/system/jira.rbYurii Dubinkayurii.dubinka@gmail.com129DEV0DEVDEV-409171ee30-31
Lazylead::CLI::Args add a new class which extends hash in order to access command-line arguments in easy manner.
lib/lazylead/cli/app.rbYurii Dubinkayurii.dubinka@gmail.com130DEV0DEVDEV-e234446b37-42
New scheduling types like 'at', 'once' is required. The minimum time period for cron is 1 minute and it's not suitable for unit testing, thus its better to introduce new types which allows to schedule some task once or at particular time period like in next 200ms). For cron expressions we should define separate test suite which will test in parallel without blocking main CI process.
lib/lazylead/schedule.rbYurii Dubinkayurii.dubinka@gmail.com131DEV0DEVDEV-5c42e85449-50
error code is required for reach 'raise' statement within the application.
lib/lazylead/schedule.rbYurii Dubinkayurii.dubinka@gmail.com132DEV0DEVDEV-baa3bb1459-60
inspect the current execution status. This method should support several format for output, by default is `json`.
lib/lazylead/schedule.rbYurii Dubinkayurii.dubinka@gmail.com133DEV0DEVDEV-a49d823067-68
stop the execution of current jobs (shutdown?). The test is required.
lib/lazylead/schedule.rbYurii Dubinkayurii.dubinka@gmail.com134DEV0DEVDEV-d462520a25-25
Define autoload entry point for all classes related to this gem.
lib/lazylead.rbYurii Dubinkayurii.dubinka@gmail.com135DEV0DEVDEV-a80e719e86-87
Add violation regarding methods without documentation using RDoc https://stackoverflow.com/questions/1681467/how-to-document-ruby-code
.rubocop.ymlYurii Dubinkayurii.dubinka@gmail.com136DEV0DEVDEV-1214b7cd1-2
Enable Travis CI as second CI server once the project became a public. This might be alternative for Circle CI (just in case)
todo.ymlYurii Dubinkayurii.dubinka@gmail.com137DEV0DEVDEV-6c09bce34-7
There a lot of badges in readme which aren't enabled for now. Let's enable them. Examples you may find here: - https://github.com/dgroup/lazylead/blob/0.0.0-alpha-java/readme.md - https://github.com/dgroup/docker-unittests/blob/master/readme.md
todo.ymlYurii Dubinkayurii.dubinka@gmail.com138DEV0DEVDEV-6347430d9-10
Enable DepShield badge for inspection. Example you may find [![DepShield Badge](https://depshield.sonatype.org/badges/dgroup/lazylead/depshield.svg)](https://depshield.github.io)
todo.ymlYurii Dubinkayurii.dubinka@gmail.com139DEV0DEVDEV-b03280fb12-12
Add Github integration for lazylead with the same methods as in Jira.
todo.ymlYurii Dubinkayurii.dubinka@gmail.com140DEV0DEVDEV-4b6e05a114-14
Add Trello integration for lazylead with the same methods as in Jira.
todo.ymlYurii Dubinkayurii.dubinka@gmail.com141DEV0DEVDEV-474a56c931-37
Investigate the possibility of using migrations from active_record - Rake tasks https://gist.github.com/schickling/6762581 - Gem for rake tasks https://github.com/thuss/standalone-migrations - basic example of active_record https://gist.github.com/unnitallman/944011 For now standalone-migrations looks complex and needs - complex files structure - manual specification of version(?) thus no auto-apply available
RakefileYurii Dubinkayurii.dubinka@gmail.com142DEV0DEVDEV-bfba61dc1-3
Define automatic integration between rultor and Circle CI. Right not its not clear how to automatically accept the merge requests into master. Without this integration the release history won't be clear.
.circleci/config.yml@dgroupyurii.dubinka@gmail.com147DEV0DEVDEV-9a75a90291-92
Enable sqlint into rake task chain after rubocop. For now there are 4 non-resolved violations here.
RakefileYurii Dubinkayurii.dubinka@gmail.com148DEV0DEVDEV-104de80892-96
Enable rule "Checks SQL against the ANSI syntax" fully. Right now all violations related to PRAGMA https://www.sqlite.org/pragma.html are suppressed as PRAGMA is sqlite specific option. Potential fix is to move this option into vcs4sql lib and remove from our sql files.
RakefileYurii Dubinkayurii.dubinka@gmail.com152DEV0DEVDEV-dd56936c30-31
Version should be set only in one place. No duplicates allowed. Right now its placed to 'version.rb', 'lazylead.gemspec', 'release_image.sh'.
lazylead.gemspec@dgroupyurii.dubinka@gmail.com161DEV0DEVDEV-c7625dc615-18
Original size of lazylead was 350 MB. After removing of unnecessary libraries it took 250 MB. The original alpine image is ~20MB. Image cleanup is required.
.docker/Dockerfile@dgroupyurii.dubinka@gmail.com163DEV0DEVDEV-9e48650a46-47
Define a new module Lazylead::Task with basic methods like split, groupBy(assignee, reporter, etc), blank?
lib/lazylead/task/propagate_down.rbYurii Dubinkayurii.dubinka@gmail.com166DEV0DEVDEV-6670dfbb91-94
The test has performance issue. Jira has no way how to take the emails for leads quickly due to https://bit.ly/2ZRZlWc. Thus, for each component we need to find a lead, and only then detect lead's email, thus, its took few minutes for huge projects.
test/lazylead/cc_test.rbYurii Dubinkayurii.dubinka@gmail.com176DEV0DEVDEV-d9e415ae94-97
Add error handling for StandartError with support of verbose key from ARGV like in /bin/lazylead. That will make error messages more human readable. Maybe there is some integration between Slop and ARGV in order to avoid logic duplication.
lib/lazylead/model.rbYurii Dubinkayurii.dubinka@gmail.com177DEV0DEVDEV-f5ae273735-38
Avoid logging level hard-code by using a new class like Log which will take the necessary configuration of logging level from ARGV and will allow to avoid injection of app loggers everywhere. All necessary methods might be delegated using gem 'forwardable'.
lib/lazylead/log.rbYurii Dubinkayurii.dubinka@gmail.com188DEV0DEVDEV-87159d7d48-49
Decorate ARGV with custom methods in order to avoid code duplication, like { ARGV.include? "--trace" }
bin/lazylead@dgroupyurii.dubinka@gmail.com189DEV0DEVDEV-5661d0b834-37
Find stable svn repo which can be used for stable test, for now only floating repo used for testing locally. Also, create a new method "ping" which can be used during tests like skip "No connection available to svn repo" unless ping("https://svn.com")
test/lazylead/task/touch_test.rbYurii Dubinkayurii.dubinka@gmail.com193DEV0DEVDEV-bf2cb92c80-81
accuracy.rb is using % symbol in text message and rubocop complains about it. It's false-positive violation, thus, for now ignored for this file
.rubocop.ymlYurii Dubinkayurii.dubinka@gmail.com198DEV0DEVDEV-3c86cb9f33-34
Unit tests for 'issues' function, moreover the other methods from ticketing system obj are required
lib/lazylead/system/synced.rbYurii Dubinkayurii.dubinka@gmail.com205DEV0DEVDEV-e7fc76fb43-45
error code is required for each 'raise' statement within the application. Align the naming of existing one, the error code should be like ll-xxx.
lib/lazylead/schedule.rbYurii Dubinkayurii.dubinka@gmail.com229DEV0DEVDEV-9b6b032b116-117
Gem 'mail' sends email as a single line, find a way how to add symbol '\n' to each line for email during unit testing.
test/test.rb@dgroupyurii.dubinka@gmail.com288DEV0DEVDEV-4c7bf361185-186
Remove the suppression during next refactoring (or enhancements) for the method below
lib/lazylead/model.rbYurii Dubinkayurii.dubinka@gmail.com289DEV0DEVDEV-522da350107-108
Refactor this method in order to make it more human-readable and remove the suppresion below
lib/lazylead/confluence.rbYurii Dubinkayurii.dubinka@gmail.com3273190DEV319-263edfb361-61
Verify that ticket matches expected conditions and set alert if matched.
lib/lazylead/task/alert/alertif.rbYurii Dubinkayurii.dubinka@gmail.com3323190DEV319-78c6a16236-36
Implementation of unit testing required considering a new email template.
test/lazylead/task/alert/alert_if_test.rbYurii Dubinkayurii.dubinka@gmail.com3333190DEV319-9520c3c941-41
Email template for alerts are not defined yet
lib/lazylead/task/alert/alertif.rbYurii Dubinkayurii.dubinka@gmail.com3353340DEV334-28988faf40-40
AlertIf should support rules for bulk issues. For now each rule works per issue
lib/lazylead/task/alert/alertif.rbYurii Dubinkayurii.dubinka@gmail.com351DEV0DEVDEV-7e5c982134-37
Right now its impossible to check that attachment is present in email as we removing the directory with attachments once SVN::Diff is sent the email through the postman. Think about how to test this case in automatically, because for now we are doing it manually during the development.
test/lazylead/task/svn/diff_test.rbYurii Dubinkayurii.dubinka@gmail.com400DEV0DEVDEV-a95137e2100-101
Find a way how to avoid @all initialization directly in constructor. There should be a way how to make lazy initialization of @all with 'forwardable'.
lib/lazylead/task/svn/svn.rbYurii Dubinkayurii.dubinka@gmail.com466DEV0DEVDEV-c70a098a30-31
Rename the tests name as some of them are too huge. The maximum name size should be 56 symbols as it gives fancy format for test output in terminal
test/lazylead/task/accuracy/screenshots_test.rbYurii Dubinkayurii.dubinka@gmail.com467DEV0DEVDEV-dcc0af9f183-185
The test took too much time and should be limited by 3 tickets per transaction. Use option :max_results to limit each iteration. The JQL query should be like "key>DATAJDBC-500 and key<DATAJDBC-510"
test/lazylead/system/jira_test.rbYurii Dubinkayurii.dubinka@gmail.com4683390DEV339-1a2bac9c159-164
Seems jira doesn't support the rendering of external images by url, thus so far we might have several options: - attach meme to ticket and make rendering using [^attach.jpg!thumbnail] option - have a link to meme (like it implemented now) The 1st option with attachment might generate multiple events in jira and spam ticket watchers, thus, some research & UX testing needed how to make it better.
lib/lazylead/task/accuracy/accuracy.rbYurii Dubinkayurii.dubinka@gmail.com4693390DEV339-8ae5040c34-35
Prepare the meme list and attach them to the github, section .docs/accuracy/memes As url they will be required for configuration of the each task.
lib/lazylead/task/accuracy/memes.rbYurii Dubinkayurii.dubinka@gmail.com5034950DEV495-9c3145af62-63
Find way to capture the STDOUT in order to test the email sending. Right now its just visual verification.
test/lazylead/postman_test.rbYurii Dubinkayurii.dubinka@gmail.com504DEV0DEVDEV-2f22a60d78-78
add new assert method which consume the file name and check existence on the disk
test/lazylead/postman_test.rbYurii Dubinkayurii.dubinka@gmail.com529DEV0DEVDEV-5b19ba6992-92
Enable Style/OpenStructUse rule, for now its disabled due to rubocop upgrade
.rubocop.ymlYurii Dubinkayurii.dubinka@gmail.com5345330DEV533-5acf71ff28-28
Git `grep` command is required like Lazylead::SVN::Grep
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com5355330DEV533-28fc17d730-30
Git `touch` command is required like Lazylead::SVN::Touch
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com5365330DEV533-9bd9ee0532-32
Git `diff` command is required like Lazylead::SVN::Diff
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com537DEV0DEVDEV-91fd5de146-46
Git Commit#id implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com538DEV0DEVDEV-c32e9db249-49
Git Commit#author implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com539DEV0DEVDEV-a583668752-52
Git Commit#time implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com540DEV0DEVDEV-5200ff8e55-55
Git Commit#msg implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com541DEV0DEVDEV-571a6b1658-58
Git Commit#lines implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com542DEV0DEVDEV-ad645cb061-61
Git Commit#header implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com543DEV0DEVDEV-2b3b878f65-65
Git Commit#includes? implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com544DEV0DEVDEV-32452f4c72-72
Git Commits implementation is required based on `git` ruby gem
lib/lazylead/task/git/git.rbYurii Dubinkayurii.dubinka@gmail.com5735670DEV567-56040b8743-44
Add flag with branch prefixes that could be used for future filtration Right now method .locations returns all branches, potentially that won't be needed.
lib/lazylead/task/svn/touch.rbrultorme@rultor.com5745670DEV567-859269e554-54
Add support for search over multiple branches (.locations)
lib/lazylead/task/svn/touch.rbrultorme@rultor.com5755670DEV567-e157b955104-110
Performance: improve the glob pattern to support multiple files. Right now in order to find all branches for a particular file we are using glob pattern - https://en.wikipedia.org/wiki/Glob_(programming) - https://stackoverflow.com/a/70950401/6916890 - https://globster.xyz Right now for each file we initiate a separate search request, thus we need to think how to avoid this and send only one search request
lib/lazylead/task/svn/touch.rbrultorme@rultor.com576DEV0DEVDEV-2aaead7248-48
Add support of multiline string literals, not just array of commands
lib/lazylead/os.rbrultorme@rultor.com582DEV0DEVDEV-abaf952564-64
Test timeout should fail the build instead of skipping
test/test.rb@dgroupyurii.dubinka@gmail.com5835670DEV567-4e62abfe53-53
Add more tests to ensure that changes in particular branch are visible
lib/lazylead/task/svn/touch.rbYurii Dubinkayurii.dubinka@gmail.com584DEV0DEVDEV-ea4c792a84-84
Update copyright to 2022 in all files within the project (including license.txt)
RakefileYurii Dubinkayurii.dubinka@gmail.com585DEV0DEVDEV-b37dd7d634-34
Svn::Grep Add test to check engine structure without email sending
test/lazylead/task/svn/grep_test.rbYurii Dubinkayurii.dubinka@gmail.com586DEV0DEVDEV-ef6c4b6d33-33
Svn::Diff Add test to check engine structure without email sending
test/lazylead/task/svn/diff_test.rbYurii Dubinkayurii.dubinka@gmail.com587DEV0DEVDEV-7460c41c85-86
Update copyright to 2022 for sql files as current changes of structure may lead to manual actions during installation.
RakefileYurii Dubinkayurii.dubinka@gmail.com5885720DEV572-2ddaa5f06-6
Assemble docker image in GitHub actions in order to replace Circle CI
.github/workflows/build.yml@dgroupyurii.dubinka@gmail.com5895720DEV572-8a890c628-8
Test docker image in GitHub actions in order to replace Circle CI
.github/workflows/build.yml@dgroupyurii.dubinka@gmail.com5905720DEV572-89ab01c510-10
Publish docker image in GitHub actions in order to replace Circle CI
.github/workflows/build.yml@dgroupyurii.dubinka@gmail.com5915720DEV572-2610edcd12-12
Integrate rultor with GitHub action and push docker image with particular tag
.github/workflows/build.ymlYurii Dubinkayurii.dubinka@gmail.com592DEV0DEVDEV-b06295d894-95
Enable xcop when xml/html files will be added to the project. So far there is no profit.
RakefileYurii Dubinkayurii.dubinka@gmail.com