1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#!/usr/bin/env perl
use 5.016;
use utf8;
use warnings;
use FindBin;
use lib "$FindBin::Bin/lib";
use Getopt::Long::Descriptive;
use JIRACLI qw/get_credentials/;
my ($opt, $usage) = describe_options(
'%c %o',
['jiraurl=s', "JIRA server base URL", {required => 1}],
['project|p=s', "Project to create issue under", {required => 1}],
['summary|s=s', "Issue summary", {required => 1}],
['description|d=s', "Issue description", {required => 1}],
['help|h', "Print usage message and exit"],
{show_defaults => 1},
);
if ($opt->help) {
print $usage->text;
exit 0;
}
my $jira = JIRA::REST->new(
$opt->jiraurl,
get_credentials(),
);
my $data = {
fields => {
project => {
key => $opt->project
},
summary => $opt->summary,
description => $opt->description,
issuetype => {
name => 'Bug'
}
}
};
my $res = $jira->POST('/issue', undef, $data);
print "Issue created ID: $res->{id}\n";
__END__
=encoding utf8
=head1 NAME
create_issue.pl - Creates an issue
=head1 SYNOPSIS
create_issue.pl [-hn] [long options...]
--jiraurl STR JIRA server base URL
--project STR The project key
--summary STR Issue Summary
--description Issue Description
-h --help Print usage message and exit
=head1 DESCRIPTION
This script creates an issue
=back
=head1 ENVIRONMENT
See the L<JIRACLI> documentation.
=head1 COPYRIGHT
Copyright 2016-2022 CPQD.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=head1 AUTHOR
Lisa Hare <lharey@gmail.com>
|