In this guide

Create an Issue

Open a new issue.

Action referenceCreate

What this action does #

First, connect GitHub in Services. Then open Actions → + → GitHub and choose Create an Issue.

What a run does

Running or testing this action creates something in your connected service.

More about this action

Title is all GitHub insists on, which is what makes this the best action in the catalog to drive from dictation or a share sheet. Body is Markdown.

Labels and assignees must already exist: a label that does not exist in the repository is created silently, but an assignee who is not a collaborator is dropped without an error, so an issue can come back assigned to nobody.

If issues are turned off for the repository the answer is 410, not 404. Creating many issues in quick succession trips a secondary rate limit that no amount of retrying fixes — space them out.

Inputs to fill in #

Open an input to choose its value. Keep a fixed value with Text, receive it from Shortcuts, ask when the action runs, or use an Earlier Step. Read how input sources work.

Owner

RequiredText

User or organisation.

This input offers a picker for repository from your connected account. You can also supply its value directly.

Example value (replace with your own):
octocat

Repository

RequiredText

Name only, without the owner and without .git.

This input offers a picker for repository from your connected account. You can also supply its value directly.

Example value (replace with your own):
Hello-World

Title

RequiredText

One line. Shown everywhere the issue is.

Example value (replace with your own):
Crash when opening Logs

Body

OptionalText

The issue text, as Markdown.

Example value (replace with your own):
Steps to reproduce:

Labels

OptionalList

Label names. Comma-separated.

A list of text values. Use a comma-separated list.

This input offers a picker for label from your connected account. You can also supply its value directly.

Example value (replace with your own):
bug

Assignees

OptionalList

Usernames. They must have access to the repository.

A list of text values. Use a comma-separated list.

This input offers a picker for person from your connected account. You can also supply its value directly.

Example value (replace with your own):
octocat

Milestone

OptionalWhole number

Milestone number, not its title.

This input offers a picker for milestone from your connected account. You can also supply its value directly.

What comes back #

In the action editor, open Output → Returned Value to choose fields for your shortcut. These are the response fields described by the app; a service may omit an optional field or return an empty list. JSON File contains the full response.

Returned fieldTypeMeaning
numberintegerThe issue number shown in the UI.
idintegerInternal id. Not the number.
titlestringText value.
statestringopen or closed.
state_reasonstringcompleted, not_planned, reopened or duplicate.
bodystringThe issue text, as Markdown.
html_urlstringThe issue page.
commentsintegerHow many comments it has.
lockedbooleanTrue or false.
created_atstringISO 8601.
updated_atstringText value.
closed_atstringNull while open.
userobjectWho opened it.
user.loginstringUsername.
user.idintegerWhole-number value.
user.html_urlstringTheir profile page.
user.avatar_urlstringText value.
user.typestringUser, Organization or Bot.
assigneesarrayEveryone assigned.
assignees[].loginstringUsername.
assignees[].idintegerWhole-number value.
assignees[].html_urlstringTheir profile page.
assignees[].avatar_urlstringText value.
assignees[].typestringUser, Organization or Bot.
milestoneobjectNull when unset.
milestone.numberintegerWhole-number value.
milestone.titlestringText value.
milestone.due_onstringText value.
labelsarrayEach entry is either an object or a plain string.
labels[].namestringText value.
labels[].colorstringSix hex digits, no leading #.
labels[].descriptionstringText value.
pull_requestobjectPresent only when the issue is a pull request.
pull_request.html_urlstringText value.
pull_request.merged_atstringNull unless it was merged.

Run it from Shortcuts #

  1. Give the action a recognizable name and tap Save.
  2. In Apple Shortcuts, add Shortcutify’s Execute Action and select the saved action.
  3. Supply any Param or File slots you bound in the inputs, then run the shortcut.

If the result is unexpected, open Logs in Shortcutify, select the run, and inspect this step’s inputs and response.

Advanced reference #

Request, permissions, and identifiers

Request: POST https://api.github.com/repos/{owner}/{repo}/issues

Action identifier: github.issues.create.v1

Permissions declared for this action: issues:write. The account’s own access rules also apply.

InputRequest keyLocation
Ownerownerpath
Repositoryrepopath
Titletitlebody
Bodybodybody
Labelslabelsbody
Assigneesassigneesbody
Milestonemilestonebody

GitHub API reference