Skip to content

ProjectplaceClient

Attributes

TRIGGER_OPERATIONS module-attribute

TRIGGER_OPERATIONS: Dict[str, Dict[str, Any]] = {'set_webhook_card_create': {'operation_id': 'set_webhook_card_create', 'path': '/{connectionId}/v1/external_notifications/0/hooks/set_power_hook', 'method': 'post', 'required_parameters': [], 'callback_payload_type': None}, 'set_webhook_properties_change': {'operation_id': 'set_webhook_properties_change', 'path': '/{connectionId}/v1/external_notifications/1/hooks/set_power_hook', 'method': 'post', 'required_parameters': [], 'callback_payload_type': None}, 'set_webhook_card_due_date': {'operation_id': 'set_webhook_card_due_date', 'path': '/{connectionId}/v1/external_notifications/2/hooks/set_power_hook', 'method': 'post', 'required_parameters': [], 'callback_payload_type': None}}

Classes

SetWebhookCardCreateInput dataclass

SetWebhookCardCreateInput(card_create: bool, webhook: str, board_id: int)

When a card is created

Attributes

card_create instance-attribute
card_create: bool

Triggers when a card is created on the defined board

webhook instance-attribute
webhook: str

webhook

board_id instance-attribute
board_id: int

The id of the Board that the card belongs to

SetWebhookPropertiesChangeInput dataclass

SetWebhookPropertiesChangeInput(card_blocked: bool, card_unblock: bool, status_change: bool, card_done: bool, description_changed: bool, due_date_changed: bool, webhook: str, board_id: int)

When a card's properties are changed

Attributes

card_blocked instance-attribute
card_blocked: bool

Triggers when a card is blocked

card_unblock instance-attribute
card_unblock: bool

Triggers when a card block is removed

status_change instance-attribute
status_change: bool

Triggers when a card is moved to another column on the

card_done instance-attribute
card_done: bool

Triggers when a card is set to done by moving it to the rightmost column on the board

description_changed instance-attribute
description_changed: bool

Triggers when the description of a card changes

due_date_changed instance-attribute
due_date_changed: bool

Triggers when the due date of a card changes

webhook instance-attribute
webhook: str

webhook

board_id instance-attribute
board_id: int

The id of the Board that the card belongs to

SetWebhookCardDueDateInput dataclass

SetWebhookCardDueDateInput(due_today: bool, webhook: str, board_id: int)

When a card is due

Attributes

due_today instance-attribute
due_today: bool

Triggers on the date that the card is due

webhook instance-attribute
webhook: str

webhook

board_id instance-attribute
board_id: int

The id of the Board that the card belongs to

CreateCardInput dataclass

CreateCardInput(title: str, *, column_id: Optional[int] = None, description: Optional[str] = None, assignee_email: Optional[str] = None, planlet_id: Optional[int] = None, due_date: Optional[str] = None, label_id: Optional[int] = None)

Create Card

Attributes

column_id class-attribute instance-attribute
column_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The column where the card should be created

title instance-attribute
title: str

The title of the created card

description class-attribute instance-attribute
description: Optional[str] = dataclass_field(default=None, kw_only=True)

The description of the created card

assignee_email class-attribute instance-attribute
assignee_email: Optional[str] = dataclass_field(default=None, kw_only=True)

The person that will be assigned to the created card

planlet_id class-attribute instance-attribute
planlet_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The activity the Card should be associated with

due_date class-attribute instance-attribute
due_date: Optional[str] = dataclass_field(default=None, kw_only=True)

The due date of the created card

label_id class-attribute instance-attribute
label_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The label of the created card

CreateCardResponse dataclass

CreateCardResponse(*, access: Optional[str] = None, assignee: Optional[Dict[str, Any]] = None, assignee_id: Optional[int] = None, board_id: Optional[int] = None, board_name: Optional[str] = None, direct_url: Optional[str] = None, due_date: Optional[str] = None, estimated_time: Optional[str] = None, id: Optional[int] = None, is_blocked: Optional[bool] = None, is_blocked_reason: Optional[str] = None, is_done: Optional[bool] = None, is_template: Optional[bool] = None, label_id: Optional[int] = None, planlet_id: Optional[int] = None, reported_time: Optional[str] = None, title: Optional[str] = None)

Response for Create Card

Attributes

access class-attribute instance-attribute
access: Optional[str] = dataclass_field(default=None, kw_only=True)

Access rights

assignee class-attribute instance-attribute
assignee: Optional[Dict[str, Any]] = dataclass_field(default=None, kw_only=True)

The person who is assigned to the card

assignee_id class-attribute instance-attribute
assignee_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The id of the person who is assigned the card

board_id class-attribute instance-attribute
board_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The ID of the board

board_name class-attribute instance-attribute
board_name: Optional[str] = dataclass_field(default=None, kw_only=True)

The name of the board

direct_url class-attribute instance-attribute
direct_url: Optional[str] = dataclass_field(default=None, kw_only=True)

The card's direct URL

due_date class-attribute instance-attribute
due_date: Optional[str] = dataclass_field(default=None, kw_only=True)

The due date of the card

estimated_time class-attribute instance-attribute
estimated_time: Optional[str] = dataclass_field(default=None, kw_only=True)

Estimated time for completion

id class-attribute instance-attribute
id: Optional[int] = dataclass_field(default=None, kw_only=True)

The ID of the card

is_blocked class-attribute instance-attribute
is_blocked: Optional[bool] = dataclass_field(default=None, kw_only=True)

Is the card is

is_blocked_reason class-attribute instance-attribute
is_blocked_reason: Optional[str] = dataclass_field(default=None, kw_only=True)

The blocking reason - if blocked

is_done class-attribute instance-attribute
is_done: Optional[bool] = dataclass_field(default=None, kw_only=True)

Is the card done

is_template class-attribute instance-attribute
is_template: Optional[bool] = dataclass_field(default=None, kw_only=True)

Is a template card

label_id class-attribute instance-attribute
label_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The id of the label

planlet_id class-attribute instance-attribute
planlet_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The id of the activity

reported_time class-attribute instance-attribute
reported_time: Optional[str] = dataclass_field(default=None, kw_only=True)

How much time was reported for the card

title class-attribute instance-attribute
title: Optional[str] = dataclass_field(default=None, kw_only=True)

The card's title

MoveCardInput dataclass

MoveCardInput(card_id: int, *, card_title: Optional[str] = None, column_id: Optional[int] = None)

Move card to another column

Attributes

card_id instance-attribute
card_id: int

The card to be moved

card_title class-attribute instance-attribute
card_title: Optional[str] = dataclass_field(default=None, kw_only=True)

The title of the card to be moved

column_id class-attribute instance-attribute
column_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The column where the card should be moved to

MoveCardResponse dataclass

MoveCardResponse(*, access: Optional[str] = None, assignee_id: Optional[int] = None, board_id: Optional[int] = None, board_name: Optional[str] = None, column_id: Optional[int] = None, column_name: Optional[str] = None, description: Optional[str] = None, direct_url: Optional[str] = None, due_date: Optional[str] = None, estimated_time: Optional[str] = None, id: Optional[int] = None, is_blocked: Optional[bool] = None, is_blocked_reason: Optional[str] = None, is_done: Optional[bool] = None, is_template: Optional[bool] = None, label_id: Optional[int] = None, label_name: Optional[str] = None, planlet_id: Optional[int] = None, reported_time: Optional[str] = None, title: Optional[str] = None)

Response for Move card to another column

Attributes

access class-attribute instance-attribute
access: Optional[str] = dataclass_field(default=None, kw_only=True)

Access rights

assignee_id class-attribute instance-attribute
assignee_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The ID of the person the card assigned to

board_id class-attribute instance-attribute
board_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The ID of the board

board_name class-attribute instance-attribute
board_name: Optional[str] = dataclass_field(default=None, kw_only=True)

The name of the board

column_id class-attribute instance-attribute
column_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The id of the column the card is on

column_name class-attribute instance-attribute
column_name: Optional[str] = dataclass_field(default=None, kw_only=True)

The name of the column

description class-attribute instance-attribute
description: Optional[str] = dataclass_field(default=None, kw_only=True)

The description on the card

direct_url class-attribute instance-attribute
direct_url: Optional[str] = dataclass_field(default=None, kw_only=True)

The direct URL of the card

due_date class-attribute instance-attribute
due_date: Optional[str] = dataclass_field(default=None, kw_only=True)

The due date of the card

estimated_time class-attribute instance-attribute
estimated_time: Optional[str] = dataclass_field(default=None, kw_only=True)

The estimated time of the card

id class-attribute instance-attribute
id: Optional[int] = dataclass_field(default=None, kw_only=True)

The id of the card

is_blocked class-attribute instance-attribute
is_blocked: Optional[bool] = dataclass_field(default=None, kw_only=True)

Is the card blocked

is_blocked_reason class-attribute instance-attribute
is_blocked_reason: Optional[str] = dataclass_field(default=None, kw_only=True)

The reason the card is blocked

is_done class-attribute instance-attribute
is_done: Optional[bool] = dataclass_field(default=None, kw_only=True)

Is the card done

is_template class-attribute instance-attribute
is_template: Optional[bool] = dataclass_field(default=None, kw_only=True)

Is a template card

label_id class-attribute instance-attribute
label_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The id of the card's label

label_name class-attribute instance-attribute
label_name: Optional[str] = dataclass_field(default=None, kw_only=True)

The name of the label

planlet_id class-attribute instance-attribute
planlet_id: Optional[int] = dataclass_field(default=None, kw_only=True)

The id of the activity

reported_time class-attribute instance-attribute
reported_time: Optional[str] = dataclass_field(default=None, kw_only=True)

The time reported for this card

title class-attribute instance-attribute
title: Optional[str] = dataclass_field(default=None, kw_only=True)

The title of the card

ProjectplaceClient

ProjectplaceClient(connection_runtime_url: str, credential: AsyncTokenCredential | AzureKeyCredential, *, max_retry_attempts: int = 3, timeout: float = 30.0, use_exponential_backoff: bool = True, initial_retry_delay_seconds: float = 0.5, maximum_retry_delay_seconds: float = 120.0, retry_jitter_factor: float = 0.1, retry_unsafe_http_methods: bool = False, transport: Optional[AsyncHttpTransport] = None, **kwargs: Any)

Bases: ConnectorClientBase

Typed client for projectplace connector.

Initialize a ProjectplaceClient.

Parameters:

Name Type Description Default
connection_runtime_url str

The connection runtime URL from Azure Portal.

required
credential AsyncTokenCredential | AzureKeyCredential

Caller-owned Azure Core credential.

required
max_retry_attempts int

The maximum number of request attempts.

3
timeout float

The network timeout in seconds for each request. The value configures Azure Core retry and transport deadlines. Nonpositive values disable SDK and transport deadlines.

30.0
use_exponential_backoff bool

Whether retries use exponential backoff.

True
initial_retry_delay_seconds float

The initial retry delay in seconds.

0.5
maximum_retry_delay_seconds float

The maximum retry delay in seconds.

120.0
retry_jitter_factor float

The jitter fraction applied to retry delays.

0.1
retry_unsafe_http_methods bool

Whether unsafe HTTP methods may be retried.

False
transport Optional[AsyncHttpTransport]

Optional Azure Core async HTTP transport closed by the client through its asynchronous lifecycle.

None
**kwargs Any

Optional Azure Core pipeline policy settings.

{}

Methods:

create_card async
create_card(input: CreateCardInput | Mapping[str, Any], board_id: int, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> dict[str, Any] | None

Create Card

Creates a new card with the parameters provided

Swagger operation ID: create_card.

Parameters:

Name Type Description Default
input CreateCardInput | Mapping[str, Any]

The request body. Mapping keys use serialized Swagger wire names.

required
board_id int

The id of the Board where the card should be created.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
dict[str, Any] | None

dict[str, Any] | None: The connector operation result.

Raises:

Type Description
ConnectorException

If the connector request fails.

move_card async
move_card(input: MoveCardInput | Mapping[str, Any], board_id: int, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> dict[str, Any] | None

Move card to another column

Move a card on the selected board

Swagger operation ID: move_card.

Parameters:

Name Type Description Default
input MoveCardInput | Mapping[str, Any]

The request body. Mapping keys use serialized Swagger wire names.

required
board_id int

The id of the Board where the card should be created.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
dict[str, Any] | None

dict[str, Any] | None: The connector operation result.

Raises:

Type Description
ConnectorException

If the connector request fails.

list_boards
list_boards(*, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

Lists the boards the user have access to

Lists the boards that are part of the projects the user have access to

Returns a single-page Azure Core async collection.

Swagger operation ID: list_boards.

Parameters:

Name Type Description Default
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.