octokit-plugin-unique-issue
v1.1.2
Published
Creates and retrieves unique GitHub issues
Downloads
12
Readme
octokit-plugin-unique-issue
Creates and retrieves unique GitHub issues
Usage
Browsers
Load octokit-plugin-unique-issue
and @octokit/core
(or core-compatible module) directly from cdn.skypack.dev
<script type="module">
import { Octokit } from "https://cdn.skypack.dev/@octokit/core";
import { uniqueIssue } from "https://cdn.skypack.dev/octokit-plugin-unique-issue";
</script>
Node
Install with npm install @octokit/core octokit-plugin-unique-issue
. Optionally replace @octokit/core
with a compatible module
const { Octokit } = require("@octokit/core");
const { uniqueIssue } = require("octokit-plugin-unique-issue");
createOrUpdateUniqueIssue
Creates or updates an issue with the provided identifier
.
By default, when close_previous
is false
and a single issue with the provided identifier is found, that issue will be updated, otherwise a new issue is created. An error will be thrown if more than one issue with the provided identifier is found.
When close_previous
is true
, all existing issues with the provided identifier will be closed before creating a new issue.
createOrUpdateUniqueIssue
accepts all supported parameters for creating or updating an issue with the GitHub REST API.
Create or Update Issue
const MyOctokit = Octokit.plugin(uniqueIssue);
const octokit = new MyOctokit({ auth: "secret123" });
const { data, updated } = await octokit.createOrUpdateUniqueIssue({
identifier: "super-unique-identifier",
owner: "tmelliottjr",
repo: "octokit-plugin-unique-issue",
title: "My unique issue",
body: "The body of my unique issue!",
});
const action = updated ? "Updated" : "Created";
console.log(`${action} issue: ${data.number}`);
Create and Close Previous Issue
const MyOctokit = Octokit.plugin(uniqueIssue);
const octokit = new MyOctokit({ auth: "secret123" });
const { data, updated, closed_issues } =
await octokit.createOrUpdateUniqueIssue({
identifier: "super-unique-identifier",
owner: "tmelliottjr",
repo: "octokit-plugin-unique-issue",
title: "My unique issue",
body: "The body of my unique issue!",
close_previous: true,
});
console.log(`Created issue: ${data.number}`);
if (closed_issues.length) {
console.log(
`Closed issue(s) ${closed_issues.map((issue) => issue.number).join(", ")}`,
);
}
Options
How it Works
createOrUpdateUniqueIssue
will add an MDAST Comment Marker to an issue's body containing the unique identifier provided.
<!-- octokit-unique-issue id="super-unique-identifier" -->
Contributing
See CONTRIBUTING.md