Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hubot Github

npm versionDependency Status

Give Hubot the ability to take control of Github

Hubot-GitHub gives Hubot the ability to take control of your github organization, such as creating repos or teams. With this script, Hubot can even list the details about your organization, teams, members and repos. The only dependency required is having a GitHub account! (oh and maybe Node.js and npm aswell).

FYI: This hubot-script will only work with slack right now

Suggested Setup

If you just wanted to use this hubot-script without having to create a special user in your organization, then l suggest that one of the owners of the organization creates a personal access token for the HUBOT_GITHUB_KEY. However this will mean that everything that hubot does, will come up as being done by that owner.

The ideal setup in my opinion that works best, is to create a special user called whatever your hubot is called. Then you make that bot user an owner of your organization, and get that bot user to create a personal access token for the HUBOT_GITHUB_KEY. So in the audit log, every event will appear as being done by your bot user. This means, as you give you bot user more abilities, you can properly monitor what exactly it is doing.

Installation

In hubot project repository, run:

$ npm install --save hubot-github

Then add hubot-github to your external-scripts.json:

[
"hubot-github"
]

Configuration

Environmental variables

HUBOT_GITHUB_KEY - Github Application Key (personal access token)
HUBOT_GITHUB_ORG - Github Organization Name (the one in the url)
HUBOT_SLACK_ADMIN - Slack Admins who can use certain admin commands

Commands

Organization commands, hence gho (GitHub Organization)

hubot:
- gho - returns a summary of your organization
- gho list (team|repos|members) - returns a list of (members|teams|repos) in your org
- gho list public repos - returns a list of your orgs public repos
- gho create team <team name> - creates a team with the following name
- gho create repo <repo name>/<public|private> - create a repo with the following name and optional status
- gho add (members|repos) to team <team name> - adds a comma separated list of members or repos to the given team
- gho remove (members|repos) from team <team name> - removes comma list of members or repos from the given team
- gho delete team <team name> - deletes the given team from your org (doesn't delete the repos or members from your org)

Changelog

2015-03-09: Release Notes

About

Giving Hubot the ability to be a vital member of your github organization

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - hydal/hubot-github: Giving Hubot the ability to be a vital member of your github organization · GitHub
Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hubot Github

npm versionDependency Status

Give Hubot the ability to take control of Github

Hubot-GitHub gives Hubot the ability to take control of your github organization, such as creating repos or teams. With this script, Hubot can even list the details about your organization, teams, members and repos. The only dependency required is having a GitHub account! (oh and maybe Node.js and npm aswell).

FYI: This hubot-script will only work with slack right now

Suggested Setup

If you just wanted to use this hubot-script without having to create a special user in your organization, then l suggest that one of the owners of the organization creates a personal access token for the HUBOT_GITHUB_KEY. However this will mean that everything that hubot does, will come up as being done by that owner.

The ideal setup in my opinion that works best, is to create a special user called whatever your hubot is called. Then you make that bot user an owner of your organization, and get that bot user to create a personal access token for the HUBOT_GITHUB_KEY. So in the audit log, every event will appear as being done by your bot user. This means, as you give you bot user more abilities, you can properly monitor what exactly it is doing.

Installation

In hubot project repository, run:

$ npm install --save hubot-github

Then add hubot-github to your external-scripts.json:

[
"hubot-github"
]

Configuration

Environmental variables

HUBOT_GITHUB_KEY - Github Application Key (personal access token)
HUBOT_GITHUB_ORG - Github Organization Name (the one in the url)
HUBOT_SLACK_ADMIN - Slack Admins who can use certain admin commands

Commands

Organization commands, hence gho (GitHub Organization)

hubot:
- gho - returns a summary of your organization
- gho list (team|repos|members) - returns a list of (members|teams|repos) in your org
- gho list public repos - returns a list of your orgs public repos
- gho create team <team name> - creates a team with the following name
- gho create repo <repo name>/<public|private> - create a repo with the following name and optional status
- gho add (members|repos) to team <team name> - adds a comma separated list of members or repos to the given team
- gho remove (members|repos) from team <team name> - removes comma list of members or repos from the given team
- gho delete team <team name> - deletes the given team from your org (doesn't delete the repos or members from your org)

Changelog

2015-03-09: Release Notes

About

Giving Hubot the ability to be a vital member of your github organization

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - hydal/hubot-github: Giving Hubot the ability to be a vital member of your github organization · GitHub
Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hubot Github

npm versionDependency Status

Give Hubot the ability to take control of Github

Hubot-GitHub gives Hubot the ability to take control of your github organization, such as creating repos or teams. With this script, Hubot can even list the details about your organization, teams, members and repos. The only dependency required is having a GitHub account! (oh and maybe Node.js and npm aswell).

FYI: This hubot-script will only work with slack right now

Suggested Setup

If you just wanted to use this hubot-script without having to create a special user in your organization, then l suggest that one of the owners of the organization creates a personal access token for the HUBOT_GITHUB_KEY. However this will mean that everything that hubot does, will come up as being done by that owner.

The ideal setup in my opinion that works best, is to create a special user called whatever your hubot is called. Then you make that bot user an owner of your organization, and get that bot user to create a personal access token for the HUBOT_GITHUB_KEY. So in the audit log, every event will appear as being done by your bot user. This means, as you give you bot user more abilities, you can properly monitor what exactly it is doing.

Installation

In hubot project repository, run:

$ npm install --save hubot-github

Then add hubot-github to your external-scripts.json:

[
"hubot-github"
]

Configuration

Environmental variables

HUBOT_GITHUB_KEY - Github Application Key (personal access token)
HUBOT_GITHUB_ORG - Github Organization Name (the one in the url)
HUBOT_SLACK_ADMIN - Slack Admins who can use certain admin commands

Commands

Organization commands, hence gho (GitHub Organization)

hubot:
- gho - returns a summary of your organization
- gho list (team|repos|members) - returns a list of (members|teams|repos) in your org
- gho list public repos - returns a list of your orgs public repos
- gho create team <team name> - creates a team with the following name
- gho create repo <repo name>/<public|private> - create a repo with the following name and optional status
- gho add (members|repos) to team <team name> - adds a comma separated list of members or repos to the given team
- gho remove (members|repos) from team <team name> - removes comma list of members or repos from the given team
- gho delete team <team name> - deletes the given team from your org (doesn't delete the repos or members from your org)

Changelog

2015-03-09: Release Notes

About

Giving Hubot the ability to be a vital member of your github organization

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - hydal/hubot-github: Giving Hubot the ability to be a vital member of your github organization · GitHub
Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hubot Github

npm versionDependency Status

Give Hubot the ability to take control of Github

Hubot-GitHub gives Hubot the ability to take control of your github organization, such as creating repos or teams. With this script, Hubot can even list the details about your organization, teams, members and repos. The only dependency required is having a GitHub account! (oh and maybe Node.js and npm aswell).

FYI: This hubot-script will only work with slack right now

Suggested Setup

If you just wanted to use this hubot-script without having to create a special user in your organization, then l suggest that one of the owners of the organization creates a personal access token for the HUBOT_GITHUB_KEY. However this will mean that everything that hubot does, will come up as being done by that owner.

The ideal setup in my opinion that works best, is to create a special user called whatever your hubot is called. Then you make that bot user an owner of your organization, and get that bot user to create a personal access token for the HUBOT_GITHUB_KEY. So in the audit log, every event will appear as being done by your bot user. This means, as you give you bot user more abilities, you can properly monitor what exactly it is doing.

Installation

In hubot project repository, run:

$ npm install --save hubot-github

Then add hubot-github to your external-scripts.json:

[
"hubot-github"
]

Configuration

Environmental variables

HUBOT_GITHUB_KEY - Github Application Key (personal access token)
HUBOT_GITHUB_ORG - Github Organization Name (the one in the url)
HUBOT_SLACK_ADMIN - Slack Admins who can use certain admin commands

Commands

Organization commands, hence gho (GitHub Organization)

hubot:
- gho - returns a summary of your organization
- gho list (team|repos|members) - returns a list of (members|teams|repos) in your org
- gho list public repos - returns a list of your orgs public repos
- gho create team <team name> - creates a team with the following name
- gho create repo <repo name>/<public|private> - create a repo with the following name and optional status
- gho add (members|repos) to team <team name> - adds a comma separated list of members or repos to the given team
- gho remove (members|repos) from team <team name> - removes comma list of members or repos from the given team
- gho delete team <team name> - deletes the given team from your org (doesn't delete the repos or members from your org)

Changelog

2015-03-09: Release Notes

About

Giving Hubot the ability to be a vital member of your github organization

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - hydal/hubot-github: Giving Hubot the ability to be a vital member of your github organization · GitHub
Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hubot Github

npm versionDependency Status

Give Hubot the ability to take control of Github

Hubot-GitHub gives Hubot the ability to take control of your github organization, such as creating repos or teams. With this script, Hubot can even list the details about your organization, teams, members and repos. The only dependency required is having a GitHub account! (oh and maybe Node.js and npm aswell).

FYI: This hubot-script will only work with slack right now

Suggested Setup

If you just wanted to use this hubot-script without having to create a special user in your organization, then l suggest that one of the owners of the organization creates a personal access token for the HUBOT_GITHUB_KEY. However this will mean that everything that hubot does, will come up as being done by that owner.

The ideal setup in my opinion that works best, is to create a special user called whatever your hubot is called. Then you make that bot user an owner of your organization, and get that bot user to create a personal access token for the HUBOT_GITHUB_KEY. So in the audit log, every event will appear as being done by your bot user. This means, as you give you bot user more abilities, you can properly monitor what exactly it is doing.

Installation

In hubot project repository, run:

$ npm install --save hubot-github

Then add hubot-github to your external-scripts.json:

[
"hubot-github"
]

Configuration

Environmental variables

HUBOT_GITHUB_KEY - Github Application Key (personal access token)
HUBOT_GITHUB_ORG - Github Organization Name (the one in the url)
HUBOT_SLACK_ADMIN - Slack Admins who can use certain admin commands

Commands

Organization commands, hence gho (GitHub Organization)

hubot:
- gho - returns a summary of your organization
- gho list (team|repos|members) - returns a list of (members|teams|repos) in your org
- gho list public repos - returns a list of your orgs public repos
- gho create team <team name> - creates a team with the following name
- gho create repo <repo name>/<public|private> - create a repo with the following name and optional status
- gho add (members|repos) to team <team name> - adds a comma separated list of members or repos to the given team
- gho remove (members|repos) from team <team name> - removes comma list of members or repos from the given team
- gho delete team <team name> - deletes the given team from your org (doesn't delete the repos or members from your org)

Changelog

2015-03-09: Release Notes

About

Giving Hubot the ability to be a vital member of your github organization

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - hydal/hubot-github: Giving Hubot the ability to be a vital member of your github organization · GitHub
Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hubot Github

npm versionDependency Status

Give Hubot the ability to take control of Github

Hubot-GitHub gives Hubot the ability to take control of your github organization, such as creating repos or teams. With this script, Hubot can even list the details about your organization, teams, members and repos. The only dependency required is having a GitHub account! (oh and maybe Node.js and npm aswell).

FYI: This hubot-script will only work with slack right now

Suggested Setup

If you just wanted to use this hubot-script without having to create a special user in your organization, then l suggest that one of the owners of the organization creates a personal access token for the HUBOT_GITHUB_KEY. However this will mean that everything that hubot does, will come up as being done by that owner.

The ideal setup in my opinion that works best, is to create a special user called whatever your hubot is called. Then you make that bot user an owner of your organization, and get that bot user to create a personal access token for the HUBOT_GITHUB_KEY. So in the audit log, every event will appear as being done by your bot user. This means, as you give you bot user more abilities, you can properly monitor what exactly it is doing.

Installation

In hubot project repository, run:

$ npm install --save hubot-github

Then add hubot-github to your external-scripts.json:

[
"hubot-github"
]

Configuration

Environmental variables

HUBOT_GITHUB_KEY - Github Application Key (personal access token)
HUBOT_GITHUB_ORG - Github Organization Name (the one in the url)
HUBOT_SLACK_ADMIN - Slack Admins who can use certain admin commands

Commands

Organization commands, hence gho (GitHub Organization)

hubot:
- gho - returns a summary of your organization
- gho list (team|repos|members) - returns a list of (members|teams|repos) in your org
- gho list public repos - returns a list of your orgs public repos
- gho create team <team name> - creates a team with the following name
- gho create repo <repo name>/<public|private> - create a repo with the following name and optional status
- gho add (members|repos) to team <team name> - adds a comma separated list of members or repos to the given team
- gho remove (members|repos) from team <team name> - removes comma list of members or repos from the given team
- gho delete team <team name> - deletes the given team from your org (doesn't delete the repos or members from your org)

Changelog

2015-03-09: Release Notes

About

Giving Hubot the ability to be a vital member of your github organization

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); GitHub - hydal/hubot-github: Giving Hubot the ability to be a vital member of your github organization · GitHub
Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hubot Github

npm versionDependency Status

Give Hubot the ability to take control of Github

Hubot-GitHub gives Hubot the ability to take control of your github organization, such as creating repos or teams. With this script, Hubot can even list the details about your organization, teams, members and repos. The only dependency required is having a GitHub account! (oh and maybe Node.js and npm aswell).

FYI: This hubot-script will only work with slack right now

Suggested Setup

If you just wanted to use this hubot-script without having to create a special user in your organization, then l suggest that one of the owners of the organization creates a personal access token for the HUBOT_GITHUB_KEY. However this will mean that everything that hubot does, will come up as being done by that owner.

The ideal setup in my opinion that works best, is to create a special user called whatever your hubot is called. Then you make that bot user an owner of your organization, and get that bot user to create a personal access token for the HUBOT_GITHUB_KEY. So in the audit log, every event will appear as being done by your bot user. This means, as you give you bot user more abilities, you can properly monitor what exactly it is doing.

Installation

In hubot project repository, run:

$ npm install --save hubot-github

Then add hubot-github to your external-scripts.json:

[
"hubot-github"
]

Configuration

Environmental variables

HUBOT_GITHUB_KEY - Github Application Key (personal access token)
HUBOT_GITHUB_ORG - Github Organization Name (the one in the url)
HUBOT_SLACK_ADMIN - Slack Admins who can use certain admin commands

Commands

Organization commands, hence gho (GitHub Organization)

hubot:
- gho - returns a summary of your organization
- gho list (team|repos|members) - returns a list of (members|teams|repos) in your org
- gho list public repos - returns a list of your orgs public repos
- gho create team <team name> - creates a team with the following name
- gho create repo <repo name>/<public|private> - create a repo with the following name and optional status
- gho add (members|repos) to team <team name> - adds a comma separated list of members or repos to the given team
- gho remove (members|repos) from team <team name> - removes comma list of members or repos from the given team
- gho delete team <team name> - deletes the given team from your org (doesn't delete the repos or members from your org)

Changelog

2015-03-09: Release Notes

About

Giving Hubot the ability to be a vital member of your github organization

Resources

Stars

10 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages