Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/octopusdeploy/run-runbook-action
| Public | :octocat: GitHub Action to Run a Runbook in Octopus Deploy
https://github.com/octopusdeploy/run-runbook-action
cli deployment github-actions octopus-deploy public
Last synced: 2 months ago
JSON representation
| Public | :octocat: GitHub Action to Run a Runbook in Octopus Deploy
- Host: GitHub
- URL: https://github.com/octopusdeploy/run-runbook-action
- Owner: OctopusDeploy
- License: other
- Created: 2021-03-30T12:19:09.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-23T02:40:12.000Z (8 months ago)
- Last Synced: 2024-05-23T03:36:18.339Z (8 months ago)
- Topics: cli, deployment, github-actions, octopus-deploy, public
- Language: TypeScript
- Homepage: https://github.com/marketplace/actions/run-runbook-in-octopus-deploy
- Size: 2.33 MB
- Stars: 17
- Watchers: 17
- Forks: 8
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# run-runbook-action
This is a GitHub Action that will run a [runbook](https://octopus.com/docs/runbooks) in Octopus Deploy.
> [!IMPORTANT]
> As of **v3** of this action, Octopus Server version `2022.3.5512` or newer is required.## Migration Guide(s)
Please refer to the [migration guide](migration-guide.md) if moving between major versions of this action.
## Examples
Incorporate the following actions in your workflow to push a package to Octopus Deploy using an API key, a target instance (i.e. `server`), and a project:
```yml
steps:
- name: Run a runbook in Octopus Deploy 🐙
uses: OctopusDeploy/run-runbook-action@v3
env:
OCTOPUS_API_KEY: ${{ secrets.API_KEY }}
OCTOPUS_URL: ${{ secrets.SERVER }}
OCTOPUS_SPACE: 'Outer Space'
with:
project: 'Test Project'
runbook: 'Test Runbook'
environments: |
'Dev'
'Test'
```## ✍️ Environment Variables
| Name | Description |
| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |
| `OCTOPUS_URL` | The base URL hosting Octopus Deploy (i.e. `https://octopus.example.com`). It is strongly recommended that this value retrieved from a GitHub secret. |
| `OCTOPUS_API_KEY` | The API key used to access Octopus Deploy. It is strongly recommended that this value retrieved from a GitHub secret. |
| `OCTOPUS_SPACE` | The Name of a space within which this command will be executed. |## 📥 Inputs
| Name | Description |
| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project` | **Required.** The name of the project associated with this runbook. |
| `runbook` | **Required.** The name of the runbook. |
| `environments` | **Required.** A list of environments in Octopus Deploy in which to run (i.e. Dev, Test, Prod). Each environment should be added on a new line. |
| `variables` | A multi-line list of prompted variable values. Format: name:value. |
| `server` | The instance URL hosting Octopus Deploy (i.e. ""). The instance URL is required, but you may also use the OCTOPUS_URL environment variable. |
| `api_key` | The API key used to access Octopus Deploy. An API key is required, but you may also use the OCTOPUS_API_KEY environment variable. It is strongly recommended that this value retrieved from a GitHub secret. |
| `space` | The name of a space within which this command will be executed. The space name is required, but you may also use the OCTOPUS_SPACE environment variable. |## 📤 Outputs
| Name | Description |
| :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `server_tasks` | JSON array of objects containing the Octopus Deploy server tasks Ids (`serverTaskId`) and environment name (`environmentName`), and tenant name (`tenantName`) if the run was for a tenant, for the executions tasks that were queued. Use the `await-task-action`to wait for any/all of these tasks. |## 🤝 Contributions
Contributions are welcome! :heart: Please read our [Contributing Guide](CONTRIBUTING.md) for information about how to get involved in this project.