DevOps Orchestration
Build reliable, long-running workflows to orchestrate DevOps procedures. Use templates and modify them to fit your needs.
Use AutoKitteh to seamlessly connect services with simple Python code, while the platform handles execution, authentication, secret management, monitoring, code management, reliability, and more.
On-prem, private cloud or use hosted solution.
Integrations
GitHub
AWS
Slack
Jira
HTTP
Jenkins
GCP
Kubernetes
SSH
GitHub Actions
Streamline code reviews
Coordinate GitHub and Slack to efficiently manage code reviews. Use Slack to manage the process without going back and forth to GitHub.
Jira issue from HTTP webhook
Create a Jira ticket from an HTTP webhook. Used for internal workflows that create tickets for internal tasks.
Temporarily elevate permissions
A developer requests temporary elevation of AWS permissions from the IT team in Slack. If approved, permissions are modified and automatically reverted after the specified time.
AWS health check
Announce AWS health events in Slack, based on resource ownership in Google Sheet.
Example: Jira issue from webhook
A customized workflow for an internal use case where an application sends a webhook to create a Jira ticket. The ticket’s attributes are derived from the received webhook.
Integrations: HTTP webhook, Jira
Prerequisites: Jira connection setup
Trigger: Webhook (configured in project settings)
Flow:
- If the method is not “GET” terminate the workflow
- Decode the message based on the content type
- Create Jira issue with the field received in the event
import json
from urllib.parse import parse_qsl
from autokitteh.atlassian import atlassian_jira_client
def on_http_request(event):
"""Webhook for HTTP GET and POST requests."""
if event.data.method == "GET":
_create_jira_issue(event.data.url.query)
return
match event.data.headers.get("Content-Type"):
case "application/json":
_create_jira_issue(json.loads(event.data.body))
case "application/x-www-form-urlencoded":
body = event.data.body.decode("utf-8")
_create_jira_issue(dict(parse_qsl(body)))
def _create_jira_issue(fields):
if isinstance(fields["project"], str):
fields["project"] = {"key": fields["project"]}
if isinstance(fields["issuetype"], str):
fields["issuetype"] = {"name": fields["issuetype"]}
issue = atlassian_jira_client("jira_connection").issue_create(fields=fields)
print("Created Jira issue: " + issue["key"]) Benefits
- Serverless platform for developers
- Simple to use interface
- Connectivity to applications
- Secret management
- Durable and long-running workflows support
- Self hosted / hosted in AutoKitteh’s cloud
Even More
- Learn how AutoKitteh can help you build workflows and automations for various use cases.