Skip to content

Instantly share code, notes, and snippets.

View jonico's full-sized avatar
🪐
@ home

Johannes Nicolai jonico

🪐
@ home
View GitHub Profile
#!/usr/bin/env groovy
/**
* groovy script to migrate (export) GitHub.com repositories to GitHub Enterprise
*
* Automates steps in https://github.com/blog/2171-migrate-your-repositories-using-ghe-migrator
*
* Run 'groovy MigrateRepositories.groovy' to see the list of command line options
*
* First run may take some time as required dependencies have to get downloaded, then it should be quite fast
@jonico
jonico / AuditUsers.groovy
Last active June 14, 2017 15:17
groovy script to show all repositories that can be accessed by given users on an GitHub Enterprise instance
#!/usr/bin/env groovy
/**
* groovy script to show all repositories that can be accessed by given users on an GitHub Enterprise instance
*
*
* Run 'groovy AuditUsers.groovy' to see the list of command line options
*
* First run may take some time as required dependencies have to get downloaded, then it should be quite fast
*
#!/usr/bin/env groovy
// run with groovy ListReposInOrg -t <personal access token> <org name>
package org.kohsuke.github
@Grab(group='org.kohsuke', module='github-api', version='1.75')
import org.kohsuke.github.GitHub
class ListReposInOrg extends GitHub {
@jonico
jonico / notify_on_pr_assignments.coffee
Last active March 18, 2021 23:58
Hubot script that will send a direct message to any person that gets assigned to a pull request.
# Description
# Hubot script that will send a direct message to any person that gets assigned to a pull request.
# This came out of a discussion where a customer received too many GitHub notifications and wanted something
# succinct for the pull request assignment event.
#
# Dependencies:
# This script was tested with the slack adapter.
# In order to make use of it, you would have to put into Hubot's script folder and setup a GitHub webhook that points to
# <hubot deployment url>/hubot-pr and is delivering at least the pull requests events of the repositories you are interested
#
#!/bin/bash
zero_commit="0000000000000000000000000000000000000000"
# we have to change the home directory of GPG
# as in the default environment, /root/.gnupg is not writeable
export GNUPGHOME=/tmp/
# Do not traverse over commits that are already in the repository
# (e.g. in a different branch)
@jonico
jonico / .gitconfig
Created August 9, 2016 09:38
My .gitconfig
[alias]
# View abbreviated SHA, description, and history graph of the latest 20 commits
l = log --pretty=oneline -n 20 --graph --abbrev-commit
# View the current working tree status using the short format
s = status -s
# Show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git --no-pager diff --patch-with-stat"
@jonico
jonico / dashboard.xml
Created September 20, 2016 15:04
Splunk Dashboard for GitHub Enterprise
<dashboard>
<label>Octodemo performance stats</label>
<row>
<panel>
<chart>
<title>Top fetched repos</title>
<search>
<query>index="octodemo" upload-pack user| top repo</query>
<earliest>@w0</earliest>
<latest>now</latest>
#!/usr/bin/env groovy
package org.kohsuke.github
@Grab(group='org.kohsuke', module='github-api', version='1.75')
import org.kohsuke.github.GitHub
class ListUsersInOrg extends GitHub {
static void main(args) {
#!/usr/bin/env groovy
package org.kohsuke.github
@Grab(group='org.kohsuke', module='github-api', version='1.75')
import org.kohsuke.github.GitHub
class ListUsersInOrganizations extends GitHub {
static void main(args) {
#!/bin/bash
repoSize=`du -hsk | cut -f 1`
if [ $repoSize -gt "1500" ]; then
echo "Repository size is greater than 1500 kb : ${repoSize}"
exit 1
fi