LoginSignup
1
2

More than 5 years have passed since last update.

GoogleSpreadSheetのユーザーストーリーリストをGoogleAppsScript経由でJIRAに落としこむ

Posted at

やりたいこと

ユーザーストーリーを表にまとめてるので、自動的にJIRAのIssueとして全部切って欲しい。

やりかた

user-story-list
user-story-list

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);
      }
    }
  }
}

さいごに

作ったんだけど、諸事情で試せていないので、自己責任でお願いします。
(たぶん、大丈夫。たぶん…。)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2