{"id":28352349,"url":"https://github.com/ayuspoudel/aws-lambda-serverless-jira-github-sync","last_synced_at":"2025-08-22T06:10:15.507Z","repository":{"id":290256163,"uuid":"973782521","full_name":"ayuspoudel/aws-lambda-serverless-jira-github-sync","owner":"ayuspoudel","description":"Event-driven AWS Lambda project to automate Jira issue creation from GitHub events using a fully serverless architecture.","archived":false,"fork":false,"pushed_at":"2025-05-11T23:58:21.000Z","size":32,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-28T08:03:44.396Z","etag":null,"topics":["automation","aws","github","jira","lambda","serverless"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ayuspoudel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-27T18:16:48.000Z","updated_at":"2025-05-29T22:28:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"eaaef10e-9902-4aaa-9165-fd1fe3b70f8e","html_url":"https://github.com/ayuspoudel/aws-lambda-serverless-jira-github-sync","commit_stats":null,"previous_names":["ayuspoudel/serverless-github-jira-automation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ayuspoudel/aws-lambda-serverless-jira-github-sync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayuspoudel%2Faws-lambda-serverless-jira-github-sync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayuspoudel%2Faws-lambda-serverless-jira-github-sync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayuspoudel%2Faws-lambda-serverless-jira-github-sync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayuspoudel%2Faws-lambda-serverless-jira-github-sync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ayuspoudel","download_url":"https://codeload.github.com/ayuspoudel/aws-lambda-serverless-jira-github-sync/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayuspoudel%2Faws-lambda-serverless-jira-github-sync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271594379,"owners_count":24786707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","aws","github","jira","lambda","serverless"],"created_at":"2025-05-27T23:07:00.444Z","updated_at":"2025-08-22T06:10:15.482Z","avatar_url":"https://github.com/ayuspoudel.png","language":"Python","readme":"\n# Serverless GitHub → Jira Automation\n\nThis project is a Python-based serverless API that automates the creation of Jira tickets from GitHub issues. When authorized users comment `/jira` on an issue, a corresponding Jira ticket is created with relevant metadata and context. This saves time and streamlines your workflow.\n\n## Features\n\n- Authenticated comment-based trigger (`/jira`)\n- GitHub issue to Jira ticket sync\n- Automatic triage logic based on labels and issue content\n- Modular structure for easy extension\n\n## Project Structure\n\nsrc/\n- automated_triage.py         - Logic to prioritize and route tickets\n- create_ticket.py            - Jira ticket creation and field mapping\n- fetch_projects.py           - Fetch available Jira projects and types\n- issuetypes.py               - Maps issue types and project keys\n- jira_authentication.py      - OAuth or API token-based Jira auth\n\n## How It Works\n\n1. A user comments `/jira` on a GitHub issue\n2. The serverless API:\n   - Verifies the user is authorized\n   - Extracts issue title, description, and labels\n   - Determines the target project and issue type\n   - Creates a Jira ticket using the Jira API\n3. The ticket ID is posted as a comment on the original GitHub issue\n\n## Requirements\n\n- Python 3.9+\n- Jira Cloud account with API token\n- GitHub repository with webhook/event listener\n\nrequirements.txt:\n```\n\nrequests\nfastapi\nuvicorn\npython-dotenv\n\n````\n\n## Security\n\n- Uses environment variables and token-based authentication\n- Can be extended with HMAC signature checks from GitHub webhooks\n\n## Deployment Options\n\n- AWS Lambda with API Gateway\n- Docker container (Dockerfile provided)\n- Serverless Framework or Terraform\n\n## Example Request\n\nPOST /github-event-webhook\n\n```json\n{\n  \"action\": \"created\",\n  \"comment\": {\n    \"body\": \"/jira\",\n    \"user\": {\n      \"login\": \"authorized-contributor\"\n    }\n  },\n  \"issue\": {\n    \"title\": \"Login button not working\",\n    \"body\": \"Steps to reproduce...\",\n    \"labels\": [\"bug\", \"frontend\"]\n  }\n}\n````\n\n## Contributors\n\nAyush Poudel ([https://github.com/ayuspoudel](https://github.com/ayuspoudel))\n\n## Future Enhancements\n\n* Slack notifications on ticket creation\n* Auto-assign based on GitHub assignee\n* Error logging and observability with Prometheus\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayuspoudel%2Faws-lambda-serverless-jira-github-sync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayuspoudel%2Faws-lambda-serverless-jira-github-sync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayuspoudel%2Faws-lambda-serverless-jira-github-sync/lists"}