{ "info": { "author": "Roman Inflianskas", "author_email": "infroma@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# jira-oauth\n[![License](https://img.shields.io/pypi/l/jira-oauth.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/jira-oauth.svg)\n[![PyPI](https://img.shields.io/pypi/v/jira-oauth.svg)](https://pypi.org/project/jira-oauth/)\n\nPython library for Jira OAuth\n\n## RSA private and public key creations\n* Create RSA private key and store it in file **oauth.pem**\n```shell\n$ openssl genrsa -out oauth.pem 1024\n```\n\n* Create RSA public key and store it in file **oauth.pub**\n```\n$ openssl rsa -in oauth.pem -pubout -out oauth.pub\n```\n\n* Share RSA public key **oauth.pub** with your Jira Admin, as they need it during _Jira Application Link_ creation.\n\n## Jira Application Link Creation Steps\n* Login as a Jira administrator\n* Go to **Application links** section under **Application** area\n* Enter dummy url (as oauth token used for API access and not web access) *https://jira-oauth1-rest-api-access*\n* Click on **Create new link** button\n* Click **Continue** on next screen\n* Enter something like **Jira OAuth1 REST API access** as a *Application Name*\n* Check **Create incomindg link** checkbox.\n* Don't need to fill any other information. Click on **Continue**\n* Now you should able to see new Application link with name **Jira OAuth1 REST API access** created and available under section *Configure Application Links* section\n* Click on *pencil* icon to configure **Incoming Authentication**\n * Enter **jira-oauth1-rest-api-access** (or any other appropriate string) as *Consumer key*\n * Enter same string **jira-oauth1-rest-api-access** (or any other appropriate string) as *Consumer Name*\n * Enter content of RSA public key (stored in file **oauth.pub**) as **public key**\n * Click on **Save**\n\n## Prepare for OAuth Dance\nCreate **starter_oauth.config** in **~/.oauthconfig** folder:\n```ini\n[oauth_config]\njira_url=https://jira.example.com\nconsumer_key=jira-oauth1-rest-api-access\ntest_jira_issue=IDEV-1\n```\n\n## Perform Jira OAuth Dance\n* Python Virtual Environment that we create earlier is active.\n* Run **jira-oauth**.\n* Authenticate in browser as directed below.\n* After successful OAuth generation, you will get another set of values for **oauth_token** and **oauth_token_secret**. These are you tokens that you need to use access Jira without passing credentials.\n```\n$ jira-oauth\nRequest Token: oauth_token=6AOSSREyS9HaACqEcHjcD6RJVms2NjEr, oauth_token_secret=gnpJMfbgUyG8W4dKzFW4PKFbGttV2CWm\n\nGo to the following link in your browser: https://jira.example.com/plugins/servlet/oauth/authorize?oauth_token=6AOSSREyS9HaACqEcHjcD6RJVms2NjEr\nHave you authorized me? (y/n) y\n\nAccess Token: oauth_token=lmOh7LEdvZ2yxKIm5rdQY2ZfZqNdvUV4, oauth_token_secret=gnpJMfbgUyG8W4dKzFW4PKFbGttV2CWm\nYou may now access protected resources using the access tokens above.\n\nAccessing IDEV-1 using generated OAuth tokens:\nSuccess!\nIssue key: IDEV-1, Summary: Internal Devepment Issue #1\n```\n\n## Credits\nThank you, Raju Kadam, for implementing https://github.com/rkadam/jira-oauth-generator\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rominf/jira-oauth", "keywords": "", "license": "Apache-2.0", "maintainer": "Roman Inflianskas", "maintainer_email": "infroma@gmail.com", "name": "jira-oauth", "package_url": "https://pypi.org/project/jira-oauth/", "platform": "", "project_url": "https://pypi.org/project/jira-oauth/", "project_urls": { "Homepage": "https://github.com/rominf/jira-oauth", "Repository": "https://github.com/rominf/jira-oauth" }, "release_url": "https://pypi.org/project/jira-oauth/0.1.10/", "requires_dist": [ "asn1crypto (>=0.24.0,<0.25.0)", "certifi (>=2018.11,<2019.0)", "cffi (>=1.11,<2.0)", "chardet (>=3.0,<4.0)", "click (>=7.0,<8.0)", "cryptography (>=2.4,<3.0)", "defusedxml (>=0.5.0,<0.6.0)", "httplib2 (>=0.12.0,<0.13.0)", "idna (>=2.8,<3.0)", "oauth2 (>=1.9,<2.0)", "oauthlib (>=2.1,<3.0)", "pbr (>=5.1,<6.0)", "pycparser (>=2.19,<3.0)", "PyJWT (>=1.7,<2.0)", "six (>=1.11,<2.0)", "tlslite (>=0.4.9,<0.5.0)", "urllib3 (>=1.24,<2.0)", "yarl (>=1.3,<2.0)", "aiohttp (>=3.4,<4.0)", "dataclasses (>=0.6.0,<0.7.0)", "aioauth2 (>=0.1.0,<0.2.0)", "poetry-version (>=0.1.2,<0.2.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Python library for Jira OAuth ", "version": "0.1.10" }, "last_serial": 4593355, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "cbdfee1430f025c7c46d1514ec62af2c", "sha256": "a735e0bdb3eb049600e7a7986ccea36b8a5e929e13f5fffbaba6ab9e1dd7642b" }, "downloads": -1, "filename": "jira_oauth-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cbdfee1430f025c7c46d1514ec62af2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25004, "upload_time": "2018-12-11T13:50:55", "url": "https://files.pythonhosted.org/packages/77/97/d1dff019a1b4e1a5b0d9bdcd16fdb4dc55217148fb39d26740286dce2c67/jira_oauth-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae12b6708020daff438906e9082de36f", "sha256": "a33a7b39af21964ff3a07c6ba60bd4ce35a03bc9b1b7dc6c5abdbc7d9b9641bc" }, "downloads": -1, "filename": "jira-oauth-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ae12b6708020daff438906e9082de36f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9783, "upload_time": "2018-12-11T13:50:53", "url": "https://files.pythonhosted.org/packages/de/eb/19ee847ffe9456317f42aed717fdbce6cac6cedc9d6919aaa3ad335f7383/jira-oauth-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "a03a5ff58115fb11a7260a4ec1501c0a", "sha256": "7d9ac84f5b5a3f75c405b8cbd75d9edecd0c1d195db2cf24073933deb10a23b6" }, "downloads": -1, "filename": "jira_oauth-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "a03a5ff58115fb11a7260a4ec1501c0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25648, "upload_time": "2018-12-13T07:38:28", "url": "https://files.pythonhosted.org/packages/88/ba/0a94d9e4480a4bf8d96f1e22f57a4a4775cc9fa1bf0d2ceb6112c5580212/jira_oauth-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86e674f3dd89c9ca47ee9da8d7d5df28", "sha256": "8f85b72679faa87ea682d9ddbcda1e2f3fa14127425e3cf8deca5680c979430a" }, "downloads": -1, "filename": "jira-oauth-0.1.10.tar.gz", "has_sig": false, "md5_digest": "86e674f3dd89c9ca47ee9da8d7d5df28", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 10069, "upload_time": "2018-12-13T07:38:26", "url": "https://files.pythonhosted.org/packages/17/4a/9715a4f4c1646ade74556f802d3e08cae81aca91ce31cb321c2240d997c8/jira-oauth-0.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "9ba83918cfd4a144ba3c952c17d337f3", "sha256": "8108ac8b1973f96584c7dc595d94714eb9ead221a4daf420dccfd6b7d83697a3" }, "downloads": -1, "filename": "jira_oauth-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9ba83918cfd4a144ba3c952c17d337f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 24950, "upload_time": "2018-12-11T13:52:23", "url": "https://files.pythonhosted.org/packages/77/d3/5f65a7ea54094eb8d1e3baa0b5b7ff5ad971d304c6c76416678b9520382a/jira_oauth-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "628d5528dedb5f20b9072ea1aa17112e", "sha256": "c7cedfb3102245194687929af7b9866ae18a251cef56d1bc9cd76f669d657e1a" }, "downloads": -1, "filename": "jira-oauth-0.1.2.tar.gz", "has_sig": false, "md5_digest": "628d5528dedb5f20b9072ea1aa17112e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9721, "upload_time": "2018-12-11T13:52:22", "url": "https://files.pythonhosted.org/packages/43/2e/27d725581cbc1329a2cc3f8dc93dd4cc3c7aa55b191bfd363f5b27e389f6/jira-oauth-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "849d6841a99f5b3627ad0e334da512ab", "sha256": "f7f7fc7440a17144c3e86d5264b124dabaf3dfb28decbef62878f5f7d1438938" }, "downloads": -1, "filename": "jira_oauth-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "849d6841a99f5b3627ad0e334da512ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 24960, "upload_time": "2018-12-11T14:26:33", "url": "https://files.pythonhosted.org/packages/01/4b/d4a83d8189eae50fbed0775efa66782108d514c2daec8b948aaf41e3d998/jira_oauth-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42bb7476bcc784069fccd7c409b67b5e", "sha256": "2d80937d25e5d144d564411d8913915c6ada9c67d8730e45fc5e9f7de59fe7c3" }, "downloads": -1, "filename": "jira-oauth-0.1.3.tar.gz", "has_sig": false, "md5_digest": "42bb7476bcc784069fccd7c409b67b5e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9743, "upload_time": "2018-12-11T14:26:31", "url": "https://files.pythonhosted.org/packages/6c/b5/01bdf2c3d5bdad73831ad2439ac79f94457abf2f8611fcc94f1e275f9c09/jira-oauth-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "0676ea6126bc4f11e8c2ed2076cea777", "sha256": "512ab7ad8bc10d2646e04ba71ab2c93f3bcfc5165a0be4a9fe83b64e950e273e" }, "downloads": -1, "filename": "jira_oauth-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "0676ea6126bc4f11e8c2ed2076cea777", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 24977, "upload_time": "2018-12-11T15:09:34", "url": "https://files.pythonhosted.org/packages/2d/e6/d5779aea50ad29f40f3d86afe5b4deabea361f11564b209223fd837bf693/jira_oauth-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fae1d7e024ff6123864844fe5b68878", "sha256": "123e0e00986b946c52cd9f12d96b0fec1e9a52019e7568ad3c3710c34323b544" }, "downloads": -1, "filename": "jira-oauth-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9fae1d7e024ff6123864844fe5b68878", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9739, "upload_time": "2018-12-11T15:09:32", "url": "https://files.pythonhosted.org/packages/ca/c4/f7234e867e77f1b0f170d601da9f7e11836887b856a1c60ce570f0b35808/jira-oauth-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "022ea4081cc6ab46d241e2e96c0045e1", "sha256": "4a7300b05e09689208f6d6eda6d21b2012a5d19a33b86a2c12f0d82246992969" }, "downloads": -1, "filename": "jira_oauth-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "022ea4081cc6ab46d241e2e96c0045e1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25367, "upload_time": "2018-12-11T15:22:29", "url": "https://files.pythonhosted.org/packages/d3/1b/ce962c783398f5252bc0b5d21c83d7ed13e3329a6ec9036753e7a922720a/jira_oauth-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "011f75af49ff4db4f11ff7c99330213b", "sha256": "bcf360f2b83f31023eac6c2dbb659b0ab561ca826ab4816cb9f0e4e90de1b5e1" }, "downloads": -1, "filename": "jira-oauth-0.1.5.tar.gz", "has_sig": false, "md5_digest": "011f75af49ff4db4f11ff7c99330213b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9915, "upload_time": "2018-12-11T15:22:28", "url": "https://files.pythonhosted.org/packages/ec/a7/b284c9994264715a5ead97fa985f0b05a537e3ae11f1922bfcdfb8ba03f4/jira-oauth-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "aae8b4c8cebc0f2c3db4262b6d6a3d43", "sha256": "82b315d6eb6d3d7f052b998ccb58e20cfd8b602c5a0451e1d51ed62e80e2ba25" }, "downloads": -1, "filename": "jira_oauth-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "aae8b4c8cebc0f2c3db4262b6d6a3d43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25399, "upload_time": "2018-12-11T15:26:28", "url": "https://files.pythonhosted.org/packages/28/f4/041bc37a9581d311fb47d77158ba899c8260ffa978983adbb885d3aed89c/jira_oauth-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4455148d4c19ef2387540b82f9c7770", "sha256": "f9b05d0e46c54e2ecc4192194320562bf607e06f9f08f9eda6fc08bcfb5192ee" }, "downloads": -1, "filename": "jira-oauth-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f4455148d4c19ef2387540b82f9c7770", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9936, "upload_time": "2018-12-11T15:26:27", "url": "https://files.pythonhosted.org/packages/f2/2c/79751da289ef40de5bb7b5e701c26913303c8533e7f897051091c2087571/jira-oauth-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "0857a0bc7b610c2e5b5b7bb92f62d720", "sha256": "8b40bb0cc1dd4e3551fcee986e8fe1782b30d3b9625cafe7c9e4e420dd9b9eca" }, "downloads": -1, "filename": "jira_oauth-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "0857a0bc7b610c2e5b5b7bb92f62d720", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25487, "upload_time": "2018-12-12T06:51:16", "url": "https://files.pythonhosted.org/packages/96/f3/f1876601e01791e1606d7c576d834404353f10d415590aea36ae8109e992/jira_oauth-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd3ee4403bb398118408c514149bfbd1", "sha256": "040b5098d8e7fd09b855945e2e9286c5b97b54bbdc65636602c44bfec26377fe" }, "downloads": -1, "filename": "jira-oauth-0.1.7.tar.gz", "has_sig": false, "md5_digest": "fd3ee4403bb398118408c514149bfbd1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9969, "upload_time": "2018-12-12T06:51:14", "url": "https://files.pythonhosted.org/packages/d0/0c/47cad068856648e15e85dbe27b1e28051c20c81fe5c353c79f2df29442e0/jira-oauth-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "e1a82f8e25c5daea7015a7872d534c39", "sha256": "cc04068283bcb2b07129c6b9a23da5b4ca5258b44487439c06fa0465d1f49be5" }, "downloads": -1, "filename": "jira_oauth-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e1a82f8e25c5daea7015a7872d534c39", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25589, "upload_time": "2018-12-12T06:59:14", "url": "https://files.pythonhosted.org/packages/eb/30/cc0ebe1c3b591cdfd79ac234c16c443b7abc63c275e8793524b1cca60369/jira_oauth-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "033f7b84318dee994cbfe64599e1207e", "sha256": "694fe5f588669da5a3105e96bedcd3e72209a06f26ff95bb6b7310fc7ed4fcd5" }, "downloads": -1, "filename": "jira-oauth-0.1.8.tar.gz", "has_sig": false, "md5_digest": "033f7b84318dee994cbfe64599e1207e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 10059, "upload_time": "2018-12-12T06:59:13", "url": "https://files.pythonhosted.org/packages/26/33/c3213f746e69b3728c4d5fd05a965110d01640e2138a3ed2d21d416ce154/jira-oauth-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "a7edd9041b49121e02ae70b433bb2827", "sha256": "366145fba62ac8cf6ee47331f397f02e46af67959d5f7632613a482629ac993c" }, "downloads": -1, "filename": "jira_oauth-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "a7edd9041b49121e02ae70b433bb2827", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25591, "upload_time": "2018-12-12T07:00:12", "url": "https://files.pythonhosted.org/packages/67/60/c05a9ee877bedd2b13ab0bd63f4a6a97ec523318a304da97b9332f361790/jira_oauth-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63b6dec9c762a05213b398e5b43fe2e4", "sha256": "3ba8b41252bbe2a8a7f3a60fcb35d2d977a3060486b5332aa19234be168db94c" }, "downloads": -1, "filename": "jira-oauth-0.1.9.tar.gz", "has_sig": false, "md5_digest": "63b6dec9c762a05213b398e5b43fe2e4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 10056, "upload_time": "2018-12-12T07:00:10", "url": "https://files.pythonhosted.org/packages/eb/9a/8cdb1cda9f2ef525d616ab3662dff624074f5ca5c8a284eb7cdbad15942d/jira-oauth-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a03a5ff58115fb11a7260a4ec1501c0a", "sha256": "7d9ac84f5b5a3f75c405b8cbd75d9edecd0c1d195db2cf24073933deb10a23b6" }, "downloads": -1, "filename": "jira_oauth-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "a03a5ff58115fb11a7260a4ec1501c0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 25648, "upload_time": "2018-12-13T07:38:28", "url": "https://files.pythonhosted.org/packages/88/ba/0a94d9e4480a4bf8d96f1e22f57a4a4775cc9fa1bf0d2ceb6112c5580212/jira_oauth-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86e674f3dd89c9ca47ee9da8d7d5df28", "sha256": "8f85b72679faa87ea682d9ddbcda1e2f3fa14127425e3cf8deca5680c979430a" }, "downloads": -1, "filename": "jira-oauth-0.1.10.tar.gz", "has_sig": false, "md5_digest": "86e674f3dd89c9ca47ee9da8d7d5df28", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 10069, "upload_time": "2018-12-13T07:38:26", "url": "https://files.pythonhosted.org/packages/17/4a/9715a4f4c1646ade74556f802d3e08cae81aca91ce31cb321c2240d997c8/jira-oauth-0.1.10.tar.gz" } ] }