import requests
import google.auth.transport.requests
import google.oauth2.id_token
from zcloud.service_enums import APIEndpoint
[docs]
def post_to_cloud_run(endpoint_url,payload):
# Get credentials and project from the environment
auth_req = google.auth.transport.requests.Request()
id_token = google.oauth2.id_token.fetch_id_token(auth_req, endpoint_url)
# Define the headers, including the authorization header
headers = {
"Authorization": f"Bearer {id_token}",
"Content-Type": "application/json",
}
# Make the POST request
response = requests.post(endpoint_url, json=payload, headers=headers)
return response
[docs]
def get_from_cloud_run(endpoint_url,params):
# Get credentials and project from the environment
auth_req = google.auth.transport.requests.Request()
id_token = google.oauth2.id_token.fetch_id_token(auth_req, endpoint_url)
# Define the headers, including the authorization header
headers = {
"Authorization": f"Bearer {id_token}",
}
# Make the GET request
response = requests.get(endpoint_url, headers=headers,params=params)
return response
[docs]
def post_to_cloud_run_result(endpoint_url,payload):
"""
"""
response = post_to_cloud_run(endpoint_url,payload)
return response.json()
[docs]
def get_jira_ticket_from_gcp_service(jira_ticket_ref):
JIRA_KEY = "jira-key"
return post_to_cloud_run_result(APIEndpoint.JIRA_SERVICE_URL.value,{JIRA_KEY:jira_ticket_ref})["result"][0]