Skip to main content

Workfront for Python (SDK)

Project description

[Latest Release Version]

SDK for managing Workfront tasks

Installation

Install via pip:

$ pip install workfront-sdk

Install from source:

$ git clone git://github.com/BridgeMarketing/workfront-sdk.git
$ cd workfront-sdk
$ python setup.py install

Examples

How to create a Workfront Service object

Create the Workfront object and login:

>>> from workfront import Workfront
>>> wf = Workfront("ay.caramba@thebridgecorp.com", "1234wfpass")
>>> wf.login()

Then you can use it.

How to create a user object

With a Workfront service object, you can create a user by email or by id:

>>> from workfront.objects import user
>>> user_by_email = user.from_email(wf, "ay.caramba@thebridgecorp.com")
>>> user_by_id = user.from_id(wf, "<WORKFRONT_USER_ID>")

You can then access some fields of the users:

>>> print user_by_email.wf_id # print the workfront id
>>> print user_by_email.name # print the name of the user
>>> print user_by_email.emailAddr # print the email of the user

How to create and interact with a Task

Create the task by it’s workfront id and giving a Workfront service

>>> from workfront.objects.task import WFTask
>>> task = WFTask(wf, "<WF_TASK_ID>")

Change the status of a task

>>> from workfront.objects.status import WFTaskStatus
>>> task.set_status(WFTaskStatus.in_progress)

Assign a task to a different user

Once you have a WF user and a task you can:

>>> from workfront.objects import user
>>> from workfront.objects.task import WFTask
>>> user_by_email = user.from_email(wf, "ay.caramba@thebridgecorp.com")
>>> task = WFTask(wf, "<WF_TASK_ID>")
>>> task.assign_to_user(user_by_email)

Get and set custom fields

You can use the methods set_param_values and get_param_values to modify and access task custom fields.

>>> task = WFTask(wf, "<WF_TASK_ID>")
>>> task.get_param_values()
>>> {"custom_field": "value", "list_field": ["value1", "value2"]}
>>> task.set_param_values({"custom_field": "other_value"})
>>> task.get_param_values()
>>> {"custom_field": "other_value", "list_field": ["value1", "value2"]}

How to use projects

You can load a project from the id, and access the template id:

>>> from workfront.objects import project
>>> p = project.WFProject(wf, "<WF_PROJECT_ID>")
>>> project_template_id = p.get_template_id()

With the template id, you can create another project:

>>> from workfront.objects import project
>>> new_project = project.crt_from_template(wf, project_template_id, "NEW PROJECT NAME")
>>> new_project.wf_id

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

workfront-sdk-0.22.2.tar.gz (13.9 kB view hashes)

Uploaded Source

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