29
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OSSのノーコード・ローコード開発ツール「プリザンター」Advent Calendar 2024

Day 20

PleasanterとChatGPTを連携してみた!

Last updated at Posted at 2024-12-17

PleasanterとChatGPTを連携する方法

PleasanterとChatGPTを連携することで、タスク管理や自動応答機能を強化できます。本記事では、Pleasanter APIとOpenAI APIを活用して連携を実現する手順を説明します。

はじめに

前提条件

  1. Pleasanter環境

    • APIが有効化されていること。
    • アクセストークンを発行済みであること。
  2. OpenAI APIキー

    • ChatGPTを利用するためのAPIキーを取得していること。
  3. 開発環境

    • Pythonがインストールされていること。
    • 必要なライブラリがインストールされていること(requests, openai など)。

実装手順

1. Pleasanter APIの設定

Pleasanter APIを利用して、データを取得または登録します。

以下のコードは、Pleasanter APIからデータを取得する例です。

import requests

PLEASANTER_API_URL = "https://your-pleasanter-domain.com/api/items"
ACCESS_TOKEN = "your_pleasanter_access_token"

headers = {
    "Authorization": f"Bearer {ACCESS_TOKEN}",
    "Content-Type": "application/json"
}

# データ取得例
def get_pleasanter_data():
    response = requests.get(PLEASANTER_API_URL, headers=headers)
    if response.status_code == 200:
        return response.json()
    else:
        print("Error:", response.status_code, response.text)

# 使用例
data = get_pleasanter_data()
print(data)

2. ChatGPTの設定

OpenAI APIを使用して、ChatGPTにデータを送信し、レスポンスを取得します。

以下のコードは、ChatGPTを利用する基本的な例です。

import openai

OPENAI_API_KEY = "your_openai_api_key"

openai.api_key = OPENAI_API_KEY

def get_chatgpt_response(prompt):
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": prompt}
        ]
    )
    return response['choices'][0]['message']['content']

# 使用例
response = get_chatgpt_response("こんにちは、何をお手伝いできますか?")
print(response)

3. PleasanterとChatGPTの連携

以下のコードでは、Pleasanterからデータを取得し、そのデータをChatGPTで処理した結果をPleasanterに登録または更新します。

def pleasanter_to_chatgpt_and_back():
    # 1. Pleasanterからデータを取得
    pleasanter_data = get_pleasanter_data()

    # 必要なデータを抽出(例: 特定のフィールド)
    prompt = pleasanter_data.get("Items", [{}])[0].get("Title", "デフォルトプロンプト")

    # 2. ChatGPTで処理
    chatgpt_response = get_chatgpt_response(prompt)

    # 3. Pleasanterにデータを登録/更新
    update_payload = {
        "Title": "ChatGPTからの応答",
        "Description": chatgpt_response
    }
    response = requests.post(PLEASANTER_API_URL, headers=headers, json=update_payload)
    if response.status_code == 200:
        print("データが正常に登録されました。")
    else:
        print("登録エラー:", response.status_code, response.text)

# 実行
pleasanter_to_chatgpt_and_back()

必要なライブラリのインストール

以下のコマンドを使用して必要なライブラリをインストールします。

pip install requests openai

注意点

  1. APIキーの管理

    • .envファイルや環境変数を使用して、APIキーを安全に管理してください。
  2. エラーハンドリング

    • API呼び出しエラーやネットワークエラーに対応するために、例外処理を実装してください。
  3. データ形式の確認

    • Pleasanterのデータ構造に応じて、必要に応じてデータの整形や変換を行ってください。

実行結果

この連携を実行することで、例えば以下のようなことが可能です。

  • Pleasanter上のタスクやデータをChatGPTで要約。
  • ChatGPTの生成したアイデアや提案をPleasanterに自動登録。

おわりに

今回の例をもとに、PleasanterとChatGPTを活用した独自のワークフローを構築してみてください。ご質問や改善点があれば、コメント欄でお知らせください!

29
3
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
29
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?