Skip to content

Generate a URL for opening a new GitHub issue with prefilled title, body, and other fields

License

Notifications You must be signed in to change notification settings

sindresorhus/new-github-issue-url

Repository files navigation

new-github-issue-url

Generate a URL for opening a new GitHub issue with prefilled title, body, and other fields

GitHub supports prefilling a new issue by setting certain search parameters. This package simplifies generating such URL.

Install

npm install new-github-issue-url

Usage

import newGithubIssueUrl from 'new-github-issue-url';
import open from 'open';

const url = newGithubIssueUrl({
	user: 'sindresorhus',
	repo: 'new-github-issue-url',
	body: '\n\n\n---\nI\'m a human. Please be nice.'
});
//=> 'https://github.com/sindresorhus/new-github-issue-url/issues/new?body=%0A%0A%0A---%0AI%27m+a+human.+Please+be+nice.'

// Then open it
await open(url);

Try the URL
(Don't click the "Submit new issue" button!)

If you use Electron, check out electron-util's openNewGitHubIssue() method.

API

newGithubIssueUrl(options)

Returns a URL string.

options

Type: object

You are required to either specify the repoUrl option or both the user and repo options.

repoUrl

Type: string

The full URL to the repo.

user

Type: string

GitHub username or organization.

repo

Type: string

GitHub repo.

body

Type: string

The issue body.

title

Type: string

The issue title.

template

Type: string

Use an issue template.

For example, if you want to use a template at ISSUE_TEMPLATE/unicorn.md, you would specify unicorn.md here.

labels

Type: string[]

The labels for the issue.

Requires the user to have the permission to add labels.

milestone

Type: string

The milestone for the issue.

Requires the user to have the permission to add milestone.

assignee

Type: string

The user to assign to the issue.

Requires the user to have the permission to add assignee.

projects

Type: string[]

The projects to add the issue to.

The project reference format is user/repo/<project-number>, for example, if the URL to the project is https://github.com/sindresorhus/some-repo/projects/3, the project reference would be sindresorhus/some-repo/3.

Requires the user to have the permission to add projects.

Related

  • new-github-release-url - Generate a URL for opening a new GitHub release with prefilled tag, body, and other fields