sharry-jira-tool


Namesharry-jira-tool JSON
Version 0.2.9 PyPI version JSON
download
home_page
SummarySort Jira stories in Excel
upload_time2024-03-06 06:53:05
maintainer
docs_urlNone
author
requires_python>=3.10
licenseMIT License Copyright (c) 2022 Sharry Xu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords jira excel jira-cloud
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ########################
⚠️⚠️⚠️ Summary ⚠️⚠️⚠️
########################

###################################################################################################################################
⚠️⚠️⚠️ This package was been deprecated. Please use `jira-assistant <https://github.com/jira-assistant/jira-assistant>`_ ⚠️⚠️⚠️
###################################################################################################################################

Jira Tool - userful tool to sort jira stories
=============================================

|pypi| |python 3.11| |python 3.11 (Mac OS)| |CodeQL| |Documentation|

.. |PyPI| image:: https://img.shields.io/pypi/v/sharry-jira-tool.svg?style=flat-square
    :target https://pypi.org/project/sharry-jira-tool/
    :alt: pypi version

.. |python 3.11| image:: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-test.yml/badge.svg
    :target: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-test.yml
    :alt: python 3.11

.. |python 3.11 (Mac OS)| image:: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-macos-test.yml/badge.svg
    :target: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-macos-test.yml
    :alt: python 3.11 (Mac OS)

.. |CodeQL| image:: https://github.com/jira-assistant/jira-tool/workflows/CodeQL/badge.svg
    :target: https://github.com/jira-assistant/jira-tool/actions/workflows/CodeQL.yml
    :alt: CodeQL 

.. |Documentation| image:: https://readthedocs.org/projects/jira-tool/badge/?version=latest
    :target: https://jira-tool.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

Installation
============
`jira-tool` can be installed from PyPI using `pip` (note that the package name is different from the importable name)::

    pip install -U sharry-jira-tool

Download
========
jira-tool is available on PyPI
https://pypi.org/project/sharry-jira-tool

Code
====
The code and issue tracker are hosted on GitHub:
https://github.com/jira-assistant/jira-tool

Features
========

* Parsing the excel file which usually been downloaded from the Jira platform.
* Sorting the excel records using some specific logic.
* Generating the target excel file which contains the result.
* The excel file structure can be customized by JSON file.

A Simple Example
================

You can run below command in the PowerShell (Windows OS) or Shell (UNIX OS) to process the excel files.

.. code-block:: console

    sort-excel-file source.xlsx

After that, you can find the output file in the same folder along with the source file. 
For more details, please check the help message like below:

.. code-block:: console

    sort-excel-file -h

Currently, we are using the `jira access token`__ to do the validation and that means we need you to generate your own access token from the website first.

.. __: https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html

.. code-block:: console

    update-jira-info --token <access_token> --url <jira_url>

If you want to use your own definition files before processing the excel, you can run below command to access some templates which can help you understand the definition file.

.. code-block:: console

    generate-template excel-definition

For more details, please check the help message like below:

.. code-block:: console

    generate-template -h


Code Example For Developer
==========================

Here's a simple program, just to give you an idea about how to use this package.

.. code-block:: python

  import pathlib
  from jira_tool import process_excel_file
  HERE = pathlib.Path().resolve()
  process_excel_file(HERE / "source.xlsx", HERE / "target.xlsx")

If you want to customize the definition file to adapt the new Excel, you can do below steps.

1. Creating the definition file like below. Inside the :code:`PreProcessSteps` list, you can determine the procedure which will be triggered before sorting and also inside the :code:`SortStrategyPriority` list, you can decide the sort algorithms' order.

.. code-block:: json

  [
      {
          "PreProcessSteps": [
              {
                  "Name": "FilterOutStoryWithoutId",
                  "Enabled": true,
                  "Config": {}
              },
              {
                  "Name": "RetrieveJiraInformation",
                  "Enabled": true,
                  "Config": {}
              },
              {
                  "Name": "FilterOutStoryBasedOnJiraStatus",
                  "Enabled": true,
                  "Config": {
                      "JiraStatuses": [
                          "SPRINT COMPLETE",
                          "PENDING RELEASE",
                          "PRODUCTION TESTING",
                          "CLOSED"
                      ]
                  }
              }
          ],
          "SortStrategies": [
            {
                "Name": "InlineWeights",
                "Priority": 1,
                "Enabled": true,
                "Config": {}
            },
            {
                "Name": "SortOrder",
                "Priority": 2,
                "Enabled": true,
                "Config": {}
            },
            {
                "Name": "SortOrder",
                "Priority": 3,
                "Enabled": true,
                "Config": {
                    "ParentScopeIndexRange": "12-19"
                }
            },
            {
                "Name": "RaiseRanking",
                "Priority": 4,
                "Enabled": true,
                "Config": {
                    "ParentScopeIndexRange": "12-19"
                }
            }
        ]
      },
      {
          "Columns": [
              {
                  "Index": 1,
                  "Name": "entryDate",
                  "Type": "datetime",
                  "RequireSort": false,
                  "SortOrder": false,
                  "ScopeRequireSort": false,
                  "ScopeSortOrder": false,
                  "InlineWeights": 0,
                  "RaiseRanking": 0,
                  "ScopeRaiseRanking": 0
              }
          ]
      }
  ]

2. Indicating the definition file location to the :code:`process_excel_file` method like below.

.. code-block:: python

  process_excel_file(
      HERE / "source.xlsx", 
      HERE / "target.xlsx", 
      excel_definition_file=HERE / "definition_file.json"
  )

Meantime, you can follow the same way to customize the milestone priority file.

1. Configuration file

.. code-block:: json

  [
      {
        "Priority": 1,
        "Sprints": ["R134 S1", "M109"]
      }
  ]

2. Code example

.. code-block:: python

  process_excel_file(
      HERE / "source.xlsx", 
      HERE / "target.xlsx", 
      sprint_schedule_file=HERE / "milestone_priority.json"
  )

Author
======
The jira-tool module was written by Sharry Xu <sharry.xu@outlook.com> in 2022.

Starting with version 0.1.13, the main function of this project has been totally finished.

Contact
=======
Our mailing list is available at `sharry.xu@outlook.com`.

License
=======
All contributions after December 1, 2022 released under MIT license.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "sharry-jira-tool",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "jira,excel,jira-cloud",
    "author": "",
    "author_email": "Sharry Xu <sharry.xu@outlook.com>",
    "download_url": "https://files.pythonhosted.org/packages/cf/af/e90d16bccf2553751a34229a4bd50ba42caecbbdd019caf114951ce0b8ee/sharry-jira-tool-0.2.9.tar.gz",
    "platform": null,
    "description": "########################\n\u26a0\ufe0f\u26a0\ufe0f\u26a0\ufe0f Summary \u26a0\ufe0f\u26a0\ufe0f\u26a0\ufe0f\n########################\n\n###################################################################################################################################\n\u26a0\ufe0f\u26a0\ufe0f\u26a0\ufe0f This package was been deprecated. Please use `jira-assistant <https://github.com/jira-assistant/jira-assistant>`_ \u26a0\ufe0f\u26a0\ufe0f\u26a0\ufe0f\n###################################################################################################################################\n\nJira Tool - userful tool to sort jira stories\n=============================================\n\n|pypi| |python 3.11| |python 3.11 (Mac OS)| |CodeQL| |Documentation|\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/sharry-jira-tool.svg?style=flat-square\n    :target https://pypi.org/project/sharry-jira-tool/\n    :alt: pypi version\n\n.. |python 3.11| image:: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-test.yml/badge.svg\n    :target: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-test.yml\n    :alt: python 3.11\n\n.. |python 3.11 (Mac OS)| image:: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-macos-test.yml/badge.svg\n    :target: https://github.com/jira-assistant/jira-tool/actions/workflows/python-3-11-macos-test.yml\n    :alt: python 3.11 (Mac OS)\n\n.. |CodeQL| image:: https://github.com/jira-assistant/jira-tool/workflows/CodeQL/badge.svg\n    :target: https://github.com/jira-assistant/jira-tool/actions/workflows/CodeQL.yml\n    :alt: CodeQL \n\n.. |Documentation| image:: https://readthedocs.org/projects/jira-tool/badge/?version=latest\n    :target: https://jira-tool.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\nInstallation\n============\n`jira-tool` can be installed from PyPI using `pip` (note that the package name is different from the importable name)::\n\n    pip install -U sharry-jira-tool\n\nDownload\n========\njira-tool is available on PyPI\nhttps://pypi.org/project/sharry-jira-tool\n\nCode\n====\nThe code and issue tracker are hosted on GitHub:\nhttps://github.com/jira-assistant/jira-tool\n\nFeatures\n========\n\n* Parsing the excel file which usually been downloaded from the Jira platform.\n* Sorting the excel records using some specific logic.\n* Generating the target excel file which contains the result.\n* The excel file structure can be customized by JSON file.\n\nA Simple Example\n================\n\nYou can run below command in the PowerShell (Windows OS) or Shell (UNIX OS) to process the excel files.\n\n.. code-block:: console\n\n    sort-excel-file source.xlsx\n\nAfter that, you can find the output file in the same folder along with the source file. \nFor more details, please check the help message like below:\n\n.. code-block:: console\n\n    sort-excel-file -h\n\nCurrently, we are using the `jira access token`__ to do the validation and that means we need you to generate your own access token from the website first.\n\n.. __: https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html\n\n.. code-block:: console\n\n    update-jira-info --token <access_token> --url <jira_url>\n\nIf you want to use your own definition files before processing the excel, you can run below command to access some templates which can help you understand the definition file.\n\n.. code-block:: console\n\n    generate-template excel-definition\n\nFor more details, please check the help message like below:\n\n.. code-block:: console\n\n    generate-template -h\n\n\nCode Example For Developer\n==========================\n\nHere's a simple program, just to give you an idea about how to use this package.\n\n.. code-block:: python\n\n  import pathlib\n  from jira_tool import process_excel_file\n  HERE = pathlib.Path().resolve()\n  process_excel_file(HERE / \"source.xlsx\", HERE / \"target.xlsx\")\n\nIf you want to customize the definition file to adapt the new Excel, you can do below steps.\n\n1. Creating the definition file like below. Inside the :code:`PreProcessSteps` list, you can determine the procedure which will be triggered before sorting and also inside the :code:`SortStrategyPriority` list, you can decide the sort algorithms' order.\n\n.. code-block:: json\n\n  [\n      {\n          \"PreProcessSteps\": [\n              {\n                  \"Name\": \"FilterOutStoryWithoutId\",\n                  \"Enabled\": true,\n                  \"Config\": {}\n              },\n              {\n                  \"Name\": \"RetrieveJiraInformation\",\n                  \"Enabled\": true,\n                  \"Config\": {}\n              },\n              {\n                  \"Name\": \"FilterOutStoryBasedOnJiraStatus\",\n                  \"Enabled\": true,\n                  \"Config\": {\n                      \"JiraStatuses\": [\n                          \"SPRINT COMPLETE\",\n                          \"PENDING RELEASE\",\n                          \"PRODUCTION TESTING\",\n                          \"CLOSED\"\n                      ]\n                  }\n              }\n          ],\n          \"SortStrategies\": [\n            {\n                \"Name\": \"InlineWeights\",\n                \"Priority\": 1,\n                \"Enabled\": true,\n                \"Config\": {}\n            },\n            {\n                \"Name\": \"SortOrder\",\n                \"Priority\": 2,\n                \"Enabled\": true,\n                \"Config\": {}\n            },\n            {\n                \"Name\": \"SortOrder\",\n                \"Priority\": 3,\n                \"Enabled\": true,\n                \"Config\": {\n                    \"ParentScopeIndexRange\": \"12-19\"\n                }\n            },\n            {\n                \"Name\": \"RaiseRanking\",\n                \"Priority\": 4,\n                \"Enabled\": true,\n                \"Config\": {\n                    \"ParentScopeIndexRange\": \"12-19\"\n                }\n            }\n        ]\n      },\n      {\n          \"Columns\": [\n              {\n                  \"Index\": 1,\n                  \"Name\": \"entryDate\",\n                  \"Type\": \"datetime\",\n                  \"RequireSort\": false,\n                  \"SortOrder\": false,\n                  \"ScopeRequireSort\": false,\n                  \"ScopeSortOrder\": false,\n                  \"InlineWeights\": 0,\n                  \"RaiseRanking\": 0,\n                  \"ScopeRaiseRanking\": 0\n              }\n          ]\n      }\n  ]\n\n2. Indicating the definition file location to the :code:`process_excel_file` method like below.\n\n.. code-block:: python\n\n  process_excel_file(\n      HERE / \"source.xlsx\", \n      HERE / \"target.xlsx\", \n      excel_definition_file=HERE / \"definition_file.json\"\n  )\n\nMeantime, you can follow the same way to customize the milestone priority file.\n\n1. Configuration file\n\n.. code-block:: json\n\n  [\n      {\n        \"Priority\": 1,\n        \"Sprints\": [\"R134 S1\", \"M109\"]\n      }\n  ]\n\n2. Code example\n\n.. code-block:: python\n\n  process_excel_file(\n      HERE / \"source.xlsx\", \n      HERE / \"target.xlsx\", \n      sprint_schedule_file=HERE / \"milestone_priority.json\"\n  )\n\nAuthor\n======\nThe jira-tool module was written by Sharry Xu <sharry.xu@outlook.com> in 2022.\n\nStarting with version 0.1.13, the main function of this project has been totally finished.\n\nContact\n=======\nOur mailing list is available at `sharry.xu@outlook.com`.\n\nLicense\n=======\nAll contributions after December 1, 2022 released under MIT license.\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2022 Sharry Xu  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Sort Jira stories in Excel",
    "version": "0.2.9",
    "project_urls": {
        "Homepage": "https://github.com/jira-assistant/jira-tool"
    },
    "split_keywords": [
        "jira",
        "excel",
        "jira-cloud"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "59d3e43ced96dce7b3dd217b8ddc142e36e8b032779379e7f27440a5feb5c8ce",
                "md5": "ede5178d94b9ee73b7cc6fd354e80dab",
                "sha256": "e5a08edc5aaf609916d1e2e7559036d7452b13ca37b33f411e9a93b5c80815bf"
            },
            "downloads": -1,
            "filename": "sharry_jira_tool-0.2.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ede5178d94b9ee73b7cc6fd354e80dab",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 24140,
            "upload_time": "2024-03-06T06:53:03",
            "upload_time_iso_8601": "2024-03-06T06:53:03.506567Z",
            "url": "https://files.pythonhosted.org/packages/59/d3/e43ced96dce7b3dd217b8ddc142e36e8b032779379e7f27440a5feb5c8ce/sharry_jira_tool-0.2.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cfafe90d16bccf2553751a34229a4bd50ba42caecbbdd019caf114951ce0b8ee",
                "md5": "eb93fae601d033f046640f77cb3581c7",
                "sha256": "1af4e7048469285ab8cbddbac9cc367982a7ca4af825c24ce48590c5ab2e0b27"
            },
            "downloads": -1,
            "filename": "sharry-jira-tool-0.2.9.tar.gz",
            "has_sig": false,
            "md5_digest": "eb93fae601d033f046640f77cb3581c7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 26559,
            "upload_time": "2024-03-06T06:53:05",
            "upload_time_iso_8601": "2024-03-06T06:53:05.625724Z",
            "url": "https://files.pythonhosted.org/packages/cf/af/e90d16bccf2553751a34229a4bd50ba42caecbbdd019caf114951ce0b8ee/sharry-jira-tool-0.2.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-06 06:53:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jira-assistant",
    "github_project": "jira-tool",
    "github_not_found": true,
    "lcname": "sharry-jira-tool"
}
        
Elapsed time: 0.21639s