Commit 153b3e5c by Torkel Ödegaard

Updated changelog task

parent 72ca51da
......@@ -41,9 +41,17 @@ program
program
.command('core:changelog')
.option('-m, --milestone <milestone>', 'Specify milestone')
.description('Builds changelog markdown')
.action(async cmd => {
await execTask(changelogTask)({});
if (!cmd.milestone) {
console.log('Please specify milestone, example: --m 6.0.1');
return;
}
await execTask(changelogTask)({
milestone: cmd.milestone,
});
});
program.parse(process.argv);
......
......@@ -3,18 +3,37 @@ import axios from 'axios';
const githubGrafanaUrl = 'https://github.com/grafana/grafana';
interface ChangelogOptions {}
interface ChangelogOptions {
milestone: string;
}
const changelogTaskRunner: TaskRunner<ChangelogOptions> = async () => {
const changelogTaskRunner: TaskRunner<ChangelogOptions> = async ({ milestone }) => {
let client = axios.create({
baseURL: 'https://api.github.com/repos/grafana/grafana',
timeout: 10000,
});
const res = await client.get('/issues?state=closed&labels=' + encodeURIComponent('add to changelog'));
const res = await client.get('/issues', {
params: {
state: 'closed',
labels: 'add to changelog',
},
});
let markdown = '';
for (const item of res.data) {
if (!item.milestone) {
console.log('Item missing milestone', item.number);
continue;
}
// For some reason I could not get the github api to filter on milestone and label
// So doing this filter here
if (item.milestone.title !== milestone) {
continue;
}
markdown += '* ' + item.title + '.';
markdown += ` [#${item.number}](${githubGrafanaUrl}/pull/${item.number})`;
markdown += `, [@${item.user.login}](${item.user.html_url})`;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment