OLD | NEW |
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Script to report issues from the command line | 7 # Script to report issues from the command line |
8 | 8 |
9 # Load common constants. This should be the first executable line. | 9 # --- BEGIN COMMON.SH BOILERPLATE --- |
10 # The path to common.sh should be relative to your script's location. | 10 # Load common CrOS utilities. Inside the chroot this file is installed in |
11 . "$(dirname "$0")/common.sh" | 11 # /usr/lib/crosutils. Outside the chroot we find it relative to the script's |
| 12 # location. |
| 13 find_common_sh() { |
| 14 local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")")) |
| 15 local path |
| 16 |
| 17 SCRIPT_ROOT= |
| 18 for path in "${common_paths[@]}"; do |
| 19 if [ -r "${path}/common.sh" ]; then |
| 20 SCRIPT_ROOT=${path} |
| 21 break |
| 22 fi |
| 23 done |
| 24 } |
| 25 |
| 26 find_common_sh |
| 27 . "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1) |
| 28 # --- END COMMON.SH BOILERPLATE --- |
12 | 29 |
13 # Script must be run outside the chroot | 30 # Script must be run outside the chroot |
14 assert_outside_chroot | 31 assert_outside_chroot |
15 | 32 |
16 # Define command line flags | 33 # Define command line flags |
17 # See http://code.google.com/p/shflags/wiki/Documentation10x | 34 # See http://code.google.com/p/shflags/wiki/Documentation10x |
18 DEFINE_string author "$USER" "author" "a" | 35 DEFINE_string author "$USER" "author" "a" |
19 DEFINE_string description "" "description" "d" | 36 DEFINE_string description "" "description" "d" |
20 DEFINE_string owner "$USER@chromium.org" "owner" "o" | 37 DEFINE_string owner "$USER@chromium.org" "owner" "o" |
21 DEFINE_string password "" "password" "p" | 38 DEFINE_string password "" "password" "p" |
22 DEFINE_integer priority "2" "priority" "r" | 39 DEFINE_integer priority "2" "priority" "r" |
23 DEFINE_string status "Untriaged" "status (see below)" "s" | 40 DEFINE_string status "Untriaged" "status (see below)" "s" |
24 DEFINE_string title "" "title" "t" | 41 DEFINE_string title "" "title" "t" |
25 DEFINE_string type "Bug" "type" "y" | 42 DEFINE_string type "Bug" "type" "y" |
26 DEFINE_string username "$USER@chromium.org" "username" "u" | 43 DEFINE_string username "$USER@chromium.org" "username" "u" |
27 DEFINE_boolean verbose false "verbose" "v" | 44 DEFINE_boolean verbose false "verbose" "v" |
28 | 45 |
29 FLAGS_HELP=" | 46 FLAGS_HELP=" |
30 Description accepts html formatting characters. | 47 Description accepts html formatting characters. |
31 | 48 |
32 Open Statuses: | 49 Open Statuses: |
33 Unconfirmed = New, has not been verified or reproduced | 50 Unconfirmed = New, has not been verified or reproduced |
34 Untriaged = Confirmed, not reviewed for priority and assignment | 51 Untriaged = Confirmed, not reviewed for priority and assignment |
35 Available = Triaged, but no owner assigned | 52 Available = Triaged, but no owner assigned |
36 Assigned = In someone's queue, but not started | 53 Assigned = In someone's queue, but not started |
37 Started = Work in progress | 54 Started = Work in progress |
38 Upstream = Issue has been reported to another project | 55 Upstream = Issue has been reported to another project |
39 | 56 |
40 Closed Statuses: | 57 Closed Statuses: |
41 Fixed = Work completed, needs verification | 58 Fixed = Work completed, needs verification |
42 Verified = Test or reporter verified that the fix works | 59 Verified = Test or reporter verified that the fix works |
43 Duplicate = Same root cause as another issue | 60 Duplicate = Same root cause as another issue |
44 WontFix = Cannot reproduce, works as intended, or obsolete | 61 WontFix = Cannot reproduce, works as intended, or obsolete |
45 FixUnreleased = Security bug fixed on all branches, not released | 62 FixUnreleased = Security bug fixed on all branches, not released |
46 Invalid = Not a valid issue report | 63 Invalid = Not a valid issue report |
47 | 64 |
48 Types: | 65 Types: |
49 Bug = Software not working correctly | 66 Bug = Software not working correctly |
50 Feature = Request for new or improved feature | 67 Feature = Request for new or improved feature |
51 Task = Project or work that doesn't change code | 68 Task = Project or work that doesn't change code |
52 Cleanup = Code maintenance unrelated to bugs | 69 Cleanup = Code maintenance unrelated to bugs |
53 | 70 |
54 Priority: | 71 Priority: |
55 0 = Critical. Resolve now. Blocks other work or users need immediate update. | 72 0 = Critical. Resolve now. Blocks other work or users need immediate update. |
56 1 = High. Required for the specified milestone release. | 73 1 = High. Required for the specified milestone release. |
57 2 = Normal. Desired for, but does not block, the specified milestone release
. | 74 2 = Normal. Desired for, but does not block, the specified milestone release
. |
58 3 = Low. Nice to have, but not important enough to start work on yet. | 75 3 = Low. Nice to have, but not important enough to start work on yet. |
59 " | 76 " |
60 | 77 |
61 # parse the command-line | 78 # parse the command-line |
62 FLAGS "$@" || exit 1 | 79 FLAGS "$@" || exit 1 |
63 eval set -- "${FLAGS_ARGV}" | 80 eval set -- "${FLAGS_ARGV}" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 if [ -z "${AUTH}" ]; then | 134 if [ -z "${AUTH}" ]; then |
118 echo "Authentication Failure" >&2 | 135 echo "Authentication Failure" >&2 |
119 exit 1 | 136 exit 1 |
120 fi | 137 fi |
121 | 138 |
122 echo $BODY | curl --silent -X POST -H "Authorization: GoogleLogin auth=$AUTH" \ | 139 echo $BODY | curl --silent -X POST -H "Authorization: GoogleLogin auth=$AUTH" \ |
123 -H "content-type: application/atom+xml" \ | 140 -H "content-type: application/atom+xml" \ |
124 -H "content-length: ${#BODY}" \ | 141 -H "content-length: ${#BODY}" \ |
125 -T - http://code.google.com/feeds/issues/p/chromium-os/issues/full | 142 -T - http://code.google.com/feeds/issues/p/chromium-os/issues/full |
126 | 143 |
OLD | NEW |