...
| Dica | ||
|---|---|---|
| ||
|
CONTEUDO
| Índice |
|---|
JIRA
...
Blogs interessantes
- http://jiradev.blogspot.com/ - Matt Doar, consultor Jira.
- http://jira.wordpress.com/ - Otimo
- http://www.j-tricks.com/ - Otimo
...
Abaixo, alguns itens sobre servicos remotos no Jira, como usa-los e estende-los:
Como estender o servico RPC SOAP do Jira?
Veja o tutorial [http://www.j-tricks.com/1/post/2010/10/soap-rpc-plugin.html|http://www.j-tricks.com/1/post/2010/10/soap-rpc-plugin.html]
Automacao de operacoes e integracoes externas
Como executar operacoes no Jira
...
Duas opcoes:
...
usando linha de comando?
...
studio.plugins.atlassian.com/wiki/display/
...
...
...
...
...
Como executar operacoes no Jira usando Wget e Curl (muito util para testes de carga e profiling)?
http://confluence.atlassian.com/
...
...
Permissoes
h4 Como aplicar permissoes sobre o Jira em determinado passo do workflow?
Automacao de campos e telas
| Dica | ||
|---|---|---|
| ||
Todo movimento da Atlassian em relacao a automacao de campos e telas em seus sistemas (Jira, Confluence, Crowd, etc.) esta focada no framework AUI (Atlassian User Interface). Algum links muito importantes antes de prosseguir: |
Como estender as acoes de tela do Jira?
Vide o tutorial: JIRACOM/Automating+JIRA+operations+via+wget
E aqui, um exemplo de criacao de option dentro de um customfield:
| Bloco de código |
|---|
curl -X POST "http://3layer.com.br/jira/secure/admin/EditCustomFieldOptions!add.jspa?os_username=AAA&os_password=BBB&addValue=XXX&fieldConfigSchemeId=10251&fieldConfigId=10251&customFieldId=10231"
|
Onde:
- AAA: Login do usuario com permissoes de adminsitrador
- BBB: Senha
- XXX: Nova option a ser criada
Como executar operacoes no Jira a partir de commits no Subversion?
Duas opcoes:
- Use o Jira Studio, em http://confluence.atlassian.com/display/JIRASTUDIO/Actioning+Issues+via+Commit+Messages
- Implemente voce mesmo. Leia o post http://blogs.atlassian.com/developer/2009/10/dragon_slayer_supplement_action_issues_with_commit_commands.html
Permissoes
h4 Como aplicar permissoes sobre o Jira em determinado passo do workflow?
- Veja o otimo link: http://www.j-tricks.com/1/post/
...
...
Como mostrar e ocultar campos das telas do Jira baseado em dependencias de tela?
Da para usar javascript e jquery para isso. Um exemplo bem interessante, onde se selecionado um Checkbox outro campo eh mostrado pode ser encontrado aqui http://confluence.atlassian.com/display/JIRACOM/Using+Javascript+to+set+custom+field+values
Quais os plugins mais indicados para trabalhar com automacoes de campos e telas no Jira?
Alguns:
- Jira Behaviors (essencial), bem interessante em https://studio.plugins.atlassian.com/wiki/display/JBHV/JIRA+Behaviours+Plugin
Como posso utilizar Javascripts nas telas do Jira?
...
Automacao de campos e telas
| Dica | ||
|---|---|---|
| ||
Todo movimento da Atlassian em relacao a automacao de campos e telas em seus sistemas (Jira, Confluence, Crowd, etc.) esta focada no framework AUI (Atlassian User Interface). Algum links muito importantes antes de prosseguir: |
Como estender as acoes de tela do Jira?
Vide o tutorial: http://www.j-tricks.com/1/post/2010/10/extending-jira-actions.html
Como mostrar e ocultar campos das telas do Jira baseado em dependencias de tela?
Da para usar javascript e jquery para isso. Um exemplo bem interessante, onde se selecionado um Checkbox outro campo eh mostrado pode ser encontrado aqui http://confluence.atlassian.com/display/JIRACOM/Using+Javascript+to+set+custom+field+values
Como inserir um script que vai rodar em todas paginas do Jira?
Olhe http://confluence.atlassian.com/display/JIRA/Adding+JavaScript+to+all+pages+for+Google+Analytics
POREM, nos testes iniciais parece que isso nao funcionou muito bem. Tem que explorar mais.
Como utilizar JQuery no Jira?
Essa eh bem complexa, e entao vao algumas dicas:
- Primeiro leia este post para "abrir sua mente"
- http://www.suddenelfilio.net/2010/09/06/using-jquery-and-custom-fields-to-enforce-issue-type-security-in-jira/
Importante salientar que o suporte a JQuery ainda nao tem uma boa documentacao, e entao a pesquisa deve ser no google mesmo...
Alguns links:
...
Quais os plugins mais indicados para trabalhar com automacoes de campos e telas no Jira?
Alguns:
- Jira Behaviors (essencial), bem interessante em https://studio.plugins.atlassian.com/wiki/display/JBHV/JIRA+Behaviours+Plugin
Como posso utilizar Javascripts nas telas do Jira?
Um link bem interessante sobre isso eh este http://confluence.atlassian.com/display/JIRACOM/Using+Javascript+to+set+custom+field+values
Como inserir um script que vai rodar em todas paginas do Jira?
Olhe http://confluence.atlassian.com/display/
...
...
...
...
...
...
Agora, se voce nao sabe nada sobre JQuery, comece aqui:
- Incio de tudo - http://jquery.com/
- Tutorial de 18 minutos - TEM QUE LER PARA COMECAR A ENTENER COMO FUNCION O JQUERY - http://www.authenticsociety.com/blog/jQueryPluginTutorial_Beginner
- JQuery 1.4 (o Jira 4.1 trabalha com JQuery 1.2.3, e nao tem algumas dessas features - como o metodo Delay()) - http://jquery14.com/day-01/jquery-14
- OTIMO LINK para aprender visualmente JQuery - http://visualjquery.com/
- Tutorial em lingua portuguesa para iniciar com JQuery - http://i18n.2kminterativa.com.br/jquery/jquery-getting-started-pt_br.html
- JQuery Timers, para funcoes com tempos no JQuery (foi integrado ao JQuery nativo pelo que deu pra entender) - http://plugins.jquery.com/project/timers (antigo link - http://jquery.offput.ca/every/)
- Populando forms via JSON - http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html
- MUITO UTIL, link com 10 tuturiais sobre como usar jquery - http://www.catswhocode.com/blog/10-jquery-tutorials-for-working-with-html-forms
- QUnit, ou seja, Testes Unitarios no JQuery, http://docs.jquery.com/Qunit
Alguns posts relacionados
- http://stackoverflow.com/questions/3501603/using-jquery-in-jira
- http://stackoverflow.com/questions/558445/dynamically-fill-in-form-values-with-jquery
- http://www.josefrichter.com/blog/clear-and-re-fill-form-fields-using-jquery/
- MUITO UTIL TAMBEM - Populando campos de formaulario com dados JSON conforme vai digitando - http://www.nodstrum.com/2007/09/19/autocompleter/
Pacote do plugin para JQuery Resource Plugin no Jira
...
POREM, nos testes iniciais parece que isso nao funcionou muito bem. Tem que explorar mais.
Como utilizar JQuery no Jira?
Essa eh bem complexa, e entao vao algumas dicas:
- Primeiro leia este post para "abrir sua mente"
- http://www.suddenelfilio.net/2010/09/06/using-jquery-and-custom-fields-to-enforce-issue-type-security-in-jira/
Importante salientar que o suporte a JQuery ainda nao tem uma boa documentacao, e entao a pesquisa deve ser no google mesmo...
Alguns links:
- Quintessential link sobre AUI na Atlassian: http://confluence.atlassian.com/display/AUI/Atlassian+User+Interface+(AUI)+Developer+Documentation
- Discussao levantada no AtlasCamp 2010 por Igor Sereda: http://confluence.atlassian.com/display/ATL/Hacking+into+AJS
- Apresentacao do AtlasCamp 2010, sobre JQuery no Jira: http://confluence.atlassian.com/display/ATL/Needs+more+jQuery+-+Using+advanced+Javascript+in+Atlassian+Plugins
- AJS, (nao sei se eh o caso, mas acredito que o Jira usa isso por padrao) - http://www.ajaxupdates.com/ajs-javascript-library/ e este http://orangoo.com/labs/AJS/
Agora, se voce nao sabe nada sobre JQuery, comece aqui:
- Incio de tudo - http://jquery.com/
- Tutorial de 18 minutos - TEM QUE LER PARA COMECAR A ENTENER COMO FUNCION O JQUERY - http://www.authenticsociety.com/blog/jQueryPluginTutorial_Beginner
- JQuery 1.4 (o Jira 4.1 trabalha com JQuery 1.2.3, e nao tem algumas dessas features - como o metodo Delay()) - http://jquery14.com/day-01/jquery-14
- OTIMO LINK para aprender visualmente JQuery - http://visualjquery.com/
- Tutorial em lingua portuguesa para iniciar com JQuery - http://i18n.2kminterativa.com.br/jquery/jquery-getting-started-pt_br.html
- JQuery Timers, para funcoes com tempos no JQuery (foi integrado ao JQuery nativo pelo que deu pra entender) - http://plugins.jquery.com/project/timers (antigo link - http://jquery.offput.ca/every/)
- Populando forms via JSON - http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html
- MUITO UTIL, link com 10 tuturiais sobre como usar jquery - http://www.catswhocode.com/blog/10-jquery-tutorials-for-working-with-html-forms
- QUnit, ou seja, Testes Unitarios no JQuery, http://docs.jquery.com/Qunit
Alguns posts relacionados
- http://stackoverflow.com/questions/3501603/using-jquery-in-jira
- http://stackoverflow.com/questions/558445/dynamically-fill-in-form-values-with-jquery
- http://www.josefrichter.com/blog/clear-and-re-fill-form-fields-using-jquery/
- MUITO UTIL TAMBEM - Populando campos de formaulario com dados JSON conforme vai digitando - http://www.nodstrum.com/2007/09/19/autocompleter/
Pacote do plugin para JQuery Resource Plugin no Jira
- O Link - https://plugins.atlassian.com/plugin/details/14397
- Plugins integrados nele (tem que ver como usar ainda):
- JQueryUI - http://jqueryui.com/docs/Getting_Started
- Form e BlockUI - http://malsup.com/jquery/
- Inserir outros plugins, ou acesse a aba de configuracao do plugi no Jira, que mostra todos os links de cada plugin JQuery disponivel
...
Como alterar o valor de um customfield via script groovy em uma postfunction?
| Bloco de código |
|---|
import java.util.Arrays; import java.util.Collection; import java.util.Map; import webwork.dispatcher.ActionResult; import com.atlassian.core.ofbiz.CoreFactory; import com.atlassian.core.util.map.EasyMap; import com.atlassian.jira.action.ActionNames; import org.ofbiz.core.entity.GenericValue; import com.atlassian.core.ofbiz.CoreFactory; import com.atlassian.core.util.map.EasyMap; import com.atlassian.jira.ComponentManager; import com.atlassian.jira.project.ProjectManager; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.issue.MutableIssue; import com.atlassian.jira.util.ImportUtils; import com.atlassian.jira.issue.index.IssueIndexManager; import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem; import com.atlassian.jira.issue.*; import com.atlassian.jira.issue.util.*; import com.atlassian.jira.config.SubTaskManager; import com.atlassian.jira.security.JiraAuthenticationContext; import com.atlassian.jira.security.roles.*; import com.atlassian.jira.issue.fields.layout.field.*; import com.atlassian.jira.issue.fields.*; import com.atlassian.jira.issue.util.DefaultIssueChangeHolder; import com.atlassian.jira.issue.comments.*; import com.atlassian.mail.Email import com.atlassian.mail.server.MailServerManager import com.atlassian.mail.server.SMTPMailServer import com.opensymphony.workflow.InvalidInputException; import org.apache.log4j.Category; import com.opensymphony.user.*; import groovy.net.xmlrpc.*; import com.atlassian.jira.ComponentManager; import com.atlassian.jira.issue.comments.CommentManager; import com.atlassian.jira.user.util.*; import com.atlassian.jira.issue.util.IssueChangeHolder; //Instancia objetos genericos ComponentManager componentManager = ComponentManager.getInstance(); CommentManager commentManager = (CommentManager) ComponentManager.getComponentInstanceOfType(CommentManager.class) IssueManager issueManager = componentManager.getIssueManager() SubTaskManager subTaskManager = componentManager.getSubTaskManager(); JiraAuthenticationContext authenticationContext = componentManager.getJiraAuthenticationContext(); IssueFactory issueFactory = componentManager.getIssueFactory(); ProjectRoleManager projectRoleManager = componentManager.getComponentInstanceOfType(com.atlassian.jira.security.roles.ProjectRoleManager.class); ProjectManager projectManager = componentManager.getProjectManager(); CustomFieldManager customFieldManager = componentManager.getCustomFieldManager() FieldLayoutManager fieldLayoutManager = componentManager.getFieldLayoutManager() CustomFieldManager customFieldManage = componentManager.getCustomFieldManager() FieldManager fieldManager = componentManager.getFieldManager() //Exemplo para ser executado via Groovy Runner Issue issue = issueManager.getIssueObject("T-472") MutableIssue mIssue = (MutableIssue) issue String cfkey = "customfield_10406" def cf = ComponentManager.getInstance().getCustomFieldManager().getCustomFieldObject(cfkey) String cfvalue = (String) mIssue.getCustomFieldValue( cf ) ?: ""; def novoValor = "4h - um turno" IssueChangeHolder changeHolder = new DefaultIssueChangeHolder(); transacaoSapCustomField.updateValue(null, mIssue, new ModifiedValue(issue.getCustomFieldValue(transacaoSapCustomField), novoValor),changeHolder); |
Vide os links
...
) mIssue.getCustomFieldValue( cf ) ?: "";
def novoValor = "4h - um turno"
IssueChangeHolder changeHolder = new DefaultIssueChangeHolder();
transacaoSapCustomField.updateValue(null, mIssue, new ModifiedValue(issue.getCustomFieldValue(transacaoSapCustomField), novoValor),changeHolder);
|
Vide os links
- http://confluence.atlassian.com/display/JIRA/Creating+and+Editing+an+Issue
- http://confluence.atlassian.com/pages/viewpage.action?pageId=160835
Desabilitar abas de visualizacao do Jira
Para desabilitar aba "Histórico de Mudanças"
Plugin:Issue Tab Panels Plugin 1.0
Opção: Issue Tab Panels Plugin 1.0 | Disable/Enable
Para desabilitar aba "Atividade"
Plugin: JIRA Activity Stream Plugin 5.1.0
Opção: Activity Stream Issue Tab Panel
Para desabilitar aba de "Transição"
Plugin: JIRA Suite Utilities 1.2.4
Opção: Transitions Summary Tab Panel
Worfkflows
Como criar um validador ou uma condition no Jira?
...