MCPcopy
hub / github.com/pydantic/pydantic / create_github_release_draft

Function create_github_release_draft

release/push.py:115–136  ·  view source on GitHub ↗

Create a GitHub release draft.

(rl_version: str, rl_release_notes: str)

Source from the content-addressed store, hash-verified

113
114
115def create_github_release_draft(rl_version: str, rl_release_notes: str):
116 """Create a GitHub release draft."""
117 url = f'https://api.github.com/repos/{REPO}/releases'
118 headers = {'Authorization': f'token {GITHUB_TOKEN}'}
119 data = {
120 'tag_name': f'v{rl_version}',
121 'name': f'v{rl_version}',
122 'body': rl_release_notes,
123 'draft': True,
124 'prerelease': False,
125 }
126 response = requests.post(url, json=data, headers=headers, timeout=10)
127 try:
128 response.raise_for_status()
129 except requests.exceptions.HTTPError as e:
130 print(f'HTTP error occurred: {e}')
131 print(f'Response content: {response.content.decode()}')
132 raise e
133 release_url = response.json()['html_url']
134 # Publishing happens in the edit page
135 edit_url = release_url.replace('/releases/tag/', '/releases/edit/')
136 return edit_url
137
138
139if __name__ == '__main__':

Callers 1

push.pyFile · 0.85

Calls 3

printFunction · 0.85
decodeMethod · 0.45
jsonMethod · 0.45

Tested by

no test coverage detected