7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python / Backlog API v2 で課題を登録する

Last updated at Posted at 2016-04-21

Backlogに毎月のルーチンワーク等を登録するためのスクリプト例です。
Backloglibを試してみましたが、DueDateの値渡しがうまくいかない、Backlog API v1(XML-RPC)のラッパーのためユーザ/パスワードの設定が必要そう、というところでHTTPライブラリを利用して書いてみました。HTTPライブラリとしてRequestsを利用しています。

認証についてはリクエスト毎にAPI Keyを飛ばす方式を利用、API Keyの発行方法についてはBackLog APIの設定を参照。
各リクエストパラメータについてはこちらを参照。リクエストパラメータの一部(priorityIdなど)の取りうる値についてはこちらを参照。
projectIdはプロジェクト設定画面のURL https://(yourspace).backlog.jp/EditProject.action?project.id=123456789のproject.idから、
categoryId[]はプロジェクト設定画面のURL https://(yourspace).backlog.jp/EditComponent.action?component.id=123456789のcomponent.idから拾えます。

Python 2.7.10, requests 2.5.0で動作確認済。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
import datetime
from time import sleep

def addIssue(summary,due_date):
    # Set the API endpoint
    # Backlog API v2
    url = "https://(yourspace).backlog.jp/api/v2/issues"
    payload = {
    		'apiKey':      'your api key',
    		'issueTypeId': 1,
    		'projectId':   (your project ID),
    		'summary':     summary,
    		'priorityId':  3,
    		'description': u'スクリプトによる自動投稿です。',
    		'categoryId[]':(your category ID),
    		'dueDate':     due_date,
    }
    r = requests.post(url, params=payload)
    print(r.text)

# example: batch addition using for loop
for iterator_month in range(5,10):
    # create summary and due_date
    cursor_date    = datetime.date(2016,iterator_month,1)
    summary  = u'サンプルタスク(' +  cursor_date.strftime("%Y/%m") + u'用)'
    due_date = cursor_date.strftime("%Y-%m-%d") 
    # add issue
    addIssue(summary,due_date)
    # just in case
    sleep(1)
7
6
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
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?