Skip to main content

GitHub: Permissions and setup

Streamline GitHub organization, repository, and issue management using Atomicwork workflows.

R
Written by Riya Sebastian
Updated over 3 weeks ago

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.

Did this answer your question?