The GitHub integration in Atomicwork empowers your IT and engineering teams to automate complex workflows involving organizations, repositories, and issues. With comprehensive workflow actions, IT teams can streamline access provisioning, issue tracking, and repository management directly through Atomicwork's automation engine.
Authorization and permissions
The GitHub integration uses OAuth 2.0 with Bearer token authentication. Each action execution requires both a tenant ID and integration ID for proper authentication and multi-tenant isolation.
Based on the operations your team wants to perform, the GitHub OAuth app requires the following GitHub OAuth scopes:
read:org - For listing organizations and organization members.
admin:org - For creating organization invitations and managing custom repository roles.
repo - For full repository access, including reading repository information, managing collaborators, and handling issues.
read:user - For searching and listing GitHub users.
Key capabilities
The integration provides actions that customers can use in workflows and automations, categorized into three main areas:
Organization management
List Organizations: Lists all GitHub organizations accessible by the integration.
Create Organization Invitation: Creates invitations to GitHub organizations with specified roles (direct_member, admin, billing_manager) and optional team assignments.
Repository management
Get Repository: Retrieves information about a specific repository by ID.
Add Repository Collaborator: Adds users to repositories with customizable roles (Read, Write, Maintain, Admin, Triage, or custom roles).
List Repository Roles: Lists all available roles (including custom roles) for a repository.
Issue management
Create Repository Issue: Creates new issues with title, body, assignees, labels, and milestones.
Get Repository Issue: Retrieves a specific issue by its number.
List Repository Issues: Lists all issues with advanced filtering (state, assignee, creator, labels, date range) and pagination support.
Update Repository Issue: Updates existing issues including title, body, state, assignees, labels, and state reason.
Common use cases
By combining these actions within Atomicwork workflows, you can automate several critical operational scenarios.
Automated access provisioning
This is the primary use case for the integration. You can set up workflows that allow employees to request access naturally.
Conversational Requests: Employees can ask "Add me to GitHub" or "Can I get access to the userkit repo?" in the flow of work through Teams, Slack, Browser or the portal.
Automated Approval Flow: The system captures the repository, desired role, and username, then routes the request for approval (if required).
Instant Provisioning: Once approved, the integration automatically grants the requested access.
Issue management and tracking
Automated Creation: Create GitHub issues automatically from service requests, incidents, or other triggers in Atomicwork.
Status Tracking: Monitor and update issue states programmatically to keep systems in sync.
Advanced Filtering: Search issues by assignee, creator, state, labels, or date ranges for reporting purposes.
Organization and workflow automation
Bulk Onboarding: Automate new employee invitations to GitHub organizations with appropriate roles and team assignments when a new developer joins.
Incident Response: When an incident is created in Atomicwork, automatically create a corresponding GitHub issue and assign it to the on-call engineer.
