changelog.ts 915 B

123456789101112131415161718192021222324252627282930
  1. import { Task, TaskRunner } from './task';
  2. import axios from 'axios';
  3. const githubGrafanaUrl = 'https://github.com/grafana/grafana';
  4. interface ChangelogOptions {}
  5. const changelogTaskRunner: TaskRunner<ChangelogOptions> = async () => {
  6. let client = axios.create({
  7. baseURL: 'https://api.github.com/repos/grafana/grafana',
  8. timeout: 10000,
  9. });
  10. const res = await client.get('/issues?state=closed&labels=' + encodeURIComponent('add to changelog'));
  11. let markdown = '';
  12. for (const item of res.data) {
  13. markdown += '* ' + item.title + '.';
  14. markdown += ` [#${item.number}](${githubGrafanaUrl}/pull/${item.number})`;
  15. markdown += `, [@${item.user.login}](${item.user.html_url})`;
  16. markdown += '\n';
  17. }
  18. console.log(markdown);
  19. };
  20. export const changelogTask = new Task<ChangelogOptions>();
  21. changelogTask.setName('Changelog generator task');
  22. changelogTask.setRunner(changelogTaskRunner);