Package @pulumi/github

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-github repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-github repo.

var github = require("@pulumi/github");
import * as github from "@pulumi/github";

Modules

Resources

Functions

Others

Resources

Resource ActionsSecret

class ActionsSecret extends CustomResource

constructor

new ActionsSecret(name: string, args: ActionsSecretArgs, opts?: pulumi.CustomResourceOptions)

Create a ActionsSecret resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ActionsSecretState, opts?: pulumi.CustomResourceOptions): ActionsSecret

Get an existing ActionsSecret resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ActionsSecret

Returns true if the given object is an instance of ActionsSecret. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property createdAt

public createdAt: pulumi.Output<string>;

Date of actionsSecret creation.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property plaintextValue

public plaintextValue: pulumi.Output<string>;

Plaintext value of the secret to be encrypted

property repository

public repository: pulumi.Output<string>;

Name of the repository

property secretName

public secretName: pulumi.Output<string>;

Name of the secret

property updatedAt

public updatedAt: pulumi.Output<string>;

Date of actionsSecret update.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Branch

class Branch extends CustomResource

This resource allows you to create and manage branches within your repository.

Additional constraints can be applied to ensure your branch is created from another branch or commit.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const development = new github.Branch("development", {
    branch: "development",
    repository: "example",
});

constructor

new Branch(name: string, args: BranchArgs, opts?: pulumi.CustomResourceOptions)

Create a Branch resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BranchState, opts?: pulumi.CustomResourceOptions): Branch

Get an existing Branch resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Branch

Returns true if the given object is an instance of Branch. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property branch

public branch: pulumi.Output<string>;

The repository branch to create.

property etag

public etag: pulumi.Output<string>;

An etag representing the Branch object.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ref

public ref: pulumi.Output<string>;

A string representing a branch reference, in the form of refs/heads/<branch>.

property repository

public repository: pulumi.Output<string>;

The GitHub repository name.

property sha

public sha: pulumi.Output<string>;

A string storing the reference’s HEAD commit’s SHA1.

property sourceBranch

public sourceBranch: pulumi.Output<string | undefined>;

The branch name to start from. Defaults to master.

property sourceSha

public sourceSha: pulumi.Output<string>;

The commit hash to start from. Defaults to the tip of sourceBranch. If provided, sourceBranch is ignored.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource BranchProtection

class BranchProtection extends CustomResource

Protects a GitHub branch.

This resource allows you to configure branch protection for repositories in your organization. When applied, the branch will be protected from forced pushes and deletion. Additional constraints, such as required status checks or restrictions on users, teams, and apps, can also be configured.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const exampleTeam = new github.Team("example", {});
// Protect the master branch of the foo repository. Additionally, require that
// the "ci/travis" context to be passing and only allow the engineers team merge
// to the branch.
const exampleBranchProtection = new github.BranchProtection("example", {
    branch: "master",
    enforceAdmins: true,
    repository: github_repository_example.name,
    requiredPullRequestReviews: {
        dismissStaleReviews: true,
        dismissalTeams: [
            exampleTeam.slug,
            github_team_second.slug,
        ],
        dismissalUsers: ["foo-user"],
    },
    requiredStatusChecks: {
        contexts: ["ci/travis"],
        strict: false,
    },
    restrictions: {
        apps: ["foo-app"],
        teams: [exampleTeam.slug],
        users: ["foo-user"],
    },
});
const exampleTeamRepository = new github.TeamRepository("example", {
    permission: "pull",
    repository: github_repository_example.name,
    teamId: exampleTeam.id,
});

constructor

new BranchProtection(name: string, args: BranchProtectionArgs, opts?: pulumi.CustomResourceOptions)

Create a BranchProtection resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BranchProtectionState, opts?: pulumi.CustomResourceOptions): BranchProtection

Get an existing BranchProtection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is BranchProtection

Returns true if the given object is an instance of BranchProtection. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property branch

public branch: pulumi.Output<string>;

The Git branch to protect.

property enforceAdmins

public enforceAdmins: pulumi.Output<boolean | undefined>;

Boolean, setting this to true enforces status checks for repository administrators.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property repository

public repository: pulumi.Output<string>;

The GitHub repository name.

property requireSignedCommits

public requireSignedCommits: pulumi.Output<boolean | undefined>;

Boolean, setting this to true requires all commits to be signed with GPG.

property requiredPullRequestReviews

public requiredPullRequestReviews: pulumi.Output<BranchProtectionRequiredPullRequestReviews | undefined>;

Enforce restrictions for pull request reviews. See Required Pull Request Reviews below for details.

property requiredStatusChecks

public requiredStatusChecks: pulumi.Output<BranchProtectionRequiredStatusChecks | undefined>;

Enforce restrictions for required status checks. See Required Status Checks below for details.

property restrictions

public restrictions: pulumi.Output<BranchProtectionRestrictions | undefined>;

Enforce restrictions for the users and teams that may push to the branch. See Restrictions below for details.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource IssueLabel

class IssueLabel extends CustomResource

constructor

new IssueLabel(name: string, args: IssueLabelArgs, opts?: pulumi.CustomResourceOptions)

Create a IssueLabel resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: IssueLabelState, opts?: pulumi.CustomResourceOptions): IssueLabel

Get an existing IssueLabel resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is IssueLabel

Returns true if the given object is an instance of IssueLabel. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property color

public color: pulumi.Output<string>;

A 6 character hex code, without the leading #, identifying the color of the label.

property description

public description: pulumi.Output<string | undefined>;

A short description of the label.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the label.

property repository

public repository: pulumi.Output<string>;

The GitHub repository

property url

public url: pulumi.Output<string>;

The URL to the issue label

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Membership

class Membership extends CustomResource

Provides a GitHub membership resource.

This resource allows you to add/remove users from your organization. When applied, an invitation will be sent to the user to become part of the organization. When destroyed, either the invitation will be cancelled or the user will be removed.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

// Add a user to the organization
const membershipForSomeUser = new github.Membership("membershipForSomeUser", {
    role: "member",
    username: "SomeUser",
});

constructor

new Membership(name: string, args: MembershipArgs, opts?: pulumi.CustomResourceOptions)

Create a Membership resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: MembershipState, opts?: pulumi.CustomResourceOptions): Membership

Get an existing Membership resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Membership

Returns true if the given object is an instance of Membership. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property role

public role: pulumi.Output<string | undefined>;

The role of the user within the organization. Must be one of member or admin. Defaults to member.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property username

public username: pulumi.Output<string>;

The user to add to the organization.

Resource OrganizationBlock

class OrganizationBlock extends CustomResource

This resource allows you to create and manage blocks for GitHub organizations.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = new github.OrganizationBlock("example", {
    username: "paultyng",
});

constructor

new OrganizationBlock(name: string, args: OrganizationBlockArgs, opts?: pulumi.CustomResourceOptions)

Create a OrganizationBlock resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OrganizationBlockState, opts?: pulumi.CustomResourceOptions): OrganizationBlock

Get an existing OrganizationBlock resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is OrganizationBlock

Returns true if the given object is an instance of OrganizationBlock. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property username

public username: pulumi.Output<string>;

The name of the user to block.

Resource OrganizationProject

class OrganizationProject extends CustomResource

This resource allows you to create and manage projects for GitHub organization.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const project = new github.OrganizationProject("project", {
    body: "This is a organization project.",
});

constructor

new OrganizationProject(name: string, args?: OrganizationProjectArgs, opts?: pulumi.CustomResourceOptions)

Create a OrganizationProject resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OrganizationProjectState, opts?: pulumi.CustomResourceOptions): OrganizationProject

Get an existing OrganizationProject resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is OrganizationProject

Returns true if the given object is an instance of OrganizationProject. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property body

public body: pulumi.Output<string | undefined>;

The body of the project.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the project.

property url

public url: pulumi.Output<string>;

URL of the project

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource OrganizationWebhook

class OrganizationWebhook extends CustomResource

This resource allows you to create and manage webhooks for GitHub organization.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const foo = new github.OrganizationWebhook("foo", {
    active: false,
    configuration: {
        contentType: "form",
        insecureSsl: false,
        url: "https://google.de/",
    },
    events: ["issues"],
});

constructor

new OrganizationWebhook(name: string, args: OrganizationWebhookArgs, opts?: pulumi.CustomResourceOptions)

Create a OrganizationWebhook resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: OrganizationWebhookState, opts?: pulumi.CustomResourceOptions): OrganizationWebhook

Get an existing OrganizationWebhook resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is OrganizationWebhook

Returns true if the given object is an instance of OrganizationWebhook. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property active

public active: pulumi.Output<boolean | undefined>;

Indicate of the webhook should receive events. Defaults to true.

property configuration

public configuration: pulumi.Output<OrganizationWebhookConfiguration | undefined>;

key/value pair of configuration for this webhook. Available keys are url, contentType, secret and insecureSsl.

property etag

public etag: pulumi.Output<string>;

property events

public events: pulumi.Output<string[]>;

A list of events which should trigger the webhook. See a list of available events

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property url

public url: pulumi.Output<string>;

URL of the webhook

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ProjectColumn

class ProjectColumn extends CustomResource

This resource allows you to create and manage columns for GitHub projects.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const project = new github.OrganizationProject("project", {
    body: "This is an organization project.",
});
const column = new github.ProjectColumn("column", {
    projectId: project.id,
});

constructor

new ProjectColumn(name: string, args: ProjectColumnArgs, opts?: pulumi.CustomResourceOptions)

Create a ProjectColumn resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ProjectColumnState, opts?: pulumi.CustomResourceOptions): ProjectColumn

Get an existing ProjectColumn resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ProjectColumn

Returns true if the given object is an instance of ProjectColumn. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the column.

property projectId

public projectId: pulumi.Output<string>;

The ID of an existing project that the column will be created in.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Provider

class Provider extends ProviderResource

The provider type for the github package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

constructor

new Provider(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions)

Create a Provider resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Provider

Returns true if the given object is an instance of Provider. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method register

static register(provider: ProviderResource | undefined): Promise<string | undefined>

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Repository

class Repository extends CustomResource

constructor

new Repository(name: string, args?: RepositoryArgs, opts?: pulumi.CustomResourceOptions)

Create a Repository resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryState, opts?: pulumi.CustomResourceOptions): Repository

Get an existing Repository resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Repository

Returns true if the given object is an instance of Repository. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property allowMergeCommit

public allowMergeCommit: pulumi.Output<boolean | undefined>;

Set to false to disable merge commits on the repository.

property allowRebaseMerge

public allowRebaseMerge: pulumi.Output<boolean | undefined>;

Set to false to disable rebase merges on the repository.

property allowSquashMerge

public allowSquashMerge: pulumi.Output<boolean | undefined>;

Set to false to disable squash merges on the repository.

property archived

public archived: pulumi.Output<boolean | undefined>;

Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.

property autoInit

public autoInit: pulumi.Output<boolean | undefined>;

Set to true to produce an initial commit in the repository.

property defaultBranch

public defaultBranch: pulumi.Output<string>;

The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

property deleteBranchOnMerge

public deleteBranchOnMerge: pulumi.Output<boolean | undefined>;

Automatically delete head branch after a pull request is merged. Defaults to false.

property description

public description: pulumi.Output<string | undefined>;

A description of the repository.

property etag

public etag: pulumi.Output<string>;

property fullName

public fullName: pulumi.Output<string>;

A string of the form “orgname/reponame”.

property gitCloneUrl

public gitCloneUrl: pulumi.Output<string>;

URL that can be provided to git clone to clone the repository anonymously via the git protocol.

property gitignoreTemplate

public gitignoreTemplate: pulumi.Output<string | undefined>;

Use the name of the template without the extension. For example, “Haskell”.

property hasDownloads

public hasDownloads: pulumi.Output<boolean | undefined>;

Set to true to enable the (deprecated) downloads features on the repository.

property hasIssues

public hasIssues: pulumi.Output<boolean | undefined>;

Set to true to enable the GitHub Issues features on the repository.

property hasProjects

public hasProjects: pulumi.Output<boolean | undefined>;

Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.

property hasWiki

public hasWiki: pulumi.Output<boolean | undefined>;

Set to true to enable the GitHub Wiki features on the repository.

property homepageUrl

public homepageUrl: pulumi.Output<string | undefined>;

URL of a page describing the project.

property htmlUrl

public htmlUrl: pulumi.Output<string>;

URL to the repository on the web.

property httpCloneUrl

public httpCloneUrl: pulumi.Output<string>;

URL that can be provided to git clone to clone the repository via HTTPS.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property isTemplate

public isTemplate: pulumi.Output<boolean | undefined>;

Set to true to tell GitHub that this is a template repository.

property licenseTemplate

public licenseTemplate: pulumi.Output<string | undefined>;

Use the name of the template without the extension. For example, “mit” or “mpl-2.0”.

property name

public name: pulumi.Output<string>;

The name of the repository.

property nodeId

public nodeId: pulumi.Output<string>;

property private

public private: pulumi.Output<boolean | undefined>;

Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

property sshCloneUrl

public sshCloneUrl: pulumi.Output<string>;

URL that can be provided to git clone to clone the repository via SSH.

property svnUrl

public svnUrl: pulumi.Output<string>;

URL that can be provided to svn checkout to check out the repository via GitHub’s Subversion protocol emulation.

property template

public template: pulumi.Output<RepositoryTemplate | undefined>;

Use a template repository to create this resource. See Template Repositories below for details.

property topics

public topics: pulumi.Output<string[] | undefined>;

The list of topics of the repository.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource RepositoryCollaborator

class RepositoryCollaborator extends CustomResource

Provides a GitHub repository collaborator resource.

This resource allows you to add/remove collaborators from repositories in your organization. Collaborators can have explicit (and differing levels of) read, write, or administrator access to specific repositories in your organization, without giving the user full organization membership.

When applied, an invitation will be sent to the user to become a collaborator on a repository. When destroyed, either the invitation will be cancelled or the collaborator will be removed from the repository.

Further documentation on GitHub collaborators:

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

// Add a collaborator to a repository
const aRepoCollaborator = new github.RepositoryCollaborator("aRepoCollaborator", {
    permission: "admin",
    repository: "our-cool-repo",
    username: "SomeUser",
});

constructor

new RepositoryCollaborator(name: string, args: RepositoryCollaboratorArgs, opts?: pulumi.CustomResourceOptions)

Create a RepositoryCollaborator resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryCollaboratorState, opts?: pulumi.CustomResourceOptions): RepositoryCollaborator

Get an existing RepositoryCollaborator resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RepositoryCollaborator

Returns true if the given object is an instance of RepositoryCollaborator. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property invitationId

public invitationId: pulumi.Output<string>;

ID of the invitation to be used in github..UserInvitationAccepter

property permission

public permission: pulumi.Output<string | undefined>;

The permission of the outside collaborator for the repository. Must be one of pull, push, maintain, triage or admin. Defaults to push.

property repository

public repository: pulumi.Output<string>;

The GitHub repository

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property username

public username: pulumi.Output<string>;

The user to add to the repository as a collaborator.

Resource RepositoryDeployKey

class RepositoryDeployKey extends CustomResource

Provides a GitHub repository deploy key resource.

A deploy key is an SSH key that is stored on your server and grants access to a single GitHub repository. This key is attached directly to the repository instead of to a personal user account.

This resource allows you to add/remove repository deploy keys.

Further documentation on GitHub repository deploy keys: - About deploy keys

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

// Add a deploy key
const exampleRepositoryDeployKey = new github.RepositoryDeployKey("exampleRepositoryDeployKey", {
    key: "ssh-rsa AAA...",
    readOnly: false,
    repository: "test-repo",
    title: "Repository test key",
});

constructor

new RepositoryDeployKey(name: string, args: RepositoryDeployKeyArgs, opts?: pulumi.CustomResourceOptions)

Create a RepositoryDeployKey resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryDeployKeyState, opts?: pulumi.CustomResourceOptions): RepositoryDeployKey

Get an existing RepositoryDeployKey resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RepositoryDeployKey

Returns true if the given object is an instance of RepositoryDeployKey. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property key

public key: pulumi.Output<string>;

A SSH key.

property readOnly

public readOnly: pulumi.Output<boolean | undefined>;

A boolean qualifying the key to be either read only or read/write.

property repository

public repository: pulumi.Output<string>;

Name of the GitHub repository.

property title

public title: pulumi.Output<string>;

A title.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource RepositoryFile

class RepositoryFile extends CustomResource

This resource allows you to create and manage files within a GitHub repository.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const gitignore = new github.RepositoryFile("gitignore", {
    content: "**&#47;*.tfstate",
    file: ".gitignore",
    repository: "example",
});

constructor

new RepositoryFile(name: string, args: RepositoryFileArgs, opts?: pulumi.CustomResourceOptions)

Create a RepositoryFile resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryFileState, opts?: pulumi.CustomResourceOptions): RepositoryFile

Get an existing RepositoryFile resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RepositoryFile

Returns true if the given object is an instance of RepositoryFile. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property branch

public branch: pulumi.Output<string | undefined>;

Git branch (defaults to master). The branch must already exist, it will not be created if it does not already exist.

property commitAuthor

public commitAuthor: pulumi.Output<string>;

Committer author name to use.

property commitEmail

public commitEmail: pulumi.Output<string>;

Committer email address to use.

property commitMessage

public commitMessage: pulumi.Output<string>;

Commit message when adding or updating the managed file.

property content

public content: pulumi.Output<string>;

The file content.

property file

public file: pulumi.Output<string>;

The path of the file to manage.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property repository

public repository: pulumi.Output<string>;

The repository name

property sha

public sha: pulumi.Output<string>;

The SHA blob of the file.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource RepositoryProject

class RepositoryProject extends CustomResource

This resource allows you to create and manage projects for GitHub repository.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = new github.Repository("example", {
    description: "My awesome codebase",
    hasProjects: true,
});
const project = new github.RepositoryProject("project", {
    body: "This is a repository project.",
    repository: example.name,
});

constructor

new RepositoryProject(name: string, args: RepositoryProjectArgs, opts?: pulumi.CustomResourceOptions)

Create a RepositoryProject resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryProjectState, opts?: pulumi.CustomResourceOptions): RepositoryProject

Get an existing RepositoryProject resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RepositoryProject

Returns true if the given object is an instance of RepositoryProject. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property body

public body: pulumi.Output<string | undefined>;

The body of the project.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The name of the project.

property repository

public repository: pulumi.Output<string>;

The repository of the project.

property url

public url: pulumi.Output<string>;

URL of the project

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource RepositoryWebhook

class RepositoryWebhook extends CustomResource

constructor

new RepositoryWebhook(name: string, args: RepositoryWebhookArgs, opts?: pulumi.CustomResourceOptions)

Create a RepositoryWebhook resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RepositoryWebhookState, opts?: pulumi.CustomResourceOptions): RepositoryWebhook

Get an existing RepositoryWebhook resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is RepositoryWebhook

Returns true if the given object is an instance of RepositoryWebhook. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property active

public active: pulumi.Output<boolean | undefined>;

Indicate of the webhook should receive events. Defaults to true.

property configuration

public configuration: pulumi.Output<RepositoryWebhookConfiguration | undefined>;

key/value pair of configuration for this webhook. Available keys are url, contentType, secret and insecureSsl. secret is the shared secret, see API documentation.

property etag

public etag: pulumi.Output<string>;

property events

public events: pulumi.Output<string[]>;

A list of events which should trigger the webhook. See a list of available events.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property repository

public repository: pulumi.Output<string>;

The repository of the webhook.

property url

public url: pulumi.Output<string>;

URL of the webhook

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Team

class Team extends CustomResource

Provides a GitHub team resource.

This resource allows you to add/remove teams from your organization. When applied, a new team will be created. When destroyed, that team will be removed.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

// Add a team to the organization
const someTeam = new github.Team("someTeam", {
    description: "Some cool team",
    privacy: "closed",
});

constructor

new Team(name: string, args?: TeamArgs, opts?: pulumi.CustomResourceOptions)

Create a Team resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TeamState, opts?: pulumi.CustomResourceOptions): Team

Get an existing Team resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Team

Returns true if the given object is an instance of Team. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

A description of the team.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ldapDn

public ldapDn: pulumi.Output<string | undefined>;

The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise.

property name

public name: pulumi.Output<string>;

The name of the team.

property nodeId

public nodeId: pulumi.Output<string>;

property parentTeamId

public parentTeamId: pulumi.Output<number | undefined>;

The ID of the parent team, if this is a nested team.

property privacy

public privacy: pulumi.Output<string | undefined>;

The level of privacy for the team. Must be one of secret or closed. Defaults to secret.

property slug

public slug: pulumi.Output<string>;

The slug of the created team, which may or may not differ from name, depending on whether name contains “URL-unsafe” characters. Useful when referencing the team in github..BranchProtection.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource TeamMembership

class TeamMembership extends CustomResource

Provides a GitHub team membership resource.

This resource allows you to add/remove users from teams in your organization. When applied, the user will be added to the team. If the user hasn’t accepted their invitation to the organization, they won’t be part of the team until they do. When destroyed, the user will be removed from the team.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

// Add a user to the organization
const membershipForSomeUser = new github.Membership("membershipForSomeUser", {
    role: "member",
    username: "SomeUser",
});
const someTeam = new github.Team("someTeam", {
    description: "Some cool team",
});
const someTeamMembership = new github.TeamMembership("someTeamMembership", {
    role: "member",
    teamId: someTeam.id,
    username: "SomeUser",
});

constructor

new TeamMembership(name: string, args: TeamMembershipArgs, opts?: pulumi.CustomResourceOptions)

Create a TeamMembership resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TeamMembershipState, opts?: pulumi.CustomResourceOptions): TeamMembership

Get an existing TeamMembership resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TeamMembership

Returns true if the given object is an instance of TeamMembership. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property role

public role: pulumi.Output<string | undefined>;

The role of the user within the team. Must be one of member or maintainer. Defaults to member.

property teamId

public teamId: pulumi.Output<string>;

The GitHub team id

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property username

public username: pulumi.Output<string>;

The user to add to the team.

Resource TeamRepository

class TeamRepository extends CustomResource

This resource manages relationships between teams and repositories in your GitHub organization.

Creating this resource grants a particular team permissions on a particular repository.

The repository and the team must both belong to the same organization on GitHub. This resource does not actually create any repositories; to do that, see github..Repository.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

// Add a repository to the team
const someTeam = new github.Team("someTeam", {
    description: "Some cool team",
});
const someRepo = new github.Repository("someRepo", {});
const someTeamRepo = new github.TeamRepository("someTeamRepo", {
    permission: "pull",
    repository: someRepo.name,
    teamId: someTeam.id,
});

constructor

new TeamRepository(name: string, args: TeamRepositoryArgs, opts?: pulumi.CustomResourceOptions)

Create a TeamRepository resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TeamRepositoryState, opts?: pulumi.CustomResourceOptions): TeamRepository

Get an existing TeamRepository resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TeamRepository

Returns true if the given object is an instance of TeamRepository. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property permission

public permission: pulumi.Output<string | undefined>;

The permissions of team members regarding the repository. Must be one of pull, triage, push, maintain, or admin. Defaults to pull.

property repository

public repository: pulumi.Output<string>;

The repository to add to the team.

property teamId

public teamId: pulumi.Output<string>;

The GitHub team id

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource TeamSyncGroupMapping

class TeamSyncGroupMapping extends CustomResource

This resource allows you to create and manage Identity Provider (IdP) group connections within your GitHub teams. You must have team synchronization enabled for organizations owned by enterprise accounts.

To learn more about team synchronization between IdPs and Github, please refer to: https://help.github.com/en/github/setting-up-and-managing-organizations-and-teams/synchronizing-teams-between-your-identity-provider-and-github

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const exampleGroups = github.getOrganizationTeamSyncGroups({});
const exampleGroupMapping = new github.TeamSyncGroupMapping("exampleGroupMapping", {
    teamSlug: "example",
    dynamic: [{
        forEach: exampleGroups.then(exampleGroups => exampleGroups.groups.filter(g => g.groupName == "someTeamGroup").map(g => g)),
        content: [{
            groupId: group.value.group_id,
            groupName: group.value.group_name,
            groupDescription: group.value.group_description,
        }],
    }],
});

constructor

new TeamSyncGroupMapping(name: string, args: TeamSyncGroupMappingArgs, opts?: pulumi.CustomResourceOptions)

Create a TeamSyncGroupMapping resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TeamSyncGroupMappingState, opts?: pulumi.CustomResourceOptions): TeamSyncGroupMapping

Get an existing TeamSyncGroupMapping resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is TeamSyncGroupMapping

Returns true if the given object is an instance of TeamSyncGroupMapping. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property groups

public groups: pulumi.Output<TeamSyncGroupMappingGroup[] | undefined>;

An Array of GitHub Identity Provider Groups (or empty []). Each group block consists of the fields documented below.


property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property teamSlug

public teamSlug: pulumi.Output<string>;

Slug of the team

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource UserGpgKey

class UserGpgKey extends CustomResource

Provides a GitHub user’s GPG key resource.

This resource allows you to add/remove GPG keys from your user account.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = new github.UserGpgKey("example", {
    armoredPublicKey: `-----BEGIN PGP PUBLIC KEY BLOCK-----
...
-----END PGP PUBLIC KEY BLOCK-----`,
});

constructor

new UserGpgKey(name: string, args: UserGpgKeyArgs, opts?: pulumi.CustomResourceOptions)

Create a UserGpgKey resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: UserGpgKeyState, opts?: pulumi.CustomResourceOptions): UserGpgKey

Get an existing UserGpgKey resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is UserGpgKey

Returns true if the given object is an instance of UserGpgKey. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property armoredPublicKey

public armoredPublicKey: pulumi.Output<string>;

Your public GPG key, generated in ASCII-armored format. See Generating a new GPG key for help on creating a GPG key.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property keyId

public keyId: pulumi.Output<string>;

The key ID of the GPG key, e.g. 3262EFF25BA0D270

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource UserInvitationAccepter

class UserInvitationAccepter extends CustomResource

Provides a resource to manage GitHub repository collaborator invitations.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const exampleRepository = new github.Repository("example", {});
const exampleRepositoryCollaborator = new github.RepositoryCollaborator("example", {
    permission: "push",
    repository: exampleRepository.name,
    username: "example-username",
});
const invitee = new github.Provider("invitee", {
    token: var_invitee_token,
});
const exampleUserInvitationAccepter = new github.UserInvitationAccepter("example", {
    invitationId: exampleRepositoryCollaborator.invitationId,
}, { provider: invitee });

constructor

new UserInvitationAccepter(name: string, args: UserInvitationAccepterArgs, opts?: pulumi.CustomResourceOptions)

Create a UserInvitationAccepter resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: UserInvitationAccepterState, opts?: pulumi.CustomResourceOptions): UserInvitationAccepter

Get an existing UserInvitationAccepter resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is UserInvitationAccepter

Returns true if the given object is an instance of UserInvitationAccepter. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property invitationId

public invitationId: pulumi.Output<string>;

ID of the invitation to accept

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource UserSshKey

class UserSshKey extends CustomResource

Provides a GitHub user’s SSH key resource.

This resource allows you to add/remove SSH keys from your user account.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as fs from "fs";
import * as github from "@pulumi/github";

const example = new github.UserSshKey("example", {
    key: fs.readFileSync("~/.ssh/id_rsa.pub", "utf-8"),
    title: "example title",
});

constructor

new UserSshKey(name: string, args: UserSshKeyArgs, opts?: pulumi.CustomResourceOptions)

Create a UserSshKey resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: UserSshKeyState, opts?: pulumi.CustomResourceOptions): UserSshKey

Get an existing UserSshKey resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is UserSshKey

Returns true if the given object is an instance of UserSshKey. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property etag

public etag: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property key

public key: pulumi.Output<string>;

The public SSH key to add to your GitHub account.

property title

public title: pulumi.Output<string>;

A descriptive name for the new key. e.g. Personal MacBook Air

property url

public url: pulumi.Output<string>;

The URL of the SSH key

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Functions

Function getActionsPublicKey

getActionsPublicKey(args: GetActionsPublicKeyArgs, opts?: pulumi.InvokeOptions): Promise<GetActionsPublicKeyResult>

Use this data source to retrieve information about a GitHub Actions public key. This data source is required to be used with other GitHub secrets interactions. Note that the provider token must have admin rights to a repository to retrieve it’s action public key.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = pulumi.output(github.getActionsPublicKey({
    repository: "exampleRepo",
}, { async: true }));

Function getBranch

getBranch(args: GetBranchArgs, opts?: pulumi.InvokeOptions): Promise<GetBranchResult>

Use this data source to retrieve information about a repository branch.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const development = pulumi.output(github.getBranch({
    branch: "development",
    repository: "example",
}, { async: true }));

Function getCollaborators

getCollaborators(args: GetCollaboratorsArgs, opts?: pulumi.InvokeOptions): Promise<GetCollaboratorsResult>

Use this data source to retrieve the collaborators for a given repository.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const test = pulumi.output(github.getCollaborators({
    owner: "exampleOwner",
    repository: "exampleRepository",
}, { async: true }));

Function getIpRanges

getIpRanges(opts?: pulumi.InvokeOptions): Promise<GetIpRangesResult>

Use this data source to retrieve information about GitHub’s IP addresses.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const test = pulumi.output(github.getIpRanges({ async: true }));

Function getMembership

getMembership(args: GetMembershipArgs, opts?: pulumi.InvokeOptions): Promise<GetMembershipResult>

Use this data source to find out if a user is a member of your organization, as well as what role they have within it. If the user’s membership in the organization is pending their acceptance of an invite, the role they would have once they accept will be returned.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const membershipForSomeUser = pulumi.output(github.getMembership({
    username: "SomeUser",
}, { async: true }));

Function getOrganizationTeamSyncGroups

getOrganizationTeamSyncGroups(opts?: pulumi.InvokeOptions): Promise<GetOrganizationTeamSyncGroupsResult>

Use this data source to retrieve the identity provider (IdP) groups for an organization.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const test = pulumi.output(github.getOrganizationTeamSyncGroups({ async: true }));

Function getRelease

getRelease(args: GetReleaseArgs, opts?: pulumi.InvokeOptions): Promise<GetReleaseResult>

Use this data source to retrieve information about a GitHub release in a specific repository.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = pulumi.output(github.getRelease({
    owner: "example-owner",
    repository: "example-repository",
    retrieveBy: "latest",
}, { async: true }));

Function getRepositories

getRepositories(args: GetRepositoriesArgs, opts?: pulumi.InvokeOptions): Promise<GetRepositoriesResult>

Note: The data source will return a maximum of 1000 repositories as documented in official API docs.

Use this data source to retrieve a list of GitHub repositories using a search query.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = pulumi.output(github.getRepositories({
    query: "org:hashicorp language:Go",
}, { async: true }));

Function getRepository

getRepository(args?: GetRepositoryArgs, opts?: pulumi.InvokeOptions): Promise<GetRepositoryResult>

Function getTeam

getTeam(args: GetTeamArgs, opts?: pulumi.InvokeOptions): Promise<GetTeamResult>

Use this data source to retrieve information about a GitHub team.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = pulumi.output(github.getTeam({
    slug: "example",
}, { async: true }));

Function getUser

getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise<GetUserResult>

Use this data source to retrieve information about a GitHub user.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";

const example = pulumi.output(github.getUser({
    username: "example",
}, { async: true }));

Others

interface ActionsSecretArgs

interface ActionsSecretArgs

The set of arguments for constructing a ActionsSecret resource.

property plaintextValue

plaintextValue: pulumi.Input<string>;

Plaintext value of the secret to be encrypted

property repository

repository: pulumi.Input<string>;

Name of the repository

property secretName

secretName: pulumi.Input<string>;

Name of the secret

interface ActionsSecretState

interface ActionsSecretState

Input properties used for looking up and filtering ActionsSecret resources.

property createdAt

createdAt?: pulumi.Input<string>;

Date of actionsSecret creation.

property plaintextValue

plaintextValue?: pulumi.Input<string>;

Plaintext value of the secret to be encrypted

property repository

repository?: pulumi.Input<string>;

Name of the repository

property secretName

secretName?: pulumi.Input<string>;

Name of the secret

property updatedAt

updatedAt?: pulumi.Input<string>;

Date of actionsSecret update.

interface BranchArgs

interface BranchArgs

The set of arguments for constructing a Branch resource.

property branch

branch: pulumi.Input<string>;

The repository branch to create.

property repository

repository: pulumi.Input<string>;

The GitHub repository name.

property sourceBranch

sourceBranch?: pulumi.Input<string>;

The branch name to start from. Defaults to master.

property sourceSha

sourceSha?: pulumi.Input<string>;

The commit hash to start from. Defaults to the tip of sourceBranch. If provided, sourceBranch is ignored.

interface BranchProtectionArgs

interface BranchProtectionArgs

The set of arguments for constructing a BranchProtection resource.

property branch

branch: pulumi.Input<string>;

The Git branch to protect.

property enforceAdmins

enforceAdmins?: pulumi.Input<boolean>;

Boolean, setting this to true enforces status checks for repository administrators.

property repository

repository: pulumi.Input<string>;

The GitHub repository name.

property requireSignedCommits

requireSignedCommits?: pulumi.Input<boolean>;

Boolean, setting this to true requires all commits to be signed with GPG.

property requiredPullRequestReviews

requiredPullRequestReviews?: pulumi.Input<BranchProtectionRequiredPullRequestReviews>;

Enforce restrictions for pull request reviews. See Required Pull Request Reviews below for details.

property requiredStatusChecks

requiredStatusChecks?: pulumi.Input<BranchProtectionRequiredStatusChecks>;

Enforce restrictions for required status checks. See Required Status Checks below for details.

property restrictions

restrictions?: pulumi.Input<BranchProtectionRestrictions>;

Enforce restrictions for the users and teams that may push to the branch. See Restrictions below for details.

interface BranchProtectionState

interface BranchProtectionState

Input properties used for looking up and filtering BranchProtection resources.

property branch

branch?: pulumi.Input<string>;

The Git branch to protect.

property enforceAdmins

enforceAdmins?: pulumi.Input<boolean>;

Boolean, setting this to true enforces status checks for repository administrators.

property etag

etag?: pulumi.Input<string>;

property repository

repository?: pulumi.Input<string>;

The GitHub repository name.

property requireSignedCommits

requireSignedCommits?: pulumi.Input<boolean>;

Boolean, setting this to true requires all commits to be signed with GPG.

property requiredPullRequestReviews

requiredPullRequestReviews?: pulumi.Input<BranchProtectionRequiredPullRequestReviews>;

Enforce restrictions for pull request reviews. See Required Pull Request Reviews below for details.

property requiredStatusChecks

requiredStatusChecks?: pulumi.Input<BranchProtectionRequiredStatusChecks>;

Enforce restrictions for required status checks. See Required Status Checks below for details.

property restrictions

restrictions?: pulumi.Input<BranchProtectionRestrictions>;

Enforce restrictions for the users and teams that may push to the branch. See Restrictions below for details.

interface BranchState

interface BranchState

Input properties used for looking up and filtering Branch resources.

property branch

branch?: pulumi.Input<string>;

The repository branch to create.

property etag

etag?: pulumi.Input<string>;

An etag representing the Branch object.

property ref

ref?: pulumi.Input<string>;

A string representing a branch reference, in the form of refs/heads/<branch>.

property repository

repository?: pulumi.Input<string>;

The GitHub repository name.

property sha

sha?: pulumi.Input<string>;

A string storing the reference’s HEAD commit’s SHA1.

property sourceBranch

sourceBranch?: pulumi.Input<string>;

The branch name to start from. Defaults to master.

property sourceSha

sourceSha?: pulumi.Input<string>;

The commit hash to start from. Defaults to the tip of sourceBranch. If provided, sourceBranch is ignored.

interface GetActionsPublicKeyArgs

interface GetActionsPublicKeyArgs

A collection of arguments for invoking getActionsPublicKey.

property repository

repository: string;

Name of the repository to get public key from.

interface GetActionsPublicKeyResult

interface GetActionsPublicKeyResult

A collection of values returned by getActionsPublicKey.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property key

key: string;

Actual key retrieved.

property keyId

keyId: string;

ID of the key that has been retrieved.

property repository

repository: string;

interface GetBranchArgs

interface GetBranchArgs

A collection of arguments for invoking getBranch.

property branch

branch: string;

The repository branch to create.

property repository

repository: string;

The GitHub repository name.

interface GetBranchResult

interface GetBranchResult

A collection of values returned by getBranch.

property branch

branch: string;

property etag

etag: string;

An etag representing the Branch object.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ref

ref: string;

A string representing a branch reference, in the form of refs/heads/<branch>.

property repository

repository: string;

property sha

sha: string;

A string storing the reference’s HEAD commit’s SHA1.

interface GetCollaboratorsArgs

interface GetCollaboratorsArgs

A collection of arguments for invoking getCollaborators.

property affiliation

affiliation?: undefined | string;

Filter collaborators returned by their affiliation. Can be one of: outside, direct, all. Defaults to all.

property owner

owner: string;

The organization that owns the repository.

property repository

repository: string;

The name of the repository.

interface GetCollaboratorsResult

interface GetCollaboratorsResult

A collection of values returned by getCollaborators.

property affiliation

affiliation?: undefined | string;

property collaborators

collaborators: GetCollaboratorsCollaborator[];

An Array of GitHub collaborators. Each collaborator block consists of the fields documented below.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property owner

owner: string;

property repository

repository: string;

function getEnv

getEnv(vars: string[]): string | undefined

function getEnvBoolean

getEnvBoolean(vars: string[]): boolean | undefined

function getEnvNumber

getEnvNumber(vars: string[]): number | undefined

interface GetIpRangesResult

interface GetIpRangesResult

A collection of values returned by getIpRanges.

property gits

gits: string[];

An Array of IP addresses in CIDR format specifying the Git servers.

property hooks

hooks: string[];

An Array of IP addresses in CIDR format specifying the addresses that incoming service hooks will originate from.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property importers

importers: string[];

An Array of IP addresses in CIDR format specifying the A records for GitHub Importer.

property pages

pages: string[];

An Array of IP addresses in CIDR format specifying the A records for GitHub Pages.

interface GetMembershipArgs

interface GetMembershipArgs

A collection of arguments for invoking getMembership.

property username

username: string;

The username to lookup in the organization.

interface GetMembershipResult

interface GetMembershipResult

A collection of values returned by getMembership.

property etag

etag: string;

An etag representing the membership object.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property role

role: string;

admin or member – the role the user has within the organization.

property username

username: string;

The username.

interface GetOrganizationTeamSyncGroupsResult

interface GetOrganizationTeamSyncGroupsResult

A collection of values returned by getOrganizationTeamSyncGroups.

property groups

groups: GetOrganizationTeamSyncGroupsGroup[];

An Array of GitHub Identity Provider Groups. Each group block consists of the fields documented below.

property id

id: string;

The provider-assigned unique ID for this managed resource.

interface GetReleaseArgs

interface GetReleaseArgs

A collection of arguments for invoking getRelease.

property owner

owner: string;

Owner of the repository.

property releaseId

releaseId?: undefined | number;

ID of the release to retrieve. Must be specified when retrieveBy = id.

property releaseTag

releaseTag?: undefined | string;

Tag of the release to retrieve. Must be specified when retrieveBy = tag.

property repository

repository: string;

Name of the repository to retrieve the release from.

property retrieveBy

retrieveBy: string;

Describes how to fetch the release. Valid values are id, tag, latest.

interface GetReleaseResult

interface GetReleaseResult

A collection of values returned by getRelease.

property assertsUrl

assertsUrl: string;

URL of any associated assets with the release

property body

body: string;

Contents of the description (body) of a release

property createdAt

createdAt: string;

Date of release creation

property draft

draft: boolean;

(Boolean) indicates whether the release is a draft

property htmlUrl

htmlUrl: string;

URL directing to detailed information on the release

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

Name of release

property owner

owner: string;

property prerelease

prerelease: boolean;

(Boolean) indicates whether the release is a prerelease

property publishedAt

publishedAt: string;

Date of release publishing

property releaseId

releaseId?: undefined | number;

ID of release

property releaseTag

releaseTag?: undefined | string;

Tag of release

property repository

repository: string;

property retrieveBy

retrieveBy: string;

property tarballUrl

tarballUrl: string;

Download URL of a specific release in tar.gz format

property targetCommitish

targetCommitish: string;

Commitish value that determines where the Git release is created from

property uploadUrl

uploadUrl: string;

URL that can be used to upload Assets to the release

property url

url: string;

Base URL of the release

property zipballUrl

zipballUrl: string;

Download URL of a specific release in zip format

interface GetRepositoriesArgs

interface GetRepositoriesArgs

A collection of arguments for invoking getRepositories.

property query

query: string;

Search query. See documentation for the search syntax.

property sort

sort?: undefined | string;

Sorts the repositories returned by the specified attribute. Valid values include stars, fork, and updated. Defaults to updated.

interface GetRepositoriesResult

interface GetRepositoriesResult

A collection of values returned by getRepositories.

property fullNames

fullNames: string[];

property id

id: string;

The provider-assigned unique ID for this managed resource.

property names

names: string[];

property query

query: string;

property sort

sort?: undefined | string;

interface GetRepositoryArgs

interface GetRepositoryArgs

A collection of arguments for invoking getRepository.

property fullName

fullName?: undefined | string;

Full name of the repository (in org/name format).

property name

name?: undefined | string;

The name of the repository.

interface GetRepositoryResult

interface GetRepositoryResult

A collection of values returned by getRepository.

property allowMergeCommit

allowMergeCommit: boolean;

Whether the repository allows merge commits.

property allowRebaseMerge

allowRebaseMerge: boolean;

Whether the repository allows rebase merges.

property allowSquashMerge

allowSquashMerge: boolean;

Whether the repository allows squash merges.

property archived

archived: boolean;

Whether the repository is archived.

property defaultBranch

defaultBranch: string;

The name of the default branch of the repository.

property description

description: string;

A description of the repository.

property fullName

fullName?: undefined | string;

property gitCloneUrl

gitCloneUrl: string;

URL that can be provided to git clone to clone the repository anonymously via the git protocol.

property hasDownloads

hasDownloads: boolean;

Whether the repository has Downloads feature enabled.

property hasIssues

hasIssues: boolean;

Whether the repository has GitHub Issues enabled.

property hasProjects

hasProjects: boolean;

Whether the repository has the GitHub Projects enabled.

property hasWiki

hasWiki: boolean;

Whether the repository has the GitHub Wiki enabled.

property homepageUrl

homepageUrl: string;

URL of a page describing the project.

property htmlUrl

htmlUrl: string;

URL to the repository on the web.

property httpCloneUrl

httpCloneUrl: string;

URL that can be provided to git clone to clone the repository via HTTPS.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name?: undefined | string;

property nodeId

nodeId: string;

property private

private: boolean;

Whether the repository is private.

property sshCloneUrl

sshCloneUrl: string;

URL that can be provided to git clone to clone the repository via SSH.

property svnUrl

svnUrl: string;

URL that can be provided to svn checkout to check out the repository via GitHub’s Subversion protocol emulation.

property topics

topics: string[];

The list of topics of the repository.

interface GetTeamArgs

interface GetTeamArgs

A collection of arguments for invoking getTeam.

property slug

slug: string;

The team slug.

interface GetTeamResult

interface GetTeamResult

A collection of values returned by getTeam.

property description

description: string;

the team’s description.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property members

members: string[];

List of team members

property name

name: string;

the team’s full name.

property nodeId

nodeId: string;

property permission

permission: string;

the team’s permission level.

property privacy

privacy: string;

the team’s privacy type.

property slug

slug: string;

interface GetUserArgs

interface GetUserArgs

A collection of arguments for invoking getUser.

property username

username: string;

The username.

interface GetUserResult

interface GetUserResult

A collection of values returned by getUser.

property avatarUrl

avatarUrl: string;

the user’s avatar URL.

property bio

bio: string;

the user’s bio.

property blog

blog: string;

the user’s blog location.

property company

company: string;

the user’s company name.

property createdAt

createdAt: string;

the creation date.

property email

email: string;

the user’s email.

property followers

followers: number;

the number of followers.

property following

following: number;

the number of following users.

property gpgKeys

gpgKeys: string[];

list of user’s GPG keys.

property gravatarId

gravatarId: string;

the user’s gravatar ID.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

the user’s location.

property login

login: string;

the user’s login.

property name

name: string;

the user’s full name.

property nodeId

nodeId: string;

property publicGists

publicGists: number;

the number of public gists.

property publicRepos

publicRepos: number;

the number of public repositories.

property siteAdmin

siteAdmin: boolean;

whether the user is a GitHub admin.

property sshKeys

sshKeys: string[];

list of user’s SSH keys.

property updatedAt

updatedAt: string;

the update date.

property username

username: string;

function getVersion

getVersion(): string

interface IssueLabelArgs

interface IssueLabelArgs

The set of arguments for constructing a IssueLabel resource.

property color

color: pulumi.Input<string>;

A 6 character hex code, without the leading #, identifying the color of the label.

property description

description?: pulumi.Input<string>;

A short description of the label.

property name

name?: pulumi.Input<string>;

The name of the label.

property repository

repository: pulumi.Input<string>;

The GitHub repository

interface IssueLabelState

interface IssueLabelState

Input properties used for looking up and filtering IssueLabel resources.

property color

color?: pulumi.Input<string>;

A 6 character hex code, without the leading #, identifying the color of the label.

property description

description?: pulumi.Input<string>;

A short description of the label.

property etag

etag?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

The name of the label.

property repository

repository?: pulumi.Input<string>;

The GitHub repository

property url

url?: pulumi.Input<string>;

The URL to the issue label

interface MembershipArgs

interface MembershipArgs

The set of arguments for constructing a Membership resource.

property role

role?: pulumi.Input<string>;

The role of the user within the organization. Must be one of member or admin. Defaults to member.

property username

username: pulumi.Input<string>;

The user to add to the organization.

interface MembershipState

interface MembershipState

Input properties used for looking up and filtering Membership resources.

property etag

etag?: pulumi.Input<string>;

property role

role?: pulumi.Input<string>;

The role of the user within the organization. Must be one of member or admin. Defaults to member.

property username

username?: pulumi.Input<string>;

The user to add to the organization.

interface OrganizationBlockArgs

interface OrganizationBlockArgs

The set of arguments for constructing a OrganizationBlock resource.

property username

username: pulumi.Input<string>;

The name of the user to block.

interface OrganizationBlockState

interface OrganizationBlockState

Input properties used for looking up and filtering OrganizationBlock resources.

property etag

etag?: pulumi.Input<string>;

property username

username?: pulumi.Input<string>;

The name of the user to block.

interface OrganizationProjectArgs

interface OrganizationProjectArgs

The set of arguments for constructing a OrganizationProject resource.

property body

body?: pulumi.Input<string>;

The body of the project.

property name

name?: pulumi.Input<string>;

The name of the project.

interface OrganizationProjectState

interface OrganizationProjectState

Input properties used for looking up and filtering OrganizationProject resources.

property body

body?: pulumi.Input<string>;

The body of the project.

property etag

etag?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

The name of the project.

property url

url?: pulumi.Input<string>;

URL of the project

interface OrganizationWebhookArgs

interface OrganizationWebhookArgs

The set of arguments for constructing a OrganizationWebhook resource.

property active

active?: pulumi.Input<boolean>;

Indicate of the webhook should receive events. Defaults to true.

property configuration

configuration?: pulumi.Input<OrganizationWebhookConfiguration>;

key/value pair of configuration for this webhook. Available keys are url, contentType, secret and insecureSsl.

property events

events: pulumi.Input<pulumi.Input<string>[]>;

A list of events which should trigger the webhook. See a list of available events

interface OrganizationWebhookState

interface OrganizationWebhookState

Input properties used for looking up and filtering OrganizationWebhook resources.

property active

active?: pulumi.Input<boolean>;

Indicate of the webhook should receive events. Defaults to true.

property configuration

configuration?: pulumi.Input<OrganizationWebhookConfiguration>;

key/value pair of configuration for this webhook. Available keys are url, contentType, secret and insecureSsl.

property etag

etag?: pulumi.Input<string>;

property events

events?: pulumi.Input<pulumi.Input<string>[]>;

A list of events which should trigger the webhook. See a list of available events

property url

url?: pulumi.Input<string>;

URL of the webhook

interface ProjectColumnArgs

interface ProjectColumnArgs

The set of arguments for constructing a ProjectColumn resource.

property name

name?: pulumi.Input<string>;

The name of the column.

property projectId

projectId: pulumi.Input<string>;

The ID of an existing project that the column will be created in.

interface ProjectColumnState

interface ProjectColumnState

Input properties used for looking up and filtering ProjectColumn resources.

property etag

etag?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

The name of the column.

property projectId

projectId?: pulumi.Input<string>;

The ID of an existing project that the column will be created in.

interface ProviderArgs

interface ProviderArgs

The set of arguments for constructing a Provider resource.

property anonymous

anonymous?: pulumi.Input<boolean>;

Authenticate without a token. When anonymousis true, the provider will not be able to access resourcesthat require authentication.

property baseUrl

baseUrl?: pulumi.Input<string>;

The GitHub Base API URL

property individual

individual?: pulumi.Input<boolean>;

Run outside an organization. When individualis true, the provider will run outside the scope of anorganization.

property insecure

insecure?: pulumi.Input<boolean>;

Whether server should be accessed without verifying the TLS certificate.

property organization

organization?: pulumi.Input<string>;

The GitHub organization name to manage. If individual is false, organization is required.

property token

token?: pulumi.Input<string>;

The OAuth token used to connect to GitHub. If anonymous is false, token is required.

interface RepositoryArgs

interface RepositoryArgs

The set of arguments for constructing a Repository resource.

property allowMergeCommit

allowMergeCommit?: pulumi.Input<boolean>;

Set to false to disable merge commits on the repository.

property allowRebaseMerge

allowRebaseMerge?: pulumi.Input<boolean>;

Set to false to disable rebase merges on the repository.

property allowSquashMerge

allowSquashMerge?: pulumi.Input<boolean>;

Set to false to disable squash merges on the repository.

property archived

archived?: pulumi.Input<boolean>;

Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.

property autoInit

autoInit?: pulumi.Input<boolean>;

Set to true to produce an initial commit in the repository.

property defaultBranch

defaultBranch?: pulumi.Input<string>;

The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

property deleteBranchOnMerge

deleteBranchOnMerge?: pulumi.Input<boolean>;

Automatically delete head branch after a pull request is merged. Defaults to false.

property description

description?: pulumi.Input<string>;

A description of the repository.

property gitignoreTemplate

gitignoreTemplate?: pulumi.Input<string>;

Use the name of the template without the extension. For example, “Haskell”.

property hasDownloads

hasDownloads?: pulumi.Input<boolean>;

Set to true to enable the (deprecated) downloads features on the repository.

property hasIssues

hasIssues?: pulumi.Input<boolean>;

Set to true to enable the GitHub Issues features on the repository.

property hasProjects

hasProjects?: pulumi.Input<boolean>;

Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.

property hasWiki

hasWiki?: pulumi.Input<boolean>;

Set to true to enable the GitHub Wiki features on the repository.

property homepageUrl

homepageUrl?: pulumi.Input<string>;

URL of a page describing the project.

property isTemplate

isTemplate?: pulumi.Input<boolean>;

Set to true to tell GitHub that this is a template repository.

property licenseTemplate

licenseTemplate?: pulumi.Input<string>;

Use the name of the template without the extension. For example, “mit” or “mpl-2.0”.

property name

name?: pulumi.Input<string>;

The name of the repository.

property private

private?: pulumi.Input<boolean>;

Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

property template

template?: pulumi.Input<RepositoryTemplate>;

Use a template repository to create this resource. See Template Repositories below for details.

property topics

topics?: pulumi.Input<pulumi.Input<string>[]>;

The list of topics of the repository.

interface RepositoryCollaboratorArgs

interface RepositoryCollaboratorArgs

The set of arguments for constructing a RepositoryCollaborator resource.

property permission

permission?: pulumi.Input<string>;

The permission of the outside collaborator for the repository. Must be one of pull, push, maintain, triage or admin. Defaults to push.

property repository

repository: pulumi.Input<string>;

The GitHub repository

property username

username: pulumi.Input<string>;

The user to add to the repository as a collaborator.

interface RepositoryCollaboratorState

interface RepositoryCollaboratorState

Input properties used for looking up and filtering RepositoryCollaborator resources.

property invitationId

invitationId?: pulumi.Input<string>;

ID of the invitation to be used in github..UserInvitationAccepter

property permission

permission?: pulumi.Input<string>;

The permission of the outside collaborator for the repository. Must be one of pull, push, maintain, triage or admin. Defaults to push.

property repository

repository?: pulumi.Input<string>;

The GitHub repository

property username

username?: pulumi.Input<string>;

The user to add to the repository as a collaborator.

interface RepositoryDeployKeyArgs

interface RepositoryDeployKeyArgs

The set of arguments for constructing a RepositoryDeployKey resource.

property key

key: pulumi.Input<string>;

A SSH key.

property readOnly

readOnly?: pulumi.Input<boolean>;

A boolean qualifying the key to be either read only or read/write.

property repository

repository: pulumi.Input<string>;

Name of the GitHub repository.

property title

title: pulumi.Input<string>;

A title.

interface RepositoryDeployKeyState

interface RepositoryDeployKeyState

Input properties used for looking up and filtering RepositoryDeployKey resources.

property etag

etag?: pulumi.Input<string>;

property key

key?: pulumi.Input<string>;

A SSH key.

property readOnly

readOnly?: pulumi.Input<boolean>;

A boolean qualifying the key to be either read only or read/write.

property repository

repository?: pulumi.Input<string>;

Name of the GitHub repository.

property title

title?: pulumi.Input<string>;

A title.

interface RepositoryFileArgs

interface RepositoryFileArgs

The set of arguments for constructing a RepositoryFile resource.

property branch

branch?: pulumi.Input<string>;

Git branch (defaults to master). The branch must already exist, it will not be created if it does not already exist.

property commitAuthor

commitAuthor?: pulumi.Input<string>;

Committer author name to use.

property commitEmail

commitEmail?: pulumi.Input<string>;

Committer email address to use.

property commitMessage

commitMessage?: pulumi.Input<string>;

Commit message when adding or updating the managed file.

property content

content: pulumi.Input<string>;

The file content.

property file

file: pulumi.Input<string>;

The path of the file to manage.

property repository

repository: pulumi.Input<string>;

The repository name

interface RepositoryFileState

interface RepositoryFileState

Input properties used for looking up and filtering RepositoryFile resources.

property branch

branch?: pulumi.Input<string>;

Git branch (defaults to master). The branch must already exist, it will not be created if it does not already exist.

property commitAuthor

commitAuthor?: pulumi.Input<string>;

Committer author name to use.

property commitEmail

commitEmail?: pulumi.Input<string>;

Committer email address to use.

property commitMessage

commitMessage?: pulumi.Input<string>;

Commit message when adding or updating the managed file.

property content

content?: pulumi.Input<string>;

The file content.

property file

file?: pulumi.Input<string>;

The path of the file to manage.

property repository

repository?: pulumi.Input<string>;

The repository name

property sha

sha?: pulumi.Input<string>;

The SHA blob of the file.

interface RepositoryProjectArgs

interface RepositoryProjectArgs

The set of arguments for constructing a RepositoryProject resource.

property body

body?: pulumi.Input<string>;

The body of the project.

property name

name?: pulumi.Input<string>;

The name of the project.

property repository

repository: pulumi.Input<string>;

The repository of the project.

interface RepositoryProjectState

interface RepositoryProjectState

Input properties used for looking up and filtering RepositoryProject resources.

property body

body?: pulumi.Input<string>;

The body of the project.

property etag

etag?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

The name of the project.

property repository

repository?: pulumi.Input<string>;

The repository of the project.

property url

url?: pulumi.Input<string>;

URL of the project

interface RepositoryState

interface RepositoryState

Input properties used for looking up and filtering Repository resources.

property allowMergeCommit

allowMergeCommit?: pulumi.Input<boolean>;

Set to false to disable merge commits on the repository.

property allowRebaseMerge

allowRebaseMerge?: pulumi.Input<boolean>;

Set to false to disable rebase merges on the repository.

property allowSquashMerge

allowSquashMerge?: pulumi.Input<boolean>;

Set to false to disable squash merges on the repository.

property archived

archived?: pulumi.Input<boolean>;

Specifies if the repository should be archived. Defaults to false. NOTE Currently, the API does not support unarchiving.

property autoInit

autoInit?: pulumi.Input<boolean>;

Set to true to produce an initial commit in the repository.

property defaultBranch

defaultBranch?: pulumi.Input<string>;

The name of the default branch of the repository. NOTE: This can only be set after a repository has already been created, and after a correct reference has been created for the target branch inside the repository. This means a user will have to omit this parameter from the initial repository creation and create the target branch inside of the repository prior to setting this attribute.

property deleteBranchOnMerge

deleteBranchOnMerge?: pulumi.Input<boolean>;

Automatically delete head branch after a pull request is merged. Defaults to false.

property description

description?: pulumi.Input<string>;

A description of the repository.

property etag

etag?: pulumi.Input<string>;

property fullName

fullName?: pulumi.Input<string>;

A string of the form “orgname/reponame”.

property gitCloneUrl

gitCloneUrl?: pulumi.Input<string>;

URL that can be provided to git clone to clone the repository anonymously via the git protocol.

property gitignoreTemplate

gitignoreTemplate?: pulumi.Input<string>;

Use the name of the template without the extension. For example, “Haskell”.

property hasDownloads

hasDownloads?: pulumi.Input<boolean>;

Set to true to enable the (deprecated) downloads features on the repository.

property hasIssues

hasIssues?: pulumi.Input<boolean>;

Set to true to enable the GitHub Issues features on the repository.

property hasProjects

hasProjects?: pulumi.Input<boolean>;

Set to true to enable the GitHub Projects features on the repository. Per the GitHub documentation when in an organization that has disabled repository projects it will default to false and will otherwise default to true. If you specify true when it has been disabled it will return an error.

property hasWiki

hasWiki?: pulumi.Input<boolean>;

Set to true to enable the GitHub Wiki features on the repository.

property homepageUrl

homepageUrl?: pulumi.Input<string>;

URL of a page describing the project.

property htmlUrl

htmlUrl?: pulumi.Input<string>;

URL to the repository on the web.

property httpCloneUrl

httpCloneUrl?: pulumi.Input<string>;

URL that can be provided to git clone to clone the repository via HTTPS.

property isTemplate

isTemplate?: pulumi.Input<boolean>;

Set to true to tell GitHub that this is a template repository.

property licenseTemplate

licenseTemplate?: pulumi.Input<string>;

Use the name of the template without the extension. For example, “mit” or “mpl-2.0”.

property name

name?: pulumi.Input<string>;

The name of the repository.

property nodeId

nodeId?: pulumi.Input<string>;

property private

private?: pulumi.Input<boolean>;

Set to true to create a private repository. Repositories are created as public (e.g. open source) by default.

property sshCloneUrl

sshCloneUrl?: pulumi.Input<string>;

URL that can be provided to git clone to clone the repository via SSH.

property svnUrl

svnUrl?: pulumi.Input<string>;

URL that can be provided to svn checkout to check out the repository via GitHub’s Subversion protocol emulation.

property template

template?: pulumi.Input<RepositoryTemplate>;

Use a template repository to create this resource. See Template Repositories below for details.

property topics

topics?: pulumi.Input<pulumi.Input<string>[]>;

The list of topics of the repository.

interface RepositoryWebhookArgs

interface RepositoryWebhookArgs

The set of arguments for constructing a RepositoryWebhook resource.

property active

active?: pulumi.Input<boolean>;

Indicate of the webhook should receive events. Defaults to true.

property configuration

configuration?: pulumi.Input<RepositoryWebhookConfiguration>;

key/value pair of configuration for this webhook. Available keys are url, contentType, secret and insecureSsl. secret is the shared secret, see API documentation.

property events

events: pulumi.Input<pulumi.Input<string>[]>;

A list of events which should trigger the webhook. See a list of available events.

property repository

repository: pulumi.Input<string>;

The repository of the webhook.

interface RepositoryWebhookState

interface RepositoryWebhookState

Input properties used for looking up and filtering RepositoryWebhook resources.

property active

active?: pulumi.Input<boolean>;

Indicate of the webhook should receive events. Defaults to true.

property configuration

configuration?: pulumi.Input<RepositoryWebhookConfiguration>;

key/value pair of configuration for this webhook. Available keys are url, contentType, secret and insecureSsl. secret is the shared secret, see API documentation.

property etag

etag?: pulumi.Input<string>;

property events

events?: pulumi.Input<pulumi.Input<string>[]>;

A list of events which should trigger the webhook. See a list of available events.

property repository

repository?: pulumi.Input<string>;

The repository of the webhook.

property url

url?: pulumi.Input<string>;

URL of the webhook

interface TeamArgs

interface TeamArgs

The set of arguments for constructing a Team resource.

property description

description?: pulumi.Input<string>;

A description of the team.

property ldapDn

ldapDn?: pulumi.Input<string>;

The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise.

property name

name?: pulumi.Input<string>;

The name of the team.

property parentTeamId

parentTeamId?: pulumi.Input<number>;

The ID of the parent team, if this is a nested team.

property privacy

privacy?: pulumi.Input<string>;

The level of privacy for the team. Must be one of secret or closed. Defaults to secret.

interface TeamMembershipArgs

interface TeamMembershipArgs

The set of arguments for constructing a TeamMembership resource.

property role

role?: pulumi.Input<string>;

The role of the user within the team. Must be one of member or maintainer. Defaults to member.

property teamId

teamId: pulumi.Input<string>;

The GitHub team id

property username

username: pulumi.Input<string>;

The user to add to the team.

interface TeamMembershipState

interface TeamMembershipState

Input properties used for looking up and filtering TeamMembership resources.

property etag

etag?: pulumi.Input<string>;

property role

role?: pulumi.Input<string>;

The role of the user within the team. Must be one of member or maintainer. Defaults to member.

property teamId

teamId?: pulumi.Input<string>;

The GitHub team id

property username

username?: pulumi.Input<string>;

The user to add to the team.

interface TeamRepositoryArgs

interface TeamRepositoryArgs

The set of arguments for constructing a TeamRepository resource.

property permission

permission?: pulumi.Input<string>;

The permissions of team members regarding the repository. Must be one of pull, triage, push, maintain, or admin. Defaults to pull.

property repository

repository: pulumi.Input<string>;

The repository to add to the team.

property teamId

teamId: pulumi.Input<string>;

The GitHub team id

interface TeamRepositoryState

interface TeamRepositoryState

Input properties used for looking up and filtering TeamRepository resources.

property etag

etag?: pulumi.Input<string>;

property permission

permission?: pulumi.Input<string>;

The permissions of team members regarding the repository. Must be one of pull, triage, push, maintain, or admin. Defaults to pull.

property repository

repository?: pulumi.Input<string>;

The repository to add to the team.

property teamId

teamId?: pulumi.Input<string>;

The GitHub team id

interface TeamState

interface TeamState

Input properties used for looking up and filtering Team resources.

property description

description?: pulumi.Input<string>;

A description of the team.

property etag

etag?: pulumi.Input<string>;

property ldapDn

ldapDn?: pulumi.Input<string>;

The LDAP Distinguished Name of the group where membership will be synchronized. Only available in GitHub Enterprise.

property name

name?: pulumi.Input<string>;

The name of the team.

property nodeId

nodeId?: pulumi.Input<string>;

property parentTeamId

parentTeamId?: pulumi.Input<number>;

The ID of the parent team, if this is a nested team.

property privacy

privacy?: pulumi.Input<string>;

The level of privacy for the team. Must be one of secret or closed. Defaults to secret.

property slug

slug?: pulumi.Input<string>;

The slug of the created team, which may or may not differ from name, depending on whether name contains “URL-unsafe” characters. Useful when referencing the team in github..BranchProtection.

interface TeamSyncGroupMappingArgs

interface TeamSyncGroupMappingArgs

The set of arguments for constructing a TeamSyncGroupMapping resource.

property groups

groups?: pulumi.Input<pulumi.Input<TeamSyncGroupMappingGroup>[]>;

An Array of GitHub Identity Provider Groups (or empty []). Each group block consists of the fields documented below.


property teamSlug

teamSlug: pulumi.Input<string>;

Slug of the team

interface TeamSyncGroupMappingState

interface TeamSyncGroupMappingState

Input properties used for looking up and filtering TeamSyncGroupMapping resources.

property etag

etag?: pulumi.Input<string>;

property groups

groups?: pulumi.Input<pulumi.Input<TeamSyncGroupMappingGroup>[]>;

An Array of GitHub Identity Provider Groups (or empty []). Each group block consists of the fields documented below.


property teamSlug

teamSlug?: pulumi.Input<string>;

Slug of the team

interface UserGpgKeyArgs

interface UserGpgKeyArgs

The set of arguments for constructing a UserGpgKey resource.

property armoredPublicKey

armoredPublicKey: pulumi.Input<string>;

Your public GPG key, generated in ASCII-armored format. See Generating a new GPG key for help on creating a GPG key.

interface UserGpgKeyState

interface UserGpgKeyState

Input properties used for looking up and filtering UserGpgKey resources.

property armoredPublicKey

armoredPublicKey?: pulumi.Input<string>;

Your public GPG key, generated in ASCII-armored format. See Generating a new GPG key for help on creating a GPG key.

property etag

etag?: pulumi.Input<string>;

property keyId

keyId?: pulumi.Input<string>;

The key ID of the GPG key, e.g. 3262EFF25BA0D270

interface UserInvitationAccepterArgs

interface UserInvitationAccepterArgs

The set of arguments for constructing a UserInvitationAccepter resource.

property invitationId

invitationId: pulumi.Input<string>;

ID of the invitation to accept

interface UserInvitationAccepterState

interface UserInvitationAccepterState

Input properties used for looking up and filtering UserInvitationAccepter resources.

property invitationId

invitationId?: pulumi.Input<string>;

ID of the invitation to accept

interface UserSshKeyArgs

interface UserSshKeyArgs

The set of arguments for constructing a UserSshKey resource.

property key

key: pulumi.Input<string>;

The public SSH key to add to your GitHub account.

property title

title: pulumi.Input<string>;

A descriptive name for the new key. e.g. Personal MacBook Air

interface UserSshKeyState

interface UserSshKeyState

Input properties used for looking up and filtering UserSshKey resources.

property etag

etag?: pulumi.Input<string>;

property key

key?: pulumi.Input<string>;

The public SSH key to add to your GitHub account.

property title

title?: pulumi.Input<string>;

A descriptive name for the new key. e.g. Personal MacBook Air

property url

url?: pulumi.Input<string>;

The URL of the SSH key