# Github Actions

## Usage

By default Github Actions can not be triggered via the API. To enable Sleuth to trigger the workflow, you need to add `workflow_dispatch` option in `on` section:

```
# Controls when the action will run. 
on:
  # Triggers the workflow on push or pull request events
  # but only for the master branch
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

  # Allows Sleuth to triggered the workflow through API
  workflow_dispatch:
```

The only **required parameter** for Sleuth is the **name of the workflow file** located in your repository `./github/workflows/` folder. Sleuth will pass any additional specified parameters to Github Actions API when triggering the build in case your workflow requires additional input parameters. See [Github Actions documentation](https://docs.github.com/en/actions) for additional informations.

This example triggers a `deploy-prod` workflow in Github when code is deployed to the "Staging" environment for more than 4 hours and is healthy:

```
rules:
  - run-deploy:
      conditions:
        - environment='Staging'
        - deployed_for>'4h'
        - health='Healthy'
      actions:
        - trigger_build:
            parameters:
              name: 'deploy-prod.yml'
              my-custom-non-required-param: 'we are going live'
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.sleuth.io/sleuth-dora/sleuth-automations/actions/trigger_build/trigger-build-gh-actions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
