Update search tool help.
jira/bin/jira-search.sh
-----------------------
o Help text growing long, refactor help text into jira-search/help.
o Added command line switches --help-* and --usage-*
jira/jira-search/help/utils.sh
------------------------------
o Added library functions for displaying context help.
o Display switch permutations for a given prefix.
o Display use cases for a given switch.
jira/jira-search/help/fixversion.switches
jira/jira-search/help/resolved.sh
jira/jira-search/help/resolved.switches
jira/jira-search/help/resolved.usage
jira/jira-search/help/user.switches
jira/jira-search/help/user.usage
-----------------------------------------
o Switch help and usage text.
Change-Id: I0cd34475521c2b42054fbe4e7966a6d3767f8f89
diff --git a/jira/jira-search/help/fixversion.switches b/jira/jira-search/help/fixversion.switches
new file mode 100644
index 0000000..9ddc4a2
--- /dev/null
+++ b/jira/jira-search/help/fixversion.switches
@@ -0,0 +1,27 @@
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+## --------------------------------------------------------------------
+## Intent:
+## --------------------------------------------------------------------
+
+[FIXVERSION] - Voltha-v2.12
+ --fixversion-incl
+ --fixversion-excl
+ --fixversion-is-empty
+ --fixversion-not-empty
+# [EOF]
diff --git a/jira/jira-search/help/resolved.sh b/jira/jira-search/help/resolved.sh
new file mode 100644
index 0000000..4f0124f
--- /dev/null
+++ b/jira/jira-search/help/resolved.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+# -----------------------------------------------------------------------
+# Copyright 2023-2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2023-2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+## --------------------------------------------------------------------
+## Intent: Construct a jira ticket query with attributes
+## --------------------------------------------------------------------
+
+function resolved_switches()
+{
+ local ref=$1; shift
+
+
+[RESOLVED] - tokens={Declined, Won't Fix}
+ --resolved-start ccyy-mm-dd
+ --resolved-end ccyy-mm-dd
+ --resolved-incl {token(s)}
+ --resolved-excl {token(s)}
+ --resolved-is-empty Query for open tickets
+ --resolved-not-empty
+ --unresolved Alias for resolved-is-empty
diff --git a/jira/jira-search/help/resolved.switches b/jira/jira-search/help/resolved.switches
new file mode 100644
index 0000000..86c49d3
--- /dev/null
+++ b/jira/jira-search/help/resolved.switches
@@ -0,0 +1,30 @@
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+## --------------------------------------------------------------------
+## Intent:
+## --------------------------------------------------------------------
+
+[RESOLVED] - tokens={Declined, Won't Fix}
+ --resolved-start ccyy-mm-dd
+ --resolved-end ccyy-mm-dd
+ --resolved-incl {token(s)}
+ --resolved-excl {token(s)}
+ --resolved-is-empty Query for open tickets
+ --resolved-not-empty
+ --unresolved Alias for --resolved-if-empty
+# [EOF]
diff --git a/jira/jira-search/help/resolved.usage b/jira/jira-search/help/resolved.usage
new file mode 100644
index 0000000..fad5dbb
--- /dev/null
+++ b/jira/jira-search/help/resolved.usage
@@ -0,0 +1,29 @@
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+## --------------------------------------------------------------------
+## Intent:
+## --------------------------------------------------------------------
+
+[RESOLVED]
+ $0 --server opencord --component bbsim --unresolved
+ $0 --server opencord --component bbsim --resolved-is-empty
+ o Query for open bbsim tickets.
+
+ $0 --proj VOL --fixversion "VOLTHA v2.12" --resolved-is-empty
+ o Query for unresolved v2.12 release tickets.
+# [EOF]
diff --git a/jira/jira-search/help/user.switches b/jira/jira-search/help/user.switches
new file mode 100644
index 0000000..38661e1
--- /dev/null
+++ b/jira/jira-search/help/user.switches
@@ -0,0 +1,30 @@
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+## --------------------------------------------------------------------
+## Intent:
+## --------------------------------------------------------------------
+
+[USER(s)]
+ --me Tickets assigned to or reported by me.
+ --user [u] Tickets assigned to this user.
+ --nobody Raw query, no filtering by user
+
+[BY-USER]
+ --assigned Tickets assided to user
+ --reported Tickets created by user
+# [EOF]
diff --git a/jira/jira-search/help/user.usage b/jira/jira-search/help/user.usage
new file mode 100644
index 0000000..d94f374
--- /dev/null
+++ b/jira/jira-search/help/user.usage
@@ -0,0 +1,39 @@
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+## --------------------------------------------------------------------
+## Intent:
+## --------------------------------------------------------------------
+
+[USER]
+ $0 --server opencord --unresolved --assigned --user tux
+ o Display all tickets assigned to user tux
+
+ $0 --server opencord --requested --user tux
+ o Display all tickets requested by user tux
+
+ $0 --server opencord --unresolved --user tux
+ o Display open tickets assigned or requested by user tux.
+
+[BY USER]
+ $0 --server-opencord --assigned --unresolved
+ o Display all open tickets assigned to my login
+
+ $0 --server opencord --me
+ o Display tickets requested or assigned to my login.
+
+# [EOF]
diff --git a/jira/jira-search/help/utils.sh b/jira/jira-search/help/utils.sh
new file mode 100644
index 0000000..53b237d
--- /dev/null
+++ b/jira/jira-search/help/utils.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+## --------------------------------------------------------------------
+## Intent:
+## --------------------------------------------------------------------
+
+## --------------------------------------------------------------------
+## --------------------------------------------------------------------
+function help_read()
+{
+ local -n ref=$1; shift
+ local path="$1"; shift
+
+ readarray text < <(grep -v -e '^#' "$path")
+ ref+=("${text[@]}")
+
+ return
+}
+
+## --------------------------------------------------------------------
+## --------------------------------------------------------------------
+function help_switch_show()
+{
+ local -a buffer=()
+
+ local helpwith
+ for helpwith in "$@"; do
+ local path="$pgm_help/${helpwith}.switches"
+ if [[ ! -e "$path" ]]; then
+ readarray fyls < <(find "$pgm_help" -name '*.switches')
+ echo "--usage-${helpwith} does not exist"
+ echo "Try one of:"
+ printf " %s\n" "${fyls[@]}"
+ error "OUTA HERE"
+ fi
+ help_read buffer "$path"
+ done
+
+ printf '%s' "${buffer[@]}"
+ return
+}
+
+## --------------------------------------------------------------------
+## --------------------------------------------------------------------
+function help_usage_show()
+{
+ local -a buffer=()
+
+ local helpwith
+ for helpwith in "$@"; do
+ local path="$pgm_help/${helpwith}.usage"
+ if [[ ! -e "$path" ]]; then
+ readarray fyls < <(find "$pgm_help" -name '*.usage')
+ echo "--usage-${helpwith} does not exist"
+ echo "Try one of:"
+ printf " %s\n" "${fyls[@]}"
+ error "OUTA HERE"
+ fi
+ help_read buffer "$path"
+ done
+
+ printf '%s' "${buffer[@]}"
+ return
+}
+
+## --------------------------------------------------------------------
+## --------------------------------------------------------------------
+function help_with()
+{
+ help_switch_show "$@"
+ help_usage_show "$@"
+}
+
+# [EOF]