| Project | R Documentation |
R6 Class representing a central resource for managing projects.
sevenbridges2::Item -> Project
URLList of URL endpoints for this resource.
idProject identifier. It consists of project owner's username or
if you are using Enterprise, then the Division name and project's
short name in form of
<owner_username>/<project-short-name> or
<division-name>/<project-short-name>.
nameProject's name.
billing_groupThe ID of the billing group for the project.
descriptionProject's description.
typeProject's type. All projects have type v2.
tagsThe list of project tags.
settingsA list which contains detailed project settings. The following fields are part of the settings object:
locked - If set TRUE, the project is locked down.
Locking down a project prevents any Seven Bridges team member from
viewing any information about the task.
use_interruptible_instances - Defines the use of
spot instances.
If not included in the request, spot instances are enabled by
default.
use_memoization - Set to FALSE by default. If set to TRUE
memoization
is enabled.
use_elastic_disk - If set to TRUE
Elastic disk is
enabled.
intermediate_files (list) - Contains the following subfields:
retention - Specifies that intermediate files should be
retained for a limited amount of time.
The value is always LIMITED.
duration - Specifies intermediate files retention period
in hours. The minimum value is 1. The maximum value is 120
and the default value is 24.
root_folderID of the project's root folder.
created_byUsername of the person who created the project.
created_onDate and time of project creation.
modified_onDate and time describing when the project was last modified.
permissionsAn object containing the information about user's permissions within the project.
categoryProject's category. By default projects are PRIVATE.
new()Create a new Project object.
Project$new(res = NA, ...)
resResponse containing Project object information.
...Other response arguments.
print()Basic print method for Project class.
Project$print()
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Print project object
project_object$print()
}
detailed_print()Detailed print method for Project class.
Project$detailed_print()
This method allows users to print all the fields from the Project object more descriptively.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Print project object in detail
project_object$detailed_print()
}
reload()Reload Project object information.
Project$reload(...)
...Other arguments that can be passed to core api() function
like 'fields', etc.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Reload project object
project_object$reload()
}
update()Method that allows you to edit an already existing project.
As a project Admin you can use it to change the name, settings,
tags or billing group of the project.
Users with write permissions in the project can change the project
description.
Project$update( name = NULL, description = NULL, billing_group = NULL, settings = NULL, tags = NULL, ... )
nameNew name of the project you are updating.
descriptionNew description of the project you are updating.
billing_groupBilling object or ID of a particular billing group you want to set to the project.
settingsContains detailed project settings as explained in previous methods. Check our API documentation.
tagsThe list of project tags you want to update.
...Other arguments that can be passed to core api() function
like 'limit', 'offset', 'fields', etc.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Change project object name
project_object$update(name = name)
}
delete()Method that allows you to delete a project from the
platform. It can only be successfully made if you have admin status for
the project.
Please be careful when using this method and note that calling it will
permanently delete the project from the platform.
Project$delete()
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Delete project object
project_object$delete()
}
list_members()Method for listing all the project members.
Project$list_members(
limit = getOption("sevenbridges2")$limit,
offset = getOption("sevenbridges2")$offset,
...
)limitThe maximum number of collection items to return
for a single request. Minimum value is 1.
The maximum value is 100 and the default value is 50.
This is a pagination-specific attribute.
offsetThe zero-based starting index in the entire collection
of the first item to return. The default value is 0.
This is a pagination-specific attribute.
...Other arguments that can be passed to core api() function
like 'fields', etc.
Collection of Member objects.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List members in a project
project_object$list_members()
}
add_member()Method for adding new members to a specified project. The call can only be successfully made by a user who has admin permissions in the project.
Project$add_member(
user = NULL,
email = NULL,
permissions = list(read = TRUE, copy = FALSE, write = FALSE, execute = FALSE, admin =
FALSE)
)userThe Seven Bridges Platform username of the person you want to add to the project or object of class Member containing user's username.
emailThe email address of the person you want to add to the project. This has to be the email address that the person used when registering for an account on the Seven Bridges Platform.
permissionsList of permissions that will be associated with the
project's member. It can contain fields: read, copy, write,
execute and admin with logical fields - TRUE if certain
permission is allowed to the user, or FALSE if it's not.
Requests to add a project member must include the key permissions.
However, if you do not include a value for some permission, it will be
set to FALSE by default. The exception to this rule is the read
permission, which is the default permission on a project. It enables a
user to read project data, including file names, but access file
contents.
Example:
permissions = list( read = TRUE, copy = TRUE, write = FALSE, execute = FALSE, admin = FALSE )
Member object.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Add member to a project
project_object$add_member(
user = "<username_of_a_user_you_want_to_add>",
permissions = list(write = TRUE, execute = TRUE)
)
}
remove_member()A method for removing members from the project. It can only be successfully run by a user who has admin privileges in the project.
Project$remove_member(user)
userThe Seven Bridges Platform username of the person you want to remove from the project or object of class Member containing user's username.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Remove member from a project
project_object$remove_member(user = user)
}
get_member()This method returns the information about the member of the specified project.
Project$get_member(user, ...)
userThe Seven Bridges Platform username of the project member you want to get information about or object of class Member containing user's username.
...Other arguments that can be passed to core api() function
like 'fields', etc.
Member object.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Get member from a project
project_object$get_member(user = user)
}
modify_member_permissions()This method can be used to edit a user's permissions in a specified project. It can only be successfully made by a user who has admin permissions in the project.
Project$modify_member_permissions(
user = NULL,
permissions = list(read = TRUE, copy = FALSE, write = FALSE, execute = FALSE, admin =
FALSE)
)userThe Seven Bridges Platform username of the person you want to modify permissions on the volume for or object of class Member containing user's username.
permissionsList of permissions that will be associated with the
project's member. It can contain fields: read, copy, write,
execute and admin with logical fields - TRUE if certain
permission is allowed to the user, or FALSE if it's not.
Requests to add a project member must include the key permissions.
However, if you do not include a value for some permission, it will be
set to FALSE by default. The exception to this rule is the read
permission, which is the default permission on a project. It enables a
user to read project data, including file names, but access file
contents.
Example:
permissions = list(read = TRUE, copy = TRUE)
Permission object.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Modify member permissions in a project
project_object$modify_member_permissions(
user = user,
permission = list(read = TRUE, copy = FALSE)
)
}
list_files()List all project's files and folders.
Project$list_files(
limit = getOption("sevenbridges2")$limit,
offset = getOption("sevenbridges2")$offset,
...
)limitThe maximum number of collection items to return
for a single request. Minimum value is 1.
The maximum value is 100 and the default value is 50.
This is a pagination-specific attribute.
offsetThe zero-based starting index in the entire collection
of the first item to return. The default value is 0.
This is a pagination-specific attribute.
...Other arguments that can be passed to core api() function
like 'fields', etc.
Collection of File objects.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List files in a project
project_object$list_files()
}
create_folder()Create a new folder under the project's root directory. Every project on the Seven Bridges Platform is represented by a root folder which contains all the files associated with a particular project. You can create first level folders within this root folder by using this function.
Project$create_folder(name)
nameFolder name.
File object of type 'FOLDER'.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List files in a project
project_object$create_folder(name = "new_folder")
}
get_root_folder()Get project's root folder object
Project$get_root_folder()
File object of type 'FOLDER'.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Get root folder in a project
project_object$get_root_folder()
}
list_apps()This call lists all apps in the project.
Project$list_apps(
query_terms = NULL,
id = NULL,
limit = getOption("sevenbridges2")$limit,
offset = getOption("sevenbridges2")$offset,
...
)query_termsA list of search terms used to filter apps based on
their details. Each term is case-insensitive and can relate to the
app's name, label, toolkit, toolkit version, category, tagline, or
description.
You can provide a single term (e.g., list("Compressor")) or multiple
terms (e.g., list("Expression", "Abundance")) to search for apps
that match all the specified terms. If a term matches any part of the
app's details, the app will be included in the results.
Search terms can also include phrases
(e.g., list("Abundance estimates input")), which will search for
exact matches within app descriptions or other fields.
idUse this parameter to query Project's apps based on their ID.
limitThe maximum number of collection items to return
for a single request. Minimum value is 1.
The maximum value is 100 and the default value is 50.
This is a pagination-specific attribute.
offsetThe zero-based starting index in the entire collection
of the first item to return. The default value is 0.
This is a pagination-specific attribute.
...Other arguments that can be passed to core api() function
like other query parameters or 'fields', etc.
Collection of App objects.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List apps in a project
project_object$list_apps(query_terms = query_term)
}
create_app()This call creates app in project.
Project$create_app(
raw = NULL,
from_path = NULL,
name,
raw_format = c("JSON", "YAML")
)rawThe body of the request should be a CWL app description saved
as a JSON or YAML file. For a template of this description, try
making the call to get raw CWL for an app about an app already in one
of your projects. Shouldn't be used together with from_path
parameter.
from_pathFile containing CWL app description. Shouldn't be used together with raw parameter.
nameA short name for the app (without any non-alphanumeric characters or spaces).
raw_formatThe type of format used (JSON or YAML).
App object.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Create app in a project
project_object$create_app(raw = raw)
}
list_tasks()This call lists all tasks from project you can access.
Read more about how to use query parameters properly
here.
Project$list_tasks(
status = NULL,
parent = NULL,
created_from = NULL,
created_to = NULL,
started_from = NULL,
started_to = NULL,
ended_from = NULL,
ended_to = NULL,
order_by = c("created_time", "start_time", "name", "end_time", "created_by"),
order = c("asc", "desc"),
origin_id = NULL,
limit = getOption("sevenbridges2")$limit,
offset = getOption("sevenbridges2")$offset,
...
)statusYou can filter the returned tasks by their status. Set the value of status to one of the following values:
QUEUED
DRAFT
RUNNING
COMPLETED
ABORTED
FAILED.
parentProvide task ID or task object of the parent task to return all child tasks from that parent. A parent task is a task that specifies the criteria by which to batch its inputs into a series of further sub-tasks, called child tasks. See the documentation on batching tasks for more details on how to run tasks in batches.
created_fromEnter the starting date string for querying tasks created on the specified date and onwards.
created_toEnter the ending date string for querying tasks
created until the specified date. You can use it in combination with
created_from to specify a time interval.
started_fromEnter the starting date string for querying tasks started on the specified date and onwards.
started_toEnter the ending date string for querying tasks started until the specified date.
ended_fromEnter the starting date string for querying tasks that ended on a specified date.
ended_toEnter the ending date string for querying tasks that ended until a specified date.
order_byOrder returned results by the specified field.
Allowed values:
created_time, start_time, name, end_time and
created_by.
Sort can be done only by one column. The default
value is created_time.
orderSort results in ascending or descending order by
specifying asc or desc, respectively. Only taken into account if
order_by is explicitly specified. The default value is asc.
origin_idEnter an automation run ID to list all tasks created from the specified automation run.
limitThe maximum number of collection items to return
for a single request. Minimum value is 1.
The maximum value is 100 and the default value is 50.
This is a pagination-specific attribute.
offsetThe zero-based starting index in the entire collection
of the first item to return. The default value is 0.
This is a pagination-specific attribute.
...Other arguments that can be passed to core api() function
like 'fields', etc.
Collection of Task objects.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List tasks in a project
project_object$list_tasks()
}
list_imports()This call lists imports initiated by a particular user into this destination project.
Project$list_imports(
volume = NULL,
state = NULL,
limit = getOption("sevenbridges2")$limit,
offset = getOption("sevenbridges2")$offset,
...
)volumeVolume id or Volume object. List all imports from particular volume. Optional.
stateThe state of the import job. Possible values are:
PENDING: the import is queued;
RUNNING: the import is running;
COMPLETED: the import has completed successfully;
FAILED: the import has failed.
Example:
state = c("RUNNING", "FAILED")
limitThe maximum number of collection items to return
for a single request. Minimum value is 1.
The maximum value is 100 and the default value is 50.
This is a pagination-specific attribute.
offsetThe zero-based starting index in the entire collection
of the first item to return. The default value is 0.
This is a pagination-specific attribute.
...Other arguments that can be passed to core api() function
like 'fields', etc.
Collection of Import objects.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List import jobs in a project
project_object$list_imports()
}
create_task()This call creates a new task. You can create either a single task or a batch task by using the app's default batching, override batching, or disable batching completely. A parent task is a task that specifies criteria by which to batch its inputs into a series of further sub-tasks, called child tasks. See the documentation on batching tasks for more details on batching criteria.
Project$create_task( app, revision = NULL, name = NULL, description = NULL, execution_settings = NULL, inputs = NULL, output_location = NULL, batch = NULL, batch_input = NULL, batch_by = NULL, use_interruptible_instances = NULL, action = NULL, ... )
appThe ID of an app or an App object you want to run.
Recall that apps are specified by their projects, in the form
<project_id>/<app_name>.
revisionThe app revision (version) number.
nameThe name of the task.
descriptionAn optional description of the task.
execution_settingsNamed list with detailed task execution parameters. Detailed task execution parameters:
instance_type: Possible value is the specific instance type,
e.g. "instance_type" = "c4.2xlarge;ebs-gp2;2000";
max_parallel_instances: Maximum number of instances
running at the same time. Takes any integer value equal to or
greater than 1, e.g. "max_parallel_instances" = 2.;
use_memoization: Set to FALSE by default. Set to TRUE
to enable
memoization;
use_elastic_disk: Set to TRUE to enable
Elastic Disk.
Here is an example:
execution_settings <- list( "instance_type" = "c4.2xlarge;ebs-gp2;2000", "max_parallel_instances" = 2, "use_memoization" = TRUE, "use_elastic_disk" = TRUE )
inputsList of objects. See the section on specifying task inputs for information on creating task input objects. Here is an example with various input types:
inputs <- list(
"input_file"= "<file_id/file_object>",
"input_directory" = "<folder_id/folder_object>",
"input_array_string" = list("<string_elem_1>", "<string_elem_2>"),
"input_boolean" = TRUE,
"input_double" = 54.6,
"input_enum" = "enum_1",
"input_float" = 11.2,
"input_integer" = "asdf",
"input_long" = 4212,
"input_string" = "test_string",
"input_record" = list(
"input_record_field_file" = "<file_id/file_object>",
"input_record_field_integer" = 42
)
)
output_locationThe output location list allows you to define the exact location where your task outputs will be stored. The location can either be defined for the entire project using the main_location parameter, or individually per each output node, by setting the nodes_override parameter to true and defining individual output node locations within nodes_location. See below for more details.
main_location - Defines the output location for all
output nodes in the task. Can be a string path within the project
in which the task is created, for example
/Analysis/<task_id>_<task_name>/
or a path on an attached volume,
such as volumes://volume_name/<project_id>/html.
Parts of the path enclosed in angle brackets <> are tokens that are
dynamically replaced with corresponding values during task
execution.
main_location_alias: The string location (path) in the
project that will point to the actual location where the outputs
are stored. Used if main_location is defined as a volume path
(starting with volumes://), to provide an easy way of accessing
output data directly from project files.
nodes_override: Enables defining of output locations
for output nodes individually through nodes_location (see below).
Set to TRUE to be able to define individual locations per output
node. Default: FALSE.
Even if nodes_override is set to TRUE, it is not necessary to
define output locations for each of the output nodes individually.
Data from those output nodes that don't have their locations
explicitly defined through nodes_location is either placed in
main_location (if defined) or at the project files root if a main
output location is not defined for the task.
nodes_location: List of output paths for individual
task output nodes in the following format for each output node:
<output-node-id> = list(
"output_location" = "<output-path>",
"output_location_alias" = "<alias-path>"
)
Example:
b64html = list( "output_location" = "volumes://outputs/tasks/mar-19", "output_location_alias" = "/rfranklin/tasks/picard" )
In the example above, b64html is the ID of the output node for which you want to define the output location, while the parameters are defined as follows:
output_location - Can be a path within the project in which
the task is created, for example
/Analysis/<task_id>_<task_name>/
or a path on an attached volume, such as
volumes://volume_name/<project_id>/html. Also accepts tokens.
output_location_alias - The location (path) in the project
that will point to the exact location where the output is stored.
Used if output_location is defined as a volume path
(starting with volumes://).
batchThis is set to FALSE by default. Set to TRUE to
create a batch task and specify the batch_input and batch-by
criteria as described below.
batch_inputThe ID of the input on which you wish to batch. You would typically batch on the input consisting of a list of files. If this parameter is omitted, the default batching criteria defined for the app will be used.
batch_byBatching criteria in form of list. For example:
batch_by = list(
type = "CRITERIA",
criteria = list("metadata.condition")
)
use_interruptible_instancesThis field can be TRUE or FALSE.
Set this field to TRUE to allow the use of
spot instances.
actionIf set to run, the task will be run immediately upon
creation.
...Other arguments that can be passed to core api() function
like 'fields', etc.
Task object.
\dontrun{
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Create a task in a project
project_object$create_task(app = app)
}
clone()The objects of this class are cloneable with this method.
Project$clone(deep = FALSE)
deepWhether to make a deep clone.
## ------------------------------------------------
## Method `Project$print`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Print project object
project_object$print()
## End(Not run)
## ------------------------------------------------
## Method `Project$detailed_print`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Print project object in detail
project_object$detailed_print()
## End(Not run)
## ------------------------------------------------
## Method `Project$reload`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Reload project object
project_object$reload()
## End(Not run)
## ------------------------------------------------
## Method `Project$update`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Change project object name
project_object$update(name = name)
## End(Not run)
## ------------------------------------------------
## Method `Project$delete`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Delete project object
project_object$delete()
## End(Not run)
## ------------------------------------------------
## Method `Project$list_members`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List members in a project
project_object$list_members()
## End(Not run)
## ------------------------------------------------
## Method `Project$add_member`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Add member to a project
project_object$add_member(
user = "<username_of_a_user_you_want_to_add>",
permissions = list(write = TRUE, execute = TRUE)
)
## End(Not run)
## ------------------------------------------------
## Method `Project$remove_member`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Remove member from a project
project_object$remove_member(user = user)
## End(Not run)
## ------------------------------------------------
## Method `Project$get_member`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Get member from a project
project_object$get_member(user = user)
## End(Not run)
## ------------------------------------------------
## Method `Project$modify_member_permissions`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Modify member permissions in a project
project_object$modify_member_permissions(
user = user,
permission = list(read = TRUE, copy = FALSE)
)
## End(Not run)
## ------------------------------------------------
## Method `Project$list_files`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List files in a project
project_object$list_files()
## End(Not run)
## ------------------------------------------------
## Method `Project$create_folder`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List files in a project
project_object$create_folder(name = "new_folder")
## End(Not run)
## ------------------------------------------------
## Method `Project$get_root_folder`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Get root folder in a project
project_object$get_root_folder()
## End(Not run)
## ------------------------------------------------
## Method `Project$list_apps`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List apps in a project
project_object$list_apps(query_terms = query_term)
## End(Not run)
## ------------------------------------------------
## Method `Project$create_app`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Create app in a project
project_object$create_app(raw = raw)
## End(Not run)
## ------------------------------------------------
## Method `Project$list_tasks`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List tasks in a project
project_object$list_tasks()
## End(Not run)
## ------------------------------------------------
## Method `Project$list_imports`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# List import jobs in a project
project_object$list_imports()
## End(Not run)
## ------------------------------------------------
## Method `Project$create_task`
## ------------------------------------------------
## Not run:
# x is API response when project is requested
project_object <- Project$new(
res = x,
href = x$href,
auth = auth,
response = attr(x, "response")
)
# Create a task in a project
project_object$create_task(app = app)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.