일보 스프레드시트에 BacklogAPI에서 과제 데이터 가져오기
소개
Backlog의 과제와 일보의 연결을 하고 싶다는 요구가 있어, 작성했습니다.
스크립트 편집기 열기
새로 스프레드시트를 만들고,
도구 > 스크립트 편집기에서 스크립트 편집기 열기
프로그램 작성
스크립트 편집기로 다음 프로그램 작성
/**
* 編集時に発動
**/
function task_action() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 日報以外のシートはスルー
if (sheet.getName() != '日報') {
return;
}
var range = SpreadsheetApp.getActiveRange();
// A列目以外の編集はスルー
if (range.getLastColumn() != 1) {
return;
}
// 入力したキーからデータ取得
var key = range.getDisplayValue();
set_task_data(key, range);
}
/**
* BacklogAPIからデータを取得して反映する
**/
function set_task_data(key, range) {
if (key == "") {
return;
}
// B(作業日)
var d = new Date();
range.offset(0, 1).setValue(Utilities.formatDate(d, 'Asia/Tokyo', 'yyyy/MM/dd'));
SpreadsheetApp.flush();
// C(作業者)
var username = get_name();
range.offset(0, 2).setValue(username);
try {
// Backlog課題取得
var data = get_api_data(key);
// D(種別)
range.offset(0, 3).setValue(data["issueType"]["name"]);
// E(作業内容)
range.offset(0, 4).setValue(data["summary"]);
} catch(e) {
Browser.msgBox(e.message);
log(e.message + "\n" + e.fileName + ".gs : " + e.lineNumber + "\nstack:\n" + e.stack);
}
}
/**
* BacklogAPIデータ取得
**/
function get_api_data(key) {
var HOST = PropertiesService.getScriptProperties().getProperty("BACKLOG_HOST");
var API_KEY = PropertiesService.getScriptProperties().getProperty("BACKLOG_API_KEY");
var url = HOST + "/api/v2/issues/" + key + "?apiKey=" + API_KEY;
var fetch = UrlFetchApp.fetch(url);
var data = JSON.parse(fetch.getContentText());
return data;
}
/**
* 編集者のメールアドレスから名前を取得
**/
function get_name() {
var name = '';
var email = Session.getActiveUser().getEmail();
switch(email) {
case '[email protected]':
name = 'テストA';
break;
case '[email protected]':
name = 'テストB';
break;
default:
}
return name;
}
API 정보 유지
파일 > 프로젝트 속성 > 스크립트 속성 에서 아래 저장
BACKLOG_HOST : [BacklogAPI]
BACKLOG_API_KEY : htps : // 홉 x. 바 ckぉg. jp
트리거 추가
편집 > 현재 프로젝트 트리거 > 트리거 추가
실행할 함수 선택 : task_action
배포 시 실행 : 헤드
이벤트 소스 선택 : 스프레드 시트에서
이벤트 종류 선택 : 편집시
저장
실행
A 열에 Backlog 키를 입력하면 API에서 내용을 검색하고 표시합니다.
사이고에게
매일 보상하는 귀찮았다.
인수로 사용해 줄까.
더 편리한 도구가 있으면 좋겠다고 생각했다.
Reference
이 문제에 관하여(일보 스프레드시트에 BacklogAPI에서 과제 데이터 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/qvtec/items/aa4bab782cc0b0dd01bd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)