毎日のIssue管理をIRCから簡単に行いましょう
2012/09/28 YAPC ASIA TOKYOגࣜձࣾͯͳେ߁༟JEPOJTIJ3FENJOF$IBOͰ*3$͔ΒϓϩδΣΫτཧ
View Slide
ɹJEPOJTIJେ߁༟ɹ0/*4)*ɹ[email protected]ɹגࣜձࣾͯͳɹͯͳϒϩά
%FWFM,5:1SPG5FYU)BUFOB8FC&NCFE
ͯͳϒϩά
ϒϩάͷΞΠίϯΛઃఆͰ͖ΔΑ͏ʹ͠·ͨ͠ಡΜͩϒϩάͷʮl͜͜z͕͍͍ͳʯΛॻ͖खʹ͑Α͏ʂɹҾ༻ελʔΛ͚ͭ͘͢͠·ͨ͠εϚʔτϑΥϯ༻ͷϒϩάฤूը໘ͰࣸਅΛߘͰ͖ΔΑ͏ʹ͠·ͨ͠.BSLEPXOه๏ʹରԠ͠·ͨ͠τοϓϖʔδʮͷΤϯτϦʔʯͳͲΛϦχϡʔΞϧ͠·ͨͯ͠ͳελʔΛ͚ͭ͘͢ɺݟ͘͢ͳΔΑ͏ʹมߋ͠·ͨ͠ฤूαΠυόʔʹʮ͏͝ϝϞషΓ͚ػೳʯΛՃ͠·ͨ͠αΠυόʔʹʮ࠷ۙͷίϝϯτʯϞδϡʔϧΛՃ͠·ͨ͠ωοτͷ͔ΒϒϩάΛॻ͍ͯΈ·ͤΜ͔ʁฤूαΠυόʔʹʮͯͳϒοΫϚʔΫషΓ͚ػೳʯΛ·ͨ͠എܠը૾ͷ܁Γฦ͠ͷઃఆͳͲɺσβΠϯɾΧελϚΠζػೳΛڧԽ͠·ͨ͠ϒϩάͷഎܠը૾ΛΞοϓϩʔυͰ͖ΔΑ͏ʹ͠·ͨ͠ϒϩάʹԿΛॻ͔͘ɺࣗͷπΠʔτ͔Β୳ͯ͠Έ·ͤΜ͔ʁฤूαΠυόʔʹ5XJUUFSషΓ͚ػೳΛՃ͠·ͨ͠هࣄԼ෦ΛΧελϚΠζͰ͖ΔΑ͏ʹ͠·ͨ͠ػೳมߋΞΫηεղੳػೳΛڧԽ͠·ͨ͠ϒϩάͷλΠτϧ෦ʹը૾ΛઃఆͰ͖ΔΑ͏ʹ͠·ͨ͠"NB[POհػೳΛՃ͠·ͨ͠ϒϩάͷϔομͱϑολΛΧελϚΠζͰ͖ΔΑ͏ʹ͠·ͨ͠ػೳมߋͯͳϒϩά1SPͰಠࣗυϝΠϯΛઃఆͨ͠ࡍʹɺͯͳϒοΫϚʔΫͱͯͳελʔҠߦ͢ΔͳͲͷػೳΛՃ͠·ͨ͠ػೳมߋαΠυόʔʮϓϩϑΟʔϧʯϞδϡʔϧʹࣗ༝هड़ཝΛઃ͚ΔͳͲػೳΛՃ͠·ͨͯ͠ͳμΠΞϦʔ͔ΒͯͳϒϩάͷΠϯϙʔτػೳΛՃ͠·ͨ͠هࣄ63-ΛΑΓॊೈʹઃఆͰ͖ΔػೳͳͲΛՃ͠·ͨ͠ػೳมߋαΠυόʔͷʮϓϩϑΟʔϧʯϞδϡʔϧʹɺ֤छιʔγϟϧϝσΟΞͷϑΥϩʔϘλϯදࣔػೳΛՃ͠·ͨ͠ػೳมߋεϚʔτϑΥϯߘɾฤूػೳΛՃ͠ɺཧը໘ΛϦχϡʔΞϧ͠·ͨ͠ίϝϯτঝೝػೳͳͲɺίϝϯτػೳΛڧԽ͠·ͨ͠ͱͩͪݶఆͳͲɺϒϩάͷެ։ൣғΛઃఆͰ͖ΔΑ͏ʹ͠·ͨ͠(PPHMF"OBMZUJDTରԠͳͲɺαΠτཧػೳΛՃ͠·ͨ͠ϝʔϧͰهࣄ͕ߘͰ͖ΔػೳΛՃ͠·ͨ͠αΠυόʔϞδϡʔϧʮϦϯΫʯʮ࠷৽هࣄʯͷػೳΛڧԽ͠·ͨ͠৽͍͠αΠυόʔϞδϡʔϧΛՃ͠ɺαΠυόʔฤूػೳΛڧԽ͠·ͨ͠֎෦αΠτຒΊࠐΈػೳΛڧԽ͠ɺ5XJUUFSͷπΠʔτͳͲΛ؆୯ʹషΕΔΑ͏ʹ͠·ͨ͠(PPHMF֤αʔϏεͷࣸਅಈըͳͲ͕؆୯ʹհͰ͖ΔػೳΛՃ͠·ͨ͠هࣄͷߘ࣌ΛมߋͰ͖ΔΑ͏ʹ͠·ͨ͠Ωϟϯϖʔϯͯͳϒϩάͷ༗ྉϓϥϯʮͯͳϒϩά1SPʯΛϦϦʔεɺକ5γϟπͷϓϨθϯτΩϟϯϖʔϯΛ։࠵ʮهࣄΧςΰϦि࿈ଓ৽ػೳϦϦʔε
3FENJOFwϓϩδΣΫτཧιϑτΣΞw3VCZPO3BJMTwػೳ͕๛wૢ࡞͕ࡶʢݸਓͷݟղͰ͢ʣ
3FENJOF8FC
wࠓ୭͕ԿΛ͍ͬͯΔ͔ՄࢹԽw࿙ΕΛͳ͘͢wཧ͕໘ͰݏʹͳΒͳ͍1SPKFDU.BOBHFNFOU
wͱʹ͔͘؆୯ʹJTTVFొwৗ͍ͬͯΔπʔϧ͔ΒwϒϥβͰ3FENJOF։͔ͳ͍wଉΛ͢ΔΑ͏ʹJTTVFొ1SPKFDU.BOBHFNFOU
*3$w*OUFSOFU3FMBZ$IBUwTJODF 3'$wރΕٕͨज़Ͱ͕ࣾ५͏wࣾ*3$ΤϯδχΞͷৗ
hitode909: ϒϩάͰmarkdown͍͍ͨonishi: ͍͍ͨʂRedmineʹొ͠·͢ʂonishi: Redmineʹొ͠ͱ͍ͨΑʂhitode909: Γ·͢ɹhitode909: Γ·ͨ͠ɻϨϏϡʔ͓ئ͍͠·͢onishi: ʂϨϏϡʔ͠·ͨ͠ɻͳ͍Αhitode909: ͋Γ͕ͱ͏͍͟͝·͢ɻϦϦʔε͠·ͨ͠UBMLPO*3$
3FDJQFw*3$αʔόʔw3FENJOFαʔόʔwઐ༻3FENJOFϢʔβʔ ཧݖݶw3&45"1*Λ༗ޮʹ͢Δཧઃఆೝূ
3FENJOF$IBOuse Redmine::Chan;my $minechan = Redmine::Chan->new(irc_server => 'your.irc.host',irc_port => 6667,irc_password => 'your_irc_password',irc_channels => {'#channel' => { project_id => 1 },},redmine_url => 'http://your.redmine.host/',redmine_api_key => 'redmine_api_key',);$minechan->cook;
*3$$POpHuse Redmine::Chan;my $minechan = Redmine::Chan->new(irc_server => 'your.irc.host',irc_port => 6667,irc_password => 'your_irc_password',irc_channels => {'#channel' => { project_id => 1 },},redmine_url => 'http://your.redmine.host/',redmine_api_key => 'redmine_api_key',);$minechan->cook;
3FMBUJPOTIJQuse Redmine::Chan;my $minechan = Redmine::Chan->new(irc_server => 'your.irc.host',irc_port => 6667,irc_password => 'your_irc_password',irc_channels => {'#channel' => { project_id => 1 },},redmine_url => 'http://your.redmine.host/',redmine_api_key => 'redmine_api_key',);$minechan->cook;
3FENJOF$POpHuse Redmine::Chan;my $minechan = Redmine::Chan->new(irc_server => 'your.irc.host',irc_port => 6667,irc_password => 'your_irc_password',irc_channels => {'#channel' => { project_id => 1 },},redmine_url => 'http://your.redmine.host/',redmine_api_key => 'redmine_api_key',);$minechan->cook;
3VOuse Redmine::Chan;my $minechan = Redmine::Chan->new(irc_server => 'your.irc.host',irc_port => 6667,irc_password => 'your_irc_password',irc_channels => {'#channel' => { project_id => 1 },},redmine_url => 'http://your.redmine.host/',redmine_api_key => 'redmine_api_key',);$minechan->cook; # run ͰՄ
.PEVMFT"OZ&WFOU*3$$MJFOU8FC4FSWJDF4JNQMF
ҙ͜ͷޙɺ1FSMͷίʔυग़ͯདྷ·ͤΜ)085064&
$SFBUF*TTVFonishi: minechan: YAPCࢿྉ࡞Δminechan: https://your.redmine.host/issues/123:[YAPCࢿྉ࡞Δ] [৽ن]
4IPX*TTVFonishi: #123minechan: https://your.redmine.host/issues/123:[YAPCࢿྉ࡞Δ] [৽ن]
"TTJHOonishi: #123 > motemenminechan: https://your.redmine.host/issues/123:[YAPCࢿྉ࡞Δ] [motemen] [৽ن]
/PUFonishi: IE6ޙͰ֬ೝ͢Δ > #123minechan: https://your.redmine.host/issues/123:[YAPCࢿྉ࡞Δ] [motemen] [৽ن]
*TTVF$POEJUJPO"TTJHO MPHJOOBNF4UBUVT TUBUVTOBNF5SBDLFS USBDLFSOBNF%VF%BUF aE\^<>aE\ ^<>aE\ ^
$IBOHFBUPODFonishi: #1 όά ਐߦத 2012/9/28minechan: https://your.redmine.host/issues/1 : [όά][onishi] [ਐߦத] [2012-09-28]
$IBOHFBUPODFonishi: #1 όά ਐߦத 2012/9/28minechan: https://your.redmine.host/issues/1 : [όά][onishi] [ਐߦத] [2012-09-28]5SBDLFS
$IBOHFBUPODFonishi: #1 όά ਐߦத 2012/9/28minechan: https://your.redmine.host/issues/1 : [όά][onishi] [ਐߦத] [2012-09-28]4UBUVT
$IBOHFBUPODFonishi: #1 όά ਐߦத 2012/9/28minechan: https://your.redmine.host/issues/1 : [όά][onishi] [ਐߦத] [2012-09-28]%VF%BUF
"VUP$POpHwVTFSTKTPO[email protected]wUSBDLFSTKTPO
3FMPBE$POpHonishi: reloadminechan: reloaded.
ৗͷϓϩδΣΫτཧ
৽ن ਐߦத ϨϏϡʔґཔ ϨϏϡʔத ϦϦʔεͪ ऴྃϨϏϡΞʔ୲ऀ
3FENJOF$IBO."/*"$4
HJUEJGGNBTUFSCSBODI$VTUPN'JFMET
$VTUPN'JFMETonishi: #123 origin/mybranchminechan: https://your.redmine.host/issues/123 : [mybranch]custom_field_prefix => {2 => [qw(origin/)], # branch},
4.&hitode909: ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏onishi: ͦΕΊͬͪΌ͑͑Μonishi: minechan: ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏minechan: https://redmine/issues/123: [ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏]
4.&hitode909: ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏onishi: ͦΕΊͬͪΌ͑͑Μonishi: minechan: ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏minechan: https://redmine/issues/123: [ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏]ίϐϖ
hitode909: ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏onishi: ..ɹminechan: https://redmine/issues/123: [ण͕࢘ճΔΑ͏ʹ͠·͠ΐ͏]
.:"1*,&:onishi: aaaminechan: set key onishi : aaaQSJWNTHUPNJOFDIBO
$VTUPNJ[Fstatus_commands => {1 => [‘Ί·͢’],2 => [‘Γ·͢’],3 => [‘ϨϏϡʔ͓Ͷ͕͍͠·͢’],4 => [‘ϨϏϡʔ͠·͢’],5 => [‘ϨϏϡʔ͠·ͨ͠’],6 => [‘ϦϦʔε͠·ͨ͠’],}, ৽ن ਐߦத ϨϏϡʔґཔ ϨϏϡʔத ϦϦʔεͪ ऴྃ
hitode909: ϒϩάͰmarkdown͍͍ͨonishi: ..ɹminechan: http://redmine/issues/123ɹhitode909: #123 Γ·͢ɹhitode909: #123 ϨϏϡʔ͓ئ͍͠·͢onishi: #123 ϨϏϡʔ͠·ͨ͠hitode909: #123 ͋Γ͕ͱ͏͍͟͝·͢ ϦϦʔε͠·ͨ͠.BOBHFMJLFUBMLJOH
hitode909: ϒϩάͰmarkdown͍͍ͨonishi: ..ɹminechan: http://redmine/issues/123ɹhitode909: #123 Γ·͢ɹhitode909: #123 ϨϏϡʔ͓ئ͍͠·͢onishi: #123 ϨϏϡʔ͠·ͨ͠hitode909: #123 ͋Γ͕ͱ͏͍͟͝·͢ ϦϦʔε͠·ͨ͠ʲ*TTVFొʳ.BOBHFMJLFUBMLJOH
hitode909: ϒϩάͰmarkdown͍͍ͨonishi: ..ɹminechan: http://redmine/issues/123ɹhitode909: #123 Γ·͢ɹhitode909: #123 ϨϏϡʔ͓ئ͍͠·͢onishi: #123 ϨϏϡʔ͠·ͨ͠hitode909: #123 ͋Γ͕ͱ͏͍͟͝·͢ ϦϦʔε͠·ͨ͠ʲਐߦதʳ.BOBHFMJLFUBMLJOH
hitode909: ϒϩάͰmarkdown͍͍ͨonishi: ..ɹminechan: http://redmine/issues/123ɹhitode909: #123 Γ·͢ɹhitode909: #123 ϨϏϡʔ͓ئ͍͠·͢onishi: #123 ϨϏϡʔ͠·ͨ͠hitode909: #123 ͋Γ͕ͱ͏͍͟͝·͢ ϦϦʔε͠·ͨ͠ʲϨϏϡʔͪʳ.BOBHFMJLFUBMLJOH
hitode909: ϒϩάͰmarkdown͍͍ͨonishi: ..ɹminechan: http://redmine/issues/123ɹhitode909: #123 Γ·͢ɹhitode909: #123 ϨϏϡʔ͓ئ͍͠·͢onishi: #123 ϨϏϡʔ͠·ͨ͠hitode909: #123 ͋Γ͕ͱ͏͍͟͝·͢ ϦϦʔε͠·ͨ͠ʲϦϦʔεͪʳ.BOBHFMJLFUBMLJOH
hitode909: ϒϩάͰmarkdown͍͍ͨonishi: ..ɹminechan: http://redmine/issues/123ɹhitode909: #123 Γ·͢ɹhitode909: #123 ϨϏϡʔ͓ئ͍͠·͢onishi: #123 ϨϏϡʔ͠·ͨ͠hitode909: #123 ͋Γ͕ͱ͏͍͟͝·͢ ϦϦʔε͠·ͨ͠ʲऴྃʳ.BOBHFMJLFUBMLJOH
·ͱΊ
OJDL*446& $SFBUFJE 4IPXJEBTTJOUSBDLFSTUBUVTEBUF6QEBUFOPUFJE /PUFSFMPBE 3FMPBE 4.&
3FENJOF$IBOͰw*TTVFʹؔ͢Δجຊૢ࡞Λ*3$্ͰwৗͷϓϩδΣΫτཧΛ؆୯ʹwཧʹΘ͞Εͣɺຊ࣭తͳࣄΛHJUIVCDPNPOJTIJ3FENJOF$IBO
ؓ࠷ۙͷͯͳ
()&$IBO͝ظԼ͍͞
ਓࡐืूwͯͳͰશ৬छΛืू͍ͯ͠·͢ʂw౦ژΦϑΟεͰΤϯδχΞ࠾༻ʂwҰॹʹϒϩάΛ࡞Γ·͠ΐ͏ʂwww.hatena.ne.jp/company/staff
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠