22#
33# /// script
44# dependencies = [
5- # "pyyaml",
65# "requests",
76# ]
87# ///
98
109import argparse
10+ import subprocess
1111import requests
12- import yaml
1312from pathlib import Path
1413from urllib .parse import urlsplit
1514
@@ -30,25 +29,23 @@ def download_file(url: str):
3029
3130def main ():
3231 parser = argparse .ArgumentParser (description = "Download release artifacts from an Evergreen version" )
33- parser .add_argument ("version_id" , help = "Evergreen version ID. (e.g. https://evergreen.mongodb.com/version/<version_id>)" )
32+ parser .add_argument ("version_id" , help = "Evergreen version ID. (e.g. https://evergreen.corp. mongodb.com/version/<version_id>)" )
3433 args = parser .parse_args ()
3534
3635 version_id = args .version_id
3736
38- # Get Evergreen API credentials:
39- path : Path = Path ().home () / ".evergreen.yml"
40- with path .open () as file :
41- evg_settings = yaml .load (file , Loader = yaml .FullLoader )
37+ oauth_token = subprocess .check_output (["evergreen" , "client" , "get-oauth-token" ], text = True ).strip ()
4238
43- api_server_host = "https://evergreen.mongodb.com/rest/v2"
44- api_key = evg_settings ["api_key" ]
45- api_user = evg_settings ["user" ]
46- headers = {'Api-User' : api_user , 'Api-Key' : api_key }
39+ api_server_host = "https://evergreen.corp.mongodb.com/rest/v2"
40+ headers = {'Authorization' : f'Bearer { oauth_token } ' }
4741
4842 resp : requests .Response = requests .get (
4943 f"{ api_server_host } /versions/{ version_id } /builds" ,
5044 params = {"include_task_info" : "true" },
5145 headers = headers )
46+ if resp .status_code != 200 :
47+ print (f"Failed to get builds for version { version_id } : { resp .status_code } { resp .text } " )
48+ return
5249 builds = resp .json ()
5350
5451 for build in builds :
0 commit comments