Automator Workflow: Anlegen von Projektordnern und Basecamp Projekt

Laaaaaanger Titel mit Erklärungsbedarf

Wir arbeiten mit der Projektmanagement Software basecamp. Wir legen dort Projekte und Termine an und verwalten to-dos. Die eigentliche Arbeit passiert auf den Festplatten des OSX Servers. Für jedes Kundenprojekt gibt es dort einen Ordner mit fortlaufender Projektnummer, Projektname und Kundennamen. Soweit so gut. Aufwendig ist nur das Anlegen eines neuen Projekts: Heraussuchen der nächsten freien Projektnummer; Anlegen des Ordners auf der Festplatte; Anlegen des gleichnamigen Projekts in basecamp.

Automator und basecamp API

Seit einiger Zeit arbeiten wir mit einem kleinen Automator-Workflow der uns diese Arbeit abnimmt. Dieser liegt auf dem Server und verlangt nach dem Start nach Projektname und anschliessend nach dem Kundenname. Das Script sucht sich aus einem plist-File die aktuelle Projektnummer heraus und vergibt diese an das neue Projekt. Auf dem Server wird der neue Projektordner angelegt mit der folgenden Benennung:

P150011 Projektname – Kundenname

Die Projektnummer erstellst sich aus P für Projekt; 15 für das aktuelle Jahr und einer 4-stelligen Projektzahl. Der Workflow legt den neuen Ordner durch Kopie eines Musterordners an, den er im weiteren Schritt umbenennt. Das ist sehr hilfreich, da somit die gewünschte Ordnerstruktur erstellt wird.

Nach dem Anlegen des Projektordners auf dem Server, loggt sich der Workflow durch ein kleines Script via der API bei basecamp an und erstellt dort das neue Projekt. Hier aber mit einer anderen Benennung um die Sortierung nach Kunden zu erreichen:

Kundenname – P150011 Projektname

So geht’s

OSX Automator macht es recht einfach sich einen solchen Workflow zusammenzuklicken. Basis des Arbeitsprozess sind vor allem Variable und kleine AppleScripts.

Im ersten Schritt wird nach dem Projektnamen gefragt. Hierzu verwendet man das Script „Nach Text fragen“. Den eingegebenen Text speichert man in einer Variablen ab. Dazu benutzt man das Script „Wert der Variable festlegen“. Die Variable nennen wir „pmname“.
1

Danach wird der Kundenname abgefragt. Gleiches Prinzip. Wir speichern das in die Variable „kdname“.
2

Als nächstes wird die aktuelle Projektnummer aus der plist-Datei gelesen. Diese befindet sich im selben Ordner wie das Script. Die Nummer wird in der Variable „pnr“ gespeichert.
3

Bei unserer Projektnummer benötigen wir noch eine gewisse Anzahl von Vorzahlen. Es soll immer eine 4-stellige Zahl dabei herauskommen. Eine Projektnummer 11 benötigt davor 00. Eine Projektnummer 111 nur noch eine 0. Das wird durch ein Script mit einer leichten if-Schleife erledigt. Die Vorzahlen werden dann auch in einer Variable gespeichert: „vorzahlen“.
4

Jetzt wird der Musterordner von dem Server in den Projektordner kopiert und umbenannt. Dazu wird der Name des Ordners aus den gespeicherten Variablen und dem aktuellen Jahr zusammengesetzt: ‘P’ + Jahreszahl + vorzahlen + pnr + ‘ ‘ + pmname + ‘-‘ + kdname
5

Als nächstes wird die pnr in der plist-Datei um eins hochgezählt.
6

Jetzt muss noch das Projekt in basecamp angelegt werden. Dazu wird zunächst der Projektname zusammengefügt und in der Variable „komplett“ abgespeichert. Das übernimmt ein AppleScript. Es liest die übergebenen Variablen aus und baut diese zusammen. Am Schluss wird die Variable zurückgegeben und kann dann als solche gespeichert werden.
7

Die Variable wird nun an ein ShellScript übergeben. Das spricht über die API mit basecamp und legt das Projekt an.
8

Leave a Reply

Your email address will not be published. Required fields are marked *