NAME

Git::IssueManager - Module for managing issues in a git branch within your repository

VERSION

version 0.1

DESCRIPTION

Git::IssueManager is a Perl Module for using git as an issue store creating a distributed issue management system. It uses the Git::LowLevel Module to store issues in a issue branch using trees and blobs.

EXAMPLE

use Git::IssueManager;

my $manager     = Git::IssueManager->new(repository=>Git::LowLevel->new(git_dir=> "."));
if (!$manager->ready)
{
  print("IssueManager not initialized yet. Please call \"init\" command to do so.");
  exit(-1);
}

my @issues=$manager->list();

for my $i (@issues)
{
  print $i->subject . "\n";
}

MOTIVATION

Issue management is an essential part in modern software engineering. In most cases tools like jira or github are used for this task. The central nature of these tools is a large disadvantage if you are often on the road. Furthermore if you are using git for version control you have everything available for distributed issue management.

Advantages:

save your issues within your project
manage issues on the road, without internet access
write your own scripts for issue management

Disadvantages:

no easy way to let users add issues without pull request yet
not all functions implemented yet

FEATURES

add issues
list issues
assign workers to an issue
start and close issues
delete issues

ATTRIBUTES

gitcmd

the path to the git command, default is using your path

repository

Git::Repository object on which to do the issue management

_open

private attribute

_assigned

private attribute

_inprogress

private attribute

_closed

private attribute

_root

private attribute

METHODS

ready

validates if everything is in place for issue management

version

returns the version number of the issue system within the issue branch

tag

returns the issue tag to prepend in front of all issue ids

init

initialize the repository for managing issues

add

add an issue to the repository

first paramter is an GitIssueManager::Issue object

parseIssue

parsed the given Git::LowLevel::Tree object as an Issue

delete

delete an issue from the issue list

changeStatus

set status of an issue

assign

assign a worker to  an issue

close

close an issue

open

open an issue

start

start an issue

AUTHOR

Dominik Meyer <dmeyer@federationhq.de>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Dominik Meyer.

This is free software, licensed under:

The GNU General Public License, Version 2, June 1991

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a CPAN site near you, or see https://metacpan.org/module/Git::IssueManager/.

BUGS

Please report any bugs or feature requests by email to byterazor@federationhq.de.

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Dominik Meyer.

This is free software, licensed under:

The GNU General Public License, Version 2, June 1991