Meta tags:
Headings (most frequently used words):
scripts, shell, arguments, example, to, python, using, inputs, outputs, batch, line, create, folder, buildmaster, in, and, script, windows, single, bash, other, scripting, please, enable, javascript, language, support, prerequisites, adding, existing, running, inline, execution, of, code, technical, implementation, call, operations, run, release, renew, dhcp, ip, address, an, otterscript, variable, multi, sh, bat, input, only, py, this, article,
Text of the page (most frequently used words):
the (74), howto (66), and (64), #buildmaster (59), proget (58), create (50), script (48), packages (42), ensure (41), package (37), for (34), with (34), scripts (33), windows (31), your (28), server (28), build (28), python (27), upgrading (27), from (26), release (25), using (23), otter (23), installation (23), file (21), what (21), shell (20), you (20), configuration (19), api (19), list (19), inedo (18), otterscript (18), asset (18), use (17), set (17), powershell (17), files (17), delete (17), will (16), variables (16), application (16), private (16), get (16), nuget (16), batch (15), docker (15), repository (15), can (14), servers (14), upload (14), feed (14), feeds (14), this (13), directory (13), service (13), arguments (12), example (12), user (12), license (12), execute (11), variable (11), deploy (11), deployment (11), scripting (11), azure (11), proxy (11), registry (11), line (10), ahparameter (10), linux (10), add (10), run (10), site (10), reference (10), http (10), app (10), project (10), augmented (9), help (9), parameters (9), are (9), update (9), that (9), comment (9), storage (9), legacy (9), download (9), import (9), builds (9), code (8), access (8), output (8), rem (8), bash (8), creating (8), operations (8), integration (8), containers (8), pool (8), template (8), universal (8), issue (8), migrate (8), publish (8), inputs (7), command (7), bat (7), then (7), folder (7), agent (7), tasks (7), configure (7), dotnet (7), management (7), git (7), templates (7), net (7), support (6), running (6), when (6), ahparameters (6), passed (6), via (6), usage (6), 255 (6), address (6), other (6), installing (6), configuring (6), iis (6), getting (6), started (6), stop (6), start (6), collect (6), modules (6), drift (6), metadata (6), chocolatey (6), export (6), endpoint (6), dir1 (5), temporary (5), name (5), etc (5), input (5), new (5), ahdescription (5), local (5), lines (5), path_check (5), value (5), temp_folder_path (5), built (5), visual (5), sdk (5), versions (5), source (5), romp (5), credentials (5), overview (5), resource (5), blocks (5), general (5), keys (5), troubleshooting (5), manual (5), security (5), guide (5), web (5), promote (5), psensure (5), push (5), administration (5), group (5), sca (5), connector (5), customizing (5), tracking (5), database (5), myinedo (4), outputs (4), execution (4), existing (4), have (4), exe (4), dir2 (4), remove (4), uses (4), logging (4), exec (4), ip_address (4), pycall (4), string (4), header (4), environment (4), shcall (4), percent_used (4), shexec (4), single (4), batcall (4), javascript (4), extension (4), extending (4), notes (4), cli (4), maintenance (4), network (4), restore (4), sign (4), directories (4), ldap (4), install (4), services (4), virtual (4), replace (4), zipfile (4), rpm (4), firewall (4), jsencode (4), restrictions (4), jobs (4), image (4), audit (4), groups (4), sbom (4), projects (4), rules (4), devops (4), migrating (4), importing (4), replication (4), terraform (4), pypi (4), studio (4), rubygems (4), artifacts (4), deployments (4), pipelines (4), tests (4), applications (4), automated (4), adding (3), order (3), these (3), write (3), python3 (3), also (3), function (3), args (3), there (3), would (3), ip_netmask (3), interface_name (3), follows (3), interface (3), only (3), cannot (3), disk_path (3), percentused (3), compare (3), trimend (3), disk (3), descriptions (3), home (3), temp (3), mkdir (3), operation (3), renew (3), call (3), pipeline (3), pythonpath (3), against (3), installed (3), ps1 (3), please (3), enable (3), extensions (3), tools (3), advanced (3), text (3), functions (3), engine (3), strings (3), comments (3), architecture (3), backup (3), products (3), backing (3), managing (3), agents (3), authentication (3), request (3), active (3), integrated (3), https (3), psverify (3), dsc (3), repackage (3), remediate (3), query (3), servername (3), filecontents (3), 2022 (3), 2023 (3), 2024 (3), 2025 (3), controls (3), tag (3), archive (3), permission (3), permissions (3), task (3), users (3), issues (3), scan (3), status (3), connectors (3), types (3), methods (3), connect (3), retention (3), continuous (3), versioning (3), conan (3), cran (3), repositories (3), conda (3), integrating (3), org (3), helm (3), npm (3), java (3), maven (3), monitors (3), dependencies (3), databases (3), releases (3), deploying (3), docs (2), 2026 (2), technical (2), implementation (2), inline (2), language (2), prerequisites (2), cmd (2), first (2), executed (2), allowing (2), docstring (2), into (2), system (2), log (2), values (2), after (2), including (2), within (2), another (2), exit (2), return (2), available (2), called (2), updates (2), parameter (2), specify (2), static (2), area (2), connection (2), describe (2), following (2), simply (2), each (2), should (2), keyword (2), followed (2), colon (2), note (2), must (2), being (2), addition (2), diskusagepercentage (2), true (2), once (2), find (2), percentage (2), echo (2), directly (2), generate (2), prompts (2), way (2), automatically (2), applicationname (2), ipconfig (2), different (2), where (2), requirements (2), browser (2), hosting (2), downloads (2), verification (2), machine (2), features (2), statements (2), formal (2), protocol (2), client (2), multiple (2), instances (2), silent (2), sql (2), restoring (2), upgrade (2), product (2), microsoft (2), saml (2), center (2), high (2), availability (2), load (2), balancing (2), offline (2), pre (2), hub (2), binary (2), shverify2 (2), shensure2 (2), acquire (2), key (2), pyverify (2), psverify2 (2), psexec (2), psensure2 (2), psdsc (2), pscall2 (2), pscall (2), module (2), restart (2), recycle (2), binding (2), assets (2), transfer (2), sleep (2), shensure (2), fileattributes (2), send (2), email (2), rename (2), pyensure (2), packagefile (2), post (2), osexec (2), oscall (2), hostsentry (2), copy (2), concatenate (2), debian (2), apply (2), rule (2), extract (2), appsetting (2), xmlencode (2), xml (2), urlencode (2), trimstart (2), trim (2), toupper (2), tolower (2), substring (2), regexreplace (2), padright (2), padleft (2), newline (2), matchesregex (2), join (2), htmlencode (2), coalesce (2), split (2), regexfind (2), rolename (2), environmentvariable (2), serversinroleandenvironment (2), serversinrole (2), serversinenvironment (2), allservers (2), allroles (2), allenvironments (2), acquiredservers (2), pseval (2), pscredential (2), preferwindowspowershell (2), autoterminatepowershellprocess (2), increment (2), floor (2), expr (2), decrement (2), ceiling (2), abs (2), math (2), mapset (2), mapremove (2), mapitem (2), mapadd (2), mapkeys (2), maps (2), listitem (2), listindexof (2), listcount (2), listset (2), listremove (2), listinsert (2), listconcat (2), lists (2), sheval (2), fromjson (2), tojson (2), json (2), eval (2), specialwindowspath (2), secureresourceproperty (2), securecredentialproperty (2), dateutc (2), date (2), range (2), resolvepath (2), pathcombine (2), fileexists (2), directoryexists (2), filesondisk (2), getvariablevalue (2), workingdirectory (2), isvariabledefined (2), executionstate (2), executionid (2), environmentname (2), executions (2), orchestration (2), infrastructure (2), aws (2), lightsail (2), resources (2), team (2), verify (2), remediation (2), compliance (2), collecting (2), sync (2), role (2), connecting (2), scheduled (2), folders (2), vulnerabilities (2), licenses (2), member (2), show (2), health (2), apikey (2), endpoints (2), 2020 (2), 2021 (2), oss (2), feature (2), teams (2), content (2), webhooks (2), notifications (2), cloud (2), restricted (2), deprecated (2), policies (2), development (2), edge (2), mirroring (2), promotion (2), share (2), automatic (2), php (2), charts (2), node (2), sample (2), scala (2), gradle (2), gallery (2), drop (2), repackaging (2), commit (2), pull (2), vstest (2), artifact (2), config (2), reject (2), teamcity (2), jenkins (2), github (2), unix (2), nunit (2), runner (2), unit (2), asp (2), mvc (2), event (2), listeners (2), steps (2), checks (2), branches (2), things (2), llc, com, article, standard, interpreter, declared, section, hooks, calls, captured, appropriate, levels, read, returns, info, warning, type, wrapped, named, exported, prevents, instead, handle, ahscriptwrapper, defaulted, prepended, begining, they, used, few, differences, exectution, three, insead, any, options, updateip, hdarif, newip, leverages, restconf, netmask, has, hdars_path, positional, specified, unless, custom, accessed, ahargsformat, sets, subnet_mask, default, dns_address, netsh, might, setip, starting, top, mapping, omit, character, mapped, include, dev, sdb, error, because, currently, its, capacity, throw, case, capturing, exits, could, bin, finding, pcent, awk, print, both, may, look, like, under, shebang, headers, make, easier, multi, replaces, above, replaced, deployed, allow, insert, due, limited, capabilities, batexec, pyexec, releaserenewipaddress, computer, were, dhcp, parse, provide, editor, one, those, whether, means, targeting, sequentially, parallel, even, branching, interating, loops, logic, added, target, stage, easiest, navigate, settings, either, detect, located, scoped, contains, full, path, provided, runs, depend, supports, requires, properly, manually, outdated, writing, simple, extensibility, layout, common, sources, inspection, publishing, auditing, history, maintaining, discontinued, programmatically, invoking, executing, scenarios, runtime, pools, templating, else, try, catch, loop, grammar, specification, video, tickets, stopgap, invoices, payments, renewing, purchasing, activation, accessing, account, flow, message, formats, internal, same, setting, outbound, communication, postgresql, pingid, entra, prometheus, diagnostic, analytics, hybrid, configurations, openldap, generic, integrate, domains, cluster, installations, compose, switch, reverse, downgrade, installedpackages, issimulation, job, rafts, admins, accounts, remote, desktop, connections, remediating, desired, verifying, recurring, gui, forms, automation, multipart, manifest, assess, vulnerabilties, attributes, members, edit, resolve, promotions, apikeys, pgutil, commands, premise, 2019, clair, index, quirk, old, migration, sonatype, nexus, jfrog, artifactory, myget, white, labeling, isv, edition, slack, localization, executable, blob, google, amazon, self, receive, alerts, filter, licensing, detection, blocking, block, vulnerability, scanning, assessment, exporting, software, composition, analysis, multisite, federated, distribution, computing, disaster, recovery, semantic, registries, terminology, concepts, container, assetdirectories, library, composer, recipes, hashicorp, cargo, rust, pub, dart, flutter, comprehensive, alpine, apk, aggregate, yum, public, pipenv, poetry, artifacthub, kubernetes, apt, bower, sbt, vsix, ruby, community, internalized, approved, optionally, odata, symbol, semver2, bulk, across, paths, instructions, third, party, statistics, approve, open, semver, setup, deployables, webhook, plans, earlier, 2018, based, containerized, raft, pack, merge, releaseassets, transition, milestone, issuecomment, close, checkout, attach, assembly, transform, version, tool, test, msbuild, statement, change, wait, number, releasevariable, releasenumberpart, releasenumber, releasename, previousreleasenumber, incrementreleasenumber, comparereleasesequence, pipelinestagename, pipelinename, packageversion, packageproperty, packagehash, packagesinbuild, nugetexepath, vstestexepath, promotioncomments, msbuildtoolspath, jqlvalue, devenvpath, isrollback, isreexecution, executionuser, environments, databaseconnectionsinenvironment, containertag, containerdigest, containersinbuild, configurationfileversion, configurationfiletext, configurationfiles, configurationfileinstances, buildvariable, pullrequestid, dockertag, dockerrepository, ciprojectscope, ciproject, cibuildnumber, cibuild, buildnumber, buildmasterurl, buildmasterid, branch, artifactpath, buildsinrelease, artifactsinbuild, applicationid, applicationgroupname, applicationgitlibrary, applicationexists, applicationdescription, releasesinapplication, applicationsingroup, cancel, clone, purge, triggering, badges, native, bitbucket, subversion, youtrack, jira, gitea, gitlab, integrations, ssh, website, targets, wordpress, junit, jetty, wildfly, jboss, eap, tomcat, ant, fxcop, xunit, mstest, more, entity, framework, core, webforms, console, platforms, containzerizing, preventing, how, displayed, rendered, calendars, blue, green, patterns, rollbacks, approvals, approval, gates, best, practices, delivery, reports, testing, store, hotfix, workflows, svn, tfs, control, matching, results, found, internet, explorer, longer, supported, many, still, work, but, experience, degraded, some, won, modern, such, chrome, firefox, documentation,
Text of the page (random words):
n export import sync collecting verifying configuration desired configuration with otterscript collecting installed packages running containers compliance as code with powershell psverify howto ensure chocolatey packages with otter drift remediation configuration as code automatically remediate configuration drift creating drift remediation jobs remediating drift with powershell psensure scripting in otter what are scripts in otter what are variables in otter shell bash scripting howto add a user with a bash script powershell ps1 scripting howto verify configure remote desktop connections howto verify configure local windows admins accounts windows batch bat scripting python py scripting otterscript operations augmented help reference rafts git storage configuring for your team security and access controls api access and api keys credentials resources installation upgrading otter installation guide agent installation reference installing otter on aws lightsail upgrading otter upgrading to otter 2025 upgrading to otter 2024 upgrading to otter 2023 upgrading to otter 2022 upgrading to otter 3 0 administration maintenance license restrictions service administration extending otter backing up otter reference otter api reference infrastructure management api job orchestration api server configuration management api variables management api otterscript reference built in functions variables executions environmentname executionid executionstate issimulation isvariabledefined workingdirectory getvariablevalue files filesondisk directoryexists filecontents filecontents fileexists pathcombine resolvepath general range date dateutc securecredentialproperty secureresourceproperty specialwindowspath eval json jsencode tojson fromjson linux sheval lists listconcat listinsert listremove listset listcount listindexof listitem maps mapkeys mapadd mapitem mapremove mapset math abs ceiling compare decrement expr floor increment powershell autoterminatepowershellprocess preferwindowspowershell pscredential pseval python pythonpath servers acquiredservers allenvironments allroles allservers serversinenvironment serversinrole serversinroleandenvironment environmentvariable rolename servername servername strings regexfind split coalesce htmlencode join jsencode matchesregex newline padleft padright regexreplace replace substring tolower toupper trim trimend trimstart urlencode xml xmlencode built in operations batch batcall docker collect docker containers dotnet ensure appsetting files ensure asset extract zipfile get asset firewall ensure firewall rule general apply template collect debian packages collect rpm packages collect installedpackages concatenate files copy files create directory create file create package create zipfile delete files download asset download http ensure directory ensure file ensure hostsentry ensure metadata ensure package exec execute python script get http install package oscall osexec post http push packagefile pycall pyensure query package remediate drift rename file repackage replace text send email set fileattributes set variable shensure sleep transfer files upload assets upload http iis ensure app pool ensure application ensure site ensure site binding ensure virtual directory recycle app pool start app pool start site stop app pool stop site otter ensure server restart server powershell collect dsc modules collect powershell modules ensure dsc resource ensure powershell module ensure powershell repository pscall pscall2 psdsc psensure psensure using scripts psensure2 psexec psverify psverify2 proget promote package python pyverify registry ensure registry key value get registry value servers acquire server release server services ensure service start windows service stop windows service shell execute shell script shcall shensure2 shverify2 windows sign binary installation maintenance windows inedo hub howto install on windows howto upgrade or downgrade getting started with inedo hub howto install pre release product versions offline installation silent installation cli reference troubleshooting web hosting https configuring https howto configure iis as a reverse proxy for the integrated web server howto switch to integrated web server from iis troubleshooting manual installation linux docker docker installation guide upgrading docker containers docker compose installation guide https support on linux troubleshooting docker installations high availability load balancing configuring high availability load balancing managing your cluster user directories domains ldap howto integrate inedo products with active directory active directory v5 openldap generic ldap windows integrated authentication troubleshooting ldap ad integration legacy configurations active directory ldap v4 advanced configuration v3 hybrid user directories logging analytics diagnostic center http request logging prometheus installation integration saml authentication saml authentication overview azure ad microsoft entra id single sign on pingid single sign on when to upgrade your inedo product managing agents and servers backing up restoring installation configuration files postgresql inedo products sql server inedo products backup up restore for sql server inedo agent what is the inedo agent installation upgrading linux installation security requirements silent installation manual installation upgrading downloads release notes maintenance configuration configuring the inedo agent setting up outbound communication using the same agent with multiple instances troubleshooting internal architecture client server architecture message formats network protocol v1 network protocol v2 server flow myinedo what is myinedo creating accessing your myinedo account license keys activation purchasing a license renewing a license invoices payments stopgap license keys support tickets create support video otterscript execution engine reference formal specification formal grammar otterscript otterscript overview comments descriptions strings values statements and blocks general blocks loop blocks try catch blocks if else blocks other statements inedo execution engine operations functions text templating resource pools runtime variables advanced scenarios features executing tasks as a different user programmatically invoking otterscript romp discontinued using romp installing configuring and maintaining configuration parameters installing romp maintenance romp cli reference command overview auditing local machine history creating and publishing packages credentials installation inspection and verification package sources romp configuration common configuration package layout downloads source code extensibility inedo sdk inedo sdk versions release notes extending inedo tools using the sdk writing a simple create file operation creating an extension using the sdk outdated creating an extension using the sdk 1 x hosting a private extensions feed manually installing extensions please enable javascript proget requires the use of javascript to function properly please enable javascript in your browser for this site shell bash other scripting in addition to powershell ps1 scripting buildmaster supports shell bash windows batch bat and python py scripts language support prerequisites buildmaster runs these scripts on a server that uses an agent the requirements for this server depend on the script to be executed shell sh can only be run against linux servers windows batch bat can only be run against windows servers python py can be run against windows or linux servers provided that python3 is installed for python scripts where buildmaster cannot detect where python3 is located you must create a server scoped variable in buildmaster called pythonpath that contains the full path to python or python exe on windows adding existing scripts to buildmaster the easiest way to add your existing scripts to buildmaster is to navigate to your application then settings scripts add script from there you can either create a new script or upload scripts running scripts in buildmaster once you ve added a script to buildmaster you can run that script in a pipeline stage as a deployment target you can also use otterscript to run those scripts on different servers whether that means targeting servers sequentially in parallel or even with branching and interating loops logic using call operations to run scripts you can call your scripts using one of the call operations shcall for shell bash batcall for windows batch pycall for python buildmaster can parse your script for parameters and inputs and provide descriptions for script arguments in the otterscript visual editor example batch script to release and renew a dhcp ip address if you were to add the following windows batch script to buildmaster rem ahdescription release and renew the ip address of a local computer ipconfig release ipconfig renew you can then run it in your otterscript using batcall releaserenewipaddress bat inline execution of shell and python code the shexec and pyexec operations allow you to insert shell or python code directly into your otterscript due to the limited capabilities of windows batch scripts there is no batexec operation when you run scripts this way buildmaster automatically replaces variables within the script in the example above applicationname would be replaced with the name of the application being built or deployed example single line create folder shexec mkdir home user temp example single line create folder using an otterscript variable set temp_folder_path home user temp shexec mkdir temp_folder_path example multi line create folder set temp_folder_path home user temp shexec echo creating directory temp_folder_path mkdir temp_folder_path using script arguments inputs outputs buildmaster uses augmented help to generate descriptions and prompts for your scripts by adding augmented help comment headers to your script you can make it easier to find and use your scripts in otterscript shell sh arguments inputs outputs to use augmented help with a shell script simply add comment lines directly under the shebang line each of the lines in this comment header should have the keyword ahdescription ahparameter etc followed by a colon for example to describe diskusagepercentage sh a script with both an input and output parameter your script may look like this bin bash ahdescription this script will find the disk usage percentage ahparameter path_check ahparameter percent_used output echo finding disk usage percentage for path_check percent_used df output pcent path_check awk nr 2 print 1 in this case path_check will be passed as a variable to the script capturing the value of percent_used once the script exits in otterscript you could use this script as follows set disk_path dev sdb shcall diskusagepercentage sh parameters path_check disk_path percent_used percentused if compare trimend percentused 85 true true log error cannot deploy to disk_path because it s currently using percentused of its available storage capacity throw note that when mapping ahparameters as output variables to otterscript variables you must omit the character of the otterscript variable that is being mapped in addition shell scripts cannot include exit or return windows batch bat arguments input only to use augmented help with a windows batch script simply add comment lines i e lines starting with rem at the top of the script each of the lines in this comment header should have the keyword ahdescription ahparameter etc followed by a colon for example to describe setip bat you might add the following comment header rem ahdescription sets the static ip address of local area connection rem rem ahparameter ip_address rem ahparameter subnet_mask default 255 255 255 0 rem ahparameter dns_address netsh interface ip set address local area connection static 1 2 3 1 parameters will be passed in via positional command line arguments in the order the parameters are specified unless you specify a custom string using ahargsformat in windows batch script command line arguments are accessed in script using 1 2 n if your windows batch script uses environment variables for input you can also specify that as follows rem ahparameter hdars_path environment python py arguments inputs outputs if your python script has a docstring comment header buildmaster will use that for parameter inputs for example this script leverages restconf to updates the ip address on the interface args interface_name string name of the interface to update ip_address string new ip address ip_netmask string new ip netmask this would then be called in buildmaster as follows pycall updateip py parameters interface_name hdarif ip_address newip ip_netmask 255 255 255 0 the three parameters interface_name ip_address and ip_netmask would be available as variables in the python script if you use ahparameter insead of args you can use any of the augmented help options including output variables technical implementation shell scripts buildmaster will first write your script to a temporary directory then it will use the linux command line to execute your scripts via file name arguments and will then remove the temporary file after when using augmented help there are a few differences in the exectution ahparameters are defaulted to an input usage and will be prepended to the begining of the temporary script so they can be used by name e g dir1 in the script ahparameters with the args usage will be passed in order via the command line arguments for example if you have parameters dir1 and dir2 these will be passed to the script as example sh dir1 dir2 when including ahparameters with the output usage type the shell script will be wrapped in a function named ahscriptwrapper so variables can be exported this prevents the use of return and exit from within the script instead use another output ahparameter and handle it using otterscript python scripts buildmaster uses the standard python3 interpreter to execute your scripts the script is executed using python s exec allowing it to access variables declared as inputs in the ahparameters section of the docstring and buildmaster also hooks into python s logging system allowing logging info warning etc calls in python to be captured with the appropriate log levels in otter output values are read after exec returns windows batch buildmaster will first write your script to a temporary directory then use the windows command line to execute your scripts via cmd exe c file name arguments and then remove the temporary file when using augmented help the ahparameters will be passed in order via the command line arguments for example if you have parameters dir1 and dir2 these will be passed to the script as cmd exe c example bat dir1 dir2 in this article language support prerequisites adding existing scripts to buildmaster running scripts in buildmaster inline execution of shell and python code using script arguments inputs outputs technical implem...
|