Back to integrations
Dagster + Github

Dagster + Github

Integrate with GitHub Apps and automate operations within your github repositories.

About this integration

This library provides an integration with GitHub Apps by providing a thin wrapper on the github v4 graphql API. This allows for automating operations within your github repositories and with the tighter permissions scopes that github apps allow for vs using a personal token.

Installation

pip install dagster-github

Example

import os
from dagster import job, op
from dagster_github import github_resource

github = github_resource.configured({
    "github_app_id": os.environ['GITHUB_APP_ID'],
    "github_app_private_rsa_key": os.environ['GITHUB_PRIVATE_KEY'],
    "github_installation_id": os.environ['GITHUB_INSTALLATION_ID'],
})

@op(required_resource_keys={'github'})
def github_op(context):
    context.resources.github.create_issue(
        repo_name='dagster',
        repo_owner='dagster-io',
        title='Dagster\'s first github issue',
        body='this open source thing seems like a pretty good idea',
    )

@job(resource_defs={'github': github})
def github_job():
    github_op()

About Github

Github provides a highly available git repo, access control, bug tracking, software feature requests, task management, continuous integration, and wikis for open source and commercial projects.