├── .deployment
├── .editorconfig
├── .eslintignore
├── .eslintrc.yml
├── .gitattributes
├── .github
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE
│ └── bug-report.yml
├── pull_request_template.md
└── workflows
│ └── Hyponome.yml
├── .gitignore
├── .octopus
├── channels.ocl
├── deployment_process.ocl
├── deployment_settings.ocl
└── schema_version.ocl
├── .prettierrc
├── .vscode
└── settings.json
├── GitVersion.yml
├── IISNode.yml
├── LICENSE.txt
├── README.md
├── app
├── Browser.jsx
├── Routes.jsx
├── actions
│ └── LibraryActions.jsx
├── components
│ ├── App.jsx
│ ├── Footer.jsx
│ ├── Header.jsx
│ ├── Listing.jsx
│ ├── SearchBox.jsx
│ ├── TemplateBody.jsx
│ ├── TemplateItem.jsx
│ ├── TemplateList.jsx
│ └── TemplateParameters.jsx
├── content
│ ├── images
│ │ ├── Octopus-96x96.png
│ │ ├── favicon.png
│ │ └── octopus-white.png
│ └── styles
│ │ ├── base
│ │ ├── _base.scss
│ │ ├── _buttons.scss
│ │ └── _util.scss
│ │ ├── components
│ │ ├── _app.scss
│ │ ├── _footer.scss
│ │ ├── _header.scss
│ │ ├── _searchbox.scss
│ │ ├── _socialbuttons.scss
│ │ ├── _templateitem.scss
│ │ └── _templatelisting.scss
│ │ ├── layout
│ │ ├── _grid.scss
│ │ └── _typography.scss
│ │ ├── main.scss
│ │ └── variables
│ │ └── _variables.scss
├── dispatcher.js
├── services
│ ├── Analytics.js
│ ├── LibraryDb.js
│ └── SlugMaker.js
└── stores
│ └── LibraryStore.jsx
├── deploy.sh
├── gulpfile.babel.js
├── package-lock.json
├── package.json
├── server
├── server.js
└── views
│ └── index.pug
├── spec
├── logos-validation-tests.js
└── step-template-validation-tests.js
├── step-templates
├── Azure-Backup-TableStorage-to-Blob.json
├── Azure-Container-Copy-to-another-Container.json
├── Azure-CopySelectiveStorageAccountContainersUsingAZCopy.json
├── Azure-Get-Publishing-Credentials.json
├── F5-API-enable-disable-member.json
├── GCP-gcloud-run-deploy.json
├── Jenkins-Queue-Job.json
├── Load-WIF-Issuer-Thumbprints.json
├── Manual-Intervention-User-Restrictions-Enforcement.json
├── Remove-Hosts-File-Entry.json
├── SQL-Query-Octopus-Database-for-Fragmentation.json
├── TeamCity-Pin-Build.json
├── Wait-until-time.json
├── add-server-to-azure-load-balancer.json
├── akamai-content-purge.json
├── akamai-cpcode-fastpurge.json
├── akamai-fast-content-purge.json
├── amazon-chime-post-message.json
├── amazon-s3-upload.json
├── ansible-run-playbook.json
├── ansible-tower-run-template.json
├── apexsql-devops-toolkit-deploy.json
├── apexsql-devops-toolkit-sync-data.json
├── apexsql-devops-toolkit-sync.json
├── apollo-rover-check-subgraph-schema.json
├── apollo-rover-publish-subgraph-schema.json
├── application-insights-annotate-release-with-rbac.json
├── application-insights-annotate-release.json
├── argo-argocd-app-get.json
├── argo-argocd-app-set-with-package.json
├── argo-argocd-app-set.json
├── argo-argocd-app-sync.json
├── argo-argocd-app-wait.json
├── argo-rollouts-get-rollout.json
├── argo-rollouts-pause.json
├── argo-rollouts-promote.json
├── argo-rollouts-set-image.json
├── argo-rollouts-status.json
├── argo-rollouts-undo.json
├── aspnet-state-database.json
├── aspnetcore-set-environment-variable-iis.json
├── aspnetcore-set-environment-variable.json
├── automate-manual-intervention-response.json
├── aws-add-imagetag-to-all-used-ecr-packages.json
├── aws-add-remove-elbv2.json
├── aws-add-tags-to-ec2-instance.json
├── aws-change-ec2-instance-state.json
├── aws-cloudformation-create.json
├── aws-cloudfront-invalidate-cache.json
├── aws-configure-lambda-alias.json
├── aws-configure-lambda-api-gateway-integration.json
├── aws-configure-lambda.json
├── aws-create-a-route-53-resource-record.json
├── aws-create-a-security-group.json
├── aws-deploy-lambda-iam.json
├── aws-deploy-lambda-image.json
├── aws-deploy-lambda.json
├── aws-deregister-elb-instance.json
├── aws-ec2-get-public-hostname.json
├── aws-elastic-beanstalk-dotnet-webapp-deploy.json
├── aws-execute-powershell.json
├── aws-find-blue-green-asg.json
├── aws-find-blue-green-target-group.json
├── aws-initiate-instance-refresh.json
├── aws-lambda-create.json
├── aws-launch-ec2-instance.json
├── aws-linux-install-tentacle.json
├── aws-rds-restore-s3.json
├── aws-rds-sql-backup-s3.json
├── aws-register-elb-instance.json
├── aws-secrets-manager-retrieve-secrets.json
├── aws-set-blue-green-target-group.json
├── aws-update-launch-template-ami.json
├── aws-windows-install-tentacle.json
├── azure-add-or-update-azure-loadbalancer-health-probe.json
├── azure-add-or-update-azure-loadbalancer-rule.json
├── azure-add-service-fabric-cluster-certificate.json
├── azure-administer-webjob.json
├── azure-app-config-kv-retrieve-values.json
├── azure-blob-storage-set-cors.json
├── azure-blob-storage-upload.json
├── azure-capture-virtualmachine-image.json
├── azure-check-vmss-provision-status.json
├── azure-create-containerapp-environment.json
├── azure-create-new-resourcegroup.json
├── azure-create-new-webapp.json
├── azure-create-resource-group-az-module.json
├── azure-create-staging-deployment-slot.json
├── azure-database-execute-sql-cmd.json
├── azure-database-export.json
├── azure-database-import-create-new-DTU.json
├── azure-database-import-create-new-vcpu.json
├── azure-database-import.json
├── azure-delete-from-webapp.json
├── azure-delete-resource-group-az-module.json
├── azure-delete-resource-group.json
├── azure-deploy-containerapp.json
├── azure-devops-build-pipeline.json
├── azure-function-deployment.json
├── azure-function-set-appsettings-from-azconfig.json
├── azure-install-windows-tentacle.json
├── azure-keyvault-retrieve-secrets.json
├── azure-linux-install-octopus-tentacle.json
├── azure-load-appsettings-from-file.json
├── azure-manage-webjob.json
├── azure-powershell-version-update.json
├── azure-remove-resource-group-deployments.json
├── azure-site-extensions-install.json
├── azure-switch-staging-deployment-slot.json
├── azure-sync-instancecount-from-prod-to-staging.json
├── azure-upload-files.json
├── azure-web-app-disable-appoffline.json
├── azure-web-app-enable-appoffline.json
├── azure-web-app-get-deployment-user.json
├── azure-web-app-restart.json
├── azure-web-app-rolling-restart.json
├── azure-web-app-set-app-settings.json
├── azure-web-app-set-traffic.json
├── azure-web-app-slot-swap.json
├── azure-web-app-ssl.json
├── azure-web-app-start.json
├── azure-web-app-stop.json
├── backup-azure-database-to-azure-storage.json
├── bash-check-net-core-framework-version.json
├── bash-http-test-url.json
├── bash-service-check-running.json
├── block-progression.json
├── calculate-deployment-mode.json
├── cassandra-create-keyspace.json
├── chef-run-cookbook.json
├── chocolatey-ensure-installed.json
├── chocolatey-install-package.json
├── chocolatey-manage-config.json
├── chocolatey-manage-features.json
├── chocolatey-manage-sources.json
├── chocolatey-pin-package.json
├── clickonce-from-deployed-package.json
├── clickonce-re-sign.json
├── clickonce-sign-file.json
├── clickonce-update-application-file.json
├── clickonce-update-manifest-file.json
├── clone-tenant.json
├── com-component-register-unregister.json
├── configuration-encrypt-app-config-section.json
├── configuration-encrypt-app-or-web-config-section.json
├── configuration-encrypt-web-config-section.json
├── configure-spm-client.json
├── create-azure-website-staging-slot.json
├── create-tenant.json
├── cyberark-conjur-retrieve-a-secret.json
├── cyberark-conjur-retrieve-secrets.json
├── datadog-create-event.json
├── datadog-schedule-downtime.json
├── datadog-task-log.json
├── deploy-child-project.json
├── determine-rolling-deploy-window-size.json
├── docker-create-and-push-image.json
├── docker-install-linux.json
├── docker-install-windows.json
├── dsc-windows-service.json
├── dyn-create-an-A-record.json
├── edgecast-cdn-purge.json
├── elmahio-notify-deployment.json
├── elmahio-upload-source-map.json
├── epplus-register-dll-gac.json
├── event-tracing-register-manifest.json
├── event-tracing-unregister-manifest.json
├── f5-enable-disable-member.json
├── f5-enable-disable-multiple-pools.json
├── f5-gtm-enable-or-disable.json
├── f5-ltm-rest-enable-disable-member.json
├── file-download.json
├── file-system-add-hosts-entry.json
├── file-system-backup-directory.json
├── file-system-check-disk-space.json
├── file-system-clean-asp-net-temp-files.json
├── file-system-clean-configuration-transforms.json
├── file-system-clean-directory.json
├── file-system-combine-files.json
├── file-system-copy-file.json
├── file-system-create-file.json
├── file-system-create-folder.json
├── file-system-create-folders.json
├── file-system-create-symlink.json
├── file-system-find-and-replace.json
├── file-system-grant-permissions.json
├── file-system-rclone.json
├── file-system-regular-expression-find-and-replace.json
├── file-system-rename-file.json
├── file-system-restore-directory.json
├── file-system-rsync.json
├── file-system-zip-directory-contents.json
├── firebase-deploy.json
├── flyway-database-migrations.json
├── ftp-uploadfiles-package.json
├── ftp-uploadfiles.json
├── gcp-secret-manager-retrieve-secrets.json
├── ghostinspector-runsuite.json
├── git-clone-copy-push-another-repo.json
├── git-clone-copy-push-package.json
├── git-clone-copy-push.json
├── git-create-pull-request.json
├── git-pull-https.json
├── git-push-https.json
├── git-tag-repository.json
├── github-create-repo.json
├── github-create-secret.json
├── github-fork-repo.json
├── github-push-yeoman-to-repo.json
├── github-report-deployment.json
├── github-tag-release.json
├── github-verify-attestation.json
├── gitlab-create-tag.json
├── google-chat-send-message.json
├── grate-database-migration.json
├── hashicorp-vault-approle-get-wrapped-secretid.json
├── hashicorp-vault-approle-login.json
├── hashicorp-vault-approle-unwrap-secretid-login.json
├── hashicorp-vault-approle-unwrap-secretid.json
├── hashicorp-vault-generate-jwt.json
├── hashicorp-vault-jwt-login.json
├── hashicorp-vault-keyvalue-v1-retrieve-secrets.json
├── hashicorp-vault-keyvalue-v2-retrieve-secrets.json
├── hashicorp-vault-ldap-login.json
├── hg-get-changelog.json
├── hipchat-notify-api-v1.json
├── hipchat-notify.json
├── hockeyapp-upload-mobile-app.json
├── http-invoke-url.json
├── http-post-form.json
├── http-test-url.json
├── hydra-update-octopus-tentacle.json
├── iis-add-isapicgirestrictionexception.json
├── iis-app-create.json
├── iis-app-remove.json
├── iis-app-set-connect-as-credential.json
├── iis-app-update-property.json
├── iis-apppool-create.json
├── iis-apppool-delete.json
├── iis-apppool-restart.json
├── iis-apppool-set-managed-pipeline-mode.json
├── iis-apppool-start.json
├── iis-apppool-stop.json
├── iis-apppool-update-property.json
├── iis-apppool-update-recycle-settings.json
├── iis-autostartprovider-add.json
├── iis-backup-iis-configuration.json
├── iis-bind-ssl-certificate-with-sni-enabled.json
├── iis-bindings-backup.json
├── iis-bindings-enable-ssl-ccs.json
├── iis-bindings-restore.json
├── iis-change-app-offline-online.json
├── iis-configure-compression.json
├── iis-list-sites.json
├── iis-redirect-to-https.json
├── iis-reset.json
├── iis-set-authentication.steptemplate.json
├── iis-set-http-redirect.json
├── iis-vdir-create.json
├── iis-website-add-http-s-bindings.json
├── iis-website-add-release-number-to-response-header.json
├── iis-website-add-windows-auth-providers.json
├── iis-website-appfabric-application-start.json
├── iis-website-appfabric-application-stop.json
├── iis-website-create.json
├── iis-website-delete.json
├── iis-website-restart.json
├── iis-website-set-ip-security.json
├── iis-website-set-log-format.json
├── iis-website-start.json
├── iis-website-stop.json
├── iis-website-update-iis-log-path.json
├── iis-website-update-property.json
├── import-cert-from-azure-keyvault.json
├── import-databricks-workbooks.json
├── jasper-clear-cache.json
├── jira-transition-issues.json
├── jira-update-version.json
├── json-merge.json
├── json-validate-format-and-schema.json
├── jwt-generate-json-web-token.json
├── k8s-create-serviceaccount-and-target.json
├── k8s-deploy-kustomize.json
├── k8s-eksctl-create-cluster-bash.json
├── k8s-hpa-external-metrics.json
├── k8s-hpa-object-metrics.json
├── k8s-hpa-pod-metrics.json
├── k8s-hpa-resource-metrics.json
├── k8s-inspect-resource-pwsh.json
├── keeper-secretsmanager-retrieve-secrets.json
├── launchdarkly-toggle-feature-flag.json
├── letsencrypt-azure-dns.json
├── letsencrypt-cloudflare.json
├── letsencrypt-dnsimple.json
├── letsencrypt-google-cloud.json
├── letsencrypt-route-53.json
├── letsencrypt-selfhosted-http.json
├── linux-service-start-stop-restart.json
├── liquibase-apply-changeset.json
├── liquibase-run-command.json
├── logos
│ ├── 1password-connect.png
│ ├── akamai.png
│ ├── amazon-chime.png
│ ├── ansible.png
│ ├── apexsql.png
│ ├── apollo.png
│ ├── argo.png
│ ├── aspnet.png
│ ├── aws.png
│ ├── azure-devops.png
│ ├── azure-keyvault.png
│ ├── azure-site-extensions.png
│ ├── azure.png
│ ├── azurefunctions.png
│ ├── bash.png
│ ├── cassandra.png
│ ├── chef.png
│ ├── chocolatey.png
│ ├── clickonce.png
│ ├── cyberark.png
│ ├── databricks.png
│ ├── datadog.png
│ ├── dll.png
│ ├── dlm.png
│ ├── docker.png
│ ├── dotnetcore.png
│ ├── dyn.png
│ ├── edgecast.png
│ ├── elmah.png
│ ├── email.png
│ ├── encrypt.png
│ ├── entityframework.png
│ ├── event-tracing.png
│ ├── exe.png
│ ├── f5.png
│ ├── filesystem.png
│ ├── firebase.png
│ ├── flyway.png
│ ├── ghostinspector.png
│ ├── git.png
│ ├── github.png
│ ├── gitlab.png
│ ├── google-chat.png
│ ├── google-cloud.png
│ ├── grate.png
│ ├── hashicorp-vault.png
│ ├── hipchat.png
│ ├── hockeyapp.png
│ ├── hosts-file.png
│ ├── http.png
│ ├── iis.png
│ ├── jasper.png
│ ├── jenkins.png
│ ├── jira.png
│ ├── json.png
│ ├── jwt.png
│ ├── k8s.png
│ ├── keeper-secretsmanager.png
│ ├── launchdarkly.png
│ ├── lets-encrypt.png
│ ├── linux.png
│ ├── liquibase.png
│ ├── mabl.png
│ ├── mariadb.png
│ ├── medianova.png
│ ├── mercurial.png
│ ├── microsoft-power-automate.png
│ ├── microsoft-teams.png
│ ├── mongodb.png
│ ├── mulesoft.png
│ ├── mysql.png
│ ├── netscaler.png
│ ├── newrelic.png
│ ├── nunit.png
│ ├── octopus.png
│ ├── opslevel.png
│ ├── oracle.png
│ ├── other.png
│ ├── pagerduty.png
│ ├── pingdom.png
│ ├── postgresql.png
│ ├── proxmox.png
│ ├── pulumi.png
│ ├── pushalot.png
│ ├── pushover.png
│ ├── rabbitmq.png
│ ├── rackspace.png
│ ├── ravendb.png
│ ├── raygun.png
│ ├── readyroll.png
│ ├── redgate.png
│ ├── redis.png
│ ├── rnhub.png
│ ├── rollbar.png
│ ├── roundhouse.png
│ ├── sentry.png
│ ├── seq.png
│ ├── sharepoint.png
│ ├── sitecore.png
│ ├── slack.png
│ ├── snowflake.png
│ ├── solarwinds.png
│ ├── spark.png
│ ├── splunk.png
│ ├── sql.png
│ ├── ssl.png
│ ├── stackify.png
│ ├── statuscake.png
│ ├── statuspage.png
│ ├── swaggerhub.png
│ ├── teamcity.png
│ ├── tenants.png
│ ├── terraform.png
│ ├── testery.png
│ ├── tests.png
│ ├── tomcat.png
│ ├── topshelf.png
│ ├── twilio.png
│ ├── umbraco.png
│ ├── unicorn.png
│ ├── unzip.png
│ ├── venafi.png
│ ├── victorops.png
│ ├── wait.png
│ ├── webdeploy.png
│ ├── windows.png
│ ├── winscp.png
│ ├── xamarin.png
│ ├── xml.png
│ ├── xunit.png
│ └── zabbix.png
├── mariadb-add-database-user-to-role.json
├── mariadb-create-database.json
├── mariadb-create-user.json
├── medianova-purge.json
├── microsoft-power-automate-post-adaptivecard.json
├── microsoft-teams-post-a-message.json
├── mongodb-add-update-user-roles.json
├── mongodb-atlas-create-snapshot.json
├── mongodb-atlas-pause-resume-cluster.json
├── mongodb-atlas-restore-snapshot.json
├── mongodb-create-database.json
├── mongodb-create-user.json
├── msmq-create-transactional-queue.json
├── mulesoft-cloudhub.json
├── mysql-add-database-user-to-role.json
├── mysql-backup-database.json
├── mysql-create-database.json
├── mysql-create-user.json
├── mysql-execute-command.json
├── netscaler-adc-enable-or-disable-service.json
├── network-add-ssl-certificate-binding.json
├── network-add-url-reservation.json
├── newrelic-complete-deployment.json
├── nssm-windows-service-create.json
├── octopus-add-runbook-to-project-azure.json
├── octopus-add-runbook-to-project.json
├── octopus-ai-prompt.json
├── octopus-apply-octoterra-module-azure.json
├── octopus-apply-octoterra-module-s3.json
├── octopus-artifact-collect.json
├── octopus-certificate-expiry-check.json
├── octopus-chain-deployment.json
├── octopus-consolidate-releasenotes.json
├── octopus-create-octoterra-space-azure.json
├── octopus-create-octoterra-space-s3.json
├── octopus-delete-machine-registration.json
├── octopus-find-cac-updates.json
├── octopus-get-octopus-usage.json
├── octopus-import-certificate.json
├── octopus-lookup-space-id.json
├── octopus-merge-cac-updates.json
├── octopus-octolint-a-space.json
├── octopus-redeploy-previous-release.json
├── octopus-reference-architecture-eks.json
├── octopus-reference-architecture-webapp.json
├── octopus-register-aks-k8s-cluster.json
├── octopus-register-listening-target.json
├── octopus-register-listening-worker.json
├── octopus-serialize-project-to-terraform.json
├── octopus-serialize-runbook-to-terraform.json
├── octopus-serialize-space-to-terraform.json
├── octopus-set-Octopus-releaese-notes-from-TFS-query.json
├── octopus-support-export.json
├── octopus-validate-deploying-user.json
├── octopus-wait-for-deployment-target-registration.json
├── octopus-worker-healthcheck.json
├── onepassword-retrieve-secrets.json
├── opslevel-create-deploy-event-bash.json
├── opslevel-create-deploy-event-ps.json
├── oracle-add-user-to-role.json
├── oracle-create-user-if-not-exists.json
├── oracle-run-script-through-sqlplus.json
├── pagerduty-close-maintenance-window.json
├── pagerduty-create-incident.json
├── pagerduty-open-maintenance-window.json
├── pause-resume-pingdom-check.json
├── pingdom-create-uptime-check.json
├── pingdom-modify-uptime-check.json
├── postgres-add-database-user-to-role.json
├── postgres-create-database.json
├── postgres-create-user.json
├── postgres-execute-sql.json
├── proxmox-deploy-lxc.json
├── proxmox-destroy-lxc.json
├── proxmox-start-lxc.json
├── proxmox-stop-lxc.json
├── pushalot-send-notification.json
├── pushover-send-notification.json
├── rabbitmq-notify-deploy.json
├── rackspace-update-load-balancer.json
├── ravendb-create-database.json
├── ravendb-create-filesystem.json
├── ravendb-delete-database.json
├── ravendb-delete-filesystem.json
├── ravendb-smuggler-move-data-between-database.json
├── ravendb-smuggler-move-data-between-filesystems.json
├── ravendb-update-properties-within-a-document.json
├── raygun-api-register-deployment.json
├── re-prioritize-octopus-deploy-tasks.json
├── readyroll-deploy-database-package.json
├── redgate-create-database-release-worker-friendly.json
├── redgate-create-database-release.json
├── redgate-deploy-database-release-worker-friendly.json
├── redgate-deploy-from-database-release.json
├── redgate-deploy-from-database.json
├── redgate-deploy-from-package-worker-friendly.json
├── redgate-deploy-from-package.json
├── redgate-oracle-create-release.json
├── redgate-sql-clone-create-clone.json
├── redgate-sql-clone-create-image.json
├── redgate-sql-clone-delete-clone.json
├── redgate-sql-clone-delete-image.json
├── redis-install.json
├── redis-uninstall.json
├── register-linux-tentacle.json
├── registry-update-configuration-variables-in-export-file.json
├── releasenoteshub-add-release-association.json
├── releasenoteshub-pull-trigger.json
├── remove-server-from-azure-load-balancer.json
├── retention-policy.json
├── rollbar-notify-deployment.json
├── rotate_azure_load_balancer_pool.json
├── roundhouse-database-migration.json
├── run-entity-framework-migrations.json
├── run-mabl-tests.json
├── run-mstest.json
├── run-octopus-runbook.json
├── run-pulumi-on-linux.json
├── run-pulumi-on-windows.json
├── run-windows-installer.json
├── run-xunit.json
├── save-octopus-output-variable-with-scoping.json
├── save-octopus-output-variable.json
├── scheduled-task-create-from-xml.json
├── send-email-using-mailkit.json
├── send-sms-using-messagebird.json
├── sentry-release-tracking-token-auth.json
├── sentry-release-tracking.json
├── seq-log-deployment.json
├── sharepoint-solution-deployment.json
├── sitecore-deploy-scwdp.json
├── sitecore-settings-variable-replacement.json
├── sitecore-unicorn-sync.json
├── slack-detailed-notification-bash.json
├── slack-detailed-notification.json
├── slack-notify-deployment.json
├── slack-send-notification-using-block-kit.json
├── slack-send-simple-notification-bash.json
├── slack-send-simple-notification.json
├── snowchange-deploy-scripts.json
├── solarwinds-manage.json
├── solarwinds-unmanage.json
├── spark-sendnotification.json
├── splunk-forward-file.json
├── splunk-log-event-collector.json
├── sql-add-database-user-to-role.json
├── sql-backup-database.json
├── sql-create-database-enhanced.json
├── sql-create-database-user.json
├── sql-create-database.json
├── sql-create-job-category.json
├── sql-create-sql-user.json
├── sql-delete-database.json
├── sql-delete-sql-user.json
├── sql-deploy-dacpac-sqlpackage.json
├── sql-deploylog-read.json
├── sql-deploylog-update.json
├── sql-execute-script-file.json
├── sql-execute-script-with-authentication.json
├── sql-execute-script.json
├── sql-execute-scripts-ordered.json
├── sql-execute-sql-agent-job.json
├── sql-execute-sql-files.json
├── sql-fix-orphaned-user.json
├── sql-restore-database.json
├── sql-smo-change-usermode.json
├── sql-smo-create-database.json
├── sql-smo-create-login-and-user.json
├── sql-smo-drop-database.json
├── sql-test-connection-string.json
├── sql-update-job.json
├── sqlazure-restore-database-from-azure-storage.json
├── sqlserver-high-availability-group.json
├── sqlserver-project-deployment-model-ispac-deploy.json
├── ssas-deploy-from-package.json
├── ssis-deploy-ispac-from-package-parameter.json
├── ssis-deploy-ispac-from-package.json
├── ssis-deploy-ispac-from-referenced-package.json
├── ssis-deploy-ispac-with-enviroment.json
├── ssis-deploy-sqlagentjob.json
├── ssl-certificate-install.json
├── ssl-disable-sslv2.json
├── ssl-write-certificate-pem-and-key.json
├── ssrs-deploy-from-package-parameter.json
├── ssrs-deploy-from-package.json
├── ssrs-report-backup.json
├── stackify-api-template.json
├── statuscake-maintenance-window.json
├── statuspageio-create-scheduled-maintenance-incident.json
├── statuspageio-update-scheduled-maintenance-incident.json
├── swaggerhub-post-api.json
├── teamcity-download-artifact.json
├── teamcity-pin-build-and-dependencies.json
├── teamcity-run-build.json
├── teamcity-tag-build.json
├── teamcity-trigger-build.json
├── terraform-custom-script.json
├── test-run-nunit.json
├── testery-create-test-run.json
├── testery-report-deployment.json
├── tests
│ ├── Invoke-PesterTests.ps1
│ ├── sql-backup-database.ScriptBody.Tests.ps1
│ └── windows-scheduled-task-create.ScriptBody.Tests.ps1
├── tomcat-undeploy-application.json
├── topshelf-install.json
├── topshelf-uninstall.json
├── trigger-multitenant-deployment.json
├── twilio-send-sms-powershell.json
├── umbraco-v7-folder-permissions.json
├── unicorn-sync-configuration.json
├── unzip.json
├── update-hosts-file.json
├── upgrade-octopus-server.json
├── upgrade_to_latest_tentacle.json
├── variables-find-unreplaced.json
├── variables-substitute-in-files.json
├── variables-substitute-in-json-file.json
├── venafi-tpp-create-provision-certificate.json
├── venafi-tpp-export-certificate.json
├── venafi-tpp-find-certificate-details.json
├── venafi-tpp-generate-oauth-token.json
├── venafi-tpp-import-certificate-into-octopus.json
├── venafi-tpp-retrieve-certificate-details.json
├── venafi-tpp-revoke-oauth-token.json
├── victorops-create-alert.json
├── wait-for-iis-connections-to-drop-to-zero.json
├── wait.json
├── web-deploy-azure-convention.json
├── web-deploy-publish-website-msdeploy.json
├── windows-add-back-connection-host-name.json
├── windows-add-poll-endpoint-task.json
├── windows-add-users-to-local-groups.json
├── windows-apply-windows-updates.json
├── windows-certificate-grant-read-access.json
├── windows-check-net-core-framework-version.json
├── windows-check-net-framework-version.json
├── windows-create-eventsource.json
├── windows-create-shortcut.json
├── windows-disk-cleanup.json
├── windows-ensure-features-installed.json
├── windows-ensure-hosts-file-entry-exists.json
├── windows-firewall-configure-rule.json
├── windows-get-pending-reboot.json
├── windows-get-processor-load.json
├── windows-get-uptime.json
├── windows-grant-logon-as-service.json
├── windows-local-user.json
├── windows-map-network-drive.json
├── windows-restart-computer.json
├── windows-restart-if-required.json
├── windows-scheduled-task-changepath.json
├── windows-scheduled-task-create.json
├── windows-scheduled-task-disable.json
├── windows-scheduled-task-enable.json
├── windows-service-change-binary-path.json
├── windows-service-check-status.json
├── windows-service-create.json
├── windows-service-remove.json
├── windows-service-restart.json
├── windows-service-set-recovery-on-failure-actions.json
├── windows-service-set-startup-type.json
├── windows-service-start.json
├── windows-service-stop-or-kill.json
├── windows-service-stop.json
├── windows-wait-for-or-force-close-application.json
├── winsw-install.json
├── xamarin-Insights-upload-dysm.json
├── xamarin-testcloud-execute-testrun.json
├── xml-attribute-update.json
├── xml-transform-using-xdt.json
├── yams-upload.json
└── zabbix-node-api-maintenance.json
├── tools
├── Converter.ps1
├── GitVersion
│ ├── GitVersion.exe
│ ├── GitVersion.pdb
│ ├── LibGit2Sharp.dll
│ ├── LibGit2Sharp.dll.config
│ ├── LibGit2Sharp.pdb
│ └── lib
│ │ ├── linux
│ │ └── x86_64
│ │ │ └── libgit2-381caf5.so
│ │ ├── osx
│ │ └── libgit2-381caf5.dylib
│ │ └── win32
│ │ ├── x64
│ │ ├── git2-381caf5.dll
│ │ └── git2-381caf5.pdb
│ │ └── x86
│ │ ├── git2-381caf5.dll
│ │ └── git2-381caf5.pdb
├── ReleaseNotesGenerator
│ ├── Generate_ReleaseNotes.cmd
│ ├── ReleaseNotesGenerator.csx
│ ├── project.json
│ └── scriptcs_nuget.config
├── StepTemplatePacker
│ ├── StepTemplatePacker.psd1
│ ├── scripts
│ │ ├── ConvertTo-OctopusJson.ps1
│ │ ├── Export-OctopusStepTemplateCustomScript.ps1
│ │ ├── Export-OctopusStepTemplateScriptBody.ps1
│ │ ├── Export-OctopusStepTemplateScripts.ps1
│ │ ├── Get-OctopusStepTemplateFileType.ps1
│ │ ├── Get-OctopusStepTemplateProperty.ps1
│ │ ├── Get-OctopusTextFile.ps1
│ │ ├── Import-OctopusStepTemplateCustomScript.ps1
│ │ ├── Import-OctopusStepTemplateScriptBody.ps1
│ │ ├── Import-OctopusStepTemplateScripts.ps1
│ │ ├── Set-OctopusStepTemplateProperty.ps1
│ │ └── Set-OctopusTextFile.ps1
│ └── tests
│ │ ├── ConvertTo-OctopusJson.Tests.ps1
│ │ ├── Get-OctopusStepTemplateProperty.Tests.ps1
│ │ ├── Invoke-PesterTests.ps1
│ │ └── Set-OctopusStepTemplateProperty.Tests.ps1
├── _pack.ps1
└── _unpack.ps1
└── web.config
/.deployment:
--------------------------------------------------------------------------------
1 | [config]
2 | command = bash deploy.sh
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig helps developers define and maintain consistent
2 | # coding styles between different editors and IDEs
3 | # editorconfig.org
4 |
5 | root = true
6 |
7 |
8 | [*]
9 |
10 | # change these settings to your own preference
11 | indent_style = space
12 | indent_size = 2
13 |
14 | # we recommend you to keep these unchanged
15 | end_of_line = lf
16 | charset = utf-8
17 | trim_trailing_whitespace = true
18 | insert_final_newline = true
19 |
20 | [*.md]
21 | trim_trailing_whitespace = false
22 |
23 | [{package,bower}.json]
24 | indent_style = space
25 | indent_size = 2
26 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | build/
3 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Set the default behavior, in case people don't have core.autocrlf set.
2 | * text=auto
3 |
4 | # Denote all files that are truly binary and should not be modified.
5 | *.png binary
6 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # Lines starting with '#' are comments.
2 | # Each line is a file pattern followed by one or more owners.
3 |
4 | # These owners will be the default owners for everything in the repo.
5 | #
6 |
7 | # Order is important. The last matching pattern has the most precedence.
8 | # So if a pull request only touches javascript files, only these owners
9 | # will be requested to review.
10 | # *.js @octocat @github/js
11 |
12 | # You can also use email addresses if you prefer.
13 | # docs/* docs@example.com
14 |
--------------------------------------------------------------------------------
/.github/workflows/Hyponome.yml:
--------------------------------------------------------------------------------
1 | name: Link to hyponome
2 | on:
3 | pull_request_target:
4 | types: [opened]
5 | paths:
6 | - 'step-templates/**'
7 | jobs:
8 | comment:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/github-script@v6
12 | with:
13 | script: |
14 | github.rest.issues.createComment({
15 | issue_number: context.issue.number,
16 | owner: context.repo.owner,
17 | repo: context.repo.repo,
18 | body: `Start Hyponome locally
19 |
20 | docker pull ghcr.io/hnrkndrssn/hyponome:main
21 | docker run --rm -p 8000:8080 -it ghcr.io/hnrkndrssn/hyponome:main
22 |
23 | [Review in Hyponome](http://localhost:8000/pulls/${context.issue.number})`
24 | })
25 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | build/
4 | app/services/*.json
5 | integrations/
6 | .idea/
7 |
8 | junitresults.xml
9 | scriptcs_packages/
10 | scriptcs_packages.config
11 |
12 | step-templates/*.ps1
13 | step-templates/*.sh
14 | step-templates/*.py
15 | /.vs
16 | !.vscode
17 |
--------------------------------------------------------------------------------
/.octopus/channels.ocl:
--------------------------------------------------------------------------------
1 | channel "2.x" {
2 | description = "The new Octopus Deploy Library site, written in ReactJS"
3 | }
4 |
5 | channel "3.x" {
6 | is_default = true
7 | }
--------------------------------------------------------------------------------
/.octopus/deployment_settings.ocl:
--------------------------------------------------------------------------------
1 | connectivity_policy {}
2 |
3 | versioning_strategy {
4 | template = ""
5 | }
--------------------------------------------------------------------------------
/.octopus/schema_version.ocl:
--------------------------------------------------------------------------------
1 | version = 7
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": false,
3 | "printWidth": 250,
4 | "tabWidth": 2,
5 | "trailingComma": "es5",
6 | "endOfLine": "auto"
7 | }
8 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.codeActionsOnSave": {
3 | "source.fixAll.eslint": "explicit"
4 | },
5 | "files.insertFinalNewline": true,
6 | }
7 |
--------------------------------------------------------------------------------
/GitVersion.yml:
--------------------------------------------------------------------------------
1 | mode: Mainline
2 |
--------------------------------------------------------------------------------
/IISNode.yml:
--------------------------------------------------------------------------------
1 | loggingEnabled: true
2 | devErrorsEnabled: true
3 |
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) Octopus Deploy and contributors. All rights reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 | these files except in compliance with the License. You may obtain a copy of the
5 | License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software distributed
10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the
12 | specific language governing permissions and limitations under the License.
13 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Library
2 | =======
3 |
4 | A repository of step templates and other community-contributed extensions to Octopus Deploy. The website to download step templates from is [https://library.octopus.com](https://library.octopus.com).
5 |
6 | Organization
7 | ------------
8 |
9 | * *Step templates* are checked into `/step-templates` as raw JSON exports direct from Octopus Deploy
10 | * The *library website* is largely under `/app`, with build artifacts at the root of the repository
11 | * The `/tools` folder contains utilities to help with editing step templates
12 |
13 | Contributing step templates or to the website
14 | ---------------------------------------------
15 |
16 | Read our [contributing guidelines](https://github.com/OctopusDeploy/Library/blob/master/.github/CONTRIBUTING.md) for information about contributing step templates and to the website.
17 |
18 | Reviewing PRs
19 | -------------
20 |
21 | When reviewing a PR, keep the following things in mind:
22 | * `Id` should be a **GUID** that is not `00000000-0000-0000-0000-000000000000`
23 | * `Version` should be incremented, otherwise the integration with Octopus won't update the step template correctly
24 | * Parameter names should not start with `$`
25 | * The `DefaultValue`s of `Parameter`s should be either a string or null.
26 | * `LastModifiedBy` field must be present, and (_optionally_) updated with the correct author
27 | * If a new `Category` has been created:
28 | * An image with the name `{categoryname}.png` must be present under the `step-templates/logos` folder
29 | * The `switch` in the `humanize` function in [`gulpfile.babel.js`](https://github.com/OctopusDeploy/Library/blob/master/gulpfile.babel.js#L92) must have a `case` statement corresponding to it
30 |
--------------------------------------------------------------------------------
/app/Browser.jsx:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | import React from "react";
4 | import ReactDOM from "react-dom";
5 | import { match, Router, browserHistory } from "react-router";
6 |
7 | import Analytics from "./services/Analytics.js";
8 |
9 | import LibraryActions from "./actions/LibraryActions";
10 | import routes from "./Routes";
11 |
12 | function onRouteChange() {
13 | Analytics.sendPageView();
14 | }
15 |
16 | LibraryActions.sendTemplates(window.stepTemplates, () => {
17 | ReactDOM.render(
18 |
37 | Be part of it!
38 |
Submit templates, report issues and send patches at the GitHub project site.
39 |
When steps based on the template are included in a project's deployment process, the parameters below can be set.
59 | {parameterList} 60 |Note This template is designed to run against an azure web app octopus target
*\n*Depends on Azure CLI and powershell to be installed on the running machine
*", 5 | "ActionType": "Octopus.AzurePowerShell", 6 | "Version": 1, 7 | "CommunityActionTemplateId": null, 8 | "Packages": [], 9 | "Properties": { 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.Script.Syntax": "PowerShell", 12 | "OctopusUseBundledTooling": "False", 13 | "Octopus.Action.Azure.AccountId": "#{azWebApp.AzureAcct}", 14 | "Octopus.Action.Script.ScriptBody": "try\n{\n\taz --version\n}\n\ncatch\n{\n\tthrow \"az cli not installed\"\n}\n\n$webApp = $OctopusParameters[\"Octopus.Action.Azure.WebAppName\"]\n$resourceGroup = $OctopusParameters[\"Octopus.Action.Azure.ResourceGroupName\"]\n\n$appState = az webapp list --resource-group $resourceGroup --query \"[?name=='$webApp'].{state: state, hostName: defaultHostName}\" | ConvertFrom-Json\n\nif($appState.state -eq 'running')\n{\n\tWrite-Host \"Web App $webApp already running\"\n return \n}\n\nWrite-Host \"Starting web app $webApp in resource group $resourceGroup\"\naz webapp start --name $webApp --resource-group $resourceGroup\n\nStart-Sleep -s 5\n\n$appState = az webapp list --resource-group $resourceGroup --query \"[?name=='$webApp'].{state: state, hostName: defaultHostName}\" | ConvertFrom-Json\n\nif($appState.state -ne \"running\")\n{\n\tThrow \"Webapp failed to start. Check the app's activity/error log\"\n}\n" 15 | }, 16 | "Parameters": [ 17 | { 18 | "Id": "bcb5fe61-4f02-44af-85b9-8c9197567d50", 19 | "Name": "azWebApp.AzureAcct", 20 | "Label": "Azure Account", 21 | "HelpText": "The azure account that has access to the web app", 22 | "DefaultValue": "", 23 | "DisplaySettings": { 24 | "Octopus.ControlType": "AzureAccount" 25 | } 26 | } 27 | ], 28 | "$Meta": { 29 | "ExportedAt": "2020-06-08T18:36:48.569Z", 30 | "OctopusVersion": "2020.2.10", 31 | "Type": "ActionTemplate" 32 | }, 33 | "LastModifiedBy": "xtreampb", 34 | "Category": "azure" 35 | } -------------------------------------------------------------------------------- /step-templates/azure-web-app-stop.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "5178ba6d-e0b9-4176-8487-148060ed3a70", 3 | "Name": "Azure Web App - Stop", 4 | "Description": "Stops an azure web app.\nNote This template is designed to run against an azure web app octopus target
*\n*Depends on Azure CLI and powershell to be installed on the running machine
*", 5 | "ActionType": "Octopus.AzurePowerShell", 6 | "Version": 1, 7 | "CommunityActionTemplateId": null, 8 | "Packages": [], 9 | "Properties": { 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.Script.Syntax": "PowerShell", 12 | "OctopusUseBundledTooling": "False", 13 | "Octopus.Action.Azure.AccountId": "#{azWebApp.AzureAcct}", 14 | "Octopus.Action.Script.ScriptBody": "try\n{\n\taz --version\n}\n\ncatch\n{\n\tthrow \"az cli not installed\"\n}\n\n$webApp = $OctopusParameters[\"Octopus.Action.Azure.WebAppName\"]\n$resourceGroup = $OctopusParameters[\"Octopus.Action.Azure.ResourceGroupName\"]\n\n$appState = az webapp list --resource-group $resourceGroup --query \"[?name=='$webApp'].{state: state, hostName: defaultHostName}\" | ConvertFrom-Json\n\nif($appState.state -eq 'stopped')\n{\n\tWrite-Host \"Web App $webApp already stopped\"\n return\n}\n\nWrite-Host \"Stopping webapp $webApp in group $resourceGroup\"\naz webapp stop --name $webApp --resource-group $resourceGroup\n" 15 | }, 16 | "Parameters": [ 17 | { 18 | "Id": "bcb5fe61-4f02-44af-85b9-8c9197567d50", 19 | "Name": "azWebApp.AzureAcct", 20 | "Label": "Azure Account", 21 | "HelpText": "The azure account that has access to the web app", 22 | "DefaultValue": "", 23 | "DisplaySettings": { 24 | "Octopus.ControlType": "AzureAccount" 25 | } 26 | } 27 | ], 28 | "$Meta": { 29 | "ExportedAt": "2020-06-08T18:36:07.610Z", 30 | "OctopusVersion": "2020.2.10", 31 | "Type": "ActionTemplate" 32 | }, 33 | "LastModifiedBy": "xtreampb", 34 | "Category": "azure" 35 | } -------------------------------------------------------------------------------- /step-templates/bash-service-check-running.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "2617b82a-c5f8-4a66-a9eb-e99b37e127d8", 3 | "Name": "Service - Check Running (Bash)", 4 | "Description": "Check if any given service or list of services is/are running (uses `ps` command)", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "CommunityActionTemplateId": null, 8 | "Properties": { 9 | "Octopus.Action.Script.Syntax": "Bash", 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.RunOnServer": "false", 12 | "Octopus.Action.Script.ScriptBody": "services=$(get_octopusvariable \"services\")\r\nfailed=false\r\n\r\n# required arguments checking\r\nif [[ $services == \"Unrecognized variable\"* ]]\r\nthen\r\n echo \"[ERROR]: Missing required argument. Exit!\"\r\n exit 1;\r\nfi\r\n\r\nfor service in ${services//,/ }\r\ndo\r\n if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))\r\n then\r\n echo \"$service is running!!!\"\r\n else\r\n echo \"$service is not running!!!\"\r\n failed=true\r\n fi\r\ndone\r\n\r\nif $failed; then\r\n echo \"At least one service is not running!!!\"\r\n exit 1\r\nfi\r\n", 13 | "Octopus.Action.Script.ScriptFileName": null, 14 | "Octopus.Action.Package.FeedId": null, 15 | "Octopus.Action.Package.PackageId": null 16 | }, 17 | "Parameters": [ 18 | { 19 | "Id": "3e260398-4df1-4a59-a325-752029c52b46", 20 | "Name": "services", 21 | "Label": "Service names", 22 | "HelpText": "The set of service names as should be listed by `ps` command. This can be either a single service or a comma separated list of services to check.\n- Example 1: httpd\n- Example 2: httpd, sshd, memcached", 23 | "DefaultValue": null, 24 | "DisplaySettings": { 25 | "Octopus.ControlType": "MultiLineText" 26 | }, 27 | "Links": {} 28 | } 29 | ], 30 | "LastModifiedBy": "cjuroz", 31 | "$Meta": { 32 | "ExportedAt": "2017-02-17T05:50:08.653Z", 33 | "OctopusVersion": "3.8.4", 34 | "Type": "ActionTemplate" 35 | }, 36 | "Category": "bash" 37 | } -------------------------------------------------------------------------------- /step-templates/chocolatey-ensure-installed.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "c364b0a5-a0b7-48f8-a1a4-35e9f54a82d3", 3 | "Name": "Chocolatey - Ensure Installed", 4 | "Description": "Ensures that the Chocolatey package manager is installed on the system. The installer is downloaded from https://chocolatey.org if required.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 7, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12\nWrite-Output \"Ensuring the Chocolatey package manager is installed...\"\n\n$chocolateyBin = [Environment]::GetEnvironmentVariable(\"ChocolateyInstall\", \"Machine\") + \"\\bin\"\n$chocInstalled = Test-Path \"$chocolateyBin\\choco.exe\"\n\nif (-not $chocInstalled) {\n Write-Output \"Chocolatey not found, installing...\"\n \n $installPs1 = ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))\n Invoke-Expression $installPs1\n \n Write-Output \"Chocolatey installation complete.\"\n} else {\n Write-Output \"Chocolatey was found at $chocolateyBin and won't be reinstalled.\"\n}\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [], 13 | "LastModifiedOn": "2020-07-28T13:42:22.284+00:00", 14 | "LastModifiedBy": "pauby", 15 | "$Meta": { 16 | "ExportedAt": "2020-07-28T13:42:22.284+00:00", 17 | "OctopusVersion": "2.4.7.85", 18 | "Type": "ActionTemplate" 19 | }, 20 | "Category": "chocolatey" 21 | } 22 | -------------------------------------------------------------------------------- /step-templates/clickonce-update-application-file.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "0185c15c-3bde-446b-a5cf-10f475dc0008", 3 | "Name": "ClickOnce - Update .application file", 4 | "Description": "Update .application file after updating the manifest file.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 3, 7 | "Properties": { 8 | "Octopus.Action.Script.Syntax": "PowerShell", 9 | "Octopus.Action.Script.ScriptSource": "Inline", 10 | "Octopus.Action.Script.ScriptBody": "$xml = [xml](Get-Content \"$PackagePath\\$AppName.application\")\n$manifestpath = $xml.assembly.dependency.dependentAssembly.codebase\n\n$splittedParams = $AdvencedMageParameters.Split(\" \")\ncd \"$PackagePath\"\n& \"$MagePath\\mage.exe\" -Update \".\\$AppName.application\" -AppManifest \".\\$manifestpath\" $splittedParams\n\n" 11 | }, 12 | "SensitiveProperties": {}, 13 | "Parameters": [ 14 | { 15 | "Name": "PackagePath", 16 | "Label": "Path to the root directory of ClickOnce package", 17 | "HelpText": "Path to the root drectory of ClickOnce package. This is where you can find the setup.exe, and *.application files and the \"Application Files\" folder", 18 | "DefaultValue": null, 19 | "DisplaySettings": { 20 | "Octopus.ControlType": "SingleLineText" 21 | } 22 | }, 23 | { 24 | "Name": "AppName", 25 | "Label": "Name of the ClickOnce application", 26 | "HelpText": null, 27 | "DefaultValue": null, 28 | "DisplaySettings": { 29 | "Octopus.ControlType": "SingleLineText" 30 | } 31 | }, 32 | { 33 | "Name": "AdvencedMageParameters", 34 | "Label": "Addition parameters for mage.exe", 35 | "HelpText": null, 36 | "DefaultValue": null, 37 | "DisplaySettings": { 38 | "Octopus.ControlType": "SingleLineText" 39 | } 40 | }, 41 | { 42 | "Name": "MagePath", 43 | "Label": "Path to mage.exe", 44 | "HelpText": "Path to mage.exe which is used to update manifest and .application files and sign them.", 45 | "DefaultValue": "c:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.1 Tools\\", 46 | "DisplaySettings": { 47 | "Octopus.ControlType": "SingleLineText" 48 | } 49 | } 50 | ], 51 | "LastModifiedBy": "Kemyke", 52 | "$Meta": { 53 | "ExportedAt": "2016-04-05T14:43:35.076+00:00", 54 | "OctopusVersion": "3.3.0-beta0001", 55 | "Type": "ActionTemplate" 56 | }, 57 | "Category": "clickOnce" 58 | } -------------------------------------------------------------------------------- /step-templates/clickonce-update-manifest-file.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "f52ace18-b8ee-4235-9c6f-231f2ec477a6", 3 | "Name": "ClickOnce - Update manifest file", 4 | "Description": "Update manifest file after changing the configuration files of the ClickOnce application.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 3, 7 | "Properties": { 8 | "Octopus.Action.Script.Syntax": "PowerShell", 9 | "Octopus.Action.Script.ScriptSource": "Inline", 10 | "Octopus.Action.Script.ScriptBody": "$xml = [xml](Get-Content \"$PackagePath\\$AppName.application\")\n$manifestpath = $xml.assembly.dependency.dependentAssembly.codebase\n$ApplicationWithVersion = $manifestpath.Split('\\\\')[1]\n\n$splittedParams = $AdvencedMageParameters.Split(\" \")\n& \"$MagePath\\mage.exe\" -Update \"$PackagePath\\$manifestpath\" -FromDirectory \"$PackagePath\\Application Files\\$ApplicationWithVersion\" $splittedParams" 11 | }, 12 | "SensitiveProperties": {}, 13 | "Parameters": [ 14 | { 15 | "Name": "PackagePath", 16 | "Label": "Path to the root directory of ClickOnce package", 17 | "HelpText": "Path to the root drectory of ClickOnce package. This is where you can find the setup.exe, and *.application files and the \"Application Files\" folder", 18 | "DefaultValue": null, 19 | "DisplaySettings": { 20 | "Octopus.ControlType": "SingleLineText" 21 | } 22 | }, 23 | { 24 | "Name": "AppName", 25 | "Label": "Name of the ClickOnce application", 26 | "HelpText": null, 27 | "DefaultValue": null, 28 | "DisplaySettings": { 29 | "Octopus.ControlType": "SingleLineText" 30 | } 31 | }, 32 | { 33 | "Name": "AdvencedMageParameters", 34 | "Label": "Addition parameters for mage.exe", 35 | "HelpText": null, 36 | "DefaultValue": null, 37 | "DisplaySettings": { 38 | "Octopus.ControlType": "SingleLineText" 39 | } 40 | }, 41 | { 42 | "Name": "MagePath", 43 | "Label": "Path to mage.exe", 44 | "HelpText": "Path to mage.exe which is used to update manifest and .application files and sign them.", 45 | "DefaultValue": "c:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.1 Tools\\", 46 | "DisplaySettings": { 47 | "Octopus.ControlType": "SingleLineText" 48 | } 49 | } 50 | ], 51 | "LastModifiedBy": "Kemyke", 52 | "$Meta": { 53 | "ExportedAt": "2016-04-05T14:46:10.321+00:00", 54 | "OctopusVersion": "3.3.0-beta0001", 55 | "Type": "ActionTemplate" 56 | }, 57 | "Category": "clickOnce" 58 | } -------------------------------------------------------------------------------- /step-templates/create-azure-website-staging-slot.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "2f763d9e-81e1-4ce2-a897-3fe2c72ab9f0", 3 | "Name": "Create Azure Website Staging Slot. Requires Azure PowerShell to be installed on Tentacle machine", 4 | "Description": "Creates a staging slot for Azure Website. \n\nProvides Azure publish url as variable:\n\n #{Octopus.Action[Create Staging Slot Step Name].Output.AzurePublishUrl}\n\nAnd Username/Password for publishing:\n\n #{Octopus.Action[Create Staging Slot Step Name].Output.AzureUsername}\n #{Octopus.Action[Create Staging Slot Step Name].Output.AzurePassword}", 5 | "ActionType": "Octopus.Script", 6 | "Version": 5, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "# Check if Windows Azure Powershell is avaiable \r\ntry{ \r\n Import-Module Azure -ErrorAction Stop\r\n}catch{\r\n throw \"Windows Azure Powershell not found! Please make sure to install them from http://www.windowsazure.com/en-us/downloads/#cmd-line-tools\" \r\n}\r\n\r\n\r\n$stagingWebsite = Get-AzureWebsite -Name $AzureWebSite -Slot staging -ErrorAction SilentlyContinue\r\n\r\n\r\nif($stagingWebsite -eq $null)\r\n{\r\n Write-Host \"Creating staging slot\"\r\n $stagingWebsite = New-AzureWebsite -Name $AzureWebSite -Slot staging -Location $Location\r\n}\r\n\r\n\r\nSet-OctopusVariable -name \"AzurePassword\" -value $stagingWebsite.PublishingPassword\r\nSet-OctopusVariable -name \"AzureUsername\" -value $stagingWebsite.PublishingUsername\r\n\r\n$urlString = ($stagingWebsite.SiteProperties.Properties | ?{ $_.Name -eq \"RepositoryURI\" }).Value.ToString()\r\n$url = [System.Uri]$urlString\r\n\r\n\r\nSet-OctopusVariable -Name \"AzurePublishUrl\" -value $url.Host", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "AzureWebSite", 15 | "Label": "Azure Web Site Name", 16 | "HelpText": "Name of the web-site in Azure", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedOn": "2015-03-25T08:42:32.838+00:00", 24 | "LastModifiedBy": "trailmax", 25 | "$Meta": { 26 | "ExportedAt": "2015-03-25T08:51:15.660+00:00", 27 | "OctopusVersion": "2.6.3.886", 28 | "Type": "ActionTemplate" 29 | }, 30 | "Category": "azure" 31 | } -------------------------------------------------------------------------------- /step-templates/docker-install-linux.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "79496e52-6170-43e7-94bb-9e1dde6790fb", 3 | "Name": "Install Docker on Linux", 4 | "Description": "Installs the latest Docker Engine - Community from the stable channel, as per https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script\n\nNote: Docker will start automatically on `DEB`-based distributions. On `RPM`-based distributions, you need to start it manually using the appropriate `systemctl` or `service` command. Non-root users can’t run Docker commands by default.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "CommunityActionTemplateId": null, 8 | "Packages": [], 9 | "Properties": { 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.Script.Syntax": "Bash", 12 | "Octopus.Action.Script.ScriptBody": "echo 'Downloading install script from https://get.docker.com'\ncurl -fsSL https://get.docker.com -o get-docker.sh\n\necho 'Running get-docker.sh'\nsudo sh get-docker.sh" 13 | }, 14 | "Parameters": [], 15 | "$Meta": { 16 | "ExportedAt": "2020-05-19T07:17:52.446Z", 17 | "OctopusVersion": "2020.2.4", 18 | "Type": "ActionTemplate" 19 | }, 20 | "LastModifiedBy": "MJRichardson", 21 | "Category": "docker" 22 | } -------------------------------------------------------------------------------- /step-templates/docker-install-windows.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "3f78a32f-d074-43cc-a009-793f72b204f3", 3 | "Name": "Install Docker on Windows Server", 4 | "Description": "Automates the steps from [here](https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server#install-docker).\n\nThis step reboots the machine.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "CommunityActionTemplateId": null, 8 | "Packages": [], 9 | "Properties": { 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.Script.Syntax": "PowerShell", 12 | "Octopus.Action.Script.ScriptBody": "Find-PackageProvider -Name 'Nuget' -ForceBootstrap -IncludeDependencies\n\n$DockerModule = Get-Module -ListAvailable -Name DockerMsftProvider \nif (-Not $DockerModule) {\n Write-Host \"Installing DockerMsftProvider module\"\n Install-Module -Name DockerMsftProvider -Repository PSGallery -Force\n} else {\n Write-Host \"DockerMsftProvider module already installed\"\n}\n\ntry {\n\t$DockerPackage = Get-Package -Name docker\n} catch [Exception] {}\n\nif (-Not $DockerPackage) {\n Write-Host \"Installing docker package\"\n Install-Package -Name docker -ProviderName DockerMsftProvider -Force\n\n Write-Host \"Restarting machine...\"\n Restart-Computer -Force\n} else {\n Write-Host \"docker package already installed\"\n}" 13 | }, 14 | "Parameters": [], 15 | "$Meta": { 16 | "ExportedAt": "2020-05-19T03:10:21.233Z", 17 | "OctopusVersion": "2020.2.4", 18 | "Type": "ActionTemplate" 19 | }, 20 | "LastModifiedBy": "MJRichardson", 21 | "Category": "docker" 22 | } -------------------------------------------------------------------------------- /step-templates/event-tracing-register-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "2b7e3987-0da0-4a5d-bb60-c190b433d888", 3 | "Name": "Event Tracing - Register an ETW manifest", 4 | "Description": "Registers an ETW manifest", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "Properties": { 8 | "Octopus.Action.Script.Syntax": "PowerShell", 9 | "Octopus.Action.Script.ScriptBody": "if(-not (Test-Path $env:SystemRoot\\System32\\wevtutil.exe))\n{\n throw \"wevtutil.exe could not be found\"\n}\n\nif(-not (Test-Path $ManifestFile))\n{\n throw \"Manifest $manifest could not be found\"\n}\n\nif(-not (Test-Path $ResourceFile))\n{\n throw \"Resource file $ResourceFile could not be found\"\n}\n\nif(-not (Test-Path $MessageFile))\n{\n throw \"Message file $MessageFile could not be found\"\n}\n\n& \"$env:SystemRoot\\System32\\wevtutil.exe\" im $ManifestFile /rf:$ResourceFile /mf:$MessageFile" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "ManifestFile", 15 | "Label": "Manifest file", 16 | "HelpText": "Full path to the manifest file that must be registered.", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "ResourceFile", 24 | "Label": "Resource file", 25 | "HelpText": "The full path to the assembly that must be used as resource file.", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | }, 31 | { 32 | "Name": "MessageFile", 33 | "Label": "Message file", 34 | "HelpText": "The full path to the assembly that must be used as message file.", 35 | "DefaultValue": null, 36 | "DisplaySettings": { 37 | "Octopus.ControlType": "SingleLineText" 38 | } 39 | } 40 | ], 41 | "LastModifiedBy": "HumanPrinter", 42 | "$Meta": { 43 | "ExportedAt": "2017-03-16T13:02:50.0927973Z", 44 | "OctopusVersion": "3.11.6", 45 | "Type": "ActionTemplate" 46 | }, 47 | "Category": "event-tracing" 48 | } -------------------------------------------------------------------------------- /step-templates/event-tracing-unregister-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "59be43c9-e5eb-499f-9237-f388bcd7940d", 3 | "Name": "Event Tracing - Unregister an ETW manifest", 4 | "Description": "Unregisters an ETW manifest", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "Properties": { 8 | "Octopus.Action.Script.Syntax": "PowerShell", 9 | "Octopus.Action.Script.ScriptBody": "if(-not (Test-Path $env:SystemRoot\\System32\\wevtutil.exe))\n{\n throw \"wevtutil.exe could not be found\"\n}\n\nif(-not (Test-Path $ManifestFile))\n{\n Write-Host \"Skipping manifest $ManifestFile because it does not exist\" \n Exit 0\n}\n\n& \"$env:SystemRoot\\System32\\wevtutil.exe\" um $ManifestFile" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "ManifestFile", 15 | "Label": "Manifest file", 16 | "HelpText": "Full path to the manifest file that must be unregistered.", 17 | "DefaultValue": "", 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedBy": "HumanPrinter", 24 | "$Meta": { 25 | "ExportedAt": "2017-03-16T11:12:52.2250765Z", 26 | "OctopusVersion": "3.11.6", 27 | "Type": "ActionTemplate" 28 | }, 29 | "Category": "event-tracing" 30 | } -------------------------------------------------------------------------------- /step-templates/file-download.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "f444ca63-a73c-4878-955e-96b508f9e883", 3 | "Name": "Download file", 4 | "Description": "Downloads a file from the internet to the local machine.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 3, 7 | "CommunityActionTemplateId": null, 8 | "Properties": { 9 | "Octopus.Action.Script.Syntax": "PowerShell", 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.RunOnServer": "false", 12 | "Octopus.Action.Script.ScriptBody": "Write-Verbose \"Downloading file $FileUrl, to the destination $FilePath\" -Verbose\r\n$client = new-object System.Net.WebClient\r\n$client.DownloadFile($FileUrl, $FilePath)\r\nWrite-Verbose \"File downloadded\" -Verbose\r\n", 13 | "Octopus.Action.Script.ScriptFileName": null, 14 | "Octopus.Action.Package.FeedId": null, 15 | "Octopus.Action.Package.PackageId": null 16 | }, 17 | "Parameters": [ 18 | { 19 | "Id": "3e6a8f44-5791-4571-8e90-025f6776c6d0", 20 | "Name": "FileUrl", 21 | "Type": "String", 22 | "Label": "File Url", 23 | "HelpText": "Url of the file you want to download", 24 | "DefaultValue": "", 25 | "DisplaySettings": { 26 | "Octopus.ControlType": "SingleLineText" 27 | }, 28 | "Links": {} 29 | }, 30 | { 31 | "Id": "1b67fd5f-f626-40f4-80bb-f10fe681abf3", 32 | "Name": "FilePath", 33 | "Type": "String", 34 | "Label": "File Destination Path", 35 | "HelpText": "Destination path of the file on disk", 36 | "DefaultValue": "", 37 | "DisplaySettings": { 38 | "Octopus.ControlType": "SingleLineText" 39 | }, 40 | "Links": {} 41 | } 42 | ], 43 | "LastModifiedBy": "ahmedig", 44 | "$Meta": { 45 | "ExportedAt": "2017-03-07T05:12:43.174Z", 46 | "OctopusVersion": "3.11.2", 47 | "Type": "ActionTemplate" 48 | }, 49 | "Category": "http" 50 | } -------------------------------------------------------------------------------- /step-templates/file-system-create-file.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "175a91a9-562e-49b9-bfa6-609a4e16bc56", 3 | "Name": "File System - Create File", 4 | "Description": "Creates a file, using the full path that is provided.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 2, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "$filePath = $OctopusParameters['FilePath']\n$fileContent = $OctopusParameters['FileContent']\n$encoding = $OctopusParameters['Encoding']\n\nNew-Item -ItemType file -Path $filePath -Value '' -force\n\nif(![string]::IsNullOrEmpty($fileContent))\n{\n Set-Content -path $filePath -value $fileContent -encoding $encoding\n}", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "FilePath", 15 | "Label": "The full path where the file will be created.", 16 | "HelpText": "Provide the entire physical path to which the physical file will be created. For example, 'C:\\Temp\\MyFile.txt' will create am empty text file named 'MyFile.txt' in the 'Temp' folder on the C: drive.", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "FileContent", 24 | "Label": "File Content", 25 | "HelpText": "The text you would like inside the file, if nothing then will create an empty file.", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "MultiLineText" 29 | } 30 | }, 31 | { 32 | "Id": "43aff0e0-e7ad-40cb-ae54-a49ca03adfc5", 33 | "Name": "Encoding", 34 | "Type": "String", 35 | "Label": "", 36 | "HelpText": null, 37 | "DefaultValue": "UTF8", 38 | "DisplaySettings": { 39 | "Octopus.ControlType": "Select", 40 | "Octopus.SelectOptions": "UTF8|UTF-8\nASCII|ASCII (7-bit)\nBigEndianUnicode|UTF-16 (big-endian)\nByte|Encodes as byte sequence\nUnicode|UTF-16 (little-endian)\nUTF7|UTF-7\nUnknown|Binary" 41 | }, 42 | "Links": {} 43 | } 44 | ], 45 | "LastModifiedOn": "2017-04-28T10:48:34.361Z", 46 | "LastModifiedBy": "carlpett", 47 | "$Meta": { 48 | "ExportedAt": "2017-04-28T10:48:34.361Z", 49 | "OctopusVersion": "3.11.15", 50 | "Type": "ActionTemplate" 51 | }, 52 | "Category": "filesystem" 53 | } 54 | -------------------------------------------------------------------------------- /step-templates/file-system-restore-directory.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "04a74a00-967d-496a-a966-1acd17fededf", 3 | "Name": "File System - Restore Directory", 4 | "Description": "Restores a folder and it's contents (files and sub-folders).", 5 | "ActionType": "Octopus.Script", 6 | "Version": 2, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "$source = $OctopusParameters['Source']\r\n$destination = $OctopusParameters['Destination']\r\n\r\nif(Test-Path $destination)\r\n{\r\n ## Clean the destination folder\r\n Write-Host \"Cleaning $destination\"\r\n Remove-Item $destination -Recurse\r\n}\r\n\r\n## Copy recursively\r\nWrite-Host \"Copying from $source to $destination\"\r\nCopy-Item $source $destination -Recurse", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "Source", 15 | "Label": "Source", 16 | "HelpText": "The source directory where files and folders will be copied from", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "Destination", 24 | "Label": "Destination folder", 25 | "HelpText": "The Destination where the files will be copied to.", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | } 31 | ], 32 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 33 | "LastModifiedBy": "bobjwalker", 34 | "$Meta": { 35 | "ExportedAt": "2015-12-06T00:00:00.000+00:00", 36 | "Type": "ActionTemplate" 37 | }, 38 | "Category": "filesystem" 39 | } -------------------------------------------------------------------------------- /step-templates/http-invoke-url.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "bb2a8fef-1407-405b-9251-a259c1868bad", 3 | "Name": "HTTP - Invoke URL", 4 | "Description": "Invoke HTTP Get request using provided url. Doesn't throw exception when request fails.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 2, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "# Running outside octopus\r\nparam(\r\n [string]$url,\r\n [switch]$whatIf\r\n) \r\n\r\n$ErrorActionPreference = \"Stop\" \r\n\r\nfunction Get-Param($Name, [switch]$Required, $Default) {\r\n $result = $null\r\n\r\n if ($OctopusParameters -ne $null) {\r\n $result = $OctopusParameters[$Name]\r\n }\r\n\r\n if ($result -eq $null) {\r\n $variable = Get-Variable $Name -EA SilentlyContinue \r\n if ($variable -ne $null) {\r\n $result = $variable.Value\r\n }\r\n }\r\n\r\n if ($result -eq $null -or $result -eq \"\") {\r\n if ($Required) {\r\n throw \"Missing parameter value $Name\"\r\n } else {\r\n $result = $Default\r\n }\r\n }\r\n\r\n return $result\r\n}\r\n\r\n& {\r\n param(\r\n [string]$url\r\n ) \r\n\r\n Write-Host \"Invoke Url: $url\"\r\n\r\n try {\r\n \r\n Invoke-WebRequest -Uri $url -Method Get -UseBasicParsing\r\n\r\n } catch {\r\n Write-Host \"There was a problem invoking Url\" \r\n }\r\n\r\n } `\r\n (Get-Param 'url' -Required)", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "url", 15 | "Label": "Url", 16 | "HelpText": "Web request Url", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedOn": "2015-08-31T12:06:43.681+00:00", 24 | "LastModifiedBy": "jmalczak", 25 | "$Meta": { 26 | "ExportedAt": "2015-08-31T12:25:19.923+00:00", 27 | "OctopusVersion": "2.6.5.1010", 28 | "Type": "ActionTemplate" 29 | }, 30 | "Category": "http" 31 | } -------------------------------------------------------------------------------- /step-templates/hydra-update-octopus-tentacle.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "d4fb1945-f0a8-4de4-9045-8441e14057fa", 3 | "Name": "Hydra - Update Octopus Tentacle", 4 | "Description": "Performs an automatic update for a 2.6 Tentacle to a 3.0 Tentacle.", 5 | "ActionType": "Octopus.TentaclePackage", 6 | "Version": 8, 7 | "Properties": { 8 | "Octopus.Action.Package.NuGetFeedId": "feeds-builtin", 9 | "Octopus.Action.EnabledFeatures": "Octopus.Features.CustomScripts", 10 | "Octopus.Action.Package.AutomaticallyRunConfigurationTransformationFiles": "False", 11 | "Octopus.Action.Package.AutomaticallyUpdateAppSettingsAndConnectionStrings": "False", 12 | "Octopus.Action.Package.DownloadOnTentacle": "False", 13 | "Octopus.Action.Package.NuGetPackageId": "OctopusDeploy.Hydra", 14 | "Octopus.Action.CustomScripts.PostDeploy.ps1": "if ([System.String]::IsNullOrEmpty($ServerMapping)) {\n & .\\Hydra.exe --defer\n} else {\n $cleanServerMapping = $ServerMapping.Replace(\" \",\"\")\n & .\\Hydra.exe --defer --servers=$cleanServerMapping\n}\n" 15 | }, 16 | "SensitiveProperties": {}, 17 | "Parameters": [ 18 | { 19 | "Name": "ServerMapping", 20 | "Label": "Server Mapping", 21 | "HelpText": "Optional mapping to new Octopus server location required for polling Tentacles.\nEither a single IP address or DNS name with a port (e.g. `http://new.server:10943`)\nOr a mapping in the form `https://old.server:10943/=>https://new.server:10943/`, with multiple mappings separated by a comma (`,`) or semicolon (`;`)\n\n_Note: If using the mapping format, the final `/` is required._", 22 | "DefaultValue": null, 23 | "DisplaySettings": { 24 | "Octopus.ControlType": "SingleLineText" 25 | } 26 | } 27 | ], 28 | "LastModifiedOn": "2015-07-01T05:56:48.370+00:00", 29 | "LastModifiedBy": "Damovisa", 30 | "$Meta": { 31 | "ExportedAt": "2015-07-01T05:57:02.674+00:00", 32 | "OctopusVersion": "2.6.5.1581", 33 | "Type": "ActionTemplate" 34 | }, 35 | "Category": "octopus", 36 | "MaximumServerVersion": "3.0.0" 37 | } 38 | -------------------------------------------------------------------------------- /step-templates/iis-apppool-restart.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "de4a85ca-38cc-4a30-8244-64612e3a7921", 3 | "Name": "IIS AppPool - Restart", 4 | "Description": "Starts or Restarts an IIS Application Pool", 5 | "ActionType": "Octopus.Script", 6 | "Version": 9, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "# Load IIS module:\nImport-Module WebAdministration\n\n# Get AppPool Name\n$appPoolName = $OctopusParameters['appPoolName']\n\n# Check if exists\nif (Test-Path IIS:\\AppPools\\$appPoolName){\n # Start App Pool if stopped else restart\nif ((Get-WebAppPoolState($appPoolName)).Value -eq \"Stopped\"){\n Write-Output \"Starting IIS app pool $appPoolName\"\n Start-WebAppPool $appPoolName\n}\nelse {\n Write-Output \"Restarting IIS app pool $appPoolName\"\n Restart-WebAppPool $appPoolName\n}\n}\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "AppPoolName", 15 | "Label": "Application pool name", 16 | "HelpText": "The name of the application pool in IIS.", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 24 | "LastModifiedBy": "bobjwalker", 25 | "$Meta": { 26 | "ExportedAt": "2014-05-16T06:09:22.242+00:00", 27 | "OctopusVersion": "2.4.5.46", 28 | "Type": "ActionTemplate" 29 | }, 30 | "Category": "iis" 31 | } -------------------------------------------------------------------------------- /step-templates/iis-apppool-set-managed-pipeline-mode.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "e87b057b-bbe0-49a4-bbed-5cfe0413667a", 3 | "Name": "IIS AppPool - Set Managed Pipeline Mode", 4 | "Description": "Sets an IIS Application Pool's Managed Pipeline Mode.\nI.E. Classic or Integrated", 5 | "ActionType": "Octopus.Script", 6 | "Version": 4, 7 | "Properties": { 8 | "Octopus.Action.Script.Syntax": "PowerShell", 9 | "Octopus.Action.Script.ScriptSource": "Inline", 10 | "Octopus.Action.RunOnServer": "false", 11 | "Octopus.Action.Script.ScriptBody": "$AppPoolName = $OctopusParameters[\"AppPoolName\"]\r\n$Mode = $OctopusParameters[\"PiplelineMode\"]\r\n\r\nImport-Module WebAdministration\r\n\r\nGet-ChildItem IIS:\\AppPools | ?{$_.Name -eq $AppPoolName} | Select-Object -ExpandProperty PSPath | %{ Set-ItemProperty $_ managedPipelineMode $Mode -Verbose}", 12 | "Octopus.Action.Script.ScriptFileName": null, 13 | "Octopus.Action.Package.FeedId": null, 14 | "Octopus.Action.Package.PackageId": null 15 | }, 16 | "Parameters": [ 17 | { 18 | "Id": "b850425c-dba9-45f9-9c00-78298cbd8e82", 19 | "Name": "AppPoolName", 20 | "Label": "Application Pool Name", 21 | "HelpText": "The Application Pool Name to update.", 22 | "DefaultValue": null, 23 | "DisplaySettings": { 24 | "Octopus.ControlType": "SingleLineText" 25 | }, 26 | "Links": {} 27 | }, 28 | { 29 | "Id": "f6ad588b-a41c-4e14-bd15-bb4d8830acc2", 30 | "Name": "PiplelineMode", 31 | "Label": "Managed Pipeline Mode", 32 | "HelpText": "The Managed Pipleline mode to be set to", 33 | "DefaultValue": "Classic", 34 | "DisplaySettings": { 35 | "Octopus.ControlType": "Select", 36 | "Octopus.SelectOptions": "Classic|Classic\nIntegrated|Integrated" 37 | }, 38 | "Links": {} 39 | } 40 | ], 41 | "LastModifiedOn": "2017-02-14T00:00:00.386+00:00", 42 | "LastModifiedBy": "drobison", 43 | "$Meta": { 44 | "ExportedAt": "2017-02-14T21:55:44.314Z", 45 | "OctopusVersion": "3.5.1", 46 | "Type": "ActionTemplate" 47 | }, 48 | "Category": "iis" 49 | } 50 | -------------------------------------------------------------------------------- /step-templates/iis-apppool-start.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "9db77671-0fe3-4aef-a014-551bf1e5e7ab", 3 | "Name": "IIS AppPool - Start", 4 | "Description": "Starts an IIS Application Pool", 5 | "ActionType": "Octopus.Script", 6 | "Version": 4, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "# Load IIS module:\nImport-Module WebAdministration\n\n# Get AppPool Name\n$appPoolName = $OctopusParameters['appPoolName']\n\nWrite-Output \"Starting IIS app pool $appPoolName\"\nStart-WebAppPool $appPoolName\n\n\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "AppPoolName", 15 | "Label": "Application pool name", 16 | "HelpText": "The name of the application pool in IIS.", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 24 | "LastModifiedBy": "bobjwalker", 25 | "$Meta": { 26 | "ExportedAt": "2014-05-16T06:09:53.938+00:00", 27 | "OctopusVersion": "2.4.5.46", 28 | "Type": "ActionTemplate" 29 | }, 30 | "Category": "iis" 31 | } -------------------------------------------------------------------------------- /step-templates/iis-backup-iis-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "e1006e45-bbde-42e3-b6b9-16d804772684", 3 | "Name": "IIS - Backup IIS Configuration", 4 | "Description": "This backs up the entire IIS configuration for the server (does not include website files). Note that all prior configurations on that IIS server will be cleared out.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "Properties": { 8 | "Octopus.Action.Script.Syntax": "PowerShell", 9 | "Octopus.Action.Script.ScriptSource": "Inline", 10 | "Octopus.Action.RunOnServer": "false", 11 | "Octopus.Action.Script.ScriptBody": "<#\r\nThis script will take the existing configuration (does not include website files) and back it up on the IIS Server, which can then be later restored if needed.\r\n\r\nTo view existing backups for restore operation, find the latest backup here:\r\n $env:Windir\\System32\\inetsrv\\backup\r\n\r\nTo restore, use the following commands:\r\n Restore-WebConfiguration -Name \"IISConfigBackup\"\r\n iisreset\r\n\r\nReference Articles:\r\nhttps://technet.microsoft.com/en-us/library/hh867851(v=wps.630).aspx\r\nhttps://technet.microsoft.com/en-us/library/hh867862(v=wps.630).aspx\r\n#>\r\n\r\n# clear all backed up configurations first\r\nRemove-WebConfigurationBackup\r\n\r\n# perform backup\r\nBackup-WebConfiguration -Name \"IISConfigBackup\"\r\n", 12 | "Octopus.Action.Script.ScriptFileName": null, 13 | "Octopus.Action.Package.FeedId": null, 14 | "Octopus.Action.Package.PackageId": null 15 | }, 16 | "Parameters": [], 17 | "LastModifiedBy": "jjaffery", 18 | "$Meta": { 19 | "ExportedAt": "2016-11-23T21:07:51.416Z", 20 | "OctopusVersion": "3.4.15", 21 | "Type": "ActionTemplate" 22 | }, 23 | "Category": "iis" 24 | } 25 | -------------------------------------------------------------------------------- /step-templates/iis-bind-ssl-certificate-with-sni-enabled.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "4827a205-ff46-4109-a0aa-7c59a8688f7e", 3 | "Name": "IIS - Bind SSL Certificate with SNI Enabled", 4 | "Description": "Applies a https binding, with SNI enabled.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 10, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "$WebsiteName = $OctopusParameters['WebsiteName']\r\n$SSLBindingHost = $OctopusParameters['SSLBindingHost']\r\n$CertificateThumbPrint = $OctopusParameters['CertificateThumbPrint']\r\n\r\nnew-webbinding -Name $WebsiteName -Protocol \"https\" -Port 443 -HostHeader $SSLBindingHost -SslFlags 1\r\nnetsh http add sslcert hostnameport=$($SSLBindingHost):443 certhash=$CertificateThumbPrint appid='{58ee6009-4e61-400b-80cf-dedc242faf63}' certstorename=MY\r\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "WebsiteName", 15 | "Label": "Website Name", 16 | "HelpText": "Name of the web site in IIS", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "SSLBindingHost", 24 | "Label": "SSL Binding Host", 25 | "HelpText": "The host name to bind (www.pancreaticcancer.org.uk)", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | }, 31 | { 32 | "Name": "CertificateThumbPrint", 33 | "Label": "Certificate Thumbprint", 34 | "HelpText": "The SSL Thumbprint for the certificate. Do not include spaces", 35 | "DefaultValue": null, 36 | "DisplaySettings": { 37 | "Octopus.ControlType": "SingleLineText" 38 | } 39 | } 40 | ], 41 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 42 | "LastModifiedBy": "bobjwalker", 43 | "$Meta": { 44 | "ExportedAt": "2014-10-23T14:40:38.823+00:00", 45 | "OctopusVersion": "2.4.5.46", 46 | "Type": "ActionTemplate" 47 | }, 48 | "Category": "iis" 49 | } -------------------------------------------------------------------------------- /step-templates/iis-list-sites.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "05e87da8-a9df-449f-bdbb-98fa44740b46", 3 | "Name": "IIS - List Sites", 4 | "Description": "List sites on the server.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "try {\r\n\t$iisFeature = Get-WindowsFeature Web-WebServer -ErrorAction Stop\r\n\tif ($iisFeature -eq $null -or $iisFeature.Installed -eq $false) {\r\n\t\tWrite-Error \"It looks like IIS is not installed on this server and the deployment is likely to fail.\"\r\n\t\tWrite-Error \"Tip: You can use PowerShell to ensure IIS is installed: 'Install-WindowsFeature Web-WebServer'\"\r\n\t\tWrite-Error \" You are likely to want more IIS features than just the web server. Run 'Get-WindowsFeature *web*' to see all of the features you can install.\"\r\n\t\texit 1\r\n\t}\r\n} catch {\r\n\tWrite-Verbose \"Call to `Get-WindowsFeature Web-WebServer` failed.\"\r\n\tWrite-Verbose \"Unable to determine if IIS is installed on this server but will optimistically continue.\"\r\n}\r\n\r\ntry {\r\n\tAdd-PSSnapin WebAdministration -ErrorAction Stop\r\n} catch {\r\n try {\r\n\t\t Import-Module WebAdministration -ErrorAction Stop\r\n\t\t} catch {\r\n\t\t\tWrite-Warning \"We failed to load the WebAdministration module. This usually resolved by doing one of the following:\"\r\n\t\t\tWrite-Warning \"1. Install .NET Framework 3.5.1\"\r\n\t\t\tWrite-Warning \"2. Upgrade to PowerShell 3.0 (or greater)\"\r\n\t\t\tWrite-Warning \"3. On Windows 2008 you might need to install PowerShell SnapIn for IIS from http://www.iis.net/downloads/microsoft/powershell#additionalDownloads\"\r\n\t\t\tthrow ($error | Select-Object -First 1)\r\n }\r\n}\r\n\r\nGet-WebSite", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [], 13 | "LastModifiedOn": "2016-12-19T23:20:00.000+00:00", 14 | "LastModifiedBy": "BrettJaner", 15 | "$Meta": { 16 | "ExportedAt": "2016-12-19T23:20:00.000+00:00", 17 | "OctopusVersion": "2.4.7.85", 18 | "Type": "ActionTemplate" 19 | }, 20 | "Category": "iis" 21 | } -------------------------------------------------------------------------------- /step-templates/iis-website-appfabric-application-start.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "3f80830a-8920-44d9-bf2f-af6b84262631", 3 | "Name": "IIS Website AppFabric Application - Start", 4 | "Description": "Starts an AppFabric application in IIS.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 11, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "Import-Module WebAdministration\n\n$webSiteName = $OctopusParameters['WebSiteName']\n$applicationName = $OctopusParameters['ApplicationName']\n\nif (!$webSiteName)\n{\n Write-Error \"No Website name was specified. Please specify the name of the Website that contains the AppFabric application.\"\n exit -2\n}\n\nif (!$applicationName)\n{\n Write-Error \"No Application name was specified. Please specify the name of the AppFabric Application contained in the Website.\"\n exit -2\n}\n\nWrite-Output \"Starting IIS AppFabric application $applicationName in website $webSiteName\"\nStart-AsApplication $webSiteName $applicationName\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "WebsiteName", 15 | "Label": "Website name", 16 | "HelpText": "The name of the site in IIS", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "ApplicationName", 24 | "Label": "Application Name", 25 | "HelpText": "The name of the AppFabric application inside the Website in IIS", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | } 31 | ], 32 | "LastModifiedOn": "2014-09-20T21:03:29.922+00:00", 33 | "LastModifiedBy": "caioproiete", 34 | "$Meta": { 35 | "ExportedAt": "2014-09-20T21:16:03.171+00:00", 36 | "OctopusVersion": "2.5.8.447", 37 | "Type": "ActionTemplate" 38 | }, 39 | "Category": "iis" 40 | } -------------------------------------------------------------------------------- /step-templates/iis-website-appfabric-application-stop.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "bf1f9d1d-3200-4ae6-bab1-12e42aa829e6", 3 | "Name": "IIS Website AppFabric Application - Stop", 4 | "Description": "Stops an AppFabric application in IIS.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 6, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "Import-Module WebAdministration\n\n$webSiteName = $OctopusParameters['WebSiteName']\n$applicationName = $OctopusParameters['ApplicationName']\n\nif (!$webSiteName)\n{\n Write-Error \"No Website name was specified. Please specify the name of the Website that contains the AppFabric application.\"\n exit -2\n}\n\nif (!$applicationName)\n{\n Write-Error \"No Application name was specified. Please specify the name of the AppFabric Application contained in the Website.\"\n exit -2\n}\n\nWrite-Output \"Stopping IIS AppFabric application $applicationName in website $webSiteName\"\nStop-AsApplication $webSiteName $applicationName\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "WebsiteName", 15 | "Label": "Website name", 16 | "HelpText": "The name of the site in IIS", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "ApplicationName", 24 | "Label": "Application Name", 25 | "HelpText": "The name of the AppFabric application inside the Website in IIS", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | } 31 | ], 32 | "LastModifiedOn": "2014-09-20T21:03:33.663+00:00", 33 | "LastModifiedBy": "caioproiete", 34 | "$Meta": { 35 | "ExportedAt": "2014-09-20T21:19:58.914+00:00", 36 | "OctopusVersion": "2.5.8.447", 37 | "Type": "ActionTemplate" 38 | }, 39 | "Category": "iis" 40 | } -------------------------------------------------------------------------------- /step-templates/iis-website-restart.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "6a17bd83-ef96-4c22-b212-91a89ca92fe6", 3 | "Name": "IIS Website - Restart", 4 | "Description": "Restarts a website in IIS.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 12, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "# Load IIS module:\nImport-Module WebAdministration\n\n# Set a name of the site we want to restart\n$webSiteName = $OctopusParameters['webSiteName']\n\n# Get web site object\n$webSite = Get-Item \"IIS:\\Sites\\$webSiteName\"\n\nWrite-Output \"Stopping IIS web site $webSiteName\"\n$webSite.Stop()\nWrite-Output \"Starting IIS web site $webSiteName\"\n$webSite.Start()\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "WebsiteName", 15 | "Label": "Website name", 16 | "HelpText": "The name of the site in IIS", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 24 | "LastModifiedBy": "bobjwalker", 25 | "$Meta": { 26 | "ExportedAt": "2014-05-16T06:21:11.211+00:00", 27 | "OctopusVersion": "2.4.5.46", 28 | "Type": "ActionTemplate" 29 | }, 30 | "Category": "iis" 31 | } -------------------------------------------------------------------------------- /step-templates/iis-website-start.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "2b2cf57e-24fa-4094-9513-89647fe5f807", 3 | "Name": "IIS Website - Start", 4 | "Description": "Starts a website in IIS.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 8, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "# Load IIS module:\nImport-Module WebAdministration\n\n# Set a name of the site we want to start\n$webSiteName = $OctopusParameters['webSiteName']\n\n# Get web site object\ntry {\n$webSite = Get-Item \"IIS:\\Sites\\$webSiteName\"\n}\nCatch [System.IO.FileNotFoundException]{\n\t# Some OS bug out if Default Web Site is deleted.\n# So we need to call this 2 times.\n$webSite = Get-Item \"IIS:\\Sites\\$webSiteName\"\n}\n\nWrite-Output \"Starting IIS web site $webSiteName\"\n$webSite.Start()\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "WebsiteName", 15 | "Label": "Website name", 16 | "HelpText": "The name of the site in IIS", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 24 | "LastModifiedBy": "bobjwalker", 25 | "$Meta": { 26 | "ExportedAt": "2020-11-10T07:29:37.424Z", 27 | "OctopusVersion": "2019.13.7", 28 | "Type": "ActionTemplate" 29 | }, 30 | "Category": "iis" 31 | } 32 | -------------------------------------------------------------------------------- /step-templates/iis-website-update-iis-log-path.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "c9c5d076-6936-4781-be3b-3a41912f7b67", 3 | "Name": "IIS Website - Update IIS Log Path", 4 | "Description": "Updates the IIS Log Path if needed.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 5, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "write-host \"#Updating IIS Log path\"\n\nImport-Module \"WebAdministration\" -ErrorAction Stop\n\n$logPath = $OctopusParameters['LogPath']\n$IISsitename = $OctopusParameters['webSiteName']\n\nif (!(Test-Path \"IIS:\\Sites\\$($IISsitename)\")) {\n write-host \"$IISsitename does not exist in IIS\"\n} else {\n $currentLogPath = (Get-ItemProperty IIS:\\Sites\\$($IISsitename)).logFile.directory\n write-host \"IIS LogPath currently set to $currentLogPath\"\n if ([string]::Compare($currentLogPath, $logPath, $True) -ne 0) {\n Set-ItemProperty IIS:\\Sites\\$($IISsitename) -name logFile.directory -value $logPath\n write-host \"IIS LogPath updated to $logPath\"\n }\n}", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "LogPath", 15 | "Label": "Log path", 16 | "HelpText": "The path where you want to store your logs", 17 | "DefaultValue": "", 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "WebsiteName", 24 | "Label": "Website name", 25 | "HelpText": "The name of the site in IIS", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | } 31 | ], 32 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 33 | "LastModifiedBy": "bobjwalker", 34 | "$Meta": { 35 | "ExportedAt": "2015-05-05T09:23:23.465+00:00", 36 | "OctopusVersion": "2.6.5.1010", 37 | "Type": "ActionTemplate" 38 | }, 39 | "Category": "iis" 40 | } -------------------------------------------------------------------------------- /step-templates/logos/1password-connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/1password-connect.png -------------------------------------------------------------------------------- /step-templates/logos/akamai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/akamai.png -------------------------------------------------------------------------------- /step-templates/logos/amazon-chime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/amazon-chime.png -------------------------------------------------------------------------------- /step-templates/logos/ansible.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/ansible.png -------------------------------------------------------------------------------- /step-templates/logos/apexsql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/apexsql.png -------------------------------------------------------------------------------- /step-templates/logos/apollo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/apollo.png -------------------------------------------------------------------------------- /step-templates/logos/argo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/argo.png -------------------------------------------------------------------------------- /step-templates/logos/aspnet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/aspnet.png -------------------------------------------------------------------------------- /step-templates/logos/aws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/aws.png -------------------------------------------------------------------------------- /step-templates/logos/azure-devops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/azure-devops.png -------------------------------------------------------------------------------- /step-templates/logos/azure-keyvault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/azure-keyvault.png -------------------------------------------------------------------------------- /step-templates/logos/azure-site-extensions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/azure-site-extensions.png -------------------------------------------------------------------------------- /step-templates/logos/azure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/azure.png -------------------------------------------------------------------------------- /step-templates/logos/azurefunctions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/azurefunctions.png -------------------------------------------------------------------------------- /step-templates/logos/bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/bash.png -------------------------------------------------------------------------------- /step-templates/logos/cassandra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/cassandra.png -------------------------------------------------------------------------------- /step-templates/logos/chef.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/chef.png -------------------------------------------------------------------------------- /step-templates/logos/chocolatey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/chocolatey.png -------------------------------------------------------------------------------- /step-templates/logos/clickonce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/clickonce.png -------------------------------------------------------------------------------- /step-templates/logos/cyberark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/cyberark.png -------------------------------------------------------------------------------- /step-templates/logos/databricks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/databricks.png -------------------------------------------------------------------------------- /step-templates/logos/datadog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/datadog.png -------------------------------------------------------------------------------- /step-templates/logos/dll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/dll.png -------------------------------------------------------------------------------- /step-templates/logos/dlm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/dlm.png -------------------------------------------------------------------------------- /step-templates/logos/docker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/docker.png -------------------------------------------------------------------------------- /step-templates/logos/dotnetcore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/dotnetcore.png -------------------------------------------------------------------------------- /step-templates/logos/dyn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/dyn.png -------------------------------------------------------------------------------- /step-templates/logos/edgecast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/edgecast.png -------------------------------------------------------------------------------- /step-templates/logos/elmah.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/elmah.png -------------------------------------------------------------------------------- /step-templates/logos/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/email.png -------------------------------------------------------------------------------- /step-templates/logos/encrypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/encrypt.png -------------------------------------------------------------------------------- /step-templates/logos/entityframework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/entityframework.png -------------------------------------------------------------------------------- /step-templates/logos/event-tracing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/event-tracing.png -------------------------------------------------------------------------------- /step-templates/logos/exe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/exe.png -------------------------------------------------------------------------------- /step-templates/logos/f5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/f5.png -------------------------------------------------------------------------------- /step-templates/logos/filesystem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/filesystem.png -------------------------------------------------------------------------------- /step-templates/logos/firebase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/firebase.png -------------------------------------------------------------------------------- /step-templates/logos/flyway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/flyway.png -------------------------------------------------------------------------------- /step-templates/logos/ghostinspector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/ghostinspector.png -------------------------------------------------------------------------------- /step-templates/logos/git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/git.png -------------------------------------------------------------------------------- /step-templates/logos/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/github.png -------------------------------------------------------------------------------- /step-templates/logos/gitlab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/gitlab.png -------------------------------------------------------------------------------- /step-templates/logos/google-chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/google-chat.png -------------------------------------------------------------------------------- /step-templates/logos/google-cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/google-cloud.png -------------------------------------------------------------------------------- /step-templates/logos/grate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/grate.png -------------------------------------------------------------------------------- /step-templates/logos/hashicorp-vault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/hashicorp-vault.png -------------------------------------------------------------------------------- /step-templates/logos/hipchat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/hipchat.png -------------------------------------------------------------------------------- /step-templates/logos/hockeyapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/hockeyapp.png -------------------------------------------------------------------------------- /step-templates/logos/hosts-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/hosts-file.png -------------------------------------------------------------------------------- /step-templates/logos/http.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/http.png -------------------------------------------------------------------------------- /step-templates/logos/iis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/iis.png -------------------------------------------------------------------------------- /step-templates/logos/jasper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/jasper.png -------------------------------------------------------------------------------- /step-templates/logos/jenkins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/jenkins.png -------------------------------------------------------------------------------- /step-templates/logos/jira.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/jira.png -------------------------------------------------------------------------------- /step-templates/logos/json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/json.png -------------------------------------------------------------------------------- /step-templates/logos/jwt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/jwt.png -------------------------------------------------------------------------------- /step-templates/logos/k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/k8s.png -------------------------------------------------------------------------------- /step-templates/logos/keeper-secretsmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/keeper-secretsmanager.png -------------------------------------------------------------------------------- /step-templates/logos/launchdarkly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/launchdarkly.png -------------------------------------------------------------------------------- /step-templates/logos/lets-encrypt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/lets-encrypt.png -------------------------------------------------------------------------------- /step-templates/logos/linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/linux.png -------------------------------------------------------------------------------- /step-templates/logos/liquibase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/liquibase.png -------------------------------------------------------------------------------- /step-templates/logos/mabl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/mabl.png -------------------------------------------------------------------------------- /step-templates/logos/mariadb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/mariadb.png -------------------------------------------------------------------------------- /step-templates/logos/medianova.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/medianova.png -------------------------------------------------------------------------------- /step-templates/logos/mercurial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/mercurial.png -------------------------------------------------------------------------------- /step-templates/logos/microsoft-power-automate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/microsoft-power-automate.png -------------------------------------------------------------------------------- /step-templates/logos/microsoft-teams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/microsoft-teams.png -------------------------------------------------------------------------------- /step-templates/logos/mongodb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/mongodb.png -------------------------------------------------------------------------------- /step-templates/logos/mulesoft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/mulesoft.png -------------------------------------------------------------------------------- /step-templates/logos/mysql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/mysql.png -------------------------------------------------------------------------------- /step-templates/logos/netscaler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/netscaler.png -------------------------------------------------------------------------------- /step-templates/logos/newrelic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/newrelic.png -------------------------------------------------------------------------------- /step-templates/logos/nunit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/nunit.png -------------------------------------------------------------------------------- /step-templates/logos/octopus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/octopus.png -------------------------------------------------------------------------------- /step-templates/logos/opslevel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/opslevel.png -------------------------------------------------------------------------------- /step-templates/logos/oracle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/oracle.png -------------------------------------------------------------------------------- /step-templates/logos/other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/other.png -------------------------------------------------------------------------------- /step-templates/logos/pagerduty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/pagerduty.png -------------------------------------------------------------------------------- /step-templates/logos/pingdom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/pingdom.png -------------------------------------------------------------------------------- /step-templates/logos/postgresql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/postgresql.png -------------------------------------------------------------------------------- /step-templates/logos/proxmox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/proxmox.png -------------------------------------------------------------------------------- /step-templates/logos/pulumi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/pulumi.png -------------------------------------------------------------------------------- /step-templates/logos/pushalot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/pushalot.png -------------------------------------------------------------------------------- /step-templates/logos/pushover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/pushover.png -------------------------------------------------------------------------------- /step-templates/logos/rabbitmq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/rabbitmq.png -------------------------------------------------------------------------------- /step-templates/logos/rackspace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/rackspace.png -------------------------------------------------------------------------------- /step-templates/logos/ravendb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/ravendb.png -------------------------------------------------------------------------------- /step-templates/logos/raygun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/raygun.png -------------------------------------------------------------------------------- /step-templates/logos/readyroll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/readyroll.png -------------------------------------------------------------------------------- /step-templates/logos/redgate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/redgate.png -------------------------------------------------------------------------------- /step-templates/logos/redis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/redis.png -------------------------------------------------------------------------------- /step-templates/logos/rnhub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/rnhub.png -------------------------------------------------------------------------------- /step-templates/logos/rollbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/rollbar.png -------------------------------------------------------------------------------- /step-templates/logos/roundhouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/roundhouse.png -------------------------------------------------------------------------------- /step-templates/logos/sentry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/sentry.png -------------------------------------------------------------------------------- /step-templates/logos/seq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/seq.png -------------------------------------------------------------------------------- /step-templates/logos/sharepoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/sharepoint.png -------------------------------------------------------------------------------- /step-templates/logos/sitecore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/sitecore.png -------------------------------------------------------------------------------- /step-templates/logos/slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/slack.png -------------------------------------------------------------------------------- /step-templates/logos/snowflake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/snowflake.png -------------------------------------------------------------------------------- /step-templates/logos/solarwinds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/solarwinds.png -------------------------------------------------------------------------------- /step-templates/logos/spark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/spark.png -------------------------------------------------------------------------------- /step-templates/logos/splunk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/splunk.png -------------------------------------------------------------------------------- /step-templates/logos/sql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/sql.png -------------------------------------------------------------------------------- /step-templates/logos/ssl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/ssl.png -------------------------------------------------------------------------------- /step-templates/logos/stackify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/stackify.png -------------------------------------------------------------------------------- /step-templates/logos/statuscake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/statuscake.png -------------------------------------------------------------------------------- /step-templates/logos/statuspage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/statuspage.png -------------------------------------------------------------------------------- /step-templates/logos/swaggerhub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/swaggerhub.png -------------------------------------------------------------------------------- /step-templates/logos/teamcity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/teamcity.png -------------------------------------------------------------------------------- /step-templates/logos/tenants.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/tenants.png -------------------------------------------------------------------------------- /step-templates/logos/terraform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/terraform.png -------------------------------------------------------------------------------- /step-templates/logos/testery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/testery.png -------------------------------------------------------------------------------- /step-templates/logos/tests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/tests.png -------------------------------------------------------------------------------- /step-templates/logos/tomcat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/tomcat.png -------------------------------------------------------------------------------- /step-templates/logos/topshelf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/topshelf.png -------------------------------------------------------------------------------- /step-templates/logos/twilio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/twilio.png -------------------------------------------------------------------------------- /step-templates/logos/umbraco.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/umbraco.png -------------------------------------------------------------------------------- /step-templates/logos/unicorn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/unicorn.png -------------------------------------------------------------------------------- /step-templates/logos/unzip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/unzip.png -------------------------------------------------------------------------------- /step-templates/logos/venafi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/venafi.png -------------------------------------------------------------------------------- /step-templates/logos/victorops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/victorops.png -------------------------------------------------------------------------------- /step-templates/logos/wait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/wait.png -------------------------------------------------------------------------------- /step-templates/logos/webdeploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/webdeploy.png -------------------------------------------------------------------------------- /step-templates/logos/windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/windows.png -------------------------------------------------------------------------------- /step-templates/logos/winscp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/winscp.png -------------------------------------------------------------------------------- /step-templates/logos/xamarin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/xamarin.png -------------------------------------------------------------------------------- /step-templates/logos/xml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/xml.png -------------------------------------------------------------------------------- /step-templates/logos/xunit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/xunit.png -------------------------------------------------------------------------------- /step-templates/logos/zabbix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OctopusDeploy/Library/d8405f1229ec4783f9664ee3fea6e1b45dfba479/step-templates/logos/zabbix.png -------------------------------------------------------------------------------- /step-templates/network-add-url-reservation.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "45eea99e-061c-45d2-bcc0-9320269a4ee4", 3 | "Name": "Network - Add URL Reservation", 4 | "Description": "Creates an HTTP URL reservation (ACL) using NETSH.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 11, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "$url = $OctopusParameters['Url']\n$user = $OctopusParameters['User']\n$delegate = if ('True' -eq $OctopusParameters['Delegate']) { 'yes' } else { 'no'}\n\n$delacl = \"http delete urlacl url=$url\"\n$addacl = \"http add urlacl url=$url user=\"\"$user\"\" delegate=$delegate\"\n\nwrite-host \"Removing ACL: $delacl\"\n$delacl | netsh | out-host\n\nwrite-host \"Creating ACL: $addacl\"\n$addacl | netsh | out-host\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "Url", 15 | "Label": "URL", 16 | "HelpText": "The URL to reserve. Example: _http://+:8080_", 17 | "DefaultValue": "", 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "Delegate", 24 | "Label": "Allow delegation", 25 | "HelpText": "Indicates whether or not the user can delegate URLs. Example: _True_ or _False_", 26 | "DefaultValue": "False", 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | }, 31 | { 32 | "Name": "User", 33 | "Label": "User", 34 | "HelpText": "Specifies the user or group name. Example: _DOMAIN\\user_", 35 | "DefaultValue": "", 36 | "DisplaySettings": { 37 | "Octopus.ControlType": "SingleLineText" 38 | } 39 | } 40 | ], 41 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 42 | "LastModifiedBy": "bobjwalker", 43 | "$Meta": { 44 | "ExportedAt": "2014-05-27T18:53:32.929+00:00", 45 | "OctopusVersion": "2.4.5.46", 46 | "Type": "ActionTemplate" 47 | }, 48 | "Category": "http" 49 | } -------------------------------------------------------------------------------- /step-templates/pause-resume-pingdom-check.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "a2d3b49a-84aa-4dc4-8da1-fbb3d8ff205b", 3 | "Name": "Pause or Resume Pingdom check", 4 | "Description": null, 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "Properties": { 8 | "Octopus.Action.Script.Syntax": "PowerShell", 9 | "Octopus.Action.Script.ScriptBody": "$webclient = New-Object System.Net.WebClient\n$webclient.Credentials = New-Object System.Net.NetworkCredential($UserName, $Password)\n$webClient.Headers.add('App-Key',$AppKey)\n$url = \"https://api.pingdom.com/api/2.0/checks/$CheckId\"\n$actionBody = \"paused=\" + ($Action -eq \"Pause\").tostring().tolower()\n\n$checkResult = $webclient.DownloadString($url) | ConvertFrom-Json\nWrite-Host \"Attempting to\" $Action.tolower() \"check\" $CheckId \"-\" $checkResult.check.name\n\n$result = $webclient.UploadString($url, \"PUT\", $actionBody) | ConvertFrom-Json\n\nWrite-Host $result.message" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "UserName", 15 | "Label": "User Name", 16 | "HelpText": "", 17 | "DisplaySettings": { 18 | "Octopus.ControlType": "SingleLineText" 19 | } 20 | }, 21 | { 22 | "Name": "Password", 23 | "Label": "Pingdom Password", 24 | "HelpText": null, 25 | "DisplaySettings": { 26 | "Octopus.ControlType": "Sensitive" 27 | } 28 | }, 29 | { 30 | "Name": "AppKey", 31 | "Label": "Application Key", 32 | "HelpText": "You generate your application key inside the Pingdom control panel.", 33 | "DisplaySettings": { 34 | "Octopus.ControlType": "Sensitive" 35 | } 36 | }, 37 | { 38 | "Name": "CheckId", 39 | "Label": "Check Id", 40 | "HelpText": "Check Id to be paused or resumed", 41 | "DefaultValue": null, 42 | "DisplaySettings": { 43 | "Octopus.ControlType": "SingleLineText" 44 | } 45 | }, 46 | { 47 | "Name": "Action", 48 | "Label": null, 49 | "HelpText": null, 50 | "DefaultValue": null, 51 | "DisplaySettings": { 52 | "Octopus.ControlType": "Select", 53 | "Octopus.SelectOptions": "Pause\nResume" 54 | } 55 | } 56 | ], 57 | "LastModifiedOn": "2015-07-31T12:23:52.329+00:00", 58 | "LastModifiedBy": "timorzadir", 59 | "$Meta": { 60 | "ExportedAt": "2015-07-31T12:23:52.329+00:00", 61 | "OctopusVersion": "3.0.7.2204", 62 | "Type": "ActionTemplate" 63 | }, 64 | "Category": "pingdom" 65 | } -------------------------------------------------------------------------------- /step-templates/redis-uninstall.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "959fbb4a-8e2e-4e21-bc55-863837b3cbed", 3 | "Name": "Redis - Uninstall service", 4 | "Description": "This step can be used before unpacking a package with Redis service to stop and remove the previous installation, if there is one.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 1, 7 | "CommunityActionTemplateId": null, 8 | "Properties": { 9 | "Octopus.Action.Script.Syntax": "PowerShell", 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.RunOnServer": "false", 12 | "Octopus.Action.Script.ScriptBody": "$name = $OctopusParameters['rus_ServiceName']\r\n\r\n$service = Get-Service -Name $name -ErrorAction SilentlyContinue\r\n\r\nif (-not $service) {\r\n Write-Host \">>> $name service not found. Skipping this time.\"\r\n return\r\n}\r\n\r\nWrite-Host \">>> Uninstalling with: sc.exe\"\r\nif ($service.Status -eq 'Running') {\r\n &\"sc.exe\" stop $name | Write-Host\r\n}\r\n&\"sc.exe\" delete $name | Write-Host\r\n\r\n$limit = 15\r\nwhile (Get-Service -Name $name -ErrorAction SilentlyContinue) {\r\n Start-Sleep -s 1\r\n \r\n $limit = $limit - 1\r\n if ($limit -eq 0) {\r\n Throw \"Unable to stop Redis service within 15s\"\r\n }\r\n}", 13 | "Octopus.Action.Script.ScriptFileName": null, 14 | "Octopus.Action.Package.FeedId": null, 15 | "Octopus.Action.Package.PackageId": null 16 | }, 17 | "Parameters": [ 18 | { 19 | "Id": "12713171-c487-4118-8a4c-7bd8c2e5e269", 20 | "Name": "rus_ServiceName", 21 | "Label": "Service name", 22 | "HelpText": null, 23 | "DefaultValue": "Redis", 24 | "DisplaySettings": { 25 | "Octopus.ControlType": "SingleLineText" 26 | }, 27 | "Links": {} 28 | } 29 | ], 30 | "LastModifiedBy": "J-Sek", 31 | "$Meta": { 32 | "ExportedAt": "2017-08-31T23:11:05.000Z", 33 | "OctopusVersion": "3.16.6", 34 | "Type": "ActionTemplate" 35 | }, 36 | "Category": "redis" 37 | } -------------------------------------------------------------------------------- /step-templates/run-mstest.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "75746f93-6c2b-4a52-b3b6-97e8dee09a81", 3 | "Name": "Run MSTests", 4 | "Description": "This Step template should be used for running MSTests by passing list of assemblies.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 14, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "Write-Output \"Running MsTests tests...\"\r\n\r\n$exePath = '\"' + $MsTestExePath + '\"'\r\nif (-not $exePath) {\r\n $exePath = \"mstest.exe\"\r\n}\r\n\r\n$runMsTest = \"& $exePath \"\r\n\r\n$MsTestAssemblies.Split(\";\") | ForEach {\r\n $asm = \" /testcontainer:\"+$_.Trim()\r\n Write-Output \"Including test container assembly $asm\"\r\n $runMsTest += \"$asm\"\r\n}\r\nWrite-Host $runMsTest\r\ncd $MsTestWorkingDirectoryPath\r\nWrite-Host $MsTestWorkingDirectoryPath \r\n\r\niex $runMsTest\r\n$mstestExit = $lastExitCode\r\n\r\n\r\nexit $mstestExit", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "MsTestExePath", 15 | "Label": "Ms Test Path", 16 | "HelpText": null, 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "MsTestWorkingDirectoryPath", 24 | "Label": "Working directory", 25 | "HelpText": "The folder that contains the test assemblies. Generally this will be bound to an output variable from a previous step. Example: _#{Octopus.Action[Deploy integration tests].Output.Package.InstallationDirectoryPath}_", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | }, 31 | { 32 | "Name": "MsTestAssemblies", 33 | "Label": "Test assemblies", 34 | "HelpText": "A semicolon-separated list of assembly names containing tests. Example: _MyCompany.IntegrationTests.dll; MyCompany.SmokeTests.dll_", 35 | "DefaultValue": null, 36 | "DisplaySettings": { 37 | "Octopus.ControlType": "SingleLineText" 38 | } 39 | } 40 | ], 41 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 42 | "LastModifiedBy": "bobjwalker", 43 | "$Meta": { 44 | "ExportedAt": "2015-04-30T12:44:24.644+00:00", 45 | "OctopusVersion": "2.6.4.951", 46 | "Type": "ActionTemplate" 47 | }, 48 | "Category": "tests" 49 | } -------------------------------------------------------------------------------- /step-templates/send-sms-using-messagebird.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "d5dba42f-ab60-4342-bdaf-b8ecd2f763c3", 3 | "Name": "MessageBird Send SMS", 4 | "Description": "Send an SMS using MessageBird API.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 2, 7 | "CommunityActionTemplateId": null, 8 | "Packages": [], 9 | "Properties": { 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.Script.Syntax": "PowerShell", 12 | "Octopus.Action.Script.ScriptBody": "#-----------------------------\n#Latest Update 2021-01-21\n#Bilal Aljbour - FRISS\n#-----------------------------\n$url = \"https://rest.messagebird.com/messages?access_key=$MessageBird_Key\"\n$params = @{\nhref = 'https://rest.messagebird.com/messages'\nrecipients = \"$MessageBird_Recipients\"\noriginator = \"$MessageBird_originator\"\nbody = \"$MessageBird_body\"\n}\nInvoke-WebRequest $url -Method Post -Body $params -UseBasicParsing | Out-Null\nWrite-Host 'Message has been sent!'" 13 | }, 14 | "Parameters": [{ 15 | "Id": "8fcbce8e-5d10-442c-a50d-470b2458a481", 16 | "Name": "MessageBird_Key", 17 | "Label": "MessageBird Key", 18 | "HelpText": "API keys give you access to all our REST API methods.\nThis can be created/copied [here](https://dashboard.messagebird.com/en/developers/access)", 19 | "DefaultValue": "", 20 | "DisplaySettings": { 21 | "Octopus.ControlType": "SingleLineText" 22 | } 23 | }, 24 | { 25 | "Id": "7c06f0e6-84e8-4ed0-b804-aed47d580667", 26 | "Name": "MessageBird_originator", 27 | "Label": "From", 28 | "HelpText": "The sender of the message. This can be a telephone number (including country code) or an alphanumeric string. In case of an alphanumeric string, the maximum length is 11 characters. ", 29 | "DefaultValue": "", 30 | "DisplaySettings": { 31 | "Octopus.ControlType": "SingleLineText" 32 | } 33 | }, 34 | { 35 | "Id": "e4b45a2d-f7ca-4329-88fc-d6f23b1249c4", 36 | "Name": "MessageBird_Recipients", 37 | "Label": "To", 38 | "HelpText": "The number to send the message to.", 39 | "DefaultValue": "", 40 | "DisplaySettings": { 41 | "Octopus.ControlType": "SingleLineText" 42 | } 43 | }, 44 | { 45 | "Id": "e882db5e-d780-4183-956e-e51806163b60", 46 | "Name": "MessageBird_body", 47 | "Label": "Message", 48 | "HelpText": "The content of the SMS message.\n", 49 | "DefaultValue": "", 50 | "DisplaySettings": { 51 | "Octopus.ControlType": "MultiLineText" 52 | } 53 | } 54 | ], 55 | "$Meta": { 56 | "ExportedAt": "2021-01-21T13:54:53.610Z", 57 | "OctopusVersion": "2020.4.6", 58 | "Type": "ActionTemplate" 59 | }, 60 | "LastModifiedBy": "bilalmajali", 61 | "Category": "other" 62 | } 63 | -------------------------------------------------------------------------------- /step-templates/sql-create-job-category.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "7a619d03-0cbc-4b43-9540-90a89bab2ed8", 3 | "Name": "SQL - Create Job Category", 4 | "Description": "Creates a SQL Server Job Category", 5 | "ActionType": "Octopus.Script", 6 | "Version": 2, 7 | "CommunityActionTemplateId": null, 8 | "Properties": { 9 | "Octopus.Action.Script.Syntax": "PowerShell", 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.RunOnServer": "false", 12 | "Octopus.Action.Script.ScriptBody": "Write-Host \"Running command against database server: $DbServer\"\nWrite-Host \"Creating Job category: $JobCatName\"\nInvoke-Sqlcmd -ServerInstance \"$DbServer\" -Verbose -Query \"EXEC dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'$JobCatName';\" -Database \"msdb\"\nWrite-Host \"Job category created\"", 13 | "Octopus.Action.Script.ScriptFileName": null, 14 | "Octopus.Action.Package.FeedId": null, 15 | "Octopus.Action.Package.PackageId": null 16 | }, 17 | "Parameters": [ 18 | { 19 | "Id": "77ef2c98-a8bb-489b-b8bf-397978780d4a", 20 | "Name": "DbServer", 21 | "Type": "String", 22 | "Label": "Database Server", 23 | "HelpText": "Database server instance name", 24 | "DefaultValue": ".", 25 | "DisplaySettings": { 26 | "Octopus.ControlType": "SingleLineText" 27 | }, 28 | "Links": {} 29 | }, 30 | { 31 | "Id": "a6030731-96e3-4fbb-9078-1e307aa9c380", 32 | "Name": "JobCatName", 33 | "Type": "String", 34 | "Label": "Job Category Name", 35 | "HelpText": "The SQL Server's job category name", 36 | "DefaultValue": "", 37 | "DisplaySettings": { 38 | "Octopus.ControlType": "SingleLineText" 39 | }, 40 | "Links": {} 41 | } 42 | ], 43 | "LastModifiedBy": "ahmedig", 44 | "$Meta": { 45 | "ExportedAt": "2017-03-09T03:35:46.804Z", 46 | "OctopusVersion": "3.11.2", 47 | "Type": "ActionTemplate" 48 | }, 49 | "Category" : "sql" 50 | } -------------------------------------------------------------------------------- /step-templates/sql-smo-drop-database.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "255a7317-460f-4bc4-8017-a99b4563aad3", 3 | "Name": "SQL - Drop Database Using SMO", 4 | "Description": "This uses Sql Management Objects to drop a database if it exists. If the username and password are both empty then it will attempt a trusted connection.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 9, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "[System.Reflection.Assembly]::LoadWithPartialName(\"Microsoft.SqlServer.SMO\") | out-null\n\ntry\n{ \n $server = new-object ('Microsoft.SqlServer.Management.Smo.Server') $SqlServer\n \n if (!$SqlUsername -and !$SqlPassword)\n {\n $server.ConnectionContext.LoginSecure = $true\n } else {\n $server.ConnectionContext.LoginSecure = $false\n $server.ConnectionContext.set_Login($SqlUsername)\n $server.ConnectionContext.set_Password($SqlPassword) \n }\n\n\tif ($server.databases[$SqlDatabase] -ne $null)\n\t{\n \t$server.killallprocesses($SqlDatabase)\n \t$server.databases[$SqlDatabase].drop()\n\t}\n}\ncatch\n{ \n $error[0] | format-list -force\n Exit 1\n}\n ", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "SqlServer", 15 | "Label": "Sql Server", 16 | "HelpText": "SQL Server Instance with Port", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "SqlUsername", 24 | "Label": "Sql Username (optional)", 25 | "HelpText": "The SQL Account which has access to Create SQL Database", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | }, 31 | { 32 | "Name": "SqlPassword", 33 | "Label": "Sql Password (optional)", 34 | "HelpText": "The password for the SQL Account", 35 | "DefaultValue": null, 36 | "DisplaySettings": { 37 | "Octopus.ControlType": "SingleLineText" 38 | } 39 | }, 40 | { 41 | "Name": "SqlDatabase", 42 | "Label": "Sql Database", 43 | "HelpText": "Name of Database to be Dropped", 44 | "DefaultValue": null, 45 | "DisplaySettings": { 46 | "Octopus.ControlType": "SingleLineText" 47 | } 48 | } 49 | ], 50 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 51 | "LastModifiedBy": "bobjwalker", 52 | "$Meta": { 53 | "ExportedAt": "2015-05-20T13:00:12.964+00:00", 54 | "OctopusVersion": "2.6.5.1010", 55 | "Type": "ActionTemplate" 56 | }, 57 | "Category": "sql" 58 | } -------------------------------------------------------------------------------- /step-templates/sql-test-connection-string.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "7e43cab7-e56c-4c37-a471-f4d552815169", 3 | "Name": "SQL - Test Connection String", 4 | "Description": "Tests a SQL Server connection string by attempting to connect to the database.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 5, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "#Create SQL Connection\r\n$con = new-object \"System.data.sqlclient.SQLconnection\"\r\nWrite-Host \"Opening SQL connection to $ConnectionString\"\r\n\r\n$con.ConnectionString =(\"$ConnectionString\")\r\ntry {\r\n $con.Open()\r\n Write-Host \"Successfully opened connection to the database\"\r\n}\r\ncatch {\r\n $error[0]\r\n exit 1\r\n}\r\nfinally{\r\n Write-Host \"Closing SQL connection\"\r\n $con.Close()\r\n $con.Dispose()\r\n Write-Host \"Connection closed.\"\r\n}", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "ConnectionString", 15 | "Label": "Connection string", 16 | "HelpText": "The connection string. For example:\n\n> Data Source=MyServer;Initial Catalog=MyDatabase;User Id=admin; Password=supersecretpassword;", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | } 22 | ], 23 | "LastModifiedOn": "2021-07-26T16:50:00.000+00:00", 24 | "LastModifiedBy": "bobjwalker", 25 | "$Meta": { 26 | "ExportedAt": "2014-06-26T10:19:31.547+00:00", 27 | "OctopusVersion": "2.4.8.107", 28 | "Type": "ActionTemplate" 29 | }, 30 | "Category": "sql" 31 | } -------------------------------------------------------------------------------- /step-templates/ssl-certificate-install.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "2a939210-3f1c-4a66-a535-40ba7cd709fb", 3 | "Name": "SSL Certificate - Install", 4 | "Description": "Installs an SSL certificate on the target machine", 5 | "ActionType": "Octopus.Script", 6 | "Version": 4, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "$base64Certificate = $OctopusParameters['Base64Certificate']\n$password = $OctopusParameters['Password']\n$location = $OctopusParameters['StoreLocation']\n$name = $OctopusParameters['StoreName']\n\nWrite-Host \"Adding/updating certificate in store\"\n\n$certBytes = [System.Convert]::FromBase64String($base64Certificate)\n$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($certBytes, $password, \"MachineKeySet,PersistKeySet\")\n$store = New-Object System.Security.Cryptography.X509Certificates.X509Store($name, $location)\n$store.Open(\"ReadWrite\")\n$store.Add($cert)\n$store.Close()", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "Base64Certificate", 15 | "Label": "Base64 certificate", 16 | "HelpText": "The certificate, encoded as a base64 string", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "MultiLineText" 20 | } 21 | }, 22 | { 23 | "Name": "Password", 24 | "Label": "Password", 25 | "HelpText": "The certificate password", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "Sensitive" 29 | } 30 | }, 31 | { 32 | "Name": "StoreName", 33 | "Label": "StoreName", 34 | "HelpText": "The name of the certificate store", 35 | "DefaultValue": "My", 36 | "DisplaySettings": { 37 | "Octopus.ControlType": "Select", 38 | "Octopus.SelectOptions": "AddressBook\nAuthRoot\nCA\nDisallowed\nMy\nRoot\nTrustedPeople\nTrustedPublisher" 39 | } 40 | }, 41 | { 42 | "Name": "StoreLocation", 43 | "Label": "StoreLocation", 44 | "HelpText": "The location of the certificate store", 45 | "DefaultValue": "LocalMachine", 46 | "DisplaySettings": { 47 | "Octopus.ControlType": "Select", 48 | "Octopus.SelectOptions": "CurrentUser\nLocalMachine" 49 | } 50 | } 51 | ], 52 | "LastModifiedOn": "2016-10-14T03:01:44.952+00:00", 53 | "LastModifiedBy": "kp-tseng", 54 | "$Meta": { 55 | "ExportedAt": "2014-10-01T07:43:57.503+00:00", 56 | "OctopusVersion": "2.5.8.447", 57 | "Type": "ActionTemplate" 58 | }, 59 | "Category": "ssl" 60 | } -------------------------------------------------------------------------------- /step-templates/topshelf-uninstall.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "b5a4ed5a-7fb3-4d0c-b4a5-02616d0ed919", 3 | "Name": "Uninstall TopShelf service", 4 | "Description": "This step can be used before unpacking a package with your TopShelf service to stop and remove the previous installation, if there is one.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 4, 7 | "CommunityActionTemplateId": null, 8 | "Properties": { 9 | "Octopus.Action.Script.Syntax": "PowerShell", 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.RunOnServer": "false", 12 | "Octopus.Action.Script.ScriptBody": "$step = $OctopusParameters['Unpackage step']\n$previous = $OctopusParameters[\"Octopus.Action[$step].Package.CustomInstallationDirectory\"]\n$customExeFilename = $OctopusParameters['Exe filename'];\n\nif(!$previous -or (-not (Test-Path $previous)) )\n{\n Write-Host \"No installation found in: $previous\"\n\t\n $previous = $OctopusParameters[\"Octopus.Action[$step].Output.Package.InstallationDirectoryPath\"]\n if(!$previous -or (-not (Test-Path $previous)) )\n {\n Write-Host \"No installation found in: $previous\"\n Break\n }\n}\n\n\n$defaultExeFilename = $OctopusParameters[\"Octopus.Action[$step].Package.NuGetPackageId\"] + \".exe\"\n$exeFilename = If ($customExeFilename) {$customExeFilename} Else {$defaultExeFilename}\n$path = Join-Path $previous $exeFilename\n\nWrite-Host \"Previous installation: $path\"\n\nStart-Process $path -ArgumentList \"stop\" -NoNewWindow -Wait | Write-Host\nStart-Process $path -ArgumentList \"uninstall\" -NoNewWindow -Wait | Write-Host\n" 13 | }, 14 | "Parameters": [ 15 | { 16 | "Id": "14d4b5e5-98ff-48ee-aeba-c062e294a18c", 17 | "Name": "Unpackage step", 18 | "Label": "", 19 | "HelpText": "The step where you unpack the topshelf service", 20 | "DefaultValue": "", 21 | "DisplaySettings": { 22 | "Octopus.ControlType": "StepName" 23 | }, 24 | "Links": {} 25 | }, 26 | { 27 | "Id": "75418f4b-48fb-4475-93a1-a6d793495693", 28 | "Name": "Exe filename", 29 | "Label": "", 30 | "HelpText": "Name of exe file for service, if empty, package Id+\".exe.\" will be used as default", 31 | "DefaultValue": "", 32 | "DisplaySettings": { 33 | "Octopus.ControlType": "SingleLineText" 34 | }, 35 | "Links": {} 36 | } 37 | ], 38 | "LastModifiedBy": "sphinxy", 39 | "$Meta": { 40 | "ExportedAt": "2018-02-22T16:57:20.068Z", 41 | "OctopusVersion": "4.0.10", 42 | "Type": "ActionTemplate" 43 | }, 44 | "Category": "topshelf" 45 | } 46 | -------------------------------------------------------------------------------- /step-templates/unzip.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "d2f144e7-e998-4229-ab7c-1013865070d5", 3 | "Name": "Unzip", 4 | "Description": "Unzip file", 5 | "ActionType": "Octopus.Script", 6 | "Version": 7, 7 | "Properties": { 8 | "Octopus.Action.Script.ScriptBody": "$shell_app=new-object -com shell.application\r\n\r\n$FOF_SILENT_FLAG = 4\r\n$FOF_NOCONFIRMATION_FLAG = 16\r\n\r\nif (Test-Path $filename)\r\n{\r\n Write-Host Unzipping $filename\r\n $zip_file = $shell_app.namespace(\"$filename\")\r\n $destination = $shell_app.namespace(\"$dest\")\r\n $destination.Copyhere($zip_file.items(), $FOF_SILENT_FLAG + $FOF_NOCONFIRMATION_FLAG)\r\n}\r\nelse\r\n{\r\n Write-Host File $filename does not exist\r\n}\r\n", 9 | "Octopus.Action.Script.Syntax": "PowerShell" 10 | }, 11 | "SensitiveProperties": {}, 12 | "Parameters": [ 13 | { 14 | "Name": "filename", 15 | "Label": "FIle to unzip", 16 | "HelpText": "Zip filename path", 17 | "DefaultValue": null, 18 | "DisplaySettings": { 19 | "Octopus.ControlType": "SingleLineText" 20 | } 21 | }, 22 | { 23 | "Name": "dest", 24 | "Label": "Destination", 25 | "HelpText": "Destination folder.", 26 | "DefaultValue": null, 27 | "DisplaySettings": { 28 | "Octopus.ControlType": "SingleLineText" 29 | } 30 | } 31 | ], 32 | "LastModifiedOn": "2015-08-03T13:45:04.765+00:00", 33 | "LastModifiedBy": "pitrew", 34 | "$Meta": { 35 | "ExportedAt": "2015-08-03T13:45:19.309+00:00", 36 | "OctopusVersion": "2.6.5.1010", 37 | "Type": "ActionTemplate" 38 | }, 39 | "Category": "unzip" 40 | } -------------------------------------------------------------------------------- /step-templates/update-hosts-file.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "79d6ce26-71bc-44c8-9228-d90cc7de9991", 3 | "Name": "Update Hosts File", 4 | "Description": "This template will update the value of your HOSTS file to what you define in this step.\nIt will skip all lines that start with \"#\" (comments), and all other lines will be deleted.\nThen the values defined in this step will be added. You can define as many entry lines as you want.", 5 | "ActionType": "Octopus.Script", 6 | "Version": 9, 7 | "CommunityActionTemplateId": null, 8 | "Packages": [], 9 | "Properties": { 10 | "Octopus.Action.Script.ScriptSource": "Inline", 11 | "Octopus.Action.Script.Syntax": "PowerShell", 12 | "Octopus.Action.Script.ScriptBody": "$hostsPath = \"$env:windir\\system32\\drivers\\etc\\hosts\"\nWrite-Host \"Opening HOSTS file:$hostsPath\"\n\n$hostEntries = $OctopusParameters[\"uhf_Hosts\"]\nWrite-Verbose \"hostEntries:$hostEntries\"\n\n$lines = (Get-Content $hostsPath)\n\nfor ($i = 0; $i -lt $lines.Length; $i++) {\n $line = $lines[$i]\n if ($line -match \"^#\" -or $line -match \"^[\\s\\t]*$\") {\n continue\n }\n\n $line = \"\"\n\n $lines[$i] = $line\n}\n\nforeach ($hostEntry in $hostEntries.Split(\"`n\")) {\n Write-Verbose $hostEntry\n $parts = $hostEntry.Split(\",\")\n $ip = $parts[0]\n Write-Verbose $ip\n $hostname = $parts[1]\n Write-Verbose $hostname\n $line = \"$ip`t`t`t$hostname\"\n Write-Host \"Adding entry:$line\"\n $lines += $line\n}\n\nOut-File -FilePath $hostsPath -Encoding ascii -InputObject $lines.Where({ $_ -ne \"\"}) -Force" 13 | }, 14 | "Parameters": [ 15 | { 16 | "Id": "a815bb21-5ca4-4645-9076-e0e9c9042006", 17 | "Name": "uhf_Hosts", 18 | "Label": "Hosts Entries", 19 | "HelpText": "A comma delimited list of IP's and Hostnames", 20 | "DefaultValue": "127.0.0.1,hostname.xyz\n127.0.0.1,hostname2.xyz", 21 | "DisplaySettings": { 22 | "Octopus.ControlType": "MultiLineText" 23 | } 24 | } 25 | ], 26 | "LastModifiedBy": "BlueWombat", 27 | "$Meta": { 28 | "ExportedAt": "2019-12-02T05:53:03.714Z", 29 | "OctopusVersion": "2019.10.8", 30 | "Type": "ActionTemplate" 31 | }, 32 | "Category": "hosts-file" 33 | } -------------------------------------------------------------------------------- /step-templates/wait.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "c69b03c9-bfa1-41ab-a712-ba74dc0512b1", 3 | "Name": "Wait", 4 | "Description": "Pauses the process for a set duration", 5 | "ActionType": "Octopus.Script", 6 | "Version": 2, 7 | "CommunityActionTemplateId": null, 8 | "Packages": [], 9 | "Properties": { 10 | "Octopus.Action.Script.ScriptBody": "[int]$Wait = $Seconds\nWrite-Output \"Waiting for $seconds seconds\"\nfor ($CountDown = $Wait; $CountDown -ge 0; $CountDown--){\nWrite-Verbose \"$CountDown seconds remaining\"\nStart-Sleep 1\n}", 11 | "Octopus.Action.Script.Syntax": "PowerShell", 12 | "Octopus.Action.Script.ScriptSource": "Inline", 13 | "Octopus.Action.RunOnServer": "false" 14 | }, 15 | "Parameters": [ 16 | { 17 | "Id": "8bcf738c-d7f8-4f4a-b35f-15aedecd24a8", 18 | "Name": "Seconds", 19 | "Label": "Seconds", 20 | "HelpText": "Number of seconds to wait", 21 | "DefaultValue": "120", 22 | "DisplaySettings": { 23 | "Octopus.ControlType": "SingleLineText" 24 | } 25 | } 26 | ], 27 | "LastModifiedOn": "2020-01-12T21:05:05.736Z", 28 | "LastModifiedBy": "biohazardhpk", 29 | "$Meta": { 30 | "ExportedAt": "2019-12-06T20:15:05.736Z", 31 | "OctopusVersion": "2018.9.16", 32 | "Type": "ActionTemplate" 33 | }, 34 | "Category": "wait" 35 | } 36 | -------------------------------------------------------------------------------- /step-templates/windows-add-back-connection-host-name.json: -------------------------------------------------------------------------------- 1 | { 2 | "Id": "d66d091d-39d8-43ba-a7d4-db868cd9f7d5", 3 | "Name": "Windows - Add Back Connection Host Name", 4 | "Description": "Disables loopback checking for a given host header name, allowing an IIS site running with integrated authentication to be accessed from the same machine, e.g. an MVC application referencing a WebAPI application. See below for more information:\n\n