やりたいこと
ユーザーストーリーを表にまとめてるので、自動的にJIRAのIssueとして全部切って欲しい。
やりかた
main.gs
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet().addMenu('JIRA', [
{
name: 'Create issues',
functionName: 'createIssuesForJira'
}
]);
}
function createIssuesForJira() {
var jiraUrl = '<JIRAのURL>';
var startRowIndex = 2;
var startColumnIndex = 1;
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getRange(
startRowIndex,
startColumnIndex,
sheet.getLastRow() - startRowIndex + 1,
sheet.getLastColumn() - startColumnIndex + 1
).getValues();
for (var i=0; i<rows.length; i++) {
if (!rows[i][0]) {
var response = UrlFetchApp.fetch(jiraUrl, {
contentType: 'application/json',
method: 'post',
payload: JSON.stringify({
fields: {
project: {
key: rows[i][1]
},
issuetype: {
name: rows[i][2]
},
summary: rows[i][3],
description: rows[i][4]
}
})
});
if (response.getResponseCode() === 200) {
sheet.getRange(i + startRowIndex, startColumnIndex).setValue(JSON.parse(response.getContentText()).key);
}
}
}
}
さいごに
作ったんだけど、諸事情で試せていないので、自己責任でお願いします。
(たぶん、大丈夫。たぶん…。)