(owner, repository, tagName, releaseName, releaseNotes, isDraft, isPrerelease)
| 1804 | } |
| 1805 | |
| 1806 | async function createGitHubRelease (owner, repository, tagName, releaseName, releaseNotes, isDraft, isPrerelease) { |
| 1807 | isDraft = !!isDraft; |
| 1808 | isPrerelease = !!isPrerelease; |
| 1809 | |
| 1810 | const data = { |
| 1811 | tag_name: tagName, |
| 1812 | // unused target_commitish: build.commit.long, |
| 1813 | name: releaseName, |
| 1814 | body: releaseNotes, |
| 1815 | draft: isDraft, |
| 1816 | prerelease: isPrerelease |
| 1817 | }; |
| 1818 | const apiUrl = 'https://api.github.com/repos/' + owner + '/' + repository + '/releases'; |
| 1819 | try { |
| 1820 | const response = await postHttp(apiUrl, data, false, { |
| 1821 | headers: { |
| 1822 | 'Accept': 'application/vnd.github+json', |
| 1823 | 'Authorization': 'Bearer ' + settings.github.access_token, |
| 1824 | 'X-GitHub-Api-Version': '2022-11-28', |
| 1825 | 'User-Agent': 'Telegram-X-Publisher' |
| 1826 | } |
| 1827 | }); |
| 1828 | if (response.statusCode < 200 || response.statusCode >= 300) { |
| 1829 | console.error('Create GitHub release failed', response.statusCode, response.statusMessage, response.contentType, response.content); |
| 1830 | return null; |
| 1831 | } |
| 1832 | return JSON.parse(response.content); |
| 1833 | } catch (e) { |
| 1834 | console.error('Failed to create GitHub release', e); |
| 1835 | return null; |
| 1836 | } |
| 1837 | } |
| 1838 | |
| 1839 | async function updateGitHubRelease (owner, repository, releaseId, isDraft, isPrerelease) { |
| 1840 | const data = {}; |
no test coverage detected