provider repos POST /orgs/{org}/repos
@utdk/github /orgs/{org}/repos
Create an organization repository
Creates a new repository in the specified organization. The authenticated user must be a member of the organization. OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository.
org path required
The organization name. The name is not case sensitive.
string

Try it

Authentication
Configure credentials for GitHub v3 REST API
Gateway
The gateway proxies requests and injects credentials server-side. Configure credentials above, then enter your gateway URL.

Saved automatically to browser storage.

repos.createInOrg
POST/orgs/{org}/repos
Creates a new repository in the specified organization. The authenticated user must be a member of the organization. OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository.

Parameters

required

The organization name. The name is not case sensitive.

Input

required

The name of the repository.

A short description of the repository.

A URL with more information about the repository.

Whether the repository is private.

The visibility of the repository.

Either `true` to enable issues for this repository or `false` to disable them.

Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error.

Either `true` to enable the wiki for this repository or `false` to disable it.

Whether downloads are enabled.

Either `true` to make this repo available as a template repository or `false` to prevent it.

The id of the team that will be granted access to this repository. This is only valid when creating a repository in an organization.

Pass `true` to create an initial commit with empty README.

Desired language or platform [.gitignore template](https://github.com/github/gitignore) to apply. Use the name of the template without the extension. For example, "Haskell".

Choose an [open source license template](https://choosealicense.com/) that best suits your needs, and then use the [license keyword](https://docs.github.com/articles/licensing-a-repository/#searching-github-by-license-type) as the `license_template` string. For example, "mit" or "mpl-2.0".

Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.

Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.

Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.

Either `true` to allow auto-merge on pull requests, or `false` to disallow auto-merge.

Either `true` to allow automatically deleting head branches when pull requests are merged, or `false` to prevent automatic deletion. **The authenticated user must be an organization owner to set this property to `true`.**

Either `true` to allow squash-merge commits to use pull request title, or `false` to use commit message. **This property is closing down. Please use `squash_merge_commit_title` instead.

Required when using `squash_merge_commit_message`. The default value for a squash merge commit title: - `PR_TITLE` - default to the pull request's title. - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit).

The default value for a squash merge commit message: - `PR_BODY` - default to the pull request's body. - `COMMIT_MESSAGES` - default to the branch's commit messages. - `BLANK` - default to a blank commit message.

Required when using `merge_commit_message`. The default value for a merge commit title. - `PR_TITLE` - default to the pull request's title. - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name).

The default value for a merge commit message. - `PR_TITLE` - default to the pull request's title. - `PR_BODY` - default to the pull request's body. - `BLANK` - default to a blank commit message.

The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values.

Enter a gateway URL above to enable sending.

Code snippet
Updates live as you fill in the form above.

TypeScript

import github from '@utdk/github';

await github.repos.createInOrg({
  "private": false,
  "has_issues": true,
  "has_projects": true,
  "has_wiki": true,
  "has_downloads": true,
  "is_template": false,
  "auto_init": false,
  "allow_squash_merge": true,
  "allow_merge_commit": true,
  "allow_rebase_merge": true,
  "allow_auto_merge": false,
  "delete_branch_on_merge": false,
  "use_squash_pr_title_as_default": false
})