Create a JavaScript Script

scripts_post_javascript(
  name,
  source,
  remote_host_id,
  credential_id,
  parent_id = NULL,
  user_context = NULL,
  params = NULL,
  arguments = NULL,
  schedule = NULL,
  notifications = NULL,
  next_run_at = NULL,
  time_zone = NULL,
  hidden = NULL,
  target_project_id = NULL
)

Arguments

name

string required. The name of the script.

source

string required. The body/text of the script.

remote_host_id

integer required. The remote host ID that this script will connect to.

credential_id

integer required. The credential that this script will use.

parent_id

integer optional. The ID of the parent job that will trigger this script

user_context

string optional. "runner" or "author", who to execute the script as when run as a template.

params

array optional. An array containing the following fields:

  • name string, The variable's name as used within your code.

  • label string, The label to present to users when asking them for the value.

  • description string, A short sentence or fragment describing this parameter to the end user.

  • type string, The type of parameter. Valid options: string, multi_line_string, integer, float, bool, file, table, database, credential_aws, credential_redshift, or credential_custom

  • required boolean, Whether this param is required.

  • value string, The value you would like to set this param to. Setting this value makes this parameter a fixed param.

  • default string, If an argument for this parameter is not defined, it will use this default value. Use true, True, t, y, yes, or 1 for true bool's or false, False, f, n, no, or 0 for false bool's. Cannot be used for parameters that are required or a credential type.

  • allowedValues array, The possible values this parameter can take, effectively making this an enumerable parameter. Allowed values is an array of hashes of the following format: `label: 'Import', 'value': 'import'`

arguments

list optional. Parameter-value pairs to use when running this script. Only settable if this script has defined parameters.

schedule

list optional. A list containing the following elements:

  • scheduled boolean, If the item is scheduled.

  • scheduledDays array, Day based on numeric value starting at 0 for Sunday.

  • scheduledHours array, Hours of the day it is scheduled on.

  • scheduledMinutes array, Minutes of the day it is scheduled on.

  • scheduledRunsPerHour integer, Alternative to scheduled minutes, number of times to run per hour.

notifications

list optional. A list containing the following elements:

  • urls array, URLs to receive a POST request at job completion

  • successEmailSubject string, Custom subject line for success e-mail.

  • successEmailBody string, Custom body text for success e-mail, written in Markdown.

  • successEmailAddresses array, Addresses to notify by e-mail when the job completes successfully.

  • successEmailFromName string, Name from which success emails are sent; defaults to "Civis."

  • successEmailReplyTo string, Address for replies to success emails; defaults to the author of the job.

  • failureEmailAddresses array, Addresses to notify by e-mail when the job fails.

  • stallWarningMinutes integer, Stall warning emails will be sent after this amount of minutes.

  • successOn boolean, If success email notifications are on.

  • failureOn boolean, If failure email notifications are on.

next_run_at

string optional. The time of the next scheduled run.

time_zone

string optional. The time zone of this script.

hidden

boolean optional. The hidden status of the item.

target_project_id

integer optional. Target project to which script outputs will be added.

Value

A list containing the following elements:

id

integer, The ID for the script.

name

string, The name of the script.

type

string, The type of the script (e.g SQL, Container, Python, R, JavaScript)

createdAt

string, The time this script was created.

updatedAt

string, The time the script was last updated.

author

list, A list containing the following elements:

  • id integer, The ID of this user.

  • name string, This user's name.

  • username string, This user's username.

  • initials string, This user's initials.

  • online boolean, Whether this user is online.

state

string, The status of the script's last run.

finishedAt

string, The time that the script's last run finished.

category

string, The category of the script.

projects

array, An array containing the following fields:

  • id integer, The ID for the project.

  • name string, The name of the project.

parentId

integer, The ID of the parent job that will trigger this script

userContext

string, "runner" or "author", who to execute the script as when run as a template.

params

array, An array containing the following fields:

  • name string, The variable's name as used within your code.

  • label string, The label to present to users when asking them for the value.

  • description string, A short sentence or fragment describing this parameter to the end user.

  • type string, The type of parameter. Valid options: string, multi_line_string, integer, float, bool, file, table, database, credential_aws, credential_redshift, or credential_custom

  • required boolean, Whether this param is required.

  • value string, The value you would like to set this param to. Setting this value makes this parameter a fixed param.

  • default string, If an argument for this parameter is not defined, it will use this default value. Use true, True, t, y, yes, or 1 for true bool's or false, False, f, n, no, or 0 for false bool's. Cannot be used for parameters that are required or a credential type.

  • allowedValues array, The possible values this parameter can take, effectively making this an enumerable parameter. Allowed values is an array of hashes of the following format: `label: 'Import', 'value': 'import'`

arguments

list, Parameter-value pairs to use when running this script. Only settable if this script has defined parameters.

isTemplate

boolean, Whether others scripts use this one as a template.

publishedAsTemplateId

integer, The ID of the template that this script is backing.

fromTemplateId

integer, The ID of the template this script uses, if any.

templateDependentsCount

integer, How many other scripts use this one as a template.

templateScriptName

string, The name of the template script.

links

list, A list containing the following elements:

  • details string, The details link to get more information about the script.

  • runs string, The runs link to get the run information list for this script.

schedule

list, A list containing the following elements:

  • scheduled boolean, If the item is scheduled.

  • scheduledDays array, Day based on numeric value starting at 0 for Sunday.

  • scheduledHours array, Hours of the day it is scheduled on.

  • scheduledMinutes array, Minutes of the day it is scheduled on.

  • scheduledRunsPerHour integer, Alternative to scheduled minutes, number of times to run per hour.

notifications

list, A list containing the following elements:

  • urls array, URLs to receive a POST request at job completion

  • successEmailSubject string, Custom subject line for success e-mail.

  • successEmailBody string, Custom body text for success e-mail, written in Markdown.

  • successEmailAddresses array, Addresses to notify by e-mail when the job completes successfully.

  • successEmailFromName string, Name from which success emails are sent; defaults to "Civis."

  • successEmailReplyTo string, Address for replies to success emails; defaults to the author of the job.

  • failureEmailAddresses array, Addresses to notify by e-mail when the job fails.

  • stallWarningMinutes integer, Stall warning emails will be sent after this amount of minutes.

  • successOn boolean, If success email notifications are on.

  • failureOn boolean, If failure email notifications are on.

runningAs

list, A list containing the following elements:

  • id integer, The ID of this user.

  • name string, This user's name.

  • username string, This user's username.

  • initials string, This user's initials.

  • online boolean, Whether this user is online.

nextRunAt

string, The time of the next scheduled run.

timeZone

string, The time zone of this script.

lastRun

list, A list containing the following elements:

  • id integer,

  • state string,

  • createdAt string, The time that the run was queued.

  • startedAt string, The time that the run started.

  • finishedAt string, The time that the run completed.

  • error string, The error message for this run, if present.

hidden

boolean, The hidden status of the item.

targetProjectId

integer, Target project to which script outputs will be added.

archived

string, The archival status of the requested item(s).

source

string, The body/text of the script.

remoteHostId

integer, The remote host ID that this script will connect to.

credentialId

integer, The credential that this script will use.