147 Commits

Author SHA1 Message Date
339e88cddd list contexts command now prints both the listeral context value and the display name. 4.9.0 2020-05-05 09:40:08 -05:00
0a2249018b Add ptk integration option as a command-line switch. 4.8.0 2020-04-16 10:22:56 -05:00
ec3008937d Add README, bugfix CLI configuration. 2020-03-23 09:18:44 -05:00
10fcc34ea2 Update nim-cli-util dependency version to get a fix to the queryParamsToCli function. 4.7.1 2020-03-23 08:27:30 -05:00
4127fbe41c Better PTK integration.
- Now includes the context as a PTK tag (if present).
- Add the PIT ID to the PTK notes.
4.7.0
2020-03-16 09:39:17 -05:00
0671d7728e Add helper to update version easily. 4.6.2 2020-02-16 00:57:58 -06:00
7b5f26f24a Update dependency references to use full URLs to non-central libs. 4.6.1 2020-02-14 11:21:54 -06:00
Jonathan Bernard
db3e648d47 Add tag and untag commands. 4.6.0 2019-04-18 07:43:08 -05:00
476a94c679 Add property removal behavior: specifying a property with no value removes it. 4.5.0 2019-01-24 22:30:20 -06:00
65edc56e08 Add delegate command. 4.4.4 2019-01-18 18:51:51 -06:00
d4db66a71e Updates to compile on Nim 0.19 4.4.3 2019-01-17 13:18:25 -06:00
f8ccc831ef WIP Updates to compile on Nim 0.19. 2019-01-17 11:02:46 -06:00
Jonathan Bernard
93a0a15f12 Refactored to move HTTP query params to CLI arguments translation into the cliutils package. 4.4.2 2018-10-01 21:39:35 -05:00
Jonathan Bernard
dc31d590a0 Add GET /issue/<issueId> API endpoint. 2018-10-01 11:22:48 -04:00
Jonathan Bernard
8b46cc19d8 Rename variable to avoid overloading the name. 2018-10-01 11:22:31 -04:00
Jonathan Bernard
567c2d2178 Fix a bug when asking to move an issue to the state it's already in. 4.4.1 2018-06-25 11:40:25 -05:00
Jonathan Bernard
08dfbde57f Add the ability to order issues. 4.4.0 2018-06-11 12:11:26 -05:00
Jonathan Bernard
a924d7b649 Add filters for text-matching on issue summary or details. 2018-06-11 10:19:10 -05:00
Jonathan Bernard
2404f6a3d1 Add the ability to edit all issues in a given state. 4.3.0 2018-06-06 09:43:31 -05:00
Jonathan Bernard
2b5f82203c Add list contexts, refactor display logics.
* Refactor formatting logic to better calculate needed padding between
  issues and sections.
* Add `list contexts` command to list all known contexts according to
  the contexts configuration and the contexts defined in issues.
* Be more intentional about when the default context is used. Don't
  override existing context values in issues when changing their state.
* `edit` now allows multiple issues to be edited.
* Change single-issue display to be more verbose, listing all the
  properties and tags on an issue.
4.2.0
2018-05-29 14:24:18 -05:00
Jonathan Bernard
29959a6a8d Add REST API. Refactor config logic.
The REST API is simply a wrapper around the command line (and actually
invokes the command line). It relies on the command line tool validating
its input.

Currently only the `/list` endpoint is implemented, exposing the `list`
command.
4.1.0
2018-05-18 16:06:58 -05:00
Jonathan Bernard
6f247032a3 Add created property when creating issues. 4.0.7 2018-05-14 17:17:47 -05:00
Jonathan Bernard
efd5f6adff Add versbose flag, list specific issue. 4.0.6 2018-05-14 12:21:05 -05:00
Jonathan Bernard
49c5753ef1 Add rm as an alias for delete. 4.0.5 2018-05-14 10:09:33 -05:00
Jonathan Bernard
3bdb2ecb1f Fix padding issue in context listing. 4.0.4 2018-05-14 10:04:24 -05:00
Jonathan Bernard
28569a643e Added Dormant state, auto-create task dirs.
The Dormant state is for tasks that are still outstanding but not of
immediate importance. The main different between Dormant and Todo is
that dormant tasks are not listed by default. You must
`pit list dormant` to see them.
4.0.3
2018-05-14 09:53:15 -05:00
Jonathan Bernard
97eb286e32 Reorganize project folder structure to work according to nimble package expectations. 4.0.2 2018-05-14 09:36:23 -05:00
Jonathan Bernard
fcab7a4cc6 Added add (alias for new) and delete. 4.0.1 2018-05-14 09:28:50 -05:00
Jonathan Bernard
20c82ea9ba Fix version string. 4.0.0 2018-05-14 09:13:44 -05:00
Jonathan Bernard
11b18317bd Implemented new, edit, state transitions. 2018-05-13 02:58:08 -05:00
Jonathan Bernard
d86da67284 WIP Support basic list options. 2018-05-12 11:40:15 -05:00
Jonathan Bernard
063a869b51 Remove and ignore binary artifact. 2018-05-11 21:36:05 -05:00
Jonathan Bernard
46d4db0d6a Capitalize moved to unicode module. 2018-05-11 21:35:03 -05:00
Jonathan Bernard
34e01119a9 Initial WIP of new pit (Nim). 2018-05-11 18:39:40 -05:00
Jonathan Bernard
d6880d9cc1 Clean slate. 2018-05-11 11:33:28 -05:00
Jonathan Bernard
582bf819f5 Renamed libpit build artifacts. 2016-01-31 00:45:27 -06:00
Jonathan Bernard
76d1e48ebb Fixed a typo in an error message. 3.3.3 2012-08-30 06:26:39 -07:00
Jonathan Bernard
4fd297e03d CLI: Changed the daily list upcoming section behavior.
Upcoming now includes issues due within the next week by default. The number of
days to look ahead is configurable with the --dl-upcoming-days option.
2012-08-30 06:17:07 -07:00
Jonathan Bernard
d0e968b2b7 New jlp-based documentation for pit-cli. 3.3.2 2012-02-13 12:12:26 -06:00
Jonathan Bernard
c0b02ca222 Bugfixes on pit-cli:
* Fixed a bug in the option parsing. When no options (or unknown options) where
  presented it was not properly defaulting.
* Fixed a bug when incorrect options where given. Apache Commons CLI fails
  entirely when it is unable to parse an option. This means we cannot get the
  `--dir` option and we default to the program's working directory. When running
  on Nailgun this is not the desired behavior and can cause pit to look through
  a very deep file heirarchy to find issues.
2012-02-13 10:49:27 -06:00
Jonathan Bernard
85753de955 PIT CLI agenda sorting, FileIssue bug fixed.
* Fixed the bug in FileIssue where it would append a blank line to the body of
  an issue every time it wrote the issue to the file. Fixed by making the
  parser consume a line break before the property section.
* Fixed PIT CLI -D option sorting of issues so that it will sort issues by
  priority, then due date.
3.3.1
2011-12-19 16:25:25 -06:00
Jonathan Bernard
0441f3c510 Added -R option for PIT CLI. 3.3.0 2011-12-19 16:13:15 -06:00
Jonathan Bernard
c01eaa0255 Issue tracker: started issue tracking. 2011-12-18 22:57:19 -06:00
Jonathan Bernard
ec7c07f81f Bug fix in FileIssue.
* Property changes that changed the filename of the underlying file were
  neglecting to update the internal file pointer to the new file.
3.2.3
2011-12-12 15:56:10 -06:00
Jonathan Bernard
952064d903 Fixed FileIssue formatting and extended properties.
* The extended properties table was using the maxKeyLength for both keys and
  values.
* FileIssue was not persisting the file when extended properties were updated.
3.2.2
2011-12-08 16:01:54 -06:00
Jonathan Bernard
31b9802477 Fixed PIT CLI output when setting extended properties. 3.2.1 2011-12-08 15:37:06 -06:00
Jonathan Bernard
ae0d782a5b PIT CLI options -e, -E, --title, --text.
PIT CLI
-------

* Added an option, `-e`, to filter by extended properties and its complement,
  `-E`, to set extended properties. Format of the option argument is
  `<propName>=<propValue>`.
* Added the `--title` and `--text` options to specify the title and text of an
  issue on the command line.
* When a new issue is created or an issue is set to rejected or resolved status
  a timestamp is added as an extended property: `created`, `rejected`, and
  `resolved` are the property names respectively.
3.2.0
2011-12-08 15:02:33 -06:00
Jonathan Bernard
846d1edc74 Filter and FileProject support for extended properties.
* Added support for extended properties to `Filter`. Unlike the basic
  properties, which allow the caller to specify a list of acceptable values, the
  extended properties only supports a map of properties, all of which must be
  available on the issue and match the given value.
* Made `Issue` a concrete class. There was no reason it could not be a concrete
  object. The main difference is that the extending classes all add some sort of
  persistence to the issue, but having an in-memory `Issue` in its most basic
  form can be useful and should be allowed.
* Changed the default priority for new issues from 9 to 5.
* Bug fix on `FileIssue.formatIssue()`. If was not properly returning its
  result leading to failure if no extended properties were given.
* Reworked `FileIssue.formatIssue()` to only print the horizontal rule
  seperating the issue text from the extended properties if there are extended
  properties to print as well.
* Changed the `FileProject.createNewIssue()` to handle extended properties and
  handle the basic properties in a manner more consistent with `Issue`. It is
  now creating an `Issue` object and using the `FileIssue.formatIssue()`
  function to write that to a new issue file, then loading that file back in as
  a `FileIssue`. This cuts down on code duplication and makes it so that the
  options map that `FileProject.createNewIssue()` expects is the same as the
  options to the `Issue` constructor.
2011-12-08 14:38:24 -06:00
Jonathan Bernard
fd94f0e41a PIT CLI Options -o (order issues), -D (daily list).
* Added the order issues option (`-o`) to pit-cli. This option allows you to
  specific a sorting criteria for the issues returned. The form of the option is
  `-o <property>,<property>` where the properties can be any properties of the
  issues being sorted. The option supports short one-letter forms of the basic
  properties (id, priority, status, and category).
* Added the daily list mode (activated with the `-D` option). This mode prints
  out the tasks scheduled for today (based on the `scheduled` property, the
  tasks due today (based on he `due` property), the issues which have a reminder
  that is active (based on the `reminder` property), and the remaining open
  issues (those which do not fall in any of the other categories). This mode
  looks through all projects in the given repository and does not do any
  filtering or visual seperation by project.

  The individual sections can be suppressed or singled out by using the
  following options.

    Additive options (if none are given all sections are present).

    * `--dl-scheduled`
    * `--dl-due`
    * `--dl-reminder`
    * `--dl-open`

    Negative options (these suppress a specific section).

    * `--dl-hide-scheduled`
    * `--dl-hide-due`
    * `--dl-hide-reminder`
    * `--dl-hide-open`

  Additive options are useful if you only want one or two sections. Negative
  options are useful if you only want to exclude one or two sections.  It does
  not make sense to use both additive options and negative options, but it is
  allowed.
2011-12-07 18:15:01 -06:00
Jonathan Bernard
6f58a83ad4 Multiple sort criteria to filters, bugfix, and cleanup.
* Fixed a bug in the common build. This bug is fixed in version 1.9, but I am
  patching this bug locally in 1.6 until I have evaluated 1.9 with this project.
* Moved `ExtendedPropertyHelp` to `com.jdbernard.pit` from
  `com.jdbernard.pit.file`.
* Added a number of property types to `ExtendedPropertyHelp`. New additions are:

    * `java.util.Calendar` *object -> string value only*
    * `java.util.Date` *object -> string value only*
    * `java.lang.Long` *this replaces `java.util.Integer`*
    * `java.lang.Float` *object -> string value only*
    * `java.lang.Double`
* Cleaned up the `matches(String)` and `matches(Class)` functions of
  `ExtendedPropertyHelp`
* Modified `Filter` sorter behaviours. The `issueSorter` and `projectSorter`
  fields are now allowed to be either a closure or a list of closures. A single
  closure works as it did before. The list of closures allows the caller to
  specify multiple sort criteria. The individual criteria closures are applied
  in reverse order, so that the first item in the sorter list is the most
  significant criteria. For example, if the caller set the sorter to
  `[{it.category},{it.priority}]` then the issues would be sorted first by
  priority and then sorted again by category, meaning that the resulting data
  would be ordered first by the category of the issue and then by the priority
  for issues that share the same category.
* Modified the methods in `Project` that use `Filter` objects to conform to the
  above behavior regarding sorting. It may be a better idea though to move the
  sort code all into `Filter` so that it is in one place.
* Cleaned up the code in `Status` for matching status based on given symbols or
  partial status names.
2011-12-07 18:01:18 -06:00