You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2023-11-12 11:51:13

Uplifter
Member
Registered: 2023-05-21
Posts: 6

Attach a Google Drive file to ticket in python

Hi,

I have a Slack bot that opens a ticket based on the user input, I added a button to upload a document to a specific folder in Google Drive, and I want to attach that file to the ticket, how do I go about doing this? (the code already have access to that specific folder and have authorization. that folder always holds one file, the one that's uploaded by the user which opened this specific ticket)

Here is my ticket opening code:

email = app.client.users_info(user=body['user']['id'])['user']['profile']['email'] 
            slack_user_id = body['user']['id'] 
            glpi_user_id = glpi_user_id_by_email(email)
            
            # Extract submitted data from the dialog submission
            glpi_url = "https://qitt-help.qwilt.com/apirest.php/Ticket"
            glpi_ticket_priority = body['view']['state']['values']['priority']['static_select-action']['selected_option']['value']
            glpi_ticket_type = body['view']['state']['values']['tickettype']['type_static_select-action']['selected_option']['value']
            glpi_ticket_subject = body['view']['state']['values']['subject']['subject_input']['value']
            glpi_ticket_description = body['view']['state']['values']['description']['description_input']['value'] 
            
            headers = {
                "Content-type": "application/json",
                "App-Token": API_KEY,
                "Session-Token": get_token(),
            }
            
            data = {
                "input": {
                    "name": glpi_ticket_subject,
                    "content": f"{glpi_ticket_description}"
                            f'<br>'
                            f'<br>'
                            f'<p style="color:#636363; font-size:14px; background-color:lightgray;">Ticket was opened by {email}</p>', 
                    "priority": glpi_ticket_priority,
                    "impact": "4",
                    "urgency": "3",
                    "type": glpi_ticket_type,
                    "_users_id_requester": glpi_user_id,
                    "_users_id_recipient": glpi_user_id,
                }
            }
            
            response = requests.post(glpi_url, headers=headers, json=data)
            print_with_timestamp(f"GLPI request Success: {response.text}")     
            ticket_id = response.json()['id']
            print_with_timestamp(ticket_id) 

Offline

Board footer

Powered by FluxBB