Hi Everyone,
I’m trying to use the API to input a url generated from on board elements into a link column in python. I’ve C&P’d my query as you can see the url and text for the link column are variables I’m unsure how to actually write the query so that the API understand what I’m sending.
query = 'mutation ($boardID:Int!,$itemID:Int!,$colID:String!,$linkVal: JSON!) { change_multiple_column_values(item_id:[$itemID],board_id:[boardID],column_values:$linkVal)}'
vars = {
'boardID':boardID,
'itemID':itemID,
'colID': colID,
'linkVal': {
'colID': {'url': itemURL, 'text': itemName}
}
}
Full Code:
boardID= myBoardID
query = 'query ($boardID:Int!) {boards(ids:[$boardID]){items {id name}}}'
vars={
'boardID': boardID
}
data = {'query': query, 'variables': vars}
r = requests.post(url=apiUrl, json=data, headers=headers) # make request
itemsInjest=r.json()
itemsDict=itemsInjest['data']
itemsVal=itemsDict['boards']
itemsURL = []
boardID=str(boardID)
for items in itemsVal:
for itemsIDs in items['items']:
url= str("https://acep-space.monday.com/boards/"+ boardID+ "/pulses/"+ itemsIDs['id'])
itemsURL.append([int(itemsIDs['id']),itemsIDs['name'],url])
boardID = int(boardID)
query = 'query ($boardID:Int!) {boards(ids:[$boardID]){items(limit:1){column_values{id type}}}}'
vars = {
'boardID': boardID
}
data = {'query': query, 'variables': vars}
r = requests.post(url=apiUrl, json=data, headers=headers) # make request
colInjest = r.json()
colDict = colInjest['data']
colItems = colDict['boards']
for items in colItems:
for colVals in items['items']:
break
break
colData = colVals['column_values']
i = 0
while i < len(colData):
colVal = colData[i]
colType = colVal['type']
if colType == 'link':
colID = colVal['id']
i += 1
i=0
while i<len(itemsURL):
itemData=itemsURL[i]
itemID=itemData[0]
itemName=itemData[1]
itemURL=itemData[2]
query = 'mutation ($boardID:Int!,$itemID:Int!,$colID:String!,$linkVal: JSON!) { change_multiple_column_values(item_id:[$itemID],board_id:[boardID],column_values:$linkVal)}'
vars = {
'boardID':boardID,
'itemID':itemID,
'colID': colID,
'linkVal': {
'colID': {'url': itemURL, 'text': itemName}
}
}
data = {'query': query, 'variables': vars}
r = requests.post(url=apiUrl, json=data, headers=headers) # make request
print(r.json())
i+=1