2015-06-17 34 views
1

有沒有人使用Python的GlideRecord庫?我似乎無法讓它執行一些相當基本的功能。我想添加幾個sysparm_query參數。這只是一個代碼片段,爲了安全起見,我不得不手動編輯它。希望我沒有引入任何錯字錯誤。ServiceNow GlideRecord sysparm_query Python

for i in glide1, glide2: 
    i.set_credentials('xxxx', 'xxxx') 
    i.set_server("https://<instance>.service-now.com/") 
    i.addQuery("active", "true") 

def getIncidents(glide1): 
    group = "mygroup" 
    glide1.addQuery('assignment_group', group) 

    print glide1.query_data['sysparm_query'] + '\n' 
    print glide1.getQuery()[50:] #just to avoid too much output 

給我的輸出:

active=true^assignment_group=mygroup

displayvalue=true&JSONv2&sysparm_record_count=100&sysparm_action=getRecords&sysparm_query=

我不能得到的查詢數據追加。也許我應該看看手動執行查詢?這裏是一個鏈接到GlideRecord的git:

https://github.com/bazizi/ServiceNow_GlideRecord_API/blob/master/GlideRecord/init.py

乾杯,亞瑟

+0

只是爲了跟進我自己的問題的情況下,任何人都看起來 - 看起來'getQuery()'不會再回到了'sysparm_query'數據。即使在查詢使用參數後,它仍然返回相同的結果。另外 - 我從來沒有設法讓'addQuery()'獲取人類可讀的參數(如果添加了'displayvalue = true'參數,它會被重新調用。我剛剛手動獲取數據字符串並將其硬編碼爲這足以滿足我的用例:'glide1.addEncodedQuery('assignment_group = 0f1fc35fb8c11010b834c3m6d6r4519a')' –

回答

1

我才意識到,我已經定義的getQuery()成員函數只返回了基本查詢的網址(不包括查詢本身)。我最初爲了測試目的添加了這個功能,並且錯誤地將其添加到文檔中。

我剛剛解決了這個問題,並將其提交給GitHub存儲庫。請再次從git倉庫拉或者如果安裝使用PIP,運行以下命令不是從頭開始重新安裝:

pip uninstall GlideRecord 
pip install GlideRecord 

在按名稱設置的分配組方面,但是,我仍然需要找到了解ServiceNow如何散列assignment_group,或者是否可以添加此查詢的另一種方式;也就是說,我現在沒有修復。

感謝

貝赫南