Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

...

Dica
titleNao deixe de ver
  • Forum de discussao Atlassian: URL...
  • API JIRA atualizada: URL...
  • API JIRA REST atualizada: URL...

CONTEUDO

Índice

JIRA

...

Blogs interessantes

...

  1. http://confluence.atlassian.com/display/REST/REST+API+Developer+Documentation

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?

https://

...

studio.plugins.atlassian.com/wiki/display/

...

JCLI/

...

JIRA+

...

Command+

...

Line+

...

Interface

Como executar operacoes no Jira usando Wget e Curl (muito util para testes de carga e profiling)?

http://confluence.atlassian.com/

...

display/

...

Permissoes

h4 Como aplicar permissoes sobre o Jira em determinado passo do workflow?

Automacao de campos e telas

Dica
titleLeia antes de prosseguir

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:

  1. Use o Jira Studio, em http://confluence.atlassian.com/display/JIRASTUDIO/Actioning+Issues+via+Commit+Messages
  2. 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?

...

...

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:

  1. 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
titleLeia antes de prosseguir

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:

  1. Primeiro leia este post para "abrir sua mente" (piscar o olho) - 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:

  1. 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/

...

JIRA/

...

Adding+

...

JavaScript+

...

to+

...

all+

...

Agora, se voce nao sabe nada sobre JQuery, comece aqui:

  1. Incio de tudo - http://jquery.com/
  2. Tutorial de 18 minutos - TEM QUE LER PARA COMECAR A ENTENER COMO FUNCION O JQUERY - http://www.authenticsociety.com/blog/jQueryPluginTutorial_Beginner
  3. 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
  4. OTIMO LINK para aprender visualmente JQuery - http://visualjquery.com/
  5. Tutorial em lingua portuguesa para iniciar com JQuery - http://i18n.2kminterativa.com.br/jquery/jquery-getting-started-pt_br.html
  6. 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/)
  7. Populando forms via JSON - http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html
  8. MUITO UTIL, link com 10 tuturiais sobre como usar jquery - http://www.catswhocode.com/blog/10-jquery-tutorials-for-working-with-html-forms
  9. QUnit, ou seja, Testes Unitarios no JQuery, http://docs.jquery.com/Qunit

Alguns posts relacionados

  1. http://stackoverflow.com/questions/3501603/using-jquery-in-jira
  2. http://stackoverflow.com/questions/558445/dynamically-fill-in-form-values-with-jquery
  3. http://www.josefrichter.com/blog/clear-and-re-fill-form-fields-using-jquery/
  4. 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

...

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:

  1. Primeiro leia este post para "abrir sua mente" (piscar o olho) - 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:

  1. Quintessential link sobre AUI na Atlassian: http://confluence.atlassian.com/display/AUI/Atlassian+User+Interface+(AUI)+Developer+Documentation
  2. Discussao levantada no AtlasCamp 2010 por Igor Sereda: http://confluence.atlassian.com/display/ATL/Hacking+into+AJS
  3. Apresentacao do AtlasCamp 2010, sobre JQuery no Jira: http://confluence.atlassian.com/display/ATL/Needs+more+jQuery+-+Using+advanced+Javascript+in+Atlassian+Plugins
  4. 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:

  1. Incio de tudo - http://jquery.com/
  2. Tutorial de 18 minutos - TEM QUE LER PARA COMECAR A ENTENER COMO FUNCION O JQUERY - http://www.authenticsociety.com/blog/jQueryPluginTutorial_Beginner
  3. 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
  4. OTIMO LINK para aprender visualmente JQuery - http://visualjquery.com/
  5. Tutorial em lingua portuguesa para iniciar com JQuery - http://i18n.2kminterativa.com.br/jquery/jquery-getting-started-pt_br.html
  6. 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/)
  7. Populando forms via JSON - http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html
  8. MUITO UTIL, link com 10 tuturiais sobre como usar jquery - http://www.catswhocode.com/blog/10-jquery-tutorials-for-working-with-html-forms
  9. QUnit, ou seja, Testes Unitarios no JQuery, http://docs.jquery.com/Qunit

Alguns posts relacionados

  1. http://stackoverflow.com/questions/3501603/using-jquery-in-jira
  2. http://stackoverflow.com/questions/558445/dynamically-fill-in-form-values-with-jquery
  3. http://www.josefrichter.com/blog/clear-and-re-fill-form-fields-using-jquery/
  4. 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

  1. O Link - https://plugins.atlassian.com/plugin/details/14397
  2. Plugins integrados nele (tem que ver como usar ainda):
    1. JQueryUI - http://jqueryui.com/docs/Getting_Started
    2. Form e BlockUI - http://malsup.com/jquery/
    3. 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

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?

...