2014年9月22日月曜日

Redmineに人間がえーかげんに登録したチケットをHubotに整形させる


  • 仕事番号(カスタムフィールド。「C1」とかもあるので文字列型)を「02」でなく「2」と打ったり(並べ替えで10より後になってしまうのよ…)。
  • 納期を入れなかったり(ウチはだいたい当日納期です)。

そんなえーかげんに入力されたRedmineチケットを、Hubotが鬼女のごとく見張ってすかさず直す!



(抜粋)
oToday = new Date()
sToday = "#{oToday.getFullYear()}-#{('0' + (oToday.getMonth() + 1)).slice(-2)}-#{('0' + (oToday.getDate())).slice(-2)}"
if jobnumber.length is 1
  jobnumber = "0#{jobnumber}"
  data = JSON.stringify({
    "issue": {
     "custom_fields":
       [
         {"value":jobnumber,"id":jobnumberid}
       ]
    }
  })
  robot.http(redmineurl)
    .header('Content-Type', 'application/json')
    .put(data) (err, res, body) ->
due_date = issue.due_date
unless due_date
  due_date = sToday
  data = JSON.stringify({
    "issue": {
      "due_date": due_date
    }
  })
  robot.http(redmineurl)
    .header('Content-Type', 'application/json')
    .put(data) (err, res, body) ->

PUTした後やりたいことはなんにもない。
CoffeeScript的に「->」の後はなんもなくてもいいのか、ググったけどわかんなかった。
やってみたら、大丈夫みたい。
言語の基礎をろくに学ばずいきなりコード書くことこそ上達の早道!(違

あとRedmineさんは、PUTされた日付文字列が「2014-9-22」だとシカトしてくれます。
「2014-09-22」としないといけません。

0 件のコメント:

コメントを投稿