# -----------------------------------------------------------------------
# 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]
