Skip to main content

Use Dooray! API

Project description

PyDooray

PyDooray is a Python library to access the Dooray! REST API. This library enables you to access Dooray! services such as messenger, project, calendar, drive and wiki in your Python applications.

Install

$ pip install PyDooray

How to use

Messenger Hook

import dooray

MESSENGER_HOOK_URL = '<Your hook url>'
MESSENGER_HOOK_ICON_URL = '<Your hook icon url>'

hook = dooray.MessengerHook(MESSENGER_HOOK_URL, hook_name="My Bot", hook_icon=MESSENGER_HOOK_ICON_URL)
hook.send('Send text only')

attachments = [
    {
        "title": "title only",
    },
    {
        "title": "title with link",
        "titleLink": "http://dooray.com/",
        "text": "green message box",
        "color": "green"
    },
]
hook.send('Send Text with attachments', attachments=attachments)

attachments = dooray.MessengerHookAttachments.builder()\
    .add_attachment(title='title by builder', title_link= 'http://dooray.com/', text='text by builder', color='yellow')\
    .add_attachment(text='text in purple box', color='purple')\
    .create()
hook.send('Send Text with attachments builder', attachments=attachments)

Messenger

import dooray

DOORAY_API_TOKEN = '<Your Dooray! API Token>'

CHANNEL_TITLE = '<Channel Title>'
MEMBER_TO_INVITE = '<Email address of a member>'

d = dooray.Dooray(DOORAY_API_TOKEN)

member = d.get_members(external_emails=MEMBER_TO_INVITE)
member_id_list = [ member.result[0].id ]

channel = d.messenger.create_channel(CHANNEL_TITLE, member_id_list)
channel_id = channel.result.id

d.messenger.send_channel_message(channel_id, 'Send Message to Channel')

d.messenger.leave_channel(channel_id, member_id_list)

d.messenger.join_channel(channel_id, member_id_list)

Project

import dooray

DOORAY_API_TOKEN = '<Your Dooray! API Token>'
TO_MEMBER_ID = '<To Member ID>'
CC_MEMBER_ID = '<CC Member ID>'

d = dooray.Dooray(DOORAY_API_TOKEN)

project_name = f'PyDooray'
project_desc = f'Created by PyDooray > TestDoorayProject'
project_scope = 'private'
response = d.project.create(project_name, project_desc, project_scope)
project_id = response.result.id

post = dooray.PostBuilder()\
    .add_to_member(TO_MEMBER_ID)\
    .add_cc_member(CC_MEMBER_ID)\
    .set_subject(f'Test Subject')\
    .set_body(f'Test Body')\
    .create()

response = d.project.create_post(project_id, post)
post_id = response.result.id

d.project.create_post_log(project_id, post_id, 'Test Comment')

API Reference

See API Reference

Change Log

Version 0.2 (Jan/16/2022)

  • Add API wrappers for
    • Project > Projects
    • Project > Projects > EmailAddress
    • Project > Projects > Tags
    • Project > Projects > Milestones
    • Project > Projects > Hooks
    • Project > Projects > Members
    • Project > Projects > MemberGroups
    • Project > Projects > Template
    • Project > Projects > Posts
    • Project > Projects > Posts > Logs
  • Add ReadTheDocs documentation

Version 0.1 (Dec/02/2021)

  • Add API wrappers for
    • Common > Members
    • Messenger > Channels
    • Messenger Hook

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyDooray-0.2.0.tar.gz (16.7 kB view hashes)

Uploaded Source

Built Distribution

PyDooray-0.2.0-py3-none-any.whl (19.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page