Skip to content

Commit fd538f7

Browse files
authored
feat: add channel_id and optional document_content to canvases.create (#2001)
1 parent 7c42ea5 commit fd538f7

4 files changed

Lines changed: 32 additions & 8 deletions

File tree

‎slack_sdk/web/async_client.py‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2855,14 +2855,22 @@ async def canvases_create(
28552855
self,
28562856
*,
28572857
title: Optional[str] = None,
2858-
document_content: Dict[str, str],
2858+
document_content: Optional[Dict[str, str]] = None,
2859+
channel_id: Optional[str] = None,
28592860
**kwargs,
28602861
) -> AsyncSlackResponse:
28612862
"""Create Canvas for a user.
28622863
28632864
https://docs.slack.dev/reference/methods/canvases.create
28642865
"""
2865-
kwargs.update({"title": title, "document_content": document_content})
2866+
kwargs.update(
2867+
{
2868+
"title": title,
2869+
"document_content": document_content,
2870+
"channel_id": channel_id,
2871+
}
2872+
)
2873+
kwargs = _remove_none_values(kwargs)
28662874
return await self.api_call("canvases.create", json=kwargs)
28672875

28682876
async def canvases_edit(

‎slack_sdk/web/client.py‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2845,14 +2845,22 @@ def canvases_create(
28452845
self,
28462846
*,
28472847
title: Optional[str] = None,
2848-
document_content: Dict[str, str],
2848+
document_content: Optional[Dict[str, str]] = None,
2849+
channel_id: Optional[str] = None,
28492850
**kwargs,
28502851
) -> SlackResponse:
28512852
"""Create Canvas for a user.
28522853
28532854
https://docs.slack.dev/reference/methods/canvases.create
28542855
"""
2855-
kwargs.update({"title": title, "document_content": document_content})
2856+
kwargs.update(
2857+
{
2858+
"title": title,
2859+
"document_content": document_content,
2860+
"channel_id": channel_id,
2861+
}
2862+
)
2863+
kwargs = _remove_none_values(kwargs)
28562864
return self.api_call("canvases.create", json=kwargs)
28572865

28582866
def canvases_edit(

‎slack_sdk/web/legacy_client.py‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2856,14 +2856,22 @@ def canvases_create(
28562856
self,
28572857
*,
28582858
title: Optional[str] = None,
2859-
document_content: Dict[str, str],
2859+
document_content: Optional[Dict[str, str]] = None,
2860+
channel_id: Optional[str] = None,
28602861
**kwargs,
28612862
) -> Union[Future, SlackResponse]:
28622863
"""Create Canvas for a user.
28632864
28642865
https://docs.slack.dev/reference/methods/canvases.create
28652866
"""
2866-
kwargs.update({"title": title, "document_content": document_content})
2867+
kwargs.update(
2868+
{
2869+
"title": title,
2870+
"document_content": document_content,
2871+
"channel_id": channel_id,
2872+
}
2873+
)
2874+
kwargs = _remove_none_values(kwargs)
28672875
return self.api_call("canvases.create", json=kwargs)
28682876

28692877
def canvases_edit(

‎tests/slack_sdk_async/web/test_web_client_coverage.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -626,8 +626,8 @@ async def run_method(self, method_name, method, async_method):
626626
self.api_methods_to_call.remove(method(id="R111")["method"])
627627
await async_method(id="R111")
628628
elif method_name == "canvases_create":
629-
self.api_methods_to_call.remove(method(document_content={})["method"])
630-
await async_method(document_content={})
629+
self.api_methods_to_call.remove(method(channel_id="C123")["method"])
630+
await async_method(channel_id="C123")
631631
elif method_name == "conversations_canvases_create":
632632
self.api_methods_to_call.remove(method(channel_id="C123", document_content={})["method"])
633633
await async_method(channel_id="C123", document_content={})

0 commit comments

Comments
 (0)