<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Uploading extention.zip through Python API script in Extensions</title>
    <link>https://community.dynatrace.com/t5/Extensions/Uploading-extention-zip-through-Python-API-script/m-p/172363#M1803</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm currently writing a python script to push an extention to several environments at the same time. Im not getting it to work. Im not getting it to upload the zip file, as the repsonse is 400 - Bad Request. Hoping someone here with some python experience knows what is wrong &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Block of code not working follows:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;requests&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;json&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# ...&lt;BR /&gt;# Other blocks of code here that works fine&lt;BR /&gt;# ...&lt;BR /&gt;&lt;BR /&gt;for &lt;/SPAN&gt;tenant_id&lt;SPAN&gt;, &lt;/SPAN&gt;token &lt;SPAN&gt;in &lt;/SPAN&gt;&lt;SPAN&gt;zip&lt;/SPAN&gt;(tenant_id_list&lt;SPAN&gt;, &lt;/SPAN&gt;token_list):&lt;BR /&gt;   url = &lt;SPAN&gt;"https://dtmanaged.com/e/" &lt;/SPAN&gt;+ tenant_id + &lt;SPAN&gt;"/api/config/v1/extensions?overrideAlerts=false"&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;   payload = {&lt;SPAN&gt;'file'&lt;/SPAN&gt;: &lt;SPAN&gt;'@custom.python.ssl_cert_check.zip;type=application/x-zip-compressed'&lt;/SPAN&gt;}&lt;BR /&gt;&lt;BR /&gt;   files = {&lt;SPAN&gt;'file'&lt;/SPAN&gt;: &lt;SPAN&gt;open&lt;/SPAN&gt;(&lt;SPAN&gt;'custom.python.ssl_cert_check.zip'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'rb'&lt;/SPAN&gt;)}&lt;BR /&gt;&lt;BR /&gt;   headers = {&lt;BR /&gt;&lt;SPAN&gt;     'accept'&lt;/SPAN&gt;: &lt;SPAN&gt;'application/json; charset=utf-8'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;: &lt;SPAN&gt;'Api-Token ' &lt;/SPAN&gt;+ token&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;'Content-Type'&lt;/SPAN&gt;: &lt;SPAN&gt;'multipart/form-data'&lt;BR /&gt;&lt;/SPAN&gt;     }&lt;BR /&gt;&lt;BR /&gt;    response = requests.request(&lt;SPAN&gt;"POST"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;url&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;=headers&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;=payload&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;files&lt;/SPAN&gt;=files)&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;  print&lt;/SPAN&gt;(response.text)&lt;BR /&gt;&lt;SPAN&gt;  print&lt;/SPAN&gt;(response.status_code)&lt;/PRE&gt;
&lt;P&gt;The zip file is in the same project as the Python file.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 18 May 2023 12:15:27 GMT</pubDate>
    <dc:creator>marius_duns</dc:creator>
    <dc:date>2023-05-18T12:15:27Z</dc:date>
    <item>
      <title>Uploading extention.zip through Python API script</title>
      <link>https://community.dynatrace.com/t5/Extensions/Uploading-extention-zip-through-Python-API-script/m-p/172363#M1803</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm currently writing a python script to push an extention to several environments at the same time. Im not getting it to work. Im not getting it to upload the zip file, as the repsonse is 400 - Bad Request. Hoping someone here with some python experience knows what is wrong &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Block of code not working follows:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;requests&lt;BR /&gt;&lt;SPAN&gt;import &lt;/SPAN&gt;json&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# ...&lt;BR /&gt;# Other blocks of code here that works fine&lt;BR /&gt;# ...&lt;BR /&gt;&lt;BR /&gt;for &lt;/SPAN&gt;tenant_id&lt;SPAN&gt;, &lt;/SPAN&gt;token &lt;SPAN&gt;in &lt;/SPAN&gt;&lt;SPAN&gt;zip&lt;/SPAN&gt;(tenant_id_list&lt;SPAN&gt;, &lt;/SPAN&gt;token_list):&lt;BR /&gt;   url = &lt;SPAN&gt;"https://dtmanaged.com/e/" &lt;/SPAN&gt;+ tenant_id + &lt;SPAN&gt;"/api/config/v1/extensions?overrideAlerts=false"&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;   payload = {&lt;SPAN&gt;'file'&lt;/SPAN&gt;: &lt;SPAN&gt;'@custom.python.ssl_cert_check.zip;type=application/x-zip-compressed'&lt;/SPAN&gt;}&lt;BR /&gt;&lt;BR /&gt;   files = {&lt;SPAN&gt;'file'&lt;/SPAN&gt;: &lt;SPAN&gt;open&lt;/SPAN&gt;(&lt;SPAN&gt;'custom.python.ssl_cert_check.zip'&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;'rb'&lt;/SPAN&gt;)}&lt;BR /&gt;&lt;BR /&gt;   headers = {&lt;BR /&gt;&lt;SPAN&gt;     'accept'&lt;/SPAN&gt;: &lt;SPAN&gt;'application/json; charset=utf-8'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;: &lt;SPAN&gt;'Api-Token ' &lt;/SPAN&gt;+ token&lt;SPAN&gt;,&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;'Content-Type'&lt;/SPAN&gt;: &lt;SPAN&gt;'multipart/form-data'&lt;BR /&gt;&lt;/SPAN&gt;     }&lt;BR /&gt;&lt;BR /&gt;    response = requests.request(&lt;SPAN&gt;"POST"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;url&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;=headers&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;=payload&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;files&lt;/SPAN&gt;=files)&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;  print&lt;/SPAN&gt;(response.text)&lt;BR /&gt;&lt;SPAN&gt;  print&lt;/SPAN&gt;(response.status_code)&lt;/PRE&gt;
&lt;P&gt;The zip file is in the same project as the Python file.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 May 2023 12:15:27 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Extensions/Uploading-extention-zip-through-Python-API-script/m-p/172363#M1803</guid>
      <dc:creator>marius_duns</dc:creator>
      <dc:date>2023-05-18T12:15:27Z</dc:date>
    </item>
    <item>
      <title>Re: Uploading extention.zip through Python API script</title>
      <link>https://community.dynatrace.com/t5/Extensions/Uploading-extention-zip-through-Python-API-script/m-p/172368#M1804</link>
      <description>&lt;P&gt;If you are using python already, may I suggest: &lt;A href="https://github.com/dynatrace-oss/api-client-python" target="_blank"&gt;https://github.com/dynatrace-oss/api-client-python&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;install with &lt;STRONG&gt;pip install dt&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Then it is as simple as&lt;/P&gt;&lt;LI-CODE lang="python"&gt;from dynatrace import Dynatrace

dt = Dynatrace("&amp;lt;tenant_url&amp;gt;", "&amp;lt;apit_token&amp;gt;")
dt.extensions.post("D:/custom.remote.python.myextension.zip")&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Sep 2021 15:35:48 GMT</pubDate>
      <guid>https://community.dynatrace.com/t5/Extensions/Uploading-extention-zip-through-Python-API-script/m-p/172368#M1804</guid>
      <dc:creator>david_lopes</dc:creator>
      <dc:date>2021-09-15T15:35:48Z</dc:date>
    </item>
  </channel>
</rss>

