PySNC icon indicating copy to clipboard operation
PySNC copied to clipboard

Python API for ServiceNow

Results 21 PySNC issues
Sort by recently updated
recently updated
newest added

Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4. Release notes Sourced from jinja2's releases. 3.1.4 This is the Jinja 3.1.4 security release, which fixes security issues and bugs but does not otherwise...

dependencies

Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7. Release notes Sourced from idna's releases. v3.7 What's Changed Fix issue where specially crafted inputs to encode() could take exceptionally long amount of time...

dependencies

e.g. ```python secret = b'it would go here' request = requests.Request( 'POST', 'https://theinstance.service-now.com/api/now/table/incident', json={'short_description':'test'} ) prepped = request.prepare() signature = hmac.new(secret, prepped.body, digestmod=hashlib.sha256) encoded_sig = base64.standard_b64encode(signature.digest()).decode() prepped.headers['x-sn-hmac-signature-256'] = f"keyId=test_secret,signature={encoded_sig}" print(prepped.headers)...

enhancement

e.g. the api/record query expects `list_fieldCONTAINSv1,v2` but the sysparm_query for list view expects `list_fieldLIKEv1,v2` -- so the function to generate the link should convert accordingly?

bug

doing a `gr.get(sys_id)` does not show any errors when we have a RoleException doing it via `gr.query()` however does -- need this to be more consistent e.g. ``` test =...

We have update_multiple and delete_multiple which take advantage of the batch api -- no reason to not do the same with insert. I imagine something like: ``` gr = client.GlideRecord('some_table')...

enhancement

We can use the API to query, then execute UI Actions. The following is the current method to execute: ``` params = dict(sysparm_table='x_snc_some_table', sysparm_sys_id=sys_id) r = self.client.session.post(f"{self.client.instance}/api/now/ui/ui_action/{ui_action_sys_id}", params=params, json={}) ```...

enhancement

Support the headers ``` X-WantSessionDebugMessages: true X-WantSessionNotificationMessages: true ``` For: ``` "session":{"notifications":[],"debug_logs":[]} ``` These, however, require actual sessions

enhancement

When doing something as such: ```python gr = client.GlideRecord(table) gr.initialize() gr.field = 'some value' gr.get('non_existant_id') ``` We expect the `gr.field` to now be None -- in actuality it is still...

bug

https://docs.python.org/3/library/pickle.html#pickle-protocol https://stackoverflow.com/questions/1939058/simple-example-of-use-of-setstate-and-getstate It would be useful to read/write these to disk.

enhancement