This is an Issue Integration for the programming environment Squeak. It allows groups of developers to create, manage and edit issues directly inside of the image. All issues are held and managed by an Issue Management System like GitHub.
Currently only GitHub is supported as an Issue Management System. GitHub Issues support title, body, assignee, labels. Closed Issues are ignored by the system.
- Create Issues for methods and classes
- Create Issues right from the Debugger
- View all Issues by repository
- Indication of Issues related to a certain class or method directly inside the system browser by exclamation icons (the icon is red for issues assigned to you, orange otherwise)
- Edit and close Issues
Fix me
button to open a system browser with the class or method the Issue is related to in focus
In case you use an older version of the Issue Integration, namely v0.1
, we
recommend to execute the following code to remove deprecated links from the
menu bar:
TheWorldMenu registry copy do: [ :each | (each first = 'Issue Package Browser ') ifTrue: [TheWorldMenu registry remove: each.]].
Run the following code in a Workspace:
{
Metacello new
baseline: 'IssueIntegration';
githubUser: 'hpi-swa-teaching'
project: 'SqueakIssueIntegration'
commitish: 'v1.0'
path: 'packages'
}
do: [ :baseline | baseline get ];
do: [ :baseline | baseline
onConflict: [ :ex | ex allow ];
load: 'default' ].
Open the Issue Integration (Apps
-> Issue Integration
) and click on Settings
.
The Settings window opens.
Then find the package you are working on. Enter the following information:
- The name of your github project e.g.
hpi-swa-teaching/SqueakIssueIntegration
(or a direct link:https://github.com/user/repo
) - Your GitHub username. This is necessary to highlight issues assigned to you.
- An OAuth-Token. To authenticate you at the Issue Management System you need an
OAuth-Token. You can click the
Create new OAuth-Token
button to directly open your webbrowser at GitHub's token creation page. If your repository is public, leave everything as it is (public_repo
scope checked), scroll down and hit theGenerate token
button. If your repository is private, make sure to also check therepo
scope. Copy the generated token and hit theSave (and quit)
button inside the Settings window.
To create an Issue you can right-click on a method or class in the System Browser or the
Debugger and select create Issue
in the context menu (the option only
appears in packages with a set up issue management). You can give it a
title and optional description. If you want to assign the issue
directly to one of your team members you can enter their username in the
Issue Creator. Please note that you and the assignee both need push access
to the repository for the assignment to work. You also need push access
to assign labels to the Issue.
All existing Issues for a method or class are indicated with a little exclamation icon next to the name (if an issue is assigned to you the exclamation icon indicates this by changing it's color to red). To show, edit or close them you can access all Issues of this method or class in its context-menu.
Open the Issue Integration (Apps
-> Issue Integration
). Select the
repository and click through the list of issues. All changes you make to
issues are directly sent to GitHub and saved.
Pull Requests are welcome. Please make sure to run the tests locally before
pushing to the master branch. To run the tests, make sure your port 8080
is not in use. It is used during tests to start a GitHub mock server to be
independent from your internet connection and GitHub's availability.