I'm trying to upload a file to my repo's downloads section from my pipeline using curl.
The step doesn't fail but the file is NOT uploaded. We can read <span><strong>HTTP/2 401</strong> in the logs (line 70):<br></span>
2 Note: Unnecessary use of -X or --request, POST is already inferred.
3 % Total % Received % Xferd Average Speed Time Time Time Current
4 <span>Dload Upload Total Spent Left Speed </span>
5
<span>6 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 18.205.93.6:443... </span>
7 * Connected to <a href="http://api.bitbucket.org/" rel="noopener nofollow noreferrer" target="_blank">api.bitbucket.org</a> (18.205.93.6) port 443<br><br>8 <span>* ALPN: curl offers h2,http/1.1 <br><br></span>9 <span>} [5 bytes data]<br><br></span>10 <span>* TLSv1.3 (OUT), TLS handshake, Client hello (1):<br><br></span>11 <span>} [512 bytes data]<br><br></span>12 <span>* CAfile: /etc/pki/tls/certs/ca-bundle.crt<br><br></span>13 <span>* CApath: none<br><br></span>14 { [5 bytes data]<br><br>15 <span>* TLSv1.3 (IN), TLS handshake, Server hello (2):<br><br></span>16 <span>{ [88 bytes data]<br><br></span>17 <span>* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):<br><br></span>18 <span>} [1 bytes data]<br><br></span>19 <span>* TLSv1.3 (OUT), TLS handshake, Client hello (1):<br><br></span>20 <span>} [512 bytes data]<br><br></span>21 <span>* TLSv1.3 (IN), TLS handshake, Server hello (2):<br><br></span>22 <span>{ [155 bytes data] </span>
23 <span>* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):<br><br></span>24 <span>{ [15 bytes data]<br><br></span>25 <span>* TLSv1.3 (IN), TLS handshake, Certificate (11):<br><br></span>26 <span>{ [2772 bytes data]<br><br></span>27 <span>* TLSv1.3 (IN), TLS handshake, CERT verify (15):<br><br></span>28 <span>{ [78 bytes data]<br><br></span>29 <span>* TLSv1.3 (IN), TLS handshake, Finished (20):<br><br></span>30 <span>{ [36 bytes data]<br><br></span>31 <span>* TLSv1.3 (OUT), TLS handshake, Finished (20):<br><br></span>32 <span>} [36 bytes data] </span>
33 <span>* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256</span><span>+ curl -v -X POST -u "${BITBUCKET_USERNAME}:${BITBUCKET_APP_PASSWORD}" "<a href="https://api.bitbucket.org/2.0/repositories/%24%7BBITBUCKET_REPO_OWNER%7D/%24%7BBITBUCKET_REPO_SLUG%7D/downloads" rel="noopener nofollow noreferrer" target="_blank">https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads</a>" -F files="@dependency-check.tar"</span>
34 <span>* ALPN: server accepted h2<br><br></span>35 <span>* Server certificate:<br><br></span>36 <span>* subject: C=US; ST=California; L=San Francisco; O=Atlassian US, Inc.; CN=*.bitbucket.org<br><br></span>37 <span>* start date: Apr 28 00:00:00 2023 GMT<br><br></span>38 <span>* expire date: Mar 28 23:59:59 2024 GMT<br><br></span>39 <span>* subjectAltName: host "<a href="http://api.bitbucket.org/" rel="noopener nofollow noreferrer" target="_blank">api.bitbucket.org</a>" matched cert's "*.bitbucket.org"<br><br></span>40 <span>* issuer: C=US; O=DigiCert Inc; <a href="http://ou%3Dwww.digicert.com/" rel="noopener nofollow noreferrer" target="_blank">OU=www.digicert.com</a>; CN=DigiCert SHA2 High Assurance Server CA<br></span>
41 <span>* SSL certificate verify ok.<br><br></span>42 <span>} [5 bytes data]<br><br></span>43 <span>* using HTTP/2<br><br></span>44 <span>* Server auth using Basic with user '<OMMITED>'<br><br></span>45 <span>* [HTTP/2] [1] OPENED stream for <a href="https://api.bitbucket.org/2.0/repositories/evolate/elevate-insights/downloads" rel="noopener nofollow noreferrer" target="_blank">https://api.bitbucket.org/2.0/repositories/<OMMITED>/<OMMITED>/downloads<br><br></a></span>46 <span>* [HTTP/2] [1] [:method: POST]<br><br></span>47 <span>* [HTTP/2] [1] [:scheme: https]<br><br></span>48 <span>* [HTTP/2] [1] [:authority: <a href="http://api.bitbucket.org/" rel="noopener nofollow noreferrer" target="_blank">api.bitbucket.org</a>]<br><br></span>49 <span>* [HTTP/2] [1] [:path: /2.0/repositories/<OMMITED>/<OMMITED>/downloads]<br><br></span>50 <span>* [HTTP/2] [1] [authorization: Basic <OMMITED>]<br> <br></span>51 <span>* [HTTP/2] [1] [user-agent: curl/8.3.0]<br><br></span>52 <span>* [HTTP/2] [1] [accept: */*]<br><br></span>53 <span>* [HTTP/2] [1] [content-length: 200315093]<br><br></span>54<span>* [HTTP/2] [1] [content-type: multipart/form-data; boundary=------------------------40685d70a281abee]<br><br></span>55 <span>} [5 bytes data]<br><br></span>56 <span>> POST /2.0/repositories/<OMMITED>/<OMMITED>/downloads HTTP/2<br><br></span>57 <span>> Host: <a href="http://api.bitbucket.org/" rel="noopener nofollow noreferrer" target="_blank">api.bitbucket.org<br><br></a></span>58 <span>> Authorization: Basic <OMMITED><br><br></span>59 <span>> User-Agent: curl/8.3.0<br><br></span>60 <span>> Accept: */*<br><br></span>61 <span>> Content-Length: 200315093<br><br></span>62 <span>> Content-Type: multipart/form-data; boundary=------------------------40685d70a281abee<br><br></span>63 <span>> <br><br></span>64 <span>} [5 bytes data]<br><br></span>65 <span>* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):<br><br></span>66 <span>{ [202 bytes data]<br><br></span>67
68 <span>51 191M 0 0 51 97.8M 0 231M --:--:-- --:--:-- --:--:-- 231M* We are completely uploaded and fine<br><br></span>69 <span>{ [5 bytes data]<br> <br></span>70 <span>< HTTP/2 401 <br><br></span>71 <span>< server: envoy<br><br></span>72 <span>* Authentication problem. Ignoring this.<br><br></span>73 <span>< www-authenticate: Basic realm="<a href="http://bitbucket.org/" rel="noopener noreferrer" target="_blank">Bitbucket.org</a> HTTP"<br><br></span>74 <span>< vary: Origin<br><br></span>75 <span>< cache-control: max-age=0, no-cache, no-store, must-revalidate<br><br></span>76<span>< content-type: text/plain<br><br></span>77<span>< x-b3-traceid: 213298583d24461f<br><br></span>78<span>< x-usage-output-ops: 0<br><br></span>79<span>< x-dc-location: Micros-3<br><br></span>80<span>< strict-transport-security: max-age=31536000; includeSubDomains; preload<br><br></span>81<span>< date: Thu, 02 Nov 2023 09:45:10 GMT<br><br></span>82<span>< x-request-id: 213298583d24461f<br><br></span>83<span>< x-usage-user-time: 0.010569<br><br></span>84<span>< x-usage-system-time: 0.000000<br><br></span>85<span>< x-served-by: 1734b7da7b86<br><br></span>86<span>< expires: Thu, 02 Nov 2023 09:45:10 GMT<br><br></span>87<span>< x-xss-protection: 1; mode=block<br><br></span>88<span>< x-envoy-upstream-service-time: 49<br><br></span>89<span>< x-b3-spanid: 8de8f4bddac92b22<br><br></span>90<span>< x-static-version: 0a88acc2851f<br><br></span>91<span>< x-content-type-options: nosniff<br><br></span>92<span>< x-render-time: 0.008195877075195312<br><br></span>93<span>< x-trace-id: 213298583d24461f<br><br></span>94<span>< x-usage-input-ops: 0<br><br></span>95<span>< x-version: 0a88acc2851f<br><br></span>96<span>< x-request-count: 2690<br><br></span>97<span>< x-frame-options: SAMEORIGIN<br><br></span>98<span>< content-length: 0<br><br></span>99<span>< <br><br></span>100
101 <span>100 191M 0 0 100 191M 0 121M 0:00:01 0:00:01 --:--:-- 121M{ [0 bytes data]<br><br></span>102
103 <span>100 191M 0 0 100 191M 0 121M 0:00:01 0:00:01 --:--:-- 121M<br><br></span><span>104 * Connection #0 to host <a href="http://api.bitbucket.org/" rel="noopener nofollow noreferrer" target="_blank">api.bitbucket.org</a> left intact</span>
<span>The same command works just fine from a local container I built following <a href="https://confluence.atlassian.com/bbkb/debug-pipelines-locally-with-docker-1167698072.html" rel="noopener nofollow noreferrer" target="_blank">this guidance</a>. In this case, the logs reads like below:</span>
<span>* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):<br>* We are completely uploaded and fine<br>< HTTP/2 201<br>< server: envoy</span>