🖥

Zapierを使って、Github Issue作成をトリガーに、PythonスクリプトからQiita APIを叩いて新規投稿する例

2019/02/01に公開

Zapierを使って、Github Issue作成をトリガーに、PythonスクリプトからQiita APIを叩いて新規投稿する例

Github issue 作成をトリガーにする

image

Set up Code by Zapier Run Python

input に Github issue の title / description を定義する

image

Qiita token

Qiita > settings > application から取得

https://qiita.com/settings/applications

python script を設定

image

Script

  • tokenはZapierのinputとして入力しておく
  • 公開記事にする場合は private を False に変える
  • タグ連携はまだやっていないので、とりあえずポエムに設定
import requests
import re

hashtags = re.findall(r'#([^\s]+)', input['title'])

# タイトルからハッシュタグを抽出してQiita API 用に整形
qiita_hashtags = []
for hashtag in hashtags:
    qiita_hashtags.append({ "name": hashtag, "versions": ["0.0.1"] })

# タイトルでハッシュタグが見つからなかった時
if not qiita_hashtags:
  qiita_hashtags = [{ "name": "ポエム", "versions": ["0.0.1"] } ]

item = {
    'title': input['title'],
    'body': input['body'],
    "coediting": False,
    'tags': qiita_hashtags,
    'private': False,
    'tweet': True,
}


url = 'https://qiita.com/api/v2/items'
token = input['token']

headers = {
 'Authorization': 'Bearer {}'.format(token),
 'Content-Type': 'application/json',
}

res = requests.post(url, headers=headers, json=item)
output = [res.json()]


トリガーの元の Issue

https://github.com/YumaInaura/YumaInaura/issues/538

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-02-01

Discussion