BlueBug
BlueBug is a free bug and feature tracking system built on the “KISS” principle (keep it simple, stupid). Accounts are not required to post bugs, everything is straight forward and easy to use. Look below for more information and features.
Browse/Checkout/Commit Source @ GitHub
Clone URL: git clone git://github.com/bluescripts/bbug.git
Installation Instructions
Unzip the files, upload them to your directory. Edit config.php and enter your database information, go to http://bluebug.yoursite.com/install.php enter the admin details and then hit FINISH. Once your user has been created delete the install.php and your ready to go!
System Requirements
This was developed on PHP 5.x but will work on PHP 4.x.
Register globals was ON.
Apache 2 was used, any will do though.
Javascript is required by the users.
MySQL 4.x+ is required and is the only database type supported for now.
Features
- Lightweight: only 3 tables
- Unlimited number of users/admins
- Unlimited number of projects
- Simple roadmap to show completion of bugs/features for a specific project
- Versioning for projects (eg: Demo v1.0 Demo v2.0)
- Ticket Priorities
- Admin menu to quickly change context menus and assign tickets to users
- Sortable tables
- Start / Finish times of tickets
- Status (Open/Closed)
Changelog
- v1.5 – 2/19/2009 – RELEASED
- Attachments in tickets/reports
- Working API (more here eventually)
- To Do List functionality added for a new feature
- Quick Add form added to quickly add bugs
- Added filtering options to show open/closed tickets, and filter by project
- Fixed a WYSIWYG editor bug
- Really fixed all short tags this time
- Links are now automatically created when entered into a ticket
- Admin’s can edit titles by simply clicking on a ticket and then clicking the edit button next to the ticket’s title
- Fixed url for emails not pointing to proper subdirectory
- Fixed url issue for bugs being added and emails being sent out for quickadd bugs/features
- Fixed report background image not working to show progress
- Changed version control system to GIT (maybe some people can contribute now)
- NEW LAYOUT!
- Fixed various CSS bugs
- v1.2 – 10/27/2008 – RELEASED
- Fixed all short tags (if you still get an error let me know, I’m 99.9% sure I got them all)
- Script now works properly in sub directories – see demo for in-action.
- v1.1 – 9/9/2008 – RELEASED
- Added a line to the config.php to limit registered users to posting. Add $config[registered] = 1; in your config.php file to only allowed registered users (if upgrading).
- Added a last insert id function to the Database class.
- Administrators now get emails when new tickets have been added.
- Assign to list for tickets now properly displays all users.
- When a user is assigned to a ticket, they are notified by email.
- Priority # changed to text for easier reading.
- Users are now emailed when their ticket is closed, if they are registered.
- There is now a user administration area in the admin panel.
To Upgrade to 1.5
Please read the readme file included in the zip. You must run the upgrade.php file and make changes to your config.php file.
To Upgrade from v1 to 1.1
Unzip all the files, upload everything except the config.php file, check the config.php for the syntax of the new feature for forcing users to register.
Download
BlueBug (2906)Screenshots
BlueBug demo site:
Let me know what you think by leaving a rating!
Apps

Twitter
August 28th, 2008 at 4:59 am
nice job, simple and efficient.
what i would like (and probably do it myself) is an option for the admin to limit the bug submission to registered users only.
regards.
radu
August 28th, 2008 at 6:58 am
+1
But one thing missed I think – It will be good to implement 3 types of email notifications:
1. to the Admin when new task is created
2. to the person to whom task was assigned
3. to the task author about task completion
August 28th, 2008 at 8:14 am
I’ve noted both of these and will implement them in the next version.
Thanks for the great feedback and suggestions!
August 28th, 2008 at 10:56 am
My download manager offers to download the site when I enter the /install.php file, instead of showing it, which kind of make it impossible to install
BTW. It would be nice to have table prefixes
August 28th, 2008 at 11:13 am
Sounds as though you don’t have php installed or installed properly.
August 30th, 2008 at 7:00 am
Hi, I was wondering if there is a way to edit/delete features as admin. And is there a way to add and remove users? A way to stop users from adding bugs Anonymous ly?
August 30th, 2008 at 11:08 am
You can delete tickets when you click on them (I’m assuming thats what you meant). Users can hit the register link to add themselves.
In the next version I will be making a anonymous/registered option for posting bugs.
August 30th, 2008 at 11:28 am
Hi,
I think you should probably add [an optional] setting for coloring reported bugs dependent of the Severity (I guess this can also be “Priority”). Another thing I suggest is to make the “Priority” to show text instead of numbers.
September 6th, 2008 at 10:58 pm
make sure you replace all “<?” with “<?php” throughout the script to make it work with php5 and most hosts.
September 6th, 2008 at 11:11 pm
I know this question is ironic.. but, is there a bug tracking system setup for this script?..
.. also noticed that all the media, such as images and css files are referenced as eg. src=”/images/etc..” if you remove the first slash to make it look like src=”images/etc..” will allow people to install the script in sub-directories, such as http://site.com/bugs/,
other wise, the images won’t load or the javascript (at least in Firefox)
do you have an SVN setup? I could help a little if we team up (not asking, just a suggestion, I have a lot of work!, but i could consider helping).
thanks
September 7th, 2008 at 10:54 am
If you want to report any bugs just leave a note here
.
Thanks for all your comments! I will make sure in the next version to change the to
Josh
September 9th, 2008 at 11:45 am
I’ve upload v1.1, you can look at the changelog above for more information.
Let me know if you have anymore questions or bugs!
Josh
September 18th, 2008 at 3:17 pm
Nice script, but I have some open points as well:
1. Do not use INSERT INTO …(id, …) VALUES (”, …)
Will fail if you use this MySQL setting (because ” is not a integer value!):
[mysqld]
sql-mode = “STRICT_TRANS_TABLES”
This problem occurs in many places…
2. Fix the path problem (simply use a “directory” constant) otherwise this script is hard to use.
3. Do not use variables like $config[registered] BUT $config["registered"].
4. Probably add a language flag to the usertable and use a translation file (I would help translating it to german)
5. Turn register_globals OFF during development.
I’d like to use the script. But currently it doesn’t work, because I like my server to use strict settings, so developed scripts will likely run in most other environments.
Why don’t you use your own script for bug handling???
Looking forward for the next version
September 18th, 2008 at 7:40 pm
I’ll make sure to export the schema next time in strict mode.
In the next version I’ll fix the few bugs you mentioned although I don’t plan on translating this at all.
September 21st, 2008 at 4:09 am
It looks great but I do have some comments that would be nice to see in future versions:
- registered globals off
- no short open tags
Especially the last point is quite important to me, since all our servers have short open tags disabled.
September 21st, 2008 at 8:48 am
Cool, so I come back once in a while to check for the new version
October 16th, 2008 at 12:56 pm
very cool, i will use
October 18th, 2008 at 6:47 am
nice. very lightweight, indeed. Would like to use it.
October 18th, 2008 at 4:17 pm
unfortunately, it doesn’t work. probably due to post #15. Any chance you can upload the fixes? Thanks.
October 20th, 2008 at 1:13 pm
Is it just me ?
Just downloaded and installed bluebug.
first problem:
bluebug installed in its own directory, and trying to load images from base domain/images instead of domain/bluebug/images
next go to admin/admin.php:
nothing but a ” > ”
blank screen otherwise.
next go to index.php:
same image problem
same “>” as above
try log in box, incorrect user/password
I did note your install instructions show upload to bluebug.domain.com I now assume one must use it on a subdomain ? If so why ?
There’s a few minutes of my life ill never get back….
October 21st, 2008 at 2:38 pm
Great script. Been tinkering with it. I feel you could add ALOT more. If you’re open to partnering up development I’d be glad to help add new features.
October 27th, 2008 at 1:49 pm
Whats with the error messages?? I tried to re-install several times. Please help!
Thanks.
October 27th, 2008 at 1:49 pm
Please see:
http://www.ericport.com/trackingsystem/index.php
October 27th, 2008 at 3:57 pm
If you’re modifying the script make sure you do modifications after the headers are sent (in this case the session_start() function ).
If your still having issues after that feel free to shoot me an email: josh [@] bluescripts DOT net
October 27th, 2008 at 4:46 pm
1.2 of BlueBug has been released and has addressed all of the issues many of you have been having. Please let me know if you’re still having any problems or have any suggestions!
October 27th, 2008 at 9:12 pm
I just emailed you Josh. Thanks.
October 27th, 2008 at 10:29 pm
Fixed another minor bug that Eric found where a PHP5 function was accidentally used instead of a PHP4 friendly one. If you replace line 82 in includes/db.php the function stripos with strpos it will fix any errors you may have had on a PHP4 host.
November 5th, 2008 at 5:25 am
Hi, great little script i changed the user auth to work with my site and plugs in very nice.
I would recommend switching on PHP errors and fixing all the errors!! i had to add error_reporting(0); on my development server cos there was that many errors.
November 5th, 2008 at 8:33 pm
Nice tool, Josh. It’s almost exactly what I was looking for.
However, I found bugs and I have simple ideas to enhance it :
- It is possible to create an admin with no login and no password.
- Connected as an admin, it is possible to delete oneself
- On IE 7, the button in the editor to submit a bug has strange behaviours
- The path to images is sometimes “hard coded” (/images/…), it is not relative
- It is possible to submit an “empty” bug
- Changelog and doc for install could be integrated in the zip file
- It would be nive to be redirected to install.php when you enter the url and you point at the root of the project, at installation (no tables created yet)
Best regards,
Bastien
November 5th, 2008 at 9:25 pm
I will keep all that in mind for the next release — One question though is where you found the /images/ – I thought I had fixed all those.
Thank you for your interest and comments!
Josh
November 11th, 2008 at 7:14 am
Thanks Josh,
Its hard to find some simple software.
Mostly it is to heavy, full of functions you don’t want to use.
Feature :
can you add an upload field for screendumps or docs / pdfs.
can you put the sendadres in config.php
Keep up the great work.
November 23rd, 2008 at 11:03 am
Cool Script! Thanks!
Gives there a way to see which Project is for which issue/bug?
November 25th, 2008 at 12:33 pm
nice aplication….
I already install, and the very nice work…
In my version and also in the web, when we make one reply, we get:
Subject:
Reported by: xxxxx
IP Address: xxx.xxx.xxx.xxx
Submission Date:
Tue, November 25 2008 04:11:17 PM WET
And it misses the box(editor) to enter coment…in mozila appear some points and after the box in IE just points….
November 25th, 2008 at 2:13 pm
remove the slash before the “/js…
href=”js/jquery.wysiwyg.css” rel=”stylesheet”>
December 2nd, 2008 at 7:55 am
Hi Josh,
When installed in a sub-directory, the e-mails sent to notify about new bugs, assignment, etc. contain a link to view the bug, but the URL only contains the main domain name, not the sub-directory name.
Cheers,
John
December 3rd, 2008 at 2:09 pm
Hi Josh,
This is very nice & easy to use software. Thanks a lot!
However the project name & version for each bug/feature request do not appear anywhere, so although they are entered when the report is submitted, the information is not available. It would be nice to have this info in the bug report/feature request, maybe also in the lists of bugs/features (for sorting, etc.).
Cheers,
John
January 3rd, 2009 at 10:12 am
Hi,
Just implemented it now. In 10 minutes I had created all the software projects I am tracking. brilliant. Thank you!
January 4th, 2009 at 7:53 am
One more thing…it would be nice to have a validation against empty subject field and php coding in the subject field.
If the subject field is left blank then it can never be selected I think.
If one enters php code into the tag the one can get global variables displayed and constants and potentially hack the server.
Could that be fixed? Maybe by validating against text and numbers only in subject field? Something like this for the Latin languages:
function check_field1($field_name_1)
{
if(!preg_match(“/[^a-zA-Z0-9\.\-\?\ä\?\ö\?\ü\
]+$/s?,$field_name_1))
return TRUE;
else
return FALSE;
}
Kind regards
Chrizb
January 17th, 2009 at 4:15 pm
“Fixed all short tags”
Are you kidding! What is <?= then
Found in 7 or 8 files
January 17th, 2009 at 6:58 pm
Dominic,
If you’re going to quote something, quote it properly: “# Fixed all short tags (if you still get an error let me know, I??m 99.9% sure I got them all)” You seem to have missed that last part.
It is open source so you’re free to fix them yourself, or you can point them out to me and I will fix them.
January 31st, 2009 at 11:08 am
Sorry, could not get it working on a shared hosting account with PHP5 and MySQL5. No idea why not, possibly the globals. Maybe the next release will be better because it will have been tested on a PHP5 environment?
January 31st, 2009 at 12:10 pm
Works fine for me on PHP4 and PHP5… you can see it at http://bluebug.home.bluescripts.net/
If you email your error log to me I might be able to help you out a little.
Josh
January 31st, 2009 at 9:28 pm
I’d also like to point out that on the above link register globals is off and everything works fine. I am using this MySQL release as well:
mysql Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i686) using readline 5.0
February 19th, 2009 at 4:48 am
Any idea when the new version will come out?
February 19th, 2009 at 9:52 am
Hopefully by the end of the month.
February 19th, 2009 at 11:16 am
PHP Short tags need to be enabled for this to work.
You might like to re-consider this, as not everybody has access to their PHP config file.
February 19th, 2009 at 11:32 am
Its been released
.
February 19th, 2009 at 11:55 am
Lee,
Try 1.5 and let me know if you still have an issue.
March 5th, 2009 at 10:37 am
Hello!
I need some way to remove outdated entries completely, incl. all related comments – and only “closed” ones, of course.
I know a bit PHP/SQL, but I don’t understand how to extend your script couse it’s so nested using all these includes and javascripts
Selection of entries to be deleted should be done manually, so not by “date” or such; may be by putting a link “remove” under the closing date? Or make the date itself a link? Somethíng like that, I think you know what I mean
Except from that, great stuff!
Dieter
Berlin, Germany
March 5th, 2009 at 11:02 am
Dieter,
I forgot to add the delete link in the release I made but its up on GitHub… I’ll link you to file:
You’ll need to replace the main.php file in includes/
http://github.com/bluescripts/bbug/blob/ced9c8ebc0a330598c0088245252725ec9f1d6b0/includes/main.php
Thanks for the great comments!
Josh
March 11th, 2009 at 11:54 pm
WOW cool! the delete ticket was just what I was looking for thanks!
Best little script ive seen in ages!
Thanks every one!
J
March 12th, 2009 at 3:52 am
Just a few bugs,
- only admin can edit a post
- only admin can change priority
- only admin can close job
We need users to do this stuff
March 12th, 2009 at 10:10 am
@ #47 – Josh
I’ll look into getting those into 1.6 – the major feature I’m working on is actual github integration.
Regards,
Josh
March 12th, 2009 at 7:56 pm
@48 Thanks Josh!, Nice name By the Way
March 13th, 2009 at 12:51 am
one more thing that is really really really needed and would love if there is a quick fix for this.
If someone responds to a bug it would be great if on the home screen there could be a response count. because at the moment I have to click through every bug to see if the programmer has added a comment or question to a bug.
But loving the the script mate!
March 13th, 2009 at 10:00 am
@50 – Josh
I’ll try and remember to add that but this is somewhat similar. The new homescreen for bluebug is a “status” screen which displays information like what you want:
http://img.skitch.com/20090312-d8rcrrbhwh6uu656mjehmenu5b.jpg
March 13th, 2009 at 10:13 am
I recommend that you have one more STATUS field. Either have a NEW category for tickets that haven’t been seen by the admins -OR- use INPROGRESS once an admin has seen or is addressing the ticket.
This gives feedback to the ticket submitter to let them know that the ticket has been seen or acknowledged.
(alternatively you could you some kind of flag on the ticket status line. Maybe a graphic or a timestamp showing the last update status of the ticket.)
March 17th, 2009 at 6:21 pm
WOW perfect! thanks for your hard work. that screen shot looks great! your a great designer champ! this is the best looking bug tracker as well as the easiest.
March 19th, 2009 at 2:49 am
Have you got an ETA on the next build?
March 19th, 2009 at 11:45 am
No ETA yet although you’re welcome to pull the source from GitHub if you want the latest – theres still bugs though.
Josh
March 20th, 2009 at 6:45 pm
Thanks i will
March 20th, 2009 at 7:19 pm
Josh C and anyone else:
Here is the file with the SQL changes/updates:
http://github.com/bluescripts/bbug/blob/80595a6f6c25adfcb603808a9da170ca08bfc640/sql_changes.sql
March 24th, 2009 at 11:37 am
[...] di “GxWare BTS” (Bug Tracking System) basato sul software gratuito PHP / MySQL BlueBug, che prende il posto della vecchia piattaforma di supporto (qui e qui i dettagli) pur rimanendo [...]
March 25th, 2009 at 6:44 pm
Looks very good!
Please mail me when the “login” feature has been added as that will fit my needs perfectly.
March 26th, 2009 at 9:03 pm
I really don’t know much about programming, All I can do is install scripts and and do small changes.
is there a new install or upgrade script? as going in and changing SQL tables is out of my knowledge base. Although I’m starting a short coarse in php in a few weeks time
Cheers
Josh
March 26th, 2009 at 9:43 pm
Josh C,
You just need to run the SQL queries in that file I linked above to add the appropriate tables to your database (you should be able to do this in phpMyAdmin or a similar tool).
Regards,
Josh
April 14th, 2009 at 1:42 am
There was a small bug in your latest release. The install script doesn’t create the column “tid int(11)” in table todo_list
June 6th, 2009 at 2:59 am
I like this product, and I would make the changes and contribute to the project, but i am not a JS coder and don’t know where to start. Any tips would be greatly appreciated.
There are a couple JavaScript cross browser compatibility issues preventing me from using this. In Chrome the popup to change the priority level does not work, making it impossible to change the priority level. in IE6 (a lesser issue) the hover state of both the main dropdown, and the priority changer do not hide themselves. a page refresh is required for these to be hidden.
August 9th, 2009 at 1:35 pm
Hi, I’ve installed your scripts – very useful, but I can’t find where yo can eithe close or delete a bug. I’ve looked through these messages and swa the one about downloading main.php from github – but it didn’t seem t make any difference.
Am I just being thick here? Can you tell me how I close a bug/feature and then delete a closed bug/feature.
Many Thanks
August 9th, 2009 at 3:54 pm
Andy,
I emailed you as well but here for anyone else:
When you view a ticket (if you’re logged in) an extra menu is added up top that says This ticket… it has a drop down that lets you do various things, including close a ticket.
Regards,
Josh
August 16th, 2009 at 4:11 pm
Hello,
thanks for a wonderful and light weighted bug tracking tool.
really superb…
one query..on actions like…while creating tickets..it triggers an email…where can i change the “From” address?
thanks
August 16th, 2009 at 8:01 pm
Raja,
Its in the includes/user.php file in this function
function mailUser($uid, $from, $message, $subject)
Regards,
Josh
August 17th, 2009 at 3:07 pm
Thanks Josh..thanks for the quick turn around…
August 31st, 2009 at 11:10 pm
Great job on this tool. Have been using it and works a treat.
September 26th, 2009 at 7:30 pm
This blue bug is just as stunning as it is simple and efficient.
But after installing it, I get this error:
PHP Notice: Undefined index: REQUEST_URI in d:\www\[...]\includes\main.php on line 6
It appears twice in the header, and once in the footer.
Is there something I can do about it?
Eric.
November 16th, 2009 at 11:16 am
Hello Josh,
Is it any way so that users can be assigned to a particular project and can not view Tickets related to other projects?
Thanks
Raja
November 19th, 2009 at 4:13 pm
Josh: Recommendation, in bugs.php I would do a stipslashes on this line, <a href="?pid=pid;?>&cmd=view&id=”>. Its line 101 for me, but I modified your program to require that you have a project id to view anything. That way I can create many different projects, and yet at the same time, nobody knows how many projects I am working on. Other that that, VERY good script, and if you would like to see a copy of my modifications, let me know
November 19th, 2009 at 4:15 pm
Ah, it ate the code… here is what I was looking for…if this doesn’t work, don’t approve it
<td><a href=”?pid=<?php echo $this->pid;?>&cmd=view&id=<?php echo $r["id"];?>”><?php if($r["title"] == “”) echo “[No Title]“; else echo stripslashes($r["title"]);?></a></td>
December 15th, 2009 at 8:19 am
It would be nice if there were a few more fields on the ticket such as Operating System, Browser, etc. It would be even better if they could be customized from the Admin menu.
January 5th, 2010 at 6:57 pm
[...] BlueBug [...]
January 7th, 2010 at 10:12 am
Will there be any updates on this? It’s been out for almost a year without a single update I believe.
February 16th, 2010 at 9:49 am
If you have a github account fork it and then do a merge request, I’ll see if I can incorporate them into it.
February 16th, 2010 at 9:49 am
Currently no.
February 16th, 2010 at 9:52 am
I’ll be trying to update this more but I’ve become swamped with work and school. I was in the middle of working on it but got distracted by Ruby on Rails