SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Hi! I'm Tim, a.k.a @kannonboy
Slides: tinyurl.com/scratch-your-own-itch
STUFF I LIKE

STUFF I DON'T LIKE

coding
DVCS
new technology
APIs
time savers
star wars

meetings
time tracking
office documents
business process diagrams
SOE
management science
Legions of Atlassian developers
1. Scratch your own itch
2. Build a back scratcher
3. Design for extension
4. Sell to millions
KEEPING DEVS HAPPY
Integration plugins

Extending JQL
Application Links
Reconciling issues and code

REST APIs

Client-side git hooks
Branching from broken commits

Designing for extensibility
Plugins for your plugin
Exporting Java APIs
"Suggesting" PR reviewers
“ Because source is truth. ”
HOW IT WORKS
INTEGRATE ALL THE THINGS
Answer interesting questions
Kill context switching
UAL makes it easy:
Authentication
Zero-Conf
Pluggable
GIT HOOKS
$ git clone git@stash.atlassian.com:STASH/stash.git
Cloning into 'stash'...
done.
$ ls stash/.git/hooks
applypatch-msg.sample
commit-msg.sample
prepare-commit-msg.sample
pre-rebase.sample

pre-applypatch.sample
pre-commit.sample
post-update.sample
update.sample
“ Why is everything broken!? ”
$ git checkout 2.4.1
Switched to branch '2.4.1'
171957a has 5 green builds.
$ git checkout master
Switched to branch 'master'
Warning! c25e64d has 3 red builds.
(Plus 3 green and 0 in progress)
Details: https://stash.atlassian.com/rest/build-status/latest/com
mits/c25e64d
$ git checkout tpettersen/STASH-1984
Switched to branch 'tpettersen/stash-1984'
ff1837 hasn't built yet.
HOW IT WORKS
DESIGNING FOR EXTENSION - REST
Expose your data

UI is hard - let them script!
Organic growth
Auto-discovery via REST API browser
“ Because domain experts. ”
HOW IT WORKS
DESIGNING FOR EXTENSION modular design
toggle per customer
x-product deployments
<module.. application="jira" />

customisation by external developers
trivial to implement :
<module-type key="my-type" class="MyModuleDescriptor">
MyModuleDescriptor.java
MyModuleInterface.java
DESIGNING FOR EXTENSION export services & utility classes
multi-module plugins
sell add-ons for your add-ons
other developers can stand on your shoulders
trivial to implement:
<component class="MyService" public="true" />
<instructions>
<Export-Package>
com.myplugin.api*;version=1.0
</Export-Package>
</instructions>
THIS IS JUST THE BEGINNING...
1. SCRATCH YOUR OWN ITCH
2. BUILD A BACK SCRATCHER
3. DESIGN FOR EXTENSION
REST API
Java API
SPI (plugin points)
4. SELL TO MILLIONS
Come talk to me about..
Thanks!

Mais conteúdo relacionado

Mais procurados

Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Dennys Hsieh
 
Powering Up DevOps Tooling to Deliver Both Security & Developer Flexibility
Powering Up DevOps Tooling to Deliver Both Security & Developer FlexibilityPowering Up DevOps Tooling to Deliver Both Security & Developer Flexibility
Powering Up DevOps Tooling to Deliver Both Security & Developer FlexibilityMedStack
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsFlorent BENOIT
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsTomohide Kakeya
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerFlorent BENOIT
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUGFlorent BENOIT
 
Deploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker ContainersDeploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker ContainersAmal Dev
 
Android developer's toolbox
Android developer's toolboxAndroid developer's toolbox
Android developer's toolboxAlex Verdyan
 
Refactor Me presentation
Refactor Me presentationRefactor Me presentation
Refactor Me presentationJustin Smestad
 
Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsBrice Argenson
 
Afterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applicationsAfterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applicationsAna-Maria Mihalceanu
 
Production-Ready Node.js
Production-Ready Node.jsProduction-Ready Node.js
Production-Ready Node.jsHunter Loftis
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
Tooling for the productive front end developer
Tooling for the productive front end developerTooling for the productive front end developer
Tooling for the productive front end developerMaurice De Beijer [MVP]
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins UsersAndrew Bayer
 
Integration in #Microservices Style
Integration in #Microservices StyleIntegration in #Microservices Style
Integration in #Microservices StyleAbdellatif BOUCHAMA
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandTroublemaker Khunpech
 

Mais procurados (20)

Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Powering Up DevOps Tooling to Deliver Both Security & Developer Flexibility
Powering Up DevOps Tooling to Deliver Both Security & Developer FlexibilityPowering Up DevOps Tooling to Deliver Both Security & Developer Flexibility
Powering Up DevOps Tooling to Deliver Both Security & Developer Flexibility
 
Extending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEsExtending Eclipse Che to build custom cloud IDEs
Extending Eclipse Che to build custom cloud IDEs
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
Code in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and DockerCode in the cloud with Eclipse Che and Docker
Code in the cloud with Eclipse Che and Docker
 
Eclipse Che : ParisJUG
Eclipse Che : ParisJUGEclipse Che : ParisJUG
Eclipse Che : ParisJUG
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Deploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker ContainersDeploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker Containers
 
Android developer's toolbox
Android developer's toolboxAndroid developer's toolbox
Android developer's toolbox
 
Refactor Me presentation
Refactor Me presentationRefactor Me presentation
Refactor Me presentation
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Introduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with JenkinsIntroduction to Continuous Integration with Jenkins
Introduction to Continuous Integration with Jenkins
 
Afterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applicationsAfterlife Tales: Troubleshooting containerized applications
Afterlife Tales: Troubleshooting containerized applications
 
CICD by Teerapat
CICD by TeerapatCICD by Teerapat
CICD by Teerapat
 
Production-Ready Node.js
Production-Ready Node.jsProduction-Ready Node.js
Production-Ready Node.js
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Tooling for the productive front end developer
Tooling for the productive front end developerTooling for the productive front end developer
Tooling for the productive front end developer
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
Integration in #Microservices Style
Integration in #Microservices StyleIntegration in #Microservices Style
Integration in #Microservices Style
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 

Destaque

AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union colleenfry
 
The 7 habits of high successful atlassian marketplace developers by dave meyer
The 7 habits of high successful atlassian marketplace developers   by dave meyerThe 7 habits of high successful atlassian marketplace developers   by dave meyer
The 7 habits of high successful atlassian marketplace developers by dave meyercolleenfry
 
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers colleenfry
 
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers colleenfry
 
Introduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project ManagementIntroduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project ManagementDan Chuparkoff
 
Jira as a Project Management Tool
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management ToolPaolo Mottadelli
 

Destaque (7)

True Git
True Git True Git
True Git
 
AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: Confluence State of the Union
 
The 7 habits of high successful atlassian marketplace developers by dave meyer
The 7 habits of high successful atlassian marketplace developers   by dave meyerThe 7 habits of high successful atlassian marketplace developers   by dave meyer
The 7 habits of high successful atlassian marketplace developers by dave meyer
 
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers
 
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers
 
Introduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project ManagementIntroduction to JIRA & Agile Project Management
Introduction to JIRA & Agile Project Management
 
Jira as a Project Management Tool
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management Tool
 

Semelhante a AtlasCamp 2013: Scratch your own itch

Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon IndiaAtul Jha
 
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaSTechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaSAlex Ellis
 
Kubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateKubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateMatthew Farina
 
Pipeline your pipelines!
Pipeline your pipelines!Pipeline your pipelines!
Pipeline your pipelines!Giulio Vian
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerChris Adkin
 
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. UnconferenceFlavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. UnconferenceMozaic Works
 
Big rewrites without big risks
Big rewrites without big risksBig rewrites without big risks
Big rewrites without big risksFlavius Stef
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntAshley Roach
 
Attacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryAttacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryJames Wickett
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDevOps Indonesia
 
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...Lace Lofranco
 
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Marc Müller
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Florent BENOIT
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience reportYan Cui
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAmazon Web Services
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2
 
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Animesh Singh
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 

Semelhante a AtlasCamp 2013: Scratch your own itch (20)

Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon India
 
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaSTechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
TechXLR8 - XLR8 your cloud with Docker and Serverless FaaS
 
Kubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 UpdateKubecon SIG Apps December 2017 Update
Kubecon SIG Apps December 2017 Update
 
Pipeline your pipelines!
Pipeline your pipelines!Pipeline your pipelines!
Pipeline your pipelines!
 
Continuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL ServerContinuous Integration With Jenkins Docker SQL Server
Continuous Integration With Jenkins Docker SQL Server
 
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. UnconferenceFlavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
Flavius Ștef: Big Rewrites Without Big Risks at I T.A.K.E. Unconference
 
Big rewrites without big risks
Big rewrites without big risksBig rewrites without big risks
Big rewrites without big risks
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger Hunt
 
Attacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous DeliveryAttacking Pipelines--Security meets Continuous Delivery
Attacking Pipelines--Security meets Continuous Delivery
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for Kubernetes
 
DevNation
DevNation DevNation
DevNation
 
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
DataOps for the Modern Data Warehouse on Microsoft Azure @ NDCOslo 2020 - Lac...
 
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
 
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 

Mais de colleenfry

AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack colleenfry
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandcolleenfry
 
AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote colleenfry
 
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternsAtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternscolleenfry
 
AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI colleenfry
 
AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints colleenfry
 
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing colleenfry
 
AtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UXAtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UXcolleenfry
 
Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union colleenfry
 
Atlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-onsAtlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-onscolleenfry
 
Flying at the Speed of Git
Flying at the Speed of GitFlying at the Speed of Git
Flying at the Speed of Gitcolleenfry
 
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...colleenfry
 
True Git: The Great Migration
True Git: The Great MigrationTrue Git: The Great Migration
True Git: The Great Migrationcolleenfry
 
Adopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops GroupAdopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops Groupcolleenfry
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1colleenfry
 
Cultivating Content: Designing Wiki Solutions That Scale
Cultivating Content: Designing Wiki Solutions That ScaleCultivating Content: Designing Wiki Solutions That Scale
Cultivating Content: Designing Wiki Solutions That Scalecolleenfry
 
New Markets State of the Union
New Markets State of the UnionNew Markets State of the Union
New Markets State of the Unioncolleenfry
 
Putting it All Together: Utilizing Integrations Between Atlassian Products
Putting it All Together: Utilizing Integrations Between Atlassian ProductsPutting it All Together: Utilizing Integrations Between Atlassian Products
Putting it All Together: Utilizing Integrations Between Atlassian Productscolleenfry
 
HipChat State of the Union
HipChat State of the UnionHipChat State of the Union
HipChat State of the Unioncolleenfry
 
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...colleenfry
 

Mais de colleenfry (20)

AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: Bring your own Stack
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
 
AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote AtlasCamp 2013: Keynote
AtlasCamp 2013: Keynote
 
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patternsAtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Confluence patterns
 
AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Modernizing your Plugin UI
 
AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Confluence Blueprints
 
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
 
AtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UXAtlasCamp 2013: ADG / Lean UX
AtlasCamp 2013: ADG / Lean UX
 
Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union Atlassian Summit 2013: Confluence State of the Union
Atlassian Summit 2013: Confluence State of the Union
 
Atlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-onsAtlassian: More Awesome with Add-ons
Atlassian: More Awesome with Add-ons
 
Flying at the Speed of Git
Flying at the Speed of GitFlying at the Speed of Git
Flying at the Speed of Git
 
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
 
True Git: The Great Migration
True Git: The Great MigrationTrue Git: The Great Migration
True Git: The Great Migration
 
Adopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops GroupAdopting Continuous Integration in an Ops Group
Adopting Continuous Integration in an Ops Group
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1
 
Cultivating Content: Designing Wiki Solutions That Scale
Cultivating Content: Designing Wiki Solutions That ScaleCultivating Content: Designing Wiki Solutions That Scale
Cultivating Content: Designing Wiki Solutions That Scale
 
New Markets State of the Union
New Markets State of the UnionNew Markets State of the Union
New Markets State of the Union
 
Putting it All Together: Utilizing Integrations Between Atlassian Products
Putting it All Together: Utilizing Integrations Between Atlassian ProductsPutting it All Together: Utilizing Integrations Between Atlassian Products
Putting it All Together: Utilizing Integrations Between Atlassian Products
 
HipChat State of the Union
HipChat State of the UnionHipChat State of the Union
HipChat State of the Union
 
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...
Collaborating Across an Enterprise: Quarterly Planning at Twitter with JIRA a...
 

Último

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

AtlasCamp 2013: Scratch your own itch

  • 1.
  • 2.
  • 3. Hi! I'm Tim, a.k.a @kannonboy Slides: tinyurl.com/scratch-your-own-itch STUFF I LIKE STUFF I DON'T LIKE coding DVCS new technology APIs time savers star wars meetings time tracking office documents business process diagrams SOE management science
  • 4. Legions of Atlassian developers
  • 5. 1. Scratch your own itch 2. Build a back scratcher 3. Design for extension 4. Sell to millions
  • 7. Integration plugins Extending JQL Application Links Reconciling issues and code REST APIs Client-side git hooks Branching from broken commits Designing for extensibility Plugins for your plugin Exporting Java APIs "Suggesting" PR reviewers
  • 8. “ Because source is truth. ”
  • 9.
  • 11. INTEGRATE ALL THE THINGS Answer interesting questions Kill context switching UAL makes it easy: Authentication Zero-Conf Pluggable
  • 12. GIT HOOKS $ git clone git@stash.atlassian.com:STASH/stash.git Cloning into 'stash'... done. $ ls stash/.git/hooks applypatch-msg.sample commit-msg.sample prepare-commit-msg.sample pre-rebase.sample pre-applypatch.sample pre-commit.sample post-update.sample update.sample
  • 13.
  • 14. “ Why is everything broken!? ”
  • 15. $ git checkout 2.4.1 Switched to branch '2.4.1' 171957a has 5 green builds. $ git checkout master Switched to branch 'master' Warning! c25e64d has 3 red builds. (Plus 3 green and 0 in progress) Details: https://stash.atlassian.com/rest/build-status/latest/com mits/c25e64d $ git checkout tpettersen/STASH-1984 Switched to branch 'tpettersen/stash-1984' ff1837 hasn't built yet.
  • 17. DESIGNING FOR EXTENSION - REST Expose your data UI is hard - let them script! Organic growth Auto-discovery via REST API browser
  • 18. “ Because domain experts. ”
  • 19.
  • 21. DESIGNING FOR EXTENSION modular design toggle per customer x-product deployments <module.. application="jira" /> customisation by external developers trivial to implement : <module-type key="my-type" class="MyModuleDescriptor"> MyModuleDescriptor.java MyModuleInterface.java
  • 22. DESIGNING FOR EXTENSION export services & utility classes multi-module plugins sell add-ons for your add-ons other developers can stand on your shoulders trivial to implement: <component class="MyService" public="true" /> <instructions> <Export-Package> com.myplugin.api*;version=1.0 </Export-Package> </instructions>
  • 23.
  • 24. THIS IS JUST THE BEGINNING...
  • 25. 1. SCRATCH YOUR OWN ITCH
  • 26. 2. BUILD A BACK SCRATCHER
  • 27. 3. DESIGN FOR EXTENSION REST API Java API SPI (plugin points)
  • 28. 4. SELL TO MILLIONS
  • 29. Come talk to me about..