GitHubのissueは削除することが出来ないので、タイトルと本文とコメントを全部消すことで、擬似的になかったことにします。 (これでもタイトルの変更履歴は残るので、完全に消すことは出来ないわけですが...)
require 'octokit' require 'highline/import' Octokit.auto_paginate = true client = Octokit::Client.new(:access_token => ENV['GITHUB_TOKEN']) repo = '<repository name>' # e.g. kamatama41/test title = '<issue title>' issue = client.issues(repo, state: :closed).find do |i| i.title.include? title end unless issue puts 'Issue is not found.' exit end confirm = ask("Remove the issue '##{issue.number} #{issue.title}'? [Y/N] ") { |yn| yn.limit = 1, yn.validate = /[yn]/i } unless confirm.downcase == 'y' exit end client.update_issue(repo, issue.number, '(deleted)', '') # Rename issue title and body client.issue_comments(repo, issue.number).each do |comment| client.delete_comment(repo, comment.id) end