ticketutil


Nameticketutil JSON
Version 1.8.0 PyPI version JSON
download
home_pagehttps://github.com/dmranck/ticketutil
SummaryPython ticketing utility supporting JIRA, RT, Redmine, Bugzilla, and ServiceNow
upload_time2023-01-13 17:16:57
maintainer
docs_urlNone
authorDanny Ranck
requires_python
license
keywords jira bugzilla rt redmine servicenow ticket rest
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ticketutil
==========

.. image:: https://img.shields.io/badge/python-2.7%2C%203.3%2C%203.4%2C%203.5%2C%203.6-blue.svg
    :target: https://pypi.python.org/pypi/ticketutil/1.8.0

.. image:: https://img.shields.io/badge/pypi-v1.8.0-blue.svg
    :target: https://pypi.python.org/pypi/ticketutil/1.8.0

ticketutil is a Python module that allows you to easily interact with
various ticketing tools using their REST APIs. Currently, the supported
tools are JIRA, RT, Redmine, Bugzilla, and ServiceNow. All tools support
HTTP Basic authentication, while JIRA and RT also support Kerberos
authentication. Additionally, Bugzilla supports API key authentication and
Jira supports Personal Access Token authentication.

This module allows you to create tickets, add comments, edit ticket
fields, and change the status of tickets in each tool. Additional
lower-level tool-specific functions are supported - adding and removing
watchers in JIRA, adding attachments in JIRA, etc.

Simplify all of your ticketing operations with ticketutil:

.. code-block:: python

    from ticketutil.jira import JiraTicket
    ticket = JiraTicket(<jira_url>, <project_key>, auth='kerberos')

    # Create a ticket and perform some common ticketing operations.
    t = ticket.create(summary='Ticket summary',
                      description='Ticket description',
                      type='Task')
    t = ticket.add_comment('Test Comment')
    t = ticket.change_status('Done')

    # Check status of previous ticketing operation and print URL of ticket.
    print(t.status)
    print(t.url)

    # Close Requests session.
    ticket.close_requests_session()

Installation
------------

Install ticketutil with ``pip install ticketutil``.

ticketutil is compatible with Python 2.7, 3.3, 3.4, 3.5, and 3.6.
Note: For Python 2.6 and lower, an additional package, importlib, may
need to be installed.

If not installing with pip, a short list of packages defined in the
requirements.txt file need to be installed. To install the required
packages, type ``pip install -r requirements.txt``.

Documentation
-------------

Documentation for ticketutil is available at:
http://ticketutil.readthedocs.io.

Comments? / Questions? / Coming Soon
------------------------------------

For questions / comments, email dranck@redhat.com.
For anything specific to Bugzilla, email kshirsal@redhat.com.
For ServiceNow related questions, email pzubaty@redhat.com.

The plan for ticketutil is to support more ticketing tools in the near
future and to support more ticketing operations for the currently
supported tools. Please let us know if there are any suggestions /
requests.
Thanks!

Release History
---------------

1.8.0 (01-13-2023)
++++++++++++++++++

* Added support in Jira for adding / removing watchers by email address.

1.7.0 (04-29-2022)
++++++++++++++++++

* Added support for kwargs to change_status() method in jira.py.

1.6.0 (12-02-2021)
++++++++++++++++++

* Added support for proxies in Jira.

1.5.0 (11-29-2021)
++++++++++++++++++

* Added support for personal access tokens in Jira.

1.4.5 (07-07-2020)
++++++++++++++++++

* Fixed RuntimeError in Python 3.8.
* Added support for trailing slash in URLs.
* Made verify requests to Jira tickets configurable.

1.4.4 (04-25-2019)
++++++++++++++++++

* Updated HTTP Basic Auth in ticket.py to disable SSL cert verification.

1.4.3 (01-08-2019)
++++++++++++++++++

* Added get_ticket_content() method to jira.py, rt.py, redmine.py, and
  bugzilla.py.
* Added add_attachment() method to servicenow.py.
* Added unit tests for ticket.py, jira.py, rt.py, redmine.py, and bugzilla.py.
* Added module-level loggers throughout all files.
* Added components support to Jira.
* Added support for creating subtasks in Jira.

1.3.0 (06-29-2017)
++++++++++++++++++

* New documentation has been created at http://ticketutil.readthedocs.io.
* All main user-accessible ticketutil methods now have useful return
  statements containing the request status (Success or Failure), the error
  message if the status is a Failure, and the URL of the ticket. See
  http://ticketutil.readthedocs.io/en/latest/Usage.html#return-statements
  for more details.
* HTTP Basic Auth support has been added to JIRA.

1.2.0 (04-28-2017)
++++++++++++++++++

* ServiceNow support has been added to ticketutil!

  - ticketutil/servicenow.py has been created, supporting main ticketing
    functions found in other tools.
  - tests/test_servicenow.py has been created, containing unit tests for
    servicenow.py.
  - Two new documentation files have been created: docs/servicenow.md and
    examples/servicenow_examples.md.

1.1.0 (04-18-2017)
++++++++++++++++++

* JIRA, Bugzilla, RT, Redmine

  - Added get_ticket_url() method to return ticket url for Ticket object.
  - Added get_ticket_id() method to return ticket id for Ticket object.
  - Added _verify_project() and _verify_ticket_id() methods to all tools.
    These methods are called when a new Ticket object is created to verify
    that the project and optional ticket_id parameters are valid.
  - Created TicketException class, which is raised if the url passed in
    during creation of a Ticket object can not be accessed. This exception
    is also raised if project or ticket_id can not be verified.
  - The environment variable TICKETUTIL_DEBUG has been replaced with
    TICKETUTIL_LOG_LEVEL, with a default value of 'INFO'. This allows you to
    turn on debug logging by setting this variable to 'DEBUG' and effectively
    turn off logging by setting it to 'CRITICAL'.

* JIRA

  - Modified _get_status_id() in jira.py to return the status_id
    corresponding to the state you are transitioning to, instead of the
    status_id corresponding to the transition itself.

* Bugzilla

  - Added add_attachment() method.
  - Added support for api_key authentication.
  - Added support for adding groups to ticket in create() and edit().

* RT

  - Added add_attachment() method.

* Redmine

  - Added add_attachment() method.

1.0.6 (01-20-2017)
++++++++++++++++++
- Trying to fix more PyPI issues.

1.0.5 (01-20-2017)
++++++++++++++++++
- Fixing README on PyPI.

1.0.4 (01-20-2017)
++++++++++++++++++
- Updated JIRA example and docstring to clarify that 'type' (and not
  'issuetype') is a supported create() and edit() field. No code changes.

1.0.3 (01-19-2017)
++++++++++++++++++
- First publish to PyPI!
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/dmranck/ticketutil",
    "name": "ticketutil",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "jira,bugzilla,rt,redmine,servicenow,ticket,rest",
    "author": "Danny Ranck",
    "author_email": "dmranck@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/25/67/0d5c2537e87c5bc618427ce7b10928fa19036ce0ff6b012b986b3f8cc398/ticketutil-1.8.0.tar.gz",
    "platform": null,
    "description": "ticketutil\n==========\n\n.. image:: https://img.shields.io/badge/python-2.7%2C%203.3%2C%203.4%2C%203.5%2C%203.6-blue.svg\n    :target: https://pypi.python.org/pypi/ticketutil/1.8.0\n\n.. image:: https://img.shields.io/badge/pypi-v1.8.0-blue.svg\n    :target: https://pypi.python.org/pypi/ticketutil/1.8.0\n\nticketutil is a Python module that allows you to easily interact with\nvarious ticketing tools using their REST APIs. Currently, the supported\ntools are JIRA, RT, Redmine, Bugzilla, and ServiceNow. All tools support\nHTTP Basic authentication, while JIRA and RT also support Kerberos\nauthentication. Additionally, Bugzilla supports API key authentication and\nJira supports Personal Access Token authentication.\n\nThis module allows you to create tickets, add comments, edit ticket\nfields, and change the status of tickets in each tool. Additional\nlower-level tool-specific functions are supported - adding and removing\nwatchers in JIRA, adding attachments in JIRA, etc.\n\nSimplify all of your ticketing operations with ticketutil:\n\n.. code-block:: python\n\n    from ticketutil.jira import JiraTicket\n    ticket = JiraTicket(<jira_url>, <project_key>, auth='kerberos')\n\n    # Create a ticket and perform some common ticketing operations.\n    t = ticket.create(summary='Ticket summary',\n                      description='Ticket description',\n                      type='Task')\n    t = ticket.add_comment('Test Comment')\n    t = ticket.change_status('Done')\n\n    # Check status of previous ticketing operation and print URL of ticket.\n    print(t.status)\n    print(t.url)\n\n    # Close Requests session.\n    ticket.close_requests_session()\n\nInstallation\n------------\n\nInstall ticketutil with ``pip install ticketutil``.\n\nticketutil is compatible with Python 2.7, 3.3, 3.4, 3.5, and 3.6.\nNote: For Python 2.6 and lower, an additional package, importlib, may\nneed to be installed.\n\nIf not installing with pip, a short list of packages defined in the\nrequirements.txt file need to be installed. To install the required\npackages, type ``pip install -r requirements.txt``.\n\nDocumentation\n-------------\n\nDocumentation for ticketutil is available at:\nhttp://ticketutil.readthedocs.io.\n\nComments? / Questions? / Coming Soon\n------------------------------------\n\nFor questions / comments, email dranck@redhat.com.\nFor anything specific to Bugzilla, email kshirsal@redhat.com.\nFor ServiceNow related questions, email pzubaty@redhat.com.\n\nThe plan for ticketutil is to support more ticketing tools in the near\nfuture and to support more ticketing operations for the currently\nsupported tools. Please let us know if there are any suggestions /\nrequests.\nThanks!\n\nRelease History\n---------------\n\n1.8.0 (01-13-2023)\n++++++++++++++++++\n\n* Added support in Jira for adding / removing watchers by email address.\n\n1.7.0 (04-29-2022)\n++++++++++++++++++\n\n* Added support for kwargs to change_status() method in jira.py.\n\n1.6.0 (12-02-2021)\n++++++++++++++++++\n\n* Added support for proxies in Jira.\n\n1.5.0 (11-29-2021)\n++++++++++++++++++\n\n* Added support for personal access tokens in Jira.\n\n1.4.5 (07-07-2020)\n++++++++++++++++++\n\n* Fixed RuntimeError in Python 3.8.\n* Added support for trailing slash in URLs.\n* Made verify requests to Jira tickets configurable.\n\n1.4.4 (04-25-2019)\n++++++++++++++++++\n\n* Updated HTTP Basic Auth in ticket.py to disable SSL cert verification.\n\n1.4.3 (01-08-2019)\n++++++++++++++++++\n\n* Added get_ticket_content() method to jira.py, rt.py, redmine.py, and\n  bugzilla.py.\n* Added add_attachment() method to servicenow.py.\n* Added unit tests for ticket.py, jira.py, rt.py, redmine.py, and bugzilla.py.\n* Added module-level loggers throughout all files.\n* Added components support to Jira.\n* Added support for creating subtasks in Jira.\n\n1.3.0 (06-29-2017)\n++++++++++++++++++\n\n* New documentation has been created at http://ticketutil.readthedocs.io.\n* All main user-accessible ticketutil methods now have useful return\n  statements containing the request status (Success or Failure), the error\n  message if the status is a Failure, and the URL of the ticket. See\n  http://ticketutil.readthedocs.io/en/latest/Usage.html#return-statements\n  for more details.\n* HTTP Basic Auth support has been added to JIRA.\n\n1.2.0 (04-28-2017)\n++++++++++++++++++\n\n* ServiceNow support has been added to ticketutil!\n\n  - ticketutil/servicenow.py has been created, supporting main ticketing\n    functions found in other tools.\n  - tests/test_servicenow.py has been created, containing unit tests for\n    servicenow.py.\n  - Two new documentation files have been created: docs/servicenow.md and\n    examples/servicenow_examples.md.\n\n1.1.0 (04-18-2017)\n++++++++++++++++++\n\n* JIRA, Bugzilla, RT, Redmine\n\n  - Added get_ticket_url() method to return ticket url for Ticket object.\n  - Added get_ticket_id() method to return ticket id for Ticket object.\n  - Added _verify_project() and _verify_ticket_id() methods to all tools.\n    These methods are called when a new Ticket object is created to verify\n    that the project and optional ticket_id parameters are valid.\n  - Created TicketException class, which is raised if the url passed in\n    during creation of a Ticket object can not be accessed. This exception\n    is also raised if project or ticket_id can not be verified.\n  - The environment variable TICKETUTIL_DEBUG has been replaced with\n    TICKETUTIL_LOG_LEVEL, with a default value of 'INFO'. This allows you to\n    turn on debug logging by setting this variable to 'DEBUG' and effectively\n    turn off logging by setting it to 'CRITICAL'.\n\n* JIRA\n\n  - Modified _get_status_id() in jira.py to return the status_id\n    corresponding to the state you are transitioning to, instead of the\n    status_id corresponding to the transition itself.\n\n* Bugzilla\n\n  - Added add_attachment() method.\n  - Added support for api_key authentication.\n  - Added support for adding groups to ticket in create() and edit().\n\n* RT\n\n  - Added add_attachment() method.\n\n* Redmine\n\n  - Added add_attachment() method.\n\n1.0.6 (01-20-2017)\n++++++++++++++++++\n- Trying to fix more PyPI issues.\n\n1.0.5 (01-20-2017)\n++++++++++++++++++\n- Fixing README on PyPI.\n\n1.0.4 (01-20-2017)\n++++++++++++++++++\n- Updated JIRA example and docstring to clarify that 'type' (and not\n  'issuetype') is a supported create() and edit() field. No code changes.\n\n1.0.3 (01-19-2017)\n++++++++++++++++++\n- First publish to PyPI!",
    "bugtrack_url": null,
    "license": "",
    "summary": "Python ticketing utility supporting JIRA, RT, Redmine, Bugzilla, and ServiceNow",
    "version": "1.8.0",
    "split_keywords": [
        "jira",
        "bugzilla",
        "rt",
        "redmine",
        "servicenow",
        "ticket",
        "rest"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25670d5c2537e87c5bc618427ce7b10928fa19036ce0ff6b012b986b3f8cc398",
                "md5": "76b5ac982e58930e8ca507092a8d76b7",
                "sha256": "82fc4ebbeaee7422e7ca8ef783abfefb74b2880fe066a6bddd5ed9a12020959c"
            },
            "downloads": -1,
            "filename": "ticketutil-1.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "76b5ac982e58930e8ca507092a8d76b7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 20783,
            "upload_time": "2023-01-13T17:16:57",
            "upload_time_iso_8601": "2023-01-13T17:16:57.540104Z",
            "url": "https://files.pythonhosted.org/packages/25/67/0d5c2537e87c5bc618427ce7b10928fa19036ce0ff6b012b986b3f8cc398/ticketutil-1.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-13 17:16:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "dmranck",
    "github_project": "ticketutil",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "ticketutil"
}
        
Elapsed time: 0.03463s