Backlogの課題を一括登録する方法 – Backlog Advent Calendar 2017

Backlog Advent Calendar 2017の3日目はJBUG_HUB@Tokyoの発案者 (らしい)セイノがおおくりします!

Backlogは2013年から使い始めているのでBacoklog歴は今年で7年目になります。
クライアント直請けのプロジェクト、代理店経由の二次請負、継続のコンサルティングプロジェクト、WordCamp(WordPress)のIT系イベントの準備にもBacklogを使っている生粋のBacklogラバーな僕ですが、どうしても僕にとって必要で足りない機能があります。
それが「課題の一括登録」!

今回はそんな一括登録がBacklogでできるようになる方法をお伝えしたいと思います。
ではやってみましょう!

Googoleスプレッドシートで一括登録

ikikkoさんの共有してくれるBacklogを一括登録するGoogleスプレッドシート

まずはこちらのikikkoさん (Nulabのスタッフさん) が公開してくれているGitHubページを見てみましょう。

Home · ikikko/backlog-template-issue-gas Wiki · GitHub

ざっくり説明すると「プロジェクトの初期や定期的に登録するタスクとかがある人は、このスプレッドシートをコピーして使ってね」てな感じです。
BacklogにはBacklog APIというものがあってそれをGoogle Apps ScriptとGoogelスプレッドシートを組み合わせて誰でも使える形にしてくれています。

Backlog API とは | Backlog Developer API | Nulab

プロジェクトを作成してAPIキーを発行

まずは該当するプロジェクトを作成します。

プロジェクト作成

今回はBacklogを愛してるという気持ちを全面に押し出して、Backlog Loveというプロジェクト名にしました。そんなつもりはなかったのですが、プロジェクトキーがBLLOVEになってしまっています。

次に上記のシートで利用するBakclog APIのAPIキーを発行します。

Backlog APIキーの登録発行する方法

「個人設定 > API」から「新しいAPIキーを発行」を選択し、APIキーを発行します。
APIについての詳しい説明は「APIの設定 – Backlog (Japanese)」の公式ページをみるとよいでしょう。

次にGoogleアカウントにログインした状態で下記のリンクをクリックします。

URLをクリックしてコピーを作成を選択

「コピーを作成」を選択します。

サンプルシート

このようなシートが表示されたらコピーは完了です。
すでに入っている項目は記入例となっています。こちらのシートでは新たに作成する課題の ” 件名・詳細・開始日・期限日・予定時間・実績時間・種別名・カテゴリ名・発生バージョン名・マイルストーン名・優先度ID・担当者ユーザ名・親課題 ” の計13項目を設定できます。

さらに課題を追加したい場合は下部に表示されている「一番下に○○を追加」で行を追加することができます。

課題の設定が済んだらBacklogのプロジェクトに課題を追加していきましょう。

メニューバーのBacklogを選択

メニューバーの「Backlog」にカーソルを合わせ「課題一括登録」を選択します。

承認

「承認が必要」と表示されるので、左下の青い「続行」ボタンを選択します。

アカウントの選択

次にアカウントの選択画面が表示されるので、利用したいアカウントを選択しましょう。

アプリの承認

「このアプリは確認されていません」とアラートが表示されます。
画面左端の「詳細」を選択します。

詳細を表示で開く
「Copy of backlog-template-issue-gas (安全ではないページ) に移動」をクリックします。(なにかあったら自己責任でお願いしますw)

次へを押す

表示されたテキストフィールドに「次へ」と入力し、右下の「次へ」ボタンを選択します。

アクセスされる情報の説明

承認されると受け渡す情報のリクエスト詳細が表示されます。
画面右下の「許可」を選択し、次に進みましょう。

Backlog 課題一括登録
「Backlog 課題一括登録」という画面が表示されるので、スペースID・先程取得したAPIキー・該当のプロジェクトキーを入力して、一括登録をおこないます。

課題登録完了
正しく課題が登録された場合は、新しいシートが作成され登録された順番にリンクとともに結果が表示されます。

確認
Backlogのプロジェクトを見てみるとこのように課題が一括登録されています。

まとめ

僕の場合は、WordPressを使ってwebサイトの制作をすることが多いのですが、多くの場合はプロジェクトの初期に決まった課題を登録することが多くあります。
なので、予め作成しておいた定型リストからさらにコピーをして一括で課題を登録するようにしています。また長期のプロジェクトなどの時は毎月同じ課題を登録することもあるので、その時も予めリストを作成しています。

一括登録もできたということで、みなさんどうぞ楽しいBacklogライフを!!

GoPro Karma GripのLEDが赤と白点滅のエラーで動かなくなる

瀬戸内海の男木島という離島でGoPro製のドローン『Karma』を使い空撮していたのですがアラートを無視してバッテリー残量ギリギリまでフライトしていたところ、海に降りそうになったところを無理やり浜辺に斜めランディングさせ見事に地面にバンスしましたw

“事故は慣れてきた時に起きる”とはよく言ったもので、10回以上のフライトを経験して「俺はカルマがもう少し飛べると知っているぞ」と慢心していたことが今回の不時着陸の原因かと思われる。
反省はさておきフライトを終えてKarma Grip (カルマグリップ) にスタビライザーとGoProを付けたところ、産まれたての子鹿の膝のようにガクブルしていた為、不安を覚えKarma Gripのハードリセットと再校正をおこなうことにした。

Karma Grip のハードリセットを行う方法

ハードリセットはKarma Gripの設定や校正をフルリセットする事で工場出荷状態のようなもの。フリーズ、電源が入らない、カメラがUSBモードのままになる等の場合に実行することで、ハードの問題を解決してくれる、いわばKarma Gripの最終手段であろう。

ハードリセットの手順

  1. Karma Grip とカメラの電源をオフにします
  2. モード / 電源 ボタンを 8 ~ 10 秒間押し続けます。
  3. 操作を正しく行うと、Grip のすべての LED が 1 回点滅してから、Grip の電源が切れます。
  4. 次に、4 つのすべての LED ライトがカメラの底部にある 1 つのライトと同時に点滅します。
  5. ボタンを押し続けると、Karma Grip とカメラの電源が再びオンになります。

Karma Grip のハードリセットを行う方法

Karma Grip の校正方法

次に校正のやり方。これはスタビライザーが水平でない場合にジャイロセンサーなどで再度 校正を行う方法。GoPro Karmaの購入初日に知人宅で試しに浮かしてみた時に事故った時は、この校正をおこうなう事でKarma Gripの問題は解決した。

校正方法

  1. Karma Grip にカメラを取り付けてください。
  2. Karma Grip の電源が切れていることを確認してください。
  3. テーブルの端にスタビライザーをぶら下げた状態で、ボタンが上に向くようグリップをテーブルに置きます。
  4. チルト ロック ボタンを 8 秒間長押しします。
  5. Grip に自動的に電源が入り、較正が開始されます。Grip のバッテリー ステータス ライトの点滅が止まったら、較正は完了です。

Karma Grip の校正方法


Karma Gripのハードリセットも校正もしたけど直らない

両方試してみたが、残念なことにどちらも上手く起動せずにLEDの赤いランプが点灯し、最上部の赤いランプが点滅している。
これまで、友達のマンションで壁に衝突・難しい場所に離陸させようとして不時着、と2度の危機を乗り越えてきたがGoPro Karmaを購入して以来、過去最大の危機がやってきた気がする。

問題を突き止めるためにKarmaのエラーを表しているっぽいLEDの点滅について調べてみたところ下記のページを見つけた。
Karma Grip の LED の意味

すると下記のような文言を見つけた。

エラー ライト: Karma Grip にエラーが発生すると、下側のステータス ライトが赤色と白色で点滅します。これがよく起きるのは、スタビライザーが正しい位置にない場合や、カメラやハーネスにプレッシャーがかかっている場合です。グリップをリセットするには、電源をオフにして、再びオンにします。 ライト コード: どの白色ライトが点滅するかで問題を絞り込めます。(下側ライトが赤色で点灯する)
上: Karma スタビライザー
中央: カメラ
下: Karma Grip

Karma Grip の LED の意味

今回の場合は最下部の赤いLEDが点灯しているのと、白いLEDの最も上 (説明通りにいうと上) のLEDが白く点滅しているため、スタビライザーの問題だということが判明した (わかってたけどね)。
何度かグリップとスタビライザーを取り外したり、ハードリセットや校正を繰り返したがなんとも上手くいかないため、下記の記事の最後にある言葉を信じて充電をおこなうことにした。

GoPro Karma Gripエラー対処方法 – ワッショイ黄太郎〜日本のお祭り参加ブログ〜

進捗あり次第、記事を更新したいと思う。
直ってくれ、Karmaよ。

Vowel ChartとSchwaを知る

英語がたんのうな西川さんに英語の発音について、音声学の観点から教えてもらった。

「英語ではスペル通りに話していない」

WooCommerceのcart.phpからボタンを押してwp_mailでメールを送信する

jQueryを利用してajaxで非同期通信をおこないメールの送信ボタンの表示とwp_mailでメールを送信する処理をする。

cart.php

<script>
	var mail_path = "<?php echo get_stylesheet_directory_uri()?>/path/estimate.php"
	console.log(mail_path);
	jQuery(function () {
		jQuery('#estimate_mail-button').toggle(
			function () {
				jQuery.ajax({
					url: mail_path,
					data: {
						item_name: '商品の名前',
						item_price: '2000',
						item_quantity: '10'
					},
					success: function (data) {
						jQuery('#estimate_mail-ajax').html(data);
						jQuery('#estimate_mail-textStatus').text('送信成功');
					},
					error: function (data) {
						jQuery('#estimate_mail-textStatus').text('送信失敗');
					}
				});
			},
			function () {
				jQuery('#estimate_mail-ajax').html('');
				jQuery('#estimate_mail-textStatus').text('');
			}
		);
	});
</script>


<div id="estimate_mail">
	<p>
		<button id="estimate_mail-button">見積もりを送信する</button>
		<span id="estimate_mail-textStatus"></span>
	</p>
</div>

estimate.php

<?php
function estimate() {
	require_once("../../../../wp-load.php");

	wp_mail( 'me@example.com', 'The subject', 'The content');
}
estimate();



参考URL

WordPressでカスタムメニュー機能のまとめ

メニューの有効化

functions.phpなどに記載する。

add_theme_support( 'menus' );

li要素だけを出力

header.phpなどのテンプレートに記載する。

<div id="menu">
	<ul class="menu__list">
		<?php
		$li_only = array(
			'container' => '',//<div>を出力しない
			'items_wrap' => '%3$s',//<ul>を出力しない
		);
		wp_nav_menu($li_only);
		?>
	</ul>

</div>

全ての設定項目

<?php
$defaults = array(
	'menu'            => '',
	'menu_class'      => 'menu',
	'menu_id'         => '{メニューのスラッグ}-{連番}',
	'container'       => 'div',
	'container_class' => 'menu-{メニューのスラッグ}-container',
	'container_id'    => '',
	'fallback_cb'     => 'wp_page_menu',
	'before'          => '',
	'after'           => '',
	'link_before'     => '',
	'link_after'      => '',
	'echo'            => true,
	'depth'           => 0,
	'walker'          => '',
	'theme_location'  => '',
	'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
);
wp_nav_menu( $defaults );
?>

テンプレートタグ/wp nav menu – WordPress Codex 日本語版

メニューの登録

functions.phpなどに記載する。

register_nav_menu('main_menu','Main menu');

関連URL