How to commit on Github and automatically mark done on Basecamp? - github

I have a GitHub account and Basecamp account. I have already setup my GitHub to use Basecamp service hook by selecting Service Hooks Menu and select basecamp. Fill all required form and get the setup work properly identified by green color.
Now, I have to-do list at my Basecamp account, but I don't know how to interact between GitHub commit comment and Basecamp to-do list.
For example, I commit my code by commenting fixing to-do list #123. But on Basecamp, I can't find to-do list ID (ex:#123) like common project management that I use before. I also can't find a documentation about it.
Can someone help me with this?

I don't think that's possible with the existing github-basecamp integration (the one in the predefined service hooks). So, in short: if I'm correct, it cannot be done the way you can close github issues, which you also seem to be referring.
So basically you'd need to do some coding of your own. You have two main choices.
You can enable a webhook in your github service hooks, have that do a POST request to an url of your choice, and have a script at that url use basecamp API to update the list. The todolists api seems quite simple: you should read a commit message coming in the POST request, and do a "update todolist" request with "completed": true.
Another alternative is to interact with Basecamp API from your local repo. There seems to be some existing tool called gitcamp, made by someone, to help with that - however as the api is quite simple, as well as your requirement, you could do your stuff with a custom script installed as a hook, and possibly with more ease.

I have send a same question to both github and basecamp support and bellow they answer.
Basecamp Support:
Sorry about that confusion with the GitHub integration! At the moment,
that integration only brings in the commits you make into the Progress
page and recaps. Here's the code behind that integration so you can
get a better idea of the guts of that service hook:
https://github.com/github/github-services/blob/master/services/basecamp.rb
If you have any other questions, just let me know and I'll be happy to
help. And have an awesome Sunday!
Chase Clemons 37signals CustomerCare
Github Support:
The Basecamp hook is for the new Basecamp system, and only adds to a
project's event log. There is a Basecamp Classic hook for the older
Basecamp system. It looks like that hook only creates Basecamp
messages. It doesn't look like anyone has written any Basecamp to-do
integration with GitHub at this time. Our 3rd party hooks are
contributed by other users because we don't actually use any of those
services (Basecamp included). You're welcome to contribute to them:
https://github.com/github/github-services
So it's clear at the moment (when I write this), what we commit and push into Github repository just automatically show on Basecamp Progress page.

Related

Github API Specify Previous Tag

I'm trying to figure out how to specify "Previous Tag" via queryparams in the release form automation, or via the Create Release API. Preferably Both.
Here is the feature in the UI documented as step 7 here.
If there is no way to do this - where does one request a feature for github? Ex: Is there a github project for github?
Here are the documentation pages for the two ways to do this:
Automation for release forms - there is no "previous_tag" option.
Create a release API - there is no obvious reference to how to specify previous tag, even though there is a way to specify and tell it to generate release notes.
To repeat the question one more time:
How do we specify the specify the prerelease tag for release note autogen? - if unavailable, where does one request a feature for github?
Update:
There is a separate API for generating the release notes, which accepts the previous_tag parameter.
For the querystring, a feature request is open in the github feedback board. Vote for it go give it visbility, hopefully GitHub will take note and implement it.
Original Answer:
It does not look like you can configure it via queryparameters or the API yet. The documentation you shared seems to confirm that.
GitHub has an open discussion board where you can propose features and they have previously shown that they work on topics that resound with the community.
I don't see a fitting category for "Releases" right now, but you can probably fit it into the categories APIs and Integrations or General.

Is there a way to add custom "badges" to files on GitHub?

I have it in my head to help people at my company get better by finding a way to highlight and call out good code.
In particular, I'd like to be able to mark a file (not a repository or directory) as having a "gold star" (or another badge) so people browsing our source code who see the badge can see they're looking at a really good implementation they might take inspiration from.
I'm taking inspiration from the code owners feature on GitHub where there's a little padlock icon on a file if it's assigned ownership by the CODEOWNERS file.
Is it possible to do a custom "badge" on GitHub? If so, what's the API?
Browsing the GitHub documentation and searching online, I wasn't able to find anything explaining how to do something like this. Most folks were talking about the little images badges like the code coverage badges people put in their readme files.
Checkout this thread. You can submit feature request to GitLab and GitHub or in case of GitLab code your own feature and submit PR.
Here are some closely related discussions. Probably you have already seen them and are not looking for them but you might use them to get idea of how to create the feature that you want.
The Shields service (at shields.io) provides a way to create custom badges for your projects. These are badges are very common and are frequently used to show status information about the project, or demonstrate tools that were used for the development of your project. (...more)
Also checkout Bring Your Own Badge

Is there a way to customize Github checks with CircleCI?

I am currently working on the CI of project and I deploy a preview for each github branch that pass all integration tests.
My CI workflow is executed by CircleCI and I can see the progression on github with Github checks. It works pretty nice but description does not reflect what really happens.
For instance I can see this on github :
My problem is I would like to custom message and details actions link. My last job deploys a preview and I would like to be able to put the link somewhere. The best case should be able to open my preview when I click on details button.
Is there any way to do this ?
I send a mail to CircleCI support and I got this anwser :
Hello,
It is not possible at this time to customize this text. Clicking the
details link will bring you to the job on CircleCI. We are currently
working on a utility that will allow you to post comments to the PR
from within a job that may be close to what you are looking for. This
will exist in an Orb (https://circleci.com/orbs/registry/) but I could
not say exactly how long until this is released, though we are
actively working on it.
You may wish to post to our public facing ideas portal:
https://ideas.circleci.com/ideas as a new idea post. This will let our
community vote for this request. Please let us know if we can assist
any further.
So, unfortunately it is not possible yet. Maybe in the future.

Github API Repository permissions

I have a crazy complicated authentication process that I'm trying to wrap my brain around with this and I just need to be pointed in the right direction. I am building a website for Startup Weekend and we are trying to incorporate github repository management and don't know where to start. In it's simple form I need to give permissions for the website to access my github repo, then the website will allow another person (who is logged in with github) to be able to modify and push the code back up.
The simple way to do it is through adding that person outside of the site to the repository. However, it would be really cool if the site was able to manage it. Is this even possible to do? My closest assumption is pulling the code through the API, allowing a person access to the repo that is now downloaded, and then doing a merge through the API.
Would someone be able to point me in the right direction so we can win this thing! (If no one is able to answer I will keep digging and answer it for other people.) Thanks in advance!
The GitHub OAuth API page is a good start.
You can see it used in a project like thephpleague/oauth2-client in Provider/GithubTest.php.

Watching new tags on GitHub

I need to track new tags of many projects on github, it's possbile to get emails about newly created tags? Or through RSS channel, or somehow be notified, when new tag is created.
I think that this would be great feature how to track new versions of projects hosted on github.
I need to track new tags of many projects on github [...] through RSS channel
GitHub provides an atom feed for tags
Syntax: https://github.com/{:user}/{:repository}/tags.atom
Example: https://github.com/libgit2/libgit2sharp/tags.atom will list the tags of the LibGit2Sharp project
Update Nov. 2020: you now have "Custom notification controls"
This week we are giving you more control over the types of content that you are notified about on GitHub:
Watching a repository can often be a double-edged sword.
You want to stay up to date with a project, but if you have a specific interest or role within the community, you have no choice but to subscribe to updates on everything.
No more.
Beneath the watch button, you’ll find that we have made a few changes: we’ve made the language clearer so you know what you’ll receive updates about, we’ve made the interface more accessible and, we’ve introduced a new custom category.
Within this, you can select the types of content you would like to be notified about.
Do you focus on code review? Limit your notifications to pull requests.
Are you a community manager? Select Discussions.
As new types of notifications are added, you’ll find them in this menu.
You’ll find these controls on all repository pages and on your watching page where you can customize notifications for repositories you already watch.
Since you can have email notifications, do note that, since Nov. 2018, you can get notification on new releases: that won't include all tags (since a release is associated to a tag, but not all tags receive a release).
Still, see "Watch releases "
You can now limit repository notifications exclusively to releases.
Receive notifications when new releases are published in a repository without receiving notifications about other updates and conversations.
Have a look at https://sibbell.com
It notifies you about new tags/releases and takes only 3 clicks to setup.
Really handy tool.
I've made a simple tool, because Sibbell will be closing down on May 15th, 2018, as they told on their email yesterday.
I've put together a simple repository to have the same approach:
https://github.com/Ardakilic/alerthub
You can self-host it. Just provide your repositories and when a new release comes you'll get a push notification (using Pushbullet) and/or E-mail. You can also have an aggregated RSS feed to use with your reader app or IFTTT etc.
Take a look at https://AllMyChanges.com.
It is a startup which could do more — it will send you a full release notes, not only new version numbers. And it works for projects without any release notes as well as with projects were maintainers keep handwritten ChangeLog.
Found this:
https://github.com/dear-github/dear-github/issues/111#issuecomment-442564269
It appears that "watch releases only" doesn't follow tags and many projects use only tags for announcing new versions. While https://newreleases.io/ sends notifications for tags too, it also has several version filtering options, based on regex expressions, pre and updated releases. It also offers email frequency options.
Related issue to up vote: Ability to subscribe to tags (not releases) : https://github.com/dear-github/dear-github/issues/399