{ "info": { "author": "Tim Skirvin", "author_email": "tskirvin@fnal.gov", "bugtrack_url": null, "classifiers": [], "description": "# pyfnalsnow\n\nThis module provides Python libraries and scripts to interact with \n[Service Now](http://www.service-now.com). This was designed to work with\na specific instance of SNOW (FNAL), but these scripts and libraries will \nprobably work with other sites, so it's worth sharing.\n\n## Scripts\n\n### Create: snow-incident-create, snow-ritm-create\n\nCreate Incidents and Requests/Requested Items, respectfully. These work\ndirectly with the REST API.\n\n### Read: snow-incident-list, snow-ritm-list, snow-tkt, snow-tkt-list\n\nScripts to search and list Incident and Requested Items, respectfully.\nsnow-tkt-list calls both.\n\nsnow-tkt takes a ticket name and prints information about that ticket on\nSTDOUT.\n\n### Update: many scripts\n\nMost of these do what they say on the tin:\n\n* snow-tkt-assign - assign a ticket to a user and/or group\n* snow-tkt-journal - record a journal entry or comment to a ticket\n* snow-tkt-pending - set a ticket to status pending (mostly for RITMs)\n* snow-tkt-resolve - resolve a ticket\n* snow-tkt-unassign - assign a ticket back to the Help Desk\n\n### Delete: No Such Thing\n\nData doesn't generally get removed from SNOW, at least not by users.\n\n## libraries\n\n### pyfnalsnow\n\nCreates and caches the connections to SNOW; caches searches; provides the\nCRUD interface that the various scripts depend on; provides tools for\nuser/group searches; abstracts out the various ticket types (Incidents,\nRequests, Tasks, Requested Items, etc); and works with a central\nconfiguration file (`/etc/snow/config.yaml`) so that we can abstract\nserver/authentication data away from the user.\n\n### pyfnalsnow.ticket\n\nThis mostly provides template functions for the various \nsub-tables (e.g. `Incident`): printing functions, mapping some functions\nto field names, etc.\n\n### pyfnalsnow.Incident, pyfnalsnow.Request, pyfnalsnow.RITM\n\nFunctions that must be customized per-table are stored here; for instance,\nRITMs must change state several times to get to a pending or resolved\nstate.\n\n## Requirements\n\nThis script requires [pysnow](https://github.com/rbw0/pysnow). I would\nprobably just update it directly except that I don't know for sure what\nchanges we have made locally that don't apply to the \"default\" instance.\n\nTo make this work on RHEL6 and a modern `pysnow` you probably want to\ninstall oauthlib 2.0.7: `pip install oauthlib==2.0.7`.\n\n### Configuration File\n\n`/etc/snow/config.yaml` looks something like:\n\n servicenow:\n username: '(USERNAME)'\n url: 'https://(SITENAME).service-now.com/'\n password: '(PASSWORD)'\n instance: '(INSTANCE)'\n\n ritm_template:\n priority: '3'\n u_categorization: 'Hardware -- Worker Node -- No Item Available'\n urgency: '3'\n\n\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/tskirvin/pyfnalsnow.git", "keywords": "snow,service-now", "license": "Perl Artistic", "maintainer": "Tim Skirvin", "maintainer_email": "tskirvin@fnal.gov", "name": "pyfnalsnow", "package_url": "https://pypi.org/project/pyfnalsnow/", "platform": "", "project_url": "https://pypi.org/project/pyfnalsnow/", "project_urls": { "Homepage": "https://github.com/tskirvin/pyfnalsnow.git" }, "release_url": "https://pypi.org/project/pyfnalsnow/1.3.1/", "requires_dist": [ "pysnow (>=0.7.4)", "PyYAML (>=3.11)" ], "requires_python": "", "summary": "SNOW JSON API access", "version": "1.3.1" }, "last_serial": 5699929, "releases": { "1.2.3": [ { "comment_text": "", "digests": { "md5": "2e8583e388a11de1dfd8c4ae8034714e", "sha256": "03e51f613ef1b92e8cec0cbc8c91f0d34f5092580151fa16970f295071a115a2" }, "downloads": -1, "filename": "pyfnalsnow-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2e8583e388a11de1dfd8c4ae8034714e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13195, "upload_time": "2019-03-20T19:39:34", "url": "https://files.pythonhosted.org/packages/17/cc/76fe9071aaa472617d0c2fb44814c2adfb574234557d4100aab464e73f83/pyfnalsnow-1.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df50ecced41f625ee1463bd57ac0b8ae", "sha256": "a9c0f26f8bf6303e52cb821b2fe3daccee522a8308b992909a5939963df7ecd8" }, "downloads": -1, "filename": "pyfnalsnow-1.2.3.tar.gz", "has_sig": false, "md5_digest": "df50ecced41f625ee1463bd57ac0b8ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10864, "upload_time": "2019-03-20T19:39:36", "url": "https://files.pythonhosted.org/packages/ae/f8/a66649c77ec97372a5033106b522ae79ffaab6a0994cdbf2c6317a5c0b4e/pyfnalsnow-1.2.3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "fff6ff4607c52d37938b18369164579e", "sha256": "ff1e8e8b09e9a5158708c3bb4deaa92b7e590f22d5143cfa02575146f18caf1a" }, "downloads": -1, "filename": "pyfnalsnow-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fff6ff4607c52d37938b18369164579e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13172, "upload_time": "2019-08-19T19:09:38", "url": "https://files.pythonhosted.org/packages/02/4c/645e3181fcf8a2c1e8095ed590f986c78098bbd24d87346e8073cc1aebad/pyfnalsnow-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea96c7c2c01e431fd355c073a3c9654c", "sha256": "4b5e5595c4bf8b340c0793bf144e7641bf3ed801b66460ae04b37f77411dc6d5" }, "downloads": -1, "filename": "pyfnalsnow-1.3.1.tar.gz", "has_sig": false, "md5_digest": "ea96c7c2c01e431fd355c073a3c9654c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10800, "upload_time": "2019-08-19T19:09:40", "url": "https://files.pythonhosted.org/packages/c1/d8/129bd940bbf1b1355fd3147fe53a38b7956085e1022acc5ec7adc87402f1/pyfnalsnow-1.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fff6ff4607c52d37938b18369164579e", "sha256": "ff1e8e8b09e9a5158708c3bb4deaa92b7e590f22d5143cfa02575146f18caf1a" }, "downloads": -1, "filename": "pyfnalsnow-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fff6ff4607c52d37938b18369164579e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13172, "upload_time": "2019-08-19T19:09:38", "url": "https://files.pythonhosted.org/packages/02/4c/645e3181fcf8a2c1e8095ed590f986c78098bbd24d87346e8073cc1aebad/pyfnalsnow-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea96c7c2c01e431fd355c073a3c9654c", "sha256": "4b5e5595c4bf8b340c0793bf144e7641bf3ed801b66460ae04b37f77411dc6d5" }, "downloads": -1, "filename": "pyfnalsnow-1.3.1.tar.gz", "has_sig": false, "md5_digest": "ea96c7c2c01e431fd355c073a3c9654c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10800, "upload_time": "2019-08-19T19:09:40", "url": "https://files.pythonhosted.org/packages/c1/d8/129bd940bbf1b1355fd3147fe53a38b7956085e1022acc5ec7adc87402f1/pyfnalsnow-1.3.1.tar.gz" } ] }